Clase 4 - 2020

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

ESTRUCTURAS DE DECISION SIMPLE

Y MULTIPLES

ING. CARLOS MORENO PAREDES


Estructuras de Decisión

Las estructuras de
decisión 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.
La sentencia if
Se usa una sentencia if para especificar qué bloque de código
se ejecuta.
Un bloque el código puede contener cero o más sentencias.
Qué bloque de código se ejecuta depende de resultado de la
evaluación de una condición de prueba, denominada
expresión booleana.
Un sentencia if en un programa que tiene el siguiente
formato general:
if ( <expresion booleana> )
<bloque then>
else
<bloque else>
Operadores relaciónales

< // menor que


<= // menor que o igual a
== // igual a
!= // distinto de
> // mayor que
>= // mayor que o igual a
Ejemplos

3 <= 5 //true
6 != 8 //true
5 == 4 //false
6 + 4 > 7 //true
4/5 + 8 == 8.8 //false
4.0/5 + 8 == 8.8 //true
43%5/3 +12/3/2 < 5 //true
Expresión Booleana
Bloque then

if (puntuacionPrueba < 11)


cout<<“No ha aprobado“;
else
cout<<“Ha aprobado”;
Bloque else
Diagrama de flujo

F o false
V o true

puntuacionPrueba < 11

Ha aprobado No ha aprobado
Sentencias compuestas

Sentencias
compuestas
if (puntuacionPrueba < 11.0)
{
cout<<“No ha aprobado“;
cout<<“Inténtelo otra vez“;
}
else
{
cout<<“Ha aprobado“;
cout<<“Siga trabajando”;
}
Estilo
if (<expresion booleana>) {
}
else {
Estilo 1
}

if (<expresion booleana>)
{
}
Estilo 2
else
{
}
Reglas para escribir los bloques then y else

1. Las llaves izquierda y derecha son necesarias para rodear


a las sentencias si el bloque then o el bloque else contienen
múltiples sentencias.
2. Las llaves no son necesarias si el bloque then o el bloque
else contienen una única sentencia.
3. No se necesita un punto y coma después de la llave
derecha.
Estructuras de Decisión

Decisión Simple
Es la toma de decisiones más sencilla se ejecutan
instrucciones si se cumple una condición.

Sintáxis: Puesto que se ejecuta una


If Condición Then evaluación lógica , la
condición tiene que aportar un
Instrucciones valor booleano de manera que
End if habrá necesariamente una
comparación.
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

Estructura Lógica de Decisión Múltiple (SI Anidados)

Definición:
Una estructura de decisión múltiple “SI Anidados” permite alterar el flujo
secuencial de una solución ejecutando un conjunto de pasos que dependen del
resultado de evaluar diferentes condiciones lógicas dentro de estructuras de decisión
simple o doble.

PSEUDOCODIGO EXPLICACIÓN:

SI (condición1) ENTONCES En el pseudocódigo mostrado, se


instrucciones1… puede apreciar un ejemplo de una
SINO estructura múltiple “SI Anidados”.
SI (condición2) ENTONCES
FORMATO EN Observe como se combinan
instrucciones2…
PSEUDOCODIGO SINO estructuras de decisión simple y
SI (condición3) ENTONCES estructuras de decisión doble.
instrucciones3… Tenga presente que para formar
FINSI una estructura múltiple “SI
FINSI Anidados” puede utilizar
FINSI cualquier combinación de
estructuras de decisión simple y
doble.
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

Estructura Lógica de Decisión Múltiple (SI Anidados)

FORMATO EN C++
C++

OBSERVACIÓN:
if (condición1) {
sentencias1...
} else { El presente código desarrollado
if (condición2) { en C++ es la traducción del
sentencias2... pseudocódigo de la diapositiva
} else { anterior.
if (condición3) {
sentencias3…
}
}
}
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

Problema 1: Calcular el área de un rectángulo conociendo su


