Anda di halaman 1dari 11

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BÁSICAS

TECNOLOGÍAS E INGENIERÍAS

Unidad 2: Paso 2 – Identificar las estructuras básicas de Programación

VISUAL BASIC BASICO 201416A_471

Presentado por:

WILMER ROMINGUER CORTES GONZALEZ


Código: 1070968240

Presentado a:
JAIME RUBIANO LLORENTE (Tutor)

Faca Cundinamarca
2018
Syntax

For Each element [ As datatype ] In group


[ statements ]
[ Continue For ]
[ statements ]
[ Exit For ]
[ statements ]
Next [ element ]

Implementación

Cuando se ejecuta una instrucción For Each, Visual Basic evalúa la colección solo una vez,
antes de que comience el ciclo. Si su bloque de instrucciones cambia elemento o grupo,
estos cambios no afectan la iteración del ciclo.

Cuando se han asignado sucesivamente todos los elementos de la colección de elementos,


el For Each, ciclo se detiene y el control pasa a la instrucción que sigue a la siguiente
instrucción.

Ejemplo

En el ejemplo siguiente, la For each instrucción recorre en iteración todos los elementos
de una colección de lista.
VB

' Create a list of strings by using a


' collection initializer.
Dim lst As New List(Of String) _
From {"abc", "def", "ghi"}

' Iterate through the list.


For Each item As String In lst
Debug.Write(item & " ")
Next
Debug.WriteLine("")
'Output: abc def ghi
DIAGRAMA DE FLUDO
ESTRUCTURA CASE

Bucles while
El While... End While construcción ejecuta un conjunto de instrucciones mientras la
condición especificada en el While instrucción es True. Para obtener más información, vea
mientras... End While (instrucción).

Bucles Do
El Do... Loop construcción le permite probar una condición al principio o final de una
estructura de bucle. También puede especificar si se repite el bucle mientras la condición
siga siendo True o hasta que se convierte en True. Para obtener más información, vea
hacer... Instrucción de bucle.

For (bucles)
El For... Next construcción realiza el bucle un número determinado de veces. Utiliza una
variable de control de bucle, también se denomina un contador, realizar un seguimiento
de las repeticiones. Especifique las iniciales y finales de los valores de este contador y,
opcionalmente, puede especificar la cantidad por la que incrementa de una repetición a la
siguiente. Para obtener más información, vea para... Next (instrucción).

Bucles For Each


El For Each... Next construcción ejecuta un conjunto de instrucciones una vez por cada
elemento de una colección. Especifique la variable de control de bucle, pero no es
necesario determinar inicial o final valores para él. Para obtener más información, vea For
Each... Next (instrucción).
Ejemplo

El ejemplo siguiente muestra un procedimiento para ordenar una colección. El ejemplo


ordena las instancias de una clase de Car almacenados en List. La clase Car implementa
la interfaz IComparable, que requiere que el método CompareTo se implemente.

Cada llamada al método de CompareTo crea una única comparación que se utiliza para
ordenar. El código escrito por el usuario en el método CompareTo devuelve un valor
para cada comparación del objeto actual con otro objeto. El valor devuelto es menor
que cero si el objeto actual es menor que otro objeto, mayor que cero si el objeto actual
es mayor que otro objeto y cero si son iguales. Esto permite definir en el código los
criterios para la evaluación mayor que, menor que, e igual que.

En el método ListCars, la expresión cars.Sort() ordena la lista. Esta llamada al método


Sort de List hace que el método CompareTo sea llamado automáticamente para los
objetos de clase Car en List.

VB
Public Sub ListCars()

' Create some new cars.


Dim cars As New List(Of Car) From
{
New Car With {.Name = "car1", .Color = "blue", .Speed = 20},
New Car With {.Name = "car2", .Color = "red", .Speed = 50},
New Car With {.Name = "car3", .Color = "green", .Speed = 10},
New Car With {.Name = "car4", .Color = "blue", .Speed = 50},
New Car With {.Name = "car5", .Color = "blue", .Speed = 30},
New Car With {.Name = "car6", .Color = "red", .Speed = 60},
New Car With {.Name = "car7", .Color = "green", .Speed = 50}
}

' Sort the cars by color alphabetically, and then by speed


' in descending order.
cars.Sort()

' View all of the cars.


For Each thisCar As Car In cars
Debug.Write(thisCar.Color.PadRight(5) & " ")
Debug.Write(thisCar.Speed.ToString & " ")
Debug.Write(thisCar.Name)
Debug.WriteLine("")
Next

' Output:
' blue 50 car4
' blue 30 car5
' blue 20 car1
' green 50 car7
' green 10 car3
' red 60 car6
' red 50 car2
End Sub

Public Class Car


Implements IComparable(Of Car)

Public Property Name As String


Public Property Speed As Integer
Public Property Color As String

Public Function CompareTo(ByVal other As Car) As Integer _


Implements System.IComparable(Of Car).CompareTo
' A call to this method makes a single comparison that is
' used for sorting.

' Determine the relative order of the objects being compared.


' Sort by color alphabetically, and then by speed in
' descending order.

' Compare the colors.


Dim compare As Integer
compare = String.Compare(Me.Color, other.Color, True)

' If the colors are the same, compare the speeds.


If compare = 0 Then
compare = Me.Speed.CompareTo(other.Speed)

' Use descending order for speed.


compare = -compare
End If

Return compare
End Function
End Class
Sentencias condicionales IF/ELSE anidamiento

Existen las sentencias condicionales simples, que son aquellas que sólo se forman con
un if, las condicionales compuestas, formadas con un if y un else asociado a ese if, y las
anidadas que consisten en que dentro de una sentencia ifpodemos colocar otra
sentencia if. Estas anidaciones se utilizan para crear programas donde se evalúan
expresiones complejas.

