Para las condiciones usaremos las
sentencias condicionales.
Estas sentencias son las encargadas de
tomar una decisión dentro
de nuestro programa.
Para que se cumplan estas condiciones
usaremos los comparadores.
| OPERADOR DE COMPARACIÓN |
SIGNIFICADO
|
| > | Mayor que |
| < | Menor que |
| >= | Mayor o igual que |
| <= | Menor o igual que |
| INSTRUCCIONES DE COMPARACIÓN |
FUNCIÓN
|
| AND |
Y
|
| OR |
O
|
| NOT |
Negación
|
Una sintaxis posible puede ser esta:
si variable1 condición variable2
entonces hacer
Las sentencias condicionales podemos
escribirlas en solo una linea,
cuando las sentencias son simples y en
un grupo cuando son mas complejas.
Ejemplo de condicionales simple:
Si Juan > 18 Entonces Mostrar “Juan
es mayor de edad”
IF Juan > 18 THEN PRINT “Juan es
mayor de edad”
Veamos un ejemplo erróneo
SI Juan>=18 Entonces Mostrar “Juan
mayor de edad”
Mostrar “Juan no es mayor de edad”
En el caso de que Juan no tenga 18 o
más. La primera condición no se cumple
y salta a la siguiente instrucción.
Pero ,¿ y si Juan tiene 18? .
Se cumpliría la condición y luego
continuaría con la siguiente
instrucción. Mostrando también que no
es mayor de edad.
¿ Como evitamos eso ?.
Usaremos una condicional doble. (Juan
tiene que estar cansado..:-D)
SI Juan>=18 Entonces
Mostrar “Juan mayor de edad”
SINO
Mostrar “Juan es menor de edad”
FIN DE SI
----código---
IF Juan>=18 Then
PRINT “Juan es mayor de edad”
ELSE
PRINT “Juan es menor de edad”
END
---código---
Ahora usaremos las instrucciones de
comparación:
Las dos condiciones se cumple.
SI JUAN=12 Y MARIA=12 Entonces
Mostrar “Juan y María tienen la
misma edad”
SINO
Mostrar “Juan y Maria no tienen la
misma edad”
FIN DE SI
---código---
IF Juan=12 AND Maria=12 THEN
PRINT “Juan y María tienen la
misma edad”
ELSE
PRINT “Juan y Maria no tienen la
misma edad”
ENDIF
---código---
Una de las condiciones se cumple.
Si Juan=12 Ó Maria=12 Entonces
Mostrar “Juan o Maria tienen 12
años”
SINO
Mostrar “Juan o Maria no tienen 12
años”
FIN DE SI
---código---
IF Juan=12 OR Maria=12 THEN
PRINT “Juan o María tienen 12 años”
ELSE
PRINT “Juan o María no tienen 12
años”
ENDIF
--código---
Ejemplo de negación:
Si Juan No es >=18 Entonces
Mostrar “Juan es menor de edad”
IF NOT (Juan>=18) Entonces Mostrar
“Juan no es mayor de edad”
Ahora hagamos una selección con
múltiples condiciones.
SI edad < 2 Y edad > 0 ENTONCES
PRINT “Bebé”
EN CAMBIO SI edad<12 Entones
PRINT “Niño”
EN CAMBIO SI edad< 18 Entones
PRINT “Joven”
SINO
PRINT “Adulto”
FIN DE SI
Como veis la “Y” es una forma de
decir que tiene que cumplirse
las dos condiciones y actúa como un
intervalo de valores.
---código---
IF edad < 2 AND edad > 0 THEN
PRINT “Bebé”
ELSE IF edad < 12 THEN
PRINT “Niño”
PRINT “Niño”
ELSE IF edad < 18 THEN
PRINT “Adulto”
ELSE
PRINT “Adulto”
ENDIF
---código---
Bien como veis. Cuando tenemos muchos
IF..ELSE IF,logramos
hacer código un poco confuso y
aumentamos considerablemente
el número de lineas.
Para solucionar esto y tener un código
mas claro usamos
La sentencia condicional múltiple
“SELECT CASE”
---código---
DIM edad AS INTEGER
SELECT CASE edad
CASE 0 TO 2
PRINT “Bebé”
CASE 2 TO 12
PRINT “Niño”
CASE 13 TO 17
PRINT “Joven” 'No lo toméis al
pie de la letra. ;-)
CASE 18
PRINT “Mayor de edad”
CASE ELSE
PRINT “Adulto"
END SELECT
---código---
Hemos usados unos rangos de valores.
Y en caso de que la edad sea mayor a
18, sera “adulto” la respuesta
Veis un código mucho mas claro de
entender y más estético.