base y altura. Si el área es menor que 100, se deberá
visualizar el mensaje “rectángulo pequeño”; si el área es
mayor o igual a 100 y menor que 1000, se visualizará el
mensaje “rectángulo mediano”; y si el área es mayor o igual
que 1000, el mensaje será “rectángulo grande”.
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

ENTRADA: INICIO
base, altura
NUMERO base, altura, area
SALIDA: TEXTO mensaje
area, mensaje LEER base, altura
area = base * altura

SI (area < 100)


ENTONCES
mensaje = “ rectángulo pequeño ”
SINO
SI (area >= 1000)
ENTONCES
mensaje = “ rectángulo grande ”
SINO
mensaje = “ rectángulo mediano ”
FINSI
FINSI
ESCRIBIR area, mensaje

FIN
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

Problema 2: Leer el sueldo de un trabajador y calcule


su aumento por incremento del costo de vida de
acuerdo a la siguiente tabla:

Tipo Monto
Sueldo < 2000 20%
2000 < =Sueldo < =3000 13%
Sueldo > 3000 9%
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

ENTRADA: sueldo
SALIDA: nuevoSueldo

INICIO

NUMERO sueldo, nuevoSueldo

LEER sueldo

SI (sueldo < 2000)


ENTONCES
nuevoSueldo = sueldo * 1.2
SINO
SI (sueldo > 3000)
ENTONCES
nuevoSueldo = sueldo * 1.09
SINO
nuevosueldo = sueldo * 1.13
FINSI

FINSI

ESCRIBIR nuevoSueldo

FIN
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

Problema 3: Determinar si un número es divisor de


otro número; Utilice la expresión
(num1 RESTO num2 > 0)
donde “num1” y “num2” son los dos números.
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

ENTRADA: num1, num2


SALIDA: mensaje

INICIO
NUMERO num1, num2
TEXTO mensaje
LEER num1, num2

SI (num1 > = num2)


ENTONCES
SI (num1 RESTO num2 = 0)
ENTONCES
mensaje = “El segundo número es divisor del primer número”
SINO
mensaje = “El segundo número no es divisor del primer número”
FINSI
SINO
SI (num2 RESTO num1= 0)
ENTONCES
mensaje = “El primer número es divisor del segundo número”
SINO
mensaje = “El primer número no es divisor del segundo número”
FINSI
FINSI
ESCRIBIR mensaje

FIN
ESTRUCTURAS LÓGICAS DE DECISION MULTIPLE

Problema 5: Diseñe una solución en C++ y Diagrama de flujo que permita ingresar y convertir
una cantidad en metros a sus equivalentes en centímetros, pulgadas, pies y yardas. Considere la
siguiente información:
1 metro = 100 cm.
1 pulgada = 2.54 cm.
1 pie = 12 pulgadas.
1 yarda = 3 pies.

Problema 6: Elabore una solución en C++ que ingrese un número entero e indique las siguientes
descripciones sobre el número ingresado:
-Si es positivo o negativo.
-Si es par o impar.
-Si es múltiplo de 3 o no.
-Si es menor que 500 o no.
(
Problema 7: Elabore una solución en C++ Calcular y mostrar el costo total que representa un
paciente para un hospital de acuerdo al tipo de enfermedad, según los datos de la tabla.
Adicionalmente, debe considerar que los pacientes de sexo femenino menores de 12 años
implican un costo adicional de 13%.
Enfermedad Tipo Costo diario por
paciente
1 122
2 234
3 345
4 587
Preguntas rápidas
1. Identifique las sentencias if inválidas
a. if(a < b) then c . if(a < b)
x = y; x = y;
else else {
x= z; x= z;
}
b. if ( a < b ) d. if ( a < b ) {
else x = y; x = y; } else
x = z;
2. Exprese las siguientes sentencias if-then usando if-then-else.
a. if ( a < b ) x = y;
b. if ( a < b ) {}
c. if ( a < b ) x = y;
if ( a >= b ) x = z;

También podría gustarte