Para que veas como funcionan los if anidados voy a ponerte varios ejemplos empezando
desde lo más simple hasta lo más complejo y voy a marcarte cómo el compilador evalúa
dichos ejemplos.

Comenzamos con las sentencias condicionales simples, que son las que sólo utiliza un if:

1 if (num==5){
2 sentencia1;
3 sentencia 2;
4}

En esta condición el compilador actúa de la siguiente manera, el compilador llega a la


línea 1, y evalúa la expresión num==5; si es cierta entra y realiza las sentencia1 y la
sentencia 2, si es falsa se salta las lineas 2,3 y 4 y continua con el programa.

Continuamos con las sentencias condicionales compuestas, que son las que añaden
al if un else:
1 if(num==5){
2 sentencia1;
3 sentencia2;
4}
5 else {
6 sentencia3;
7 sentencia4;
8}
En este caso el compilador actúa de la siguiente manera; llega a la línea 1, evalúa la
condición num==5. Si esta condición es cierta realiza lo que hay dentro del if , es decir, las
sentencia1 y la sentencia2 e ignora todo lo que hay dentro del else, continuando el
programa en la línea 8. En el caso de que num==5 sea falso el compilador ignora todo lo
que hay dentro del if y se va a la línea 5 compilando lo que hay dentro del else, es decir, la
sentencia3 y la sentencia4. Luego continua el programa a partir de la línea 8. Hay que
tener claro que un else siempre está asociado a un if y lo que determina a cual va asociado
depende de la disposición de las {}, vamos a verlo a continuación con los anidamientos.
Los if-else anidados son sentencias condicionales simples y compuestas, las cuales,
consisten en dentro de una sentencia if se incluye otra sentencia if. Vamos a ver un
ejemplo:
1 if(num==5){
2 sentencia1
3 sentencia2
4}
5 else{
6 if(num<5){
7 sentencia3;
8 sentencia 4;
9 }
10 else{
11 sentencia5;
12 sentencia6;
13 }
14 }

este ejemplo, el compilador llegará a la línea 1 y evaluará la expresión condicional


num==5, si es verdadera, entrará en el if y realizará la sentencia1 y la sentencia2, e
ignorará todo el else posterior yendo a la línea 14 y continuando con el programa. En el
caso de que num==5 sea falso, el compilador ignorará el if y entrará en el else de la línea
5. Dentro de este else el compilador evaluará la condición de la línea 6 num<5, según la
veracidad o falsedad de esta condición,el compilador ejecutará lo que hay dentro
del if líneas 7 y 8 o por el contrario ejecutará lo que hay dentro del else líneas 11 y 12, a
continuación el compilador continuará con la ejecución a partir de la línea 14.
Después de esta explicación, te voy a demostrar que anidar if tiene sus ventajas y su
motivo de eficiencia. Viendo el código del último ejemplo y analizándolo podemos decir
que es lo mismo que poner lo siguiente:
1 if(num==5){
2 sentencia1;
3 sentencia2;
4}
5 if(num<5){
6 sentencia3;
7 sentencia4;
8}
9if(num>5){
10 sentencia5;
11 sentencia6;
12 }
¿Que diferencia hay entre un código anidado y otro no anidado?. Pues esa es la cuestión
en el no anidado el compilador evaluará las tres condiciones if, sin embargo, en el anidado
como mucho evaluará sólo 2 condiciones if, por tanto el anidamiento es más eficiente.
Este es el motivo del uso de los anidamientos.

Ejemplos

El diagrama de flujo que se presenta contiene dos estructuras condicionales. La principal se


trata de una estructura condicional compuesta y la segunda es una estructura condicional
simple y está contenida por la rama del falso de la primer estructura.

Es común que se presenten estructuras condicionales anidadas aún más complejas.

Problema:
Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el
promedio e imprima alguno de estos mensajes:

Si el promedio es >=7 mostrar "Promocionado".

Si el promedio es >=4 y <7 mostrar "Regular".

Si el promedio es <4 mostrar "Reprobado".


Diagrama de flujo:

Se ingresan tres valores por teclado que representan las notas de un alumno, se obtiene el
promedio sumando los tres valores y dividiendo por 3 dicho resultado (Tener en cuenta
que si el resultado es un valor real solo se almacena la parte entera).
Primeramente preguntamos si el promedio es superior o igual a 7, en caso afirmativo va
por la rama del verdadero de la estructura condicional mostramos un mensaje que indica
"Promocionado" (con comillas indicamos un texto que debe imprimirse en pantalla).
En caso que la condición nos de falso, por la rama del falso aparece otra estructura
condicional, porque todavía debemos averiguar si el promedio del alumno es superior o
igual a cuatro o inferior a cuatro.
Estamos en presencia de dos estructuras condicionales compuestas.
REFERENCIAS

Bibliografía
microsoft. (07/20/2015). For Each...Next Statement (Visual Basic). Obtenido de
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-
reference/statements/for-each-next-statement

Bibliografía
else, i. .. (s.f.). Sentencias condicionales: if ... Obtenido de
http://www.mclibre.org/consultar/python/lecciones/python-if-else.html

microsoft. (07/20/2015). For Each...Next Statement (Visual Basic). Obtenido de


https://docs.microsoft.com/en-us/dotnet/visual-basic/language-
reference/statements/for-each-next-statement

docs.microsoft.com. (s.f.). docs.microsoft.com. Recuperado el 24 de 3 de 2018, de


docs.microsoft.com: https://docs.microsoft.com/en-us/dotnet/visual-
basic/language-reference/statements/for-each-next-statement#simple-example

Anda mungkin juga menyukai