Aprendiendo a tomar decisiones... La instrucción If
En
muchas ocasiones, los programas necesitan tomar decisiones dependiendo de una o
más opciones. Por ejemplo, si se cumple una condición, el programa hará una
cosa y si no se cumple, entonces hará otra. Las condiciones hacen que los
programas tomen distintos caminos a lo largo del código. El controlar esos
caminos o direcciones, se le conoce como control de flujo. Para lograr esto, en
programación se usa la instrucción if (si, en inglés)
Para
que esto funcione, las condiciones se tienen que comparar con algún valor u
otra condición. Por ejemplo:
Si variable es
igual a 10
realizar
acción...
fin
Otro ejemplo.
Si variable es
mayor a 10
realizar
acción...
fin
Si variable es
menor a 10
realizar
acción...
fin
Etc, etc.
Para poder realizar estas
comparaciones, en programación se utilizan los siguientes signos:
< menor que
> mayor que
<= menor o igual
>= mayor o igual
== igual a .Algunos lenguaje como small
basic utilizan solo un signo =
<> distinto a. Algunos lenguajes
utilizan el signo !=
Utilizaré
para este ejemplo, el diagrama de flujo que ocupé en el capítulo 2
Primero voy a declarar una variable que llamaré dinero y
le daré un valor de 500
dinero = 500
Luego, si dinero es igual o mayor a 500 entonces
compro la bebida
si dinero es menor a 500 entonces
no puedo comprar la bebida
Diario
de un programador.- Dia 17
Al pasar esto a código quedaría de la siguiente forma:
Y si lo ejecuto, muestra lo siguiente:
En
este código, se puede ver el uso y la sintaxis de la instrucción if en la línea 3. Al ser "if" una instrucción, el programa
la destaca con un color azul claro. La línea 3 se interpreta "Si dinero es mayor o igual a 500,
entonces (then) escribir "Compro la bebida".
La
sintaxis para el uso de la instrucción if
en small basic se compone de tres partes, las cuales se escriben en el
siguiente orden: La palabra "if", la condición a comparar (en este
caso compara si la variable dinero es igual o mayor a 500) y la palabra "then", que significa
"entonces". Debo aclarar que en internet he visto que la instrucción
if, cambia en su sintaxis dependiendo en el lenguaje que se ocupe. En algunos
no usa la palabra then, en otros, la evaluación o comparación debe escribirse
entre paréntesis, en otros usa llaves {} etc., pero su objetivo siempre es el
mismo y es poder controlar el flujo de un programa.
La línea 4 se
ejecutará solamente si se cumple la condición indicada en la línea 3.
Esto indica que si la variable dinero es mayor
o igual a 500. O sea que el que muestre o no la línea 4, depende directamente
de la condición evaluada en la línea 3. Para una mayor claridad, la línea 4 fue
indentada (tiene una sangría), con lo cual se hace más fácil, visualmente
hablando, ver cuál código depende de la instrucción if.
La línea 5 "EndIf", indica el final
de la instrucción if. Todo lo que se encuentre entre if y endIf, se considera
parte de la instrucción y como dije anteriormente, se ejecutará solamente si la
evaluación se cumple, o como se dice en programación, la condición es
verdadera.
Una vez que el programa termina de evaluar la
condición if, o sea llega a la instrucción endIf, continúa con la siguiente
línea, en este caso al llegar a la línea 7 se encuentra con otra instrucción
if.
En este caso dice, si dinero es menor a 500 entonces mostrar
"No puedo comprarla". Como se puede ver, la condición no se cumple,
por lo tanto no se ejecuta la instrucción de la línea 8 y pasa automáticamente
a la línea 9. Para hacer que esta condición se cumpla, tendría que modificar el
valor de la variable dinero, por un valor menor a 500, solo así esta condición
se podría cumplir.
Veré otro ejemplo, también del capítulo 2:
1.- Inicio
2.- Escribir - ¿Cuál es tu edad?
3.- Leer edad
4.- Si tu edad es mayor o igual a
18.
5.- Escribir: Eres
mayor de edad
6.- Si tu edad es menor a 18.
7.- Escribir: Eres
menor de edad
8.- Fin
Ahora pasaré esto a código:
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
Esto es todo por ahora, explicaré un poco más en el proximo capitulo. Hasta luego.
vengo del futuro y que mal que ya no subas estas lecciones :(
ResponderEliminar