Saltar la navegación

Tomar decisiones. Si

En la mayoría de los programas el ordenador necesita tomar decisiones; por ejemplo, decidir la realización de unas actuaciones u otras en función del resultado de una operación, de que un número sea mayor o menor que otro, de que hayamos pulsado una determinada tecla, etc. Para ello se utilizan las instrucciones si y sisino.

si condición [instrucciones]
  Si la condición es cierta se ejecutan las instrucciones comprendidas entre los corchetes. Si la condición es falsa se pasa a la siguiente instrucción del programa, sin ejecutar las encerradas entre los corchetes. Las condiciones pueden ser de distintos tipos: =, >, <, etc.

El procedimiento siguiente compara dos números y nos indica cual es el mayor o si son iguales.

para mayor :n1 :n2
si :n1>:n2 [bt (es "|el mayor es | :n1)]
si :n2>:n1 [bt (es "|el mayor es | :n2)]
si :n1=:n2 [bt es "|son iguales|]
fin
   
sisino condicion [instruccionesCierto][InstruccionesFalso]
  En este caso, si la condición es cierta se ejecutan las instrucciones del primer corchete, si es falsa las del segundo.

El procedimiento siguiente nos dice si un número es divisible por 2. Hemos utilizado la instrucción resto (resto dividendo divisor) para saber si el resultado de la división es o no exacto.

para divisible2
haz "n lp
haz "r resto :n 2
sisino :r = 0 [es "si][es "no]
fin
   
si y condicion1 condicion2 [instrucciones]
  Las instrucciones se ejecutan solamente si se cumplen las dos condiciones.
   
si o condicion1 condicion2 [instrucciones]
  Las instrucciones se ejecutan si se cumple, al menos, una de las condiciones.

Actividades

1.- El siguiente procedimiento nos muestra en la pantalla de trabajo una suma (12 + 45 =), nos pide el resultado y nos indica si es correcto o incorrecto.

para operacion
bt  "|12 + 45 = |
"r
:r = 57 [(es :r )][
                    (es :r )]
fin

 

2.- Completar un procedimiento que nos indica el mayor de tres números.

para mayor :n1 :n2 :n3
si y :n1›:n2 :n1› [es :n1] 
si y ›:n1 [es ]
si y :n3› :n3› [es ]
:n1=:n2 :n2=:n3 [  "|son iguales| 
fin

Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0