martes, 5 de mayo de 2020

5TO SEC BUCLES WHILE

EL CICLO WHILE

El ciclo while (mientras) es otra instrucción para crear ciclos, necesita de una condición para poder repetir su ciclo. Debido a esta característica es que en ocasiones, no se sabe cuándo va a finalizar el ciclo, ya que muchas veces, la condición dependerá de lo que indique el usuario. Con los ciclos while, es muy frecuente que se produzcan ciclos infinitos si no ponemos atención a las condiciones que hacen que éste finalice.
La sintaxis de un ciclo while, es la siguiente:

While condicion
    Instrucciones...
endWhile

EJEMPLO

TextWindow.Write("Ingresa un cinco para continuar ")
numero = TextWindow.ReadNumber()

While numero <> 5
        TextWindow.Write("Debes ingresar el cinco para continuar ")
        numero = TextWindow.ReadNumber()
EndWhile

TextWindow.WriteLine("Gracias, ahora podemos continuar")





La línea “While numero <> 5” se leería como "Mientras que la variable numero sea distinto a 5..." Esta condición se ejecutará si el usuario ingresa un número distinto a 5, que es el número que estamos solicitando. Si el usuario ingresa cualquier otro número, entonces se cumplirá la condición y se ejecutarán las líneas que siguen, "Debes ingresar el cinco para continuar" y continuará ejecutándose el bucle hasta que el usuario ingrese el número 5.
Por casos como este, es que a veces no sabemos cuántas veces se va a ejecutar el ciclo, porque depende exclusivamente de lo que escriba el usuario.
Hay que tener cuidado con las condiciones que coloquemos, como dije porque podríamos tener un ciclo infinito, como en el siguiente ejemplo

TextWindow.Write("Ingresa un numero ")
numero = TextWindow.ReadNumber()
While numero > 0
  TextWindow.WriteLine(numero)
EndWhile



En este caso, si se ingresa cualquier número positivo se ejecutará el ciclo, pero no hay nada que lo detenga, por lo que se produce un ciclo infinito.

Con el ciclo while, también podemos hacer ciclos con resultados similares a los obtenidos con el ciclo for, por ejemplo, aquí mostraré como quedaría la tabla de multiplicar que antes había hecho con el ciclo for, pero esta vez será hecha con el ciclo while.

TextWindow.Write("Ingresa un numero ")
num1 = TextWindow.ReadNumber()
num2 = 0

While num2 < 10
  num2 = num2 + 1
  TextWindow.WriteLine(num1 + " x " + num2 + " = " + num1 * num2 )
EndWhile



En este caso, hice una variable llamada num2, la cual inicié con valor cero. Esta variable irá aumentando de valor en cada ciclo, esto se logró debido a la variable num2 = num2 + 1. El ciclo terminará cuando esta variable alcance un valor de 10.
Ocupando la instrucción while, se puede hacer que un programa continúe realizando tareas si es que el usuario así lo desea. Colocaré un ejemplo utilizado en el capítulo 7, pero esta vez un poco mejorado añadiendo la instrucción while


opcion = "s"
While opcion = "s"
   TextWindow.Write("Cual es tu edad? ")
   edad = TextWindow.ReadNumber()
   If edad >= 18 Then
TextWindow.WriteLine("Eres mayor de edad")
   EndIf
   If edad < 18  Then
    TextWindow.WriteLine("Eres menor de edad")
   EndIf
  TextWindow.Write("Continuar? s/n ")
  opcion = TextWindow.Read()
EndWhile
TextWindow.WriteLine("Hasta luego")




En este caso, para poder entrar en el bucle, tuve que crear una variable que lo permita, en este caso fue la variable “opcion” a la cual le di un valor de “s”, entonces, la instrucción while validó que la variable “opción” tuviese ese valor y al ser la condición verdadera, se inició el bucle. Casi llegando al final del código se pregunta si se desea continuar. Entonces se ocupó nuevamente a la variable “opción”, a la cual si se escribe una “s”, el programa se volverá a ejecutar, esto es porque así fue declarada en un principio, donde el bucle se repetirá si la variable “opción" es igual a “s”. Por supuesto, el programa solamente es sensible a la letra “s” y cualquier otra letra o número, hará que este finalice (aunque en la opción aparece s/n), pero arreglar eso, es algo que seguramente aprenderé a controlar en otro capítulo.


Un nuevo ejemplo donde se creará una especie de login a un sistema

While usuario <> "estudiante"
     TextWindow.Write("Ingresa tu nombre de usuario ")
     usuario = TextWindow.Read()
    If usuario = "estudiante" Then
        TextWindow.WriteLine("Bienvenido al sistema!!!")
    Else
       TextWindow.WriteLine("Nombre de usuario no valido")
    EndIf
EndWhile



Aquí, nuevamente se creó una variable al inicio del programa (variable usuario) a la cual se le asignó un valor de “@” (aunque pudo ser cualquier otro, es solo para inicializarla) luego, la siguiente línea se podría leer como “mientras usuario sea distinto a estudiante…” Y como efectivamente, la variable usuario es distinta, entonces se ingresa al bucle, donde solo se podrá finalizar el programa si se ingresa el login establecido “estudiante”.
Como se puede apreciar, se pueden hacer muchas cosas con los bucles, pero esto aún no termina porque aún falta ver otro tipo de bucle, muy parecido a este, pero eso será en el próximo capítulo.


INGRESO AL ZOOM

JORGE HERRERA FLORES le está invitando a una reunión de Zoom programada.

Tema: COMPUTACION 5TO SECUNDARIA
Hora: 6 may 2020 03:00 PM Lima

Unirse a la reunión Zoom
https://us04web.zoom.us/j/73357964136


ID de reunión: 733 5796 4136




DAR CLIC EN LA IMAGEN PARA DESCARGAR ARCHIVOS
 


GRABAR TU ARCHIVO DE LA SIGUIENTE MANERA
GRADONUMERO DE PRÁCTICA APELLIDOS Y NOMBRE.EXTENSION
5SP4HERRERAJORGE.SB


ENVIAR AL SIGUIENTE CORREO
Jherreramcm2019@gmail.com

No hay comentarios.:

Publicar un comentario