Ejemplo 1:
Pedir números por pantalla hasta que alguno sea menor o igual a 7
Tomaremos
este ejemplo, donde queremos hacer que nuestro programa le pida a un usuario
una serie de números cualquiera y que solo dejaremos de hacerlo cuando el
usuario ingrese un número menor a 7, una vez mas es un ejemplo sencillo con el
que nos aseguraremos de haber comprendido bien todos los conceptos anteriores:
Solución
ejemplo 1:
Para
solucionar esto, debemos tener clara cuál va a ser la condición que se debe
cumplir para que el ciclo este pidiendo el numero contantemente, el ciclo se va
a detener solo cuando el numero ingresado sea menor que 7, así que la condición
para que se siga ejecutando es que el numero sea mayor a 7, ¿Comprender la
lógica?, es simple si para que se detenga el numero debe ser menor a 7,
entonces para seguirse ejecutando el numero debe ser menor o igual a 7.
En efecto los
ciclos while, son bastante útiles, sin embargo desde el punto de vista de la
eficiencia al igual que con los ciclos for, es recomendable evitarlos en la
medida de lo posible, siempre que vayas a usar un ciclo while o cualquier tipo
de ciclo en realidad, deberías preguntarte primero si es totalmente necesario o
si existe una manera más efectiva de hacerlo. Evidentemente habrá situaciones
en las que será casi que imprescindible usar el ciclo, pues por algo existen,
esta entonces en nuestra habilidad determinar cuándo usarlos y mejor aun como
usarlos de manera efectiva.
|
1
2
3
|
While condicion
'instrucciones
End While
|
Veamos un
ejemplo:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
Module Module1
Sub Main()
Dim num
As Integer = 1
While num
<= 7
Console.WriteLine(num)
num
+= 1
End While
Console.ReadLine()
End Sub
End Module
|
Como
vemos, num vale 1 al principio, se comprueba la condición,
como 1 es menor o igual que 7, entra en el bucle y ejecuta las
instrucciones, y así sucesivamente hasta que num vale 8, ya
que 8 no es menor o igual que 7. Si num no fuera modificado,
nunca saldría del bucle.
Diagrama de
ciclo while
A
continuación presentaremos en manera de diagrama como se vería el código:
Ejemplo 2:
Escribir un
programa que solicite la carga de un valor positivo y nos muestre desde 1 hasta
el valor ingresado de uno en uno.
Ejemplo: Si ingresamos 30 se debe mostrar en pantalla los números del 1 al 30.
Ejemplo: Si ingresamos 30 se debe mostrar en pantalla los números del 1 al 30.
Es de
FUNDAMENTAL importancia analizar los diagramas de flujo y la posterior
codificación en Visual Basic .Net de los siguientes problemas, en varios problemas
se presentan otras situaciones no vistas en el ejercicio anterior.
Diagrama de
flujo:
Podemos
observar que se ingresa por teclado la variable n. El operador puede cargar
cualquier valor.
Si el operador carga 10 el bloque repetitivo se ejecutará 10 veces, ya que la condición es "Mientras x<=n ", es decir "mientras x sea menor o igual a 10"; pues x comienza en uno y se incrementa en uno cada vez que se ejecuta el bloque repetitivo.
Si el operador carga 10 el bloque repetitivo se ejecutará 10 veces, ya que la condición es "Mientras x<=n ", es decir "mientras x sea menor o igual a 10"; pues x comienza en uno y se incrementa en uno cada vez que se ejecuta el bloque repetitivo.
A la prueba
del diagrama la podemos realizar dándole valores a las variables; por ejemplo,
si ingresamos 5 el seguimiento es el siguiente:
n x
5 1 (Se
imprime el contenido de x)
2 " "
3 " "
4 " "
5 " "
6 (Sale del while porque 6 no es menor o igual a 5)
Programa:
Module Module1
Sub Main()
Dim n, x As Integer
Console.Write("Ingrese el valor
final:")
n = Console.ReadLine()
x = 1
Do While x <= n
Console.Write(x)
Console.Write(" - ")
x = x + 1
Loop
Console.ReadKey()
End Sub
End Module
Los nombres
de las variables n y x pueden ser palabras o letras (como en este caso)
La variable x
recibe el nombre de CONTADOR. Un contador es un tipo especial de variable que
se incrementa o decrementa con valores constantes durante la ejecución del
programa.
El contador x nos indica en cada momento la cantidad de valores impresos en pantalla.
El contador x nos indica en cada momento la cantidad de valores impresos en pantalla.



Gracias por lo ejemplos, me aclararon muchas dudas
ResponderBorrar