Para
un ejemplo con la instrucción lógica "O" voy a ocupar el mismo caso
anterior, solo que la condición cambiará, la condición podría ser "si
numero_ingresado es menor a 10 (O)
numero_ingresado es mayor a 20..." En este caso, con la instrucción
"o" (or) solamente es necesaria que una condición sea evaluada como
falsa, para que la condición completa no se cumpla, es decir, si el usuario
escribe un 5, entonces el programa no seguirá evaluando las demás condiciones y
automáticamente evaluará la instrucción completa como falsa. Quizás todo esto
suene un poco enredado, pero como siempre digo, que con práctica se le coge el
truquillo.
Ahora
bien, aquí el programa..
TextWindow.Write("Cual es tu edad? ")
edad = TextWindow.ReadNumber()
If edad
>= 0 And edad < 18 Then
TextWindow.WriteLine("Eres menor de edad")
EndIf
If edad
>= 18 And edad <= 120 Then
TextWindow.WriteLine("Eres mayor de edad")
EndIf
If edad
< 0 Or edad > 120 Then
TextWindow.WriteLine("La edad ingresada no es valida")
EndIf
Como
dije, esta es otra alternativa al código anterior, pero en este caso, el
programa siempre finaliza, aunque se ingrese una edad no válida, el programa no
vuelve a preguntar por la edad... Antes de analizar lo que hace el programa,
una pregunta ¿cómo hacer para que este programa pregunte nuevamente la edad si
se ingresa un número no válido?
La
respuesta es, colocando una instrucción goto después del mensaje "La edad
ingresada no es válida", la cual debe apuntar a una etiqueta ubicada al
principio del programa, quedando así:
inicio:
TextWindow.Write("Cual es tu edad? ")
edad =
TextWindow.ReadNumber()
If edad
>= 0 And edad < 18 Then
TextWindow.WriteLine("Eres menor de edad")
EndIf
If edad
>= 18 And edad <= 120 Then
TextWindow.WriteLine("Eres mayor de edad")
EndIf
If edad
< 0 Or edad > 120 Then
TextWindow.WriteLine("La edad ingresada no es valida")
Goto inicio
EndIf
Diario
de un programador.- Dia 21
También es posible
hacer una especie de menú de opciones con la instrucción if, como por ejemplo:
El código para esto sería algo así:
inicio:
TextWindow.WriteLine("INVENTARIO")
TextWindow.WriteLine(" ")
TextWindow.WriteLine("1) Objetos")
TextWindow.WriteLine("2) Armas")
TextWindow.WriteLine("3) Accesorios")
TextWindow.WriteLine("4) Estado")
TextWindow.WriteLine("5) Salir")
TextWindow.WriteLine(" ")
TextWindow.Write("Ingresa una opcion ")
opcion = TextWindow.ReadNumber()
If opcion = 1 Then
TextWindow.Clear()
TextWindow.WriteLine("OBJETOS")
TextWindow.WriteLine(" ")
TextWindow.WriteLine("Pocion
curativa x 10")
TextWindow.WriteLine("Cola de fenix x 5")
TextWindow.WriteLine("Pocion
de mana x 3")
TextWindow.Pause()
TextWindow.Clear()
Goto
inicio
EndIf
If opcion = 2 Then
TextWindow.Clear()
TextWindow.WriteLine("ARMAS")
TextWindow.WriteLine(" ")
TextWindow.WriteLine("Mandoble x 1")
TextWindow.WriteLine("Hacha
x 1")
TextWindow.WriteLine("Daga
x 1")
TextWindow.Pause()
TextWindow.Clear()
Goto
inicio
EndIf
If opcion = 3 Then
TextWindow.Clear()
TextWindow.WriteLine("ACCESORIOS")
TextWindow.WriteLine(" ")
TextWindow.WriteLine("Aro de fuerza x 2")
TextWindow.WriteLine("Collar de magia x 1")
TextWindow.WriteLine("Guante genji x 1")
TextWindow.Pause()
TextWindow.Clear()
Goto
inicio
EndIf
If opcion = 4 Then
TextWindow.Clear()
TextWindow.WriteLine("ESTADO")
TextWindow.WriteLine(" ")
TextWindow.WriteLine("Nivel
: 10")
TextWindow.WriteLine("Ataque
: 15")
TextWindow.WriteLine("Defensa
: 3")
TextWindow.WriteLine("Inteligencia
: 3")
TextWindow.WriteLine("Agilidad
: 9")
TextWindow.WriteLine("Destreza
: 12")
TextWindow.WriteLine("Suerte
: 2")
TextWindow.Pause()
TextWindow.Clear()
Goto
inicio
EndIf
If opcion = 5 Then
TextWindow.Clear()
TextWindow.WriteLine("Hasta
luego")
EndIf
Diario
de un programador.- Dia 22
En
el código anterior, lo único "nuevo" serían las instrucciones
TextWindow.Clear() y TextWindow.Pause(). La primera, lo que hace es borrar la
pantalla con la finalidad de que se vea más ordenada la información y solo se
muestre lo relevante. La segunda, simplemente realiza una pausa al programa y
lo coloca en espera a que el usuario presione una tecla para continuar.
La instrucción ElseIf
Esta
instrucción es una condición alternativa a la vez que toma decisiones
utilizando la instrucción if (fuente: Manual de ayuda Small Basic)
Ejemplo:
If
Clock.Hour < 12 Then
TextWindow.WriteLine("Buenos días")
ElseIf
Clock.Hour < 20 Then
TextWindow.WriteLine("Buenas
tardes")
ElseIf
Clock.Hour < 24 Then
TextWindow.WriteLine("Buenas noches")
EndIf
Lo
que hace este programa es verificar la hora del sistema con Clock.Hour y si la
hora es menor a 12, mostrará el mensaje "Buenos días", si es menor a
las 20, mostrará "Buenas tardes" y si es menor a 24, mostrará
"Buenas noches".
Esto es todo por ahora, en la parte 3 se realizarán algunos ejercicios para aplicar lo aprendido. Suerte.
mano obrigado por tudo tu es muy legal
ResponderEliminar