1. PUEBLA III
Estructura condicional
Una instrucción condicional es aquella que nos permite "preguntar" sobre el entorno que nos rodea, pudiendo así actuar
según la respuesta obtenida. Estas respuestas siempre serán Verdaderas o Falsas, pudiendo así tomar, en un principio,
dos caminos diferentes.
Pongamos un pequeño ejemplo. Imagine que tenemos nuestro robot subiendo las escaleras de la Torre Eiffel y le
indicamos lo siguiente: si está en el escalón 200 entonces no continúe subiendo, sino continua su ascensión. Como
puede ver aquí se nos presenta una condición y, según en el punto de la escalera en la que se encuentre, nuestro robot
se parará o continuará subiendo.
Estructura básica de una condición.- En nuestro curso esta estructura condicional se representará de la siguiente
manera:
Si <CONDICIÓN> entonces
<INSTRUCCIÓN 1>
Si no
<INSTRUCCIÓN 2>
Fin Si
Le explicaremos línea a línea la estructura condicional anterior:
-Primera línea: aparece parte de la estructura condicional y la <CONDICIÓN>que deseamos evaluar.
-Segunda línea: lugar donde pondremos las instrucciones a realizar en caso que la respuesta a la condición sea
VERDADERA.
-Tercera línea: parte de la estructura condicional que nos divide la parte de las instrucciones a realizar cuando la
condición es verdadera y cuando es falsa.
-Cuarta línea: lugar donde pondremos las instrucciones a realizar en caso que la respuesta a la condición sea FALSA.
-Quinta línea: parte de la estructura condicional que nos indica el final de la misma.
En la siguiente unidad didáctica le explicaremos un ejemplo.
Las estructuras condicionales comparan una variable contra otro(s)valor (es), para que en base al resultado de esta
comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer
contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las
múltiples.
Simples:
Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la
siguiente forma:
Pseudocódigo: Diagrama de flujo:
Múltiples:
Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable
Programación Básica
2. PUEBLA III
contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma común
es la siguiente:
Pseudocódigo: Diagrama de flujo:
Sentencia if
La forma general de esta sentencia es:
if (expresion)
sentencia
Figura 1: Sentencia if
• Si la expresion es verdadera (valor distinto de 0), entonces se ejecuta sentencia.
• La expresion debe estar entre paréntesis.
Si sentencia es compuesta tenemos:
if (expresion)
{
sentencia 1
sentencia 2
.
sentencia N
}
Un ejemplo de uso de esta sentencia es el siguiente fragmento de programa, que decide si un número es par:
int numero = 0, esPar= 0;
Programación Básica
3. PUEBLA III
if ((numero % 2) == 0)
esPar = 1;
Dobles:
Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del
cumplimiento o no de una determinada condición. Se representa de la siguiente forma:
Pseudocódigo: Diagrama de flujo:
Donde:
Si:Indica el comando de comparación
Condición : Indica la condición a evaluar
Entonces : Precede a las acciones a realizar cuando se cumple la condición
Instrucción(es):Son las acciones a realizar cuando se cumple o no la condición
si no :Precede a las acciones a realizar cuando no se cumple la condición
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.
Sentencia if-else
La forma general de esta sentencia es:
if (expresion)
sentencia 1
else
sentencia 2
Figura 2: Sentencia if-else
• Si expresion es verdadera (valor distinto de 0), entonces se ejecuta sentencia 1; en caso contrario, se ejecuta
sentencia 2.
• Si las sentencias son compuestas se cierran entre { }.
• Las sentencias pueden ser a su vez sentencias if-else.
if (expresion 1)
if (expresion 2)
Programación Básica
4. PUEBLA III
S1
else
S2
else
S3
Un ejemplo de uso de esta sentencia es el siguiente fragmento de programa, que elige el menor de tres números:
float a, b, c, menor;
a=2; b=4; c=1;
if (a < b) {
if (a < c)
menor = a;
else
menor = c;
} else {
if (b < c)
menor = b;
else
menor = c;
}
Múltiples (En caso de):
Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con
distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma es la siguiente:
Pseudocódigo: Diagrama de flujo:
Sentencia switch
La forma general de esta sentencia es:
switch (expresion)
{
case exp 1:
sentencia 1;
sentencia 2;
break;
Programación Básica
5. PUEBLA III
case exp 2:
case exp N:
sentencia N;
break;
default:
sentencia D;
}
Figura 3: Sentencia switch
• expresion devuelve un valor entero, pero también puede ser de tipo char.
• exp1, ..., exp N representan expresiones constantes de valores enteros, aunque también pueden ser caracteres.
Un ejemplo de uso de esta sentencia es el siguiente fragmento de programa, que decide si imprime la vocal dada:
letra='e';
switch(letra);
{
case 'a':
case 'A':
printf(``Es la vocal an'');
break;
case 'e':
case 'E':
printf(``Es la vocal en'');
break;
case 'i':
case 'I':
printf(``Es la vocal in'');
break;
case 'o':
case 'O':
printf(``Es la vocal on'');
break;
case 'u':
case 'U':
printf(``Es la vocal un'');
break;
default: printf(``Es una consonanten'');
}
Programación Básica
6. PUEBLA III
Veamos algunos ejemplos donde se aplique todo lo anterior:
Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo.
Expresarlo en Pseudocódigo y Diagrama de flujos.
Pseudocódigo: Diagrama de flujo:
Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno
aprobó o reprobó el curso. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
Pseudocódigo:
INICIO
Not1, Not2, Not 3 :REAL
Def: REAL
LEA Nota1, Nota2, Nota3
Def ß (Not1 + Not2 + Not3) /3
Si Def < 3 entonces
Escriba “Reprobó el curso”
Sino
Escriba “Aprobó el curso”
Fin-Si
FIN
Diagrama de flujo:
Programación Básica
7. PUEBLA III
Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el
mensaje: “Persona de altura baja”; si la altura está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la
altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el algoritmo usando Pseudocódigo y diagrama de
flujos.
Pseudocódigo:
INICIO
Altura: ENTERO
ESCRIBA “Cuál es tu altura? ”
LEA Altura
Si Altura <=150 entonces
ESCRIBA “persona de altura baja”
Sino
Si Altura <=170 entonces
ESCRIBA “persona de altura media”
Sino
Si Altura>170 ENTONCES
ESCRIBA “persona alta”
Fin-Si
Fin-Si
Fin-Si
Programación Básica
8. PUEBLA III
FIN
¡Es importante ser ordenado en el código que se escribe!
Diagrama de flujo:
Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así:
1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo
Exprese el algoritmo usando Pseudocódigo y diagrama de flujos.
Pseudocódigo: Pseudocódigo:
INICIO
Dia: ENTERO
ESCRIBA “Diga un número para escribir su día”
LEA Dia
En-caso-de Dia haga
Caso 1: ESCRIBA “Lunes”
Caso 2: ESCRIBA “Martes”
Programación Básica
9. PUEBLA III
Caso 3: ESCRIBA “Miércoles”
Caso 4: ESCRIBA “Jueves”
Caso 5: ESCRIBA “Viernes”
Caso 6: ESCRIBA “Sábado”
Caso 7: ESCRIBA “Domingo”
SINO: ESCRIBA “Escribió un numero fuera del rango 1-7”
Fin-Caso
FIN
Diagrama de flujo:
Programación Básica