visual basic... tattyerick... for

6
Sentencia de control Tema: “For” Profesor: Stalin Cruz

Upload: stalyn-cruz

Post on 13-Jun-2015

385 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Visual basic... tattyerick... for

Sentencia de control

Tema: “For”

Profesor:Stalin Cruz

Page 2: Visual basic... tattyerick... for

Concepto de la sentencia de control

“For”

Sentencia FOR.....NEXT: La sentencia For da lugar a un bucle, y permite ejecutar un número de sentencias un cierto número de veces. Su forma general es:

Este tipo de bucles se usan principalmente para recorrer un rango discreto de valores. Estos bucles son especialmente útiles para recorrer matrices. El funcionamiento es el siguiente: primero se asigna el valor de la expresion1 a la variable y se comprueba si su valor es mayor o menor que expresion2. En caso de ser menor se ejecutan las Sentencias y una vez ejecutadas la variable se incrementa en el valor de expresion3 o en 1 si no hay Step, volviéndose a efectuar la comparación entre la variable y la expresion2 y así sucesivamente hasta que el valor de la variable es mayor que expresion2 y en ese caso se sale del bucle.

Todo lo anterior se produce en el caso de ser expresion3 un valor positivo, si fuera negativo las sentencias se ejecutan cuando el valor de la variable es mayor que el de expresion2 y después de cada ejecución se decrementa su valor según lo especificado en expresion3.

Page 3: Visual basic... tattyerick... for

Partes de la sentencia Parte Descripción

counter Se requiere en la instrucción For. Variable numérica. Variable de control para el bucle.

datatype Obligatorio, a menos que counter ya se haya declarado. Tipo de datos de counter.

start Obligatorio. Expresión numérica. Valor inicial de counter.

end Obligatorio. Expresión numérica. Valor final de counter.

step Es opcional. Expresión numérica. Cantidad en la que se incrementa counter cada vez que se recorre el bucle.

statements Es opcional. Una o más instrucciones entre For y Next que se ejecutan un número especificado de veces.

Continue For Es opcional. Transfiere controle a la iteración del bucle siguiente.

Exit For Es opcional. Transfiere el control fuera del bucle For.

Next Obligatorio. Termina la definición del bucle For.

Page 4: Visual basic... tattyerick... for

EjemploFor index As Integer = 1 To 5 Debug.Write(index.ToString & " ")NextDebug.WriteLine("")' Output: 1 2 3 4 5

For indexA = 1 To 3 ' Create a new String Builder, which is used ' to efficiently build strings. Dim sb As New System.Text.StringBuilder() ' Append to the String Builder every third number ' from 20 to 1 descending. For index = 20 To 1 Step -3 sb.Append(indexB.ToString) sb.Append(" ") Next indexB ' Display the line. Debug.WriteLine(sb.ToString)Next indexA' Output:' 20 17 14 11 8 5 2' 20 17 14 11 8 5 2' 20 17 14 11 8 5 2

Page 5: Visual basic... tattyerick... for

Dim lst As New List(Of Integer) From {10, 20, 30, 40}For index As Integer = lst.Count - 1 To 0 Step -1 lst.RemoveAt(index)NextDebug.WriteLine(lst.Count.ToString)' Output: 0

For index As Integer = 1 To 100000 ' If index is between 5 and 7, continue ' with the next iteration. If index >= 5 And index <= 8 Then Continue For End If ' Display the index. Debug.Write(index.ToString & " ") ' If index is 10, exit the loop. If index = 10 Then Exit For End IfNextDebug.WriteLine("")' Output: 1 2 3 4 9 10

Public Enum Mammals Buffalo Gazelle Mongoose Rhinocerous WhaleEnd EnumPublic Sub ListSomeMammals() For mammal As Mammals = Mammals.Gazelle To Mammals.Rhinocerous Debug.Write(mammal.ToString & " ") Next Debug.WriteLine("") ' Output: Gazelle Mongoose RhinocerousEnd Sub

Page 6: Visual basic... tattyerick... for

Private Class Distance Public Property Number() As Double Public Sub New(ByVal number As Double) Me.Number = number End Sub ' Define operator overloads to support For...Next statements. Public Shared Operator +(ByVal op1 As Distance, ByVal op2 As Distance) As Distance Return New Distance(op1.Number + op2.Number) End Operator Public Shared Operator -(ByVal op1 As Distance, ByVal op2 As Distance) As Distance Return New Distance(op1.Number - op2.Number) End Operator Public Shared Operator >=(ByVal op1 As Distance, ByVal op2 As Distance) As Boolean Return (op1.Number >= op2.Number) End Operator Public Shared Operator <=(ByVal op1 As Distance, ByVal op2 As Distance) As Boolean Return (op1.Number <= op2.Number) End OperatorEnd ClassPublic Sub ListDistances() Dim distFrom As New Distance(10) Dim distTo As New Distance(25) Dim distStep As New Distance(4) For dist As Distance = distFrom To distTo Step distStep Debug.Write(dist.Number.ToString & " ") Next Debug.WriteLine("") ' Output: 10 14 18 22 End Sub