MÓDULO 05: Desarrollo de aplicaciones
​
Lenguaje de programación a utilizar:
Visual Basic Express 2000.

TAREA 2. Decisiones y repeticiones

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
La toma de decisiones en una herramienta muy importante y poderosa de cada buen lenguaje de programación. Esto significa que puedes escribir un programa que sea capaz de responder a la entrada del usuario durante su ejecución y dar diferentes resultados para diferentes entradas. Este proceso es posible con el uso de bifurcaciones condicionales o declaraciones If...Then como se les llama también.
Veamos algunos ejemplos de programas que hacen uso de declaraciones condicionales para entender cómo funcionan.
Declaración If ... Then
En este ejemplo, queremos crear un programa que pida al usuario que introduzca un número y que al pulsar el botón “Prueba tu suerte” muestre si el usuario escogió el número ganador.
Creamos el siguiente formulario y escribimos el código del programa para el botón de comando.


Explicación del código del botón de comando “Button1”
Como puedes ver, al hacer clic en el botón, este programa verifica si el usuario ha ingresado el número 7 en un cuadro de texto y si es así, entonces se muestra el mensaje: ¡Felicitaciones! ¡Has ganado! en una etiqueta Label1
Es importante notar que en la línea:
If n = 7 Then
n = 7 es la condición a evaluar de la declaración If... Then y el signo igual no es un operador de asignación sino un operador de comparación. Esto significa que compara el valor de la variable n con el número 7. El resultado de una verificación de una condición puede ser verdadero o falso. Si la condición es verdadera, entonces las instrucciones después de Then se ejecutan. Si la condición es falsa, en su lugar se ejecutan las instrucciones después de End If.
Declaración If ... Then ... Else
Una versión más compleja de la declaración condicional es la declaración If... Then...Else. Esto te permite definir instrucciones a ser ejecutadas si la condición es falsa. Por ejemplo, digamos que queremos que el programa anterior muestre un mensaje más relevante al usuario no solo cuando acierta el número correcto sino también cuando se ingresa un número incorrecto, para ello haz los siguientes cambios al código de tu programa.


La condición de una declaración If... Then puede también ser más compleja que una simple verificación que usa un operador condicional como hemos visto hasta ahora. Puede ser un conjunto de verificaciones de condición más pequeñas vinculadas por operadores lógicos. Digamos por ejemplo que no queremos que nuestro número de la suerte sea solo un número sino un rango de números de la suerte. Veamos cómo escribiríamos el código correspondiente.

Declaración de If ... Then ... ElseIf
Si hay más de dos elecciones alternativas que mostrar, la declaración If... Then...Else no es suficiente. Para poder poner a disposición más opciones a elegir, podemos usar la declaración If... Then...Elself.
En el siguiente ejemplo, hemos creado un programa que transforma la puntuación de un alumno en su nivel académico correspondiente.


Explicación de la declaración condicional:
-
La primera condición “puntaje >= 90” se evalúa y si es verdadera, entonces el nivel toma el valor A y las siguientes condiciones no son evaluadas y se ejecutan las instrucciones debajo de End If.
-
Si una condición es falsa, entonces se evalúa la siguiente condición y así sucesivamente hasta que una condición sea verdadera.
-
Si ninguna, de las condiciones son verdaderas, entonces se ejecuta el código debajo de Else.
Operadores condicionales y lógicos
Cuando escribas condiciones para tus declaraciones If...Then, puedes usar los siguientes operadores condicionales y lógicos

Declaración Select Case
Select Case es otra forma de declaración condicional que se puede usar. Veamos cómo puedes escribir el ejemplo anterior usando esta estructura

La declaración de Select Case es útil cuando queremos verificar una variable única, en este ejemplo la puntuación, contra un número de diferentes valores o rangos.
Si queremos usar operadores condicionales en nuestros casos, podemos hacerlo con el operador Is como en el siguiente ejemplo.
Select Case puntaje
Case Is >= 90
nivel = “A”
Case Is >= 80
nivel = “B”
...
End Select
También si queremos verificar la igualdad, solo escribimos cada elección después de cada declaración de Case como en el ejemplo siguiente.
Select Case grade
Case “A”
Label1.Text = “Excelente”
Case “B”
Label1.Text = “Muy bueno”
...
End Select
Repeticiones
Las computadoras son herramientas muy útiles cuando se trata de tareas repetitivas y realizan estos procesos la mayor parte del tiempo como parte de un proceso de cálculo. En Visual Basic, tenemos dos estructuras diferentes que pueden aceptar repeticiones, o “bucles” como se denominan en lenguaje de programación.
For...Next loop
Supongamos que queremos sumar todos los números enteros del 1 al 50. Claro, no vamos a empezar a escribir 1+2+3+... hasta 50, lo que haremos es programar la computadora para que haga lo mismo usando bucles. Veamos cómo:


Explicación del bucle For...Next.
-
Tenemos una variable, en este ejemplo “i”, que actúa como contador para que se repita el bucle For Next tantas veces como el valor final en este caso “50”
-
Con For i = 1 To 50 le damos a nuestra variable contadora un valor inicial y final y dejamos que la computadora lo incremente en 1 en cada bucle.
-
Cada vez que la variable “i” se incrementa, los comandos entre For y Next se ejecutan. En este caso, solo añadimos el valor actual del contador a otra variable “sum”, que contiene el resultado de nuestra sumatoria, la variable “sum” se comporta en este caso como un acumulador
-
Fíjate que sum se inicia con un valor de cero antes del bucle. El bucle termina cuando el contador sobrepasa el valor final, en este caso 50.
Usualmente, el incremento del contador es 1, pero puedes definir tu propio incremento, llamado “Step”.
Por ejemplo, el siguiente programa que calcula el valor de la variable “sum” de cada número entero par desde el 2 al 50.


Do...Loop
Los bucles For...Next son una maravilla cuando sabemos exactamente el número de repeticiones que vamos a necesitar, pero hay veces que queremos repetir un proceso un número desconocido de veces, por ejemplo, hasta que una condición se dé o mientras una condición sea verdadera. En este caso, usamos declaraciones Do...Loop.
Vamos a crear un programa para sumar todos los números enteros desde 1 hasta que la variable “sum” sea 500 o mayor.


-
La estructura Do...Loop no incrementa ningún contador variable automáticamente, así que hemos incluido la instrucción i = i + 1 para incrementarlo por una unidad en el bucle.
-
Con la instrucción ListBox1.Items.Add(i & vbTab & sum), añadimos una línea en cada bucle en el cuadro ListBox, que contiene el valor de contador actual y la suma actual.
-
El operador & se usa para concatenar (unir) los diferentes valores en una línea única y el vbTab es una constante predefinida de Visual Basic que representa un espacio de tabulación.
-
El bucle aquí se ejecuta mientras y hasta que el valor de la variable “sum” sea menor de 500.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////