2. Bienvenidos
Hola a todos y todas. En la clase de
hoy cerraremos el tema de
estructuras condicionales las cuales
nos permiten ir por caminos
alternativos, según se cumplan o no
algunas condiciones.
3. Condición Compleja
La clase pasada vimos lo que son las condiciones simples: una
comparación de dos elementos; cuyo resultado es verdadero o falso.
Pensemos juntos: si necesito escribir una condición que permita
evaluar si un estudiante es mayor a 25 años y tiene al menos 15
materias aprobadas . ¿Como haríamos? . No pases a la próxima
diapositiva sin tener una propuesta.
4. Condición Compleja
Primero entendemos que tenemos dos condiciones simples :
(edad >25) y (materiasaprobadas >= 15).
Una condición compleja no es más que tener varias condiciones
simples que serán evaluadas a la vez.
La condición compleja en este ejemplo nos quedaría:
(edad >25) && (materiasaprobadas >= 15).
Y… ¿qué es &&? Ahora lo vemos.
5. Condición Compleja – Operadores Booleanos
&& y || son lo que llamaremos
operadores booleanos y nos
servirán para establecer como se
evaluarán conjuntamente las
condiciones simples. Es decir,
que siempre que tenga una
condición compleja, vamos a
tener al menos un operador
booleano.
Operador Significado
&& Y o Además
|| O
6. Condición Compleja – Operadores Booleanos
Operación lógica Y (o AND en ingles)
Veamos esta operación con un ejemplo:
Si quiero evaluar si un número está dentro del rango
abierto entre 10 y 15, podríamos escribir esto como :
(numero>10) y (numero <15).
La condición final será verdadera si es verdadera
(numero >10 ) y a la vez es verdadera (numero <15).
Lo importante aquí es la operación Y que nos indica
que ambas condiciones simples deben ser verdaderas
para que la condición final o compleja sea verdadera.
La operación Y (lógica) se expresa con el símbolo &&
&&
7. Condición Compleja – Operadores Booleanos
Operación lógica O (u OR en ingles)
Veamos esta operación con un ejemplo:
Si quiero evaluar si un estudiante es apto para firmar,
sabiendo que para ello o es mayor de edad o está
emancipado : (Edad>18) o (Emancipado ==“SI”).
La condición final será verdadera si cualquiera de las
condiciones simples es verdadera :(Edad>18) o
(Emancipado ==“SI”). Lo importante aquí es la operación
O, que nos indica que basta con que al menos una de las
condiciones simples sea verdadera para que la condición
final o compleja sea verdadera.
La operación O (lógica) se expresa con el símbolo ||
(está por lo general a la izquierda del número 1 en el teclado)
||
8. Condición Compleja – Operadores Booleanos
Veamos para ir cerrando 2 ejemplos más, de condiciones complejas:
(Lado1==Lado2) && (Lado2==Lado3)
Esta condición solo será verdadera si el valor de Lado1 es igual al valor
de Lado2, Y el valor de Lado2 es igual al valor de Lado3. Así se leería la
condición compleja.
(Marca=“Ford”) || (Marca=“Fiat”)
Esta condición será verdadera si el valor de Marca es igual a “Ford”, O el
valor de Marca es igual a “Fiat”. Así se leería la condición compleja.
Desafío: ¿Cómo se leería (Nombre=“Javier”) && (Apellido=“Arredes”)
&& (Materia=“Informática Específica”), y cuando sería verdadera?
9. Estructura Condicional Compleja
La clase pasada vimos estructuras condicionales simples, que son
aquellas que tiene una sola condición.
Las estructuras condicionales complejas son aquellas que tiene más
de una condición simple para evaluar, es decir una condición
compleja.
Así de simple.
Veamos un ejemplo para terminar de entender esto.
10. Ejemplo
• Necesitamos saber, en base a los lados de un triangulo, si es o no
equilátero.
Léxico:
Entrada: lado1,lado2,lado3;
Salida: tipodetriangulo;
Proceso:-;
Inicio
1-Conocer(lado1,lado2,lado3);
2-Si (lado1==lado2 && lado2==lado3) entonces {
3-Calcular(tipodetriangulo =“Es equilatero”;
}
Sino{
4-Calcular(tipodetriangulo =“ No es equilatero”;
}
Finsi
5- Mostrar(tipodetriangulo);
Fin
Fíjense que la estructura condicional del paso 2 es
compleja, porque la condición es compleja:
(lado1==lado2 && lado2==lado3) . Para saber si un
triangulo es equilátero, necesito evaluar si todos sus
lados son iguales y esto lo defino con dos
condiciones simples que tiene que ser ambas
verdaderas para pasar a ejecutar el paso 3. Si alguna
de las condiciones no es verdadera, se pasa a
ejecutar el paso 4.
También podría haberse pensado a la condición
como (lado1==lado && lado1==lado2 &&
lado1==lado3) y estaría bien.
11. Ejemplo con Estructuras condicionales simples
• Siempre podemos expresar una estructura condicional compleja con
estructuras condicionales simples.
Léxico:
Entrada: lado1,lado2,lado3;
Salida: tipodetriangulo;
Proceso:-;
Inicio
1-Conocer(lado1,lado2,lado3);
2-Si (lado1==lado2) entonces {
3-Si (lado2==lado3) entonces {
4-Calcular(tipodetriangulo =“ No es equilatero”;
}
Finsi
}
Sino{
5-Calcular(tipodetriangulo =“ No es equilatero”;
}
Finsi
6- Mostrar(tipodetriangulo);
Fin
Fíjense que al ejemplo anterior lo
desarrollamos con dos estructuras
condicionales simples. Esto siempre se puede
hacer.
Utilizamos una en el paso 2 y otra en el paso 3.
Para llegar a ejecutar el paso 4, tanto la
condición (lado1==lado2) como (lado2==lado3)
deben ser verdaderas.
Cualquiera de las formas estará bien. Usar
estructuras condicionales complejas nos
permiten acortar la escritura del Pseudocódigo
y tener todas las condiciones simples en una
sola compleja.
12. Hora de poner en práctica lo aprendido
• Ahora que completamos el tema de Estructuras Condicionales, y
como siempre en esta materia, les propongo hacer
ejercicios…muchos ejercicios…
• Esta material se aprende ‘haciendo’ y a medida que vamos avanzando
debemos sacarnos dudas y comentar inquietudes.
Hasta la próxima!