Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IS 141
Estructuras de Decisión
Las estructuras de decisión o también llamadas de selección permiten que el algoritmo
tome decisiones y ejecute u omita algunos procesos dependiendo del cumplimiento de
una condición, permitiendo seleccionar la próxima sentencia a ejecutarse y en función
del resultado de la valuación, se bifurcará a un determinado punto para continuar la
ejecución del programa.
Condición
Expresión lógica o una variable lógica.
Resultado
Verdadero o falso.
Flujo de control
Habilidad de definir el orden en el cual las sentencias de un programa son ejecutadas.
a. Decisión simple.
Se ejecuta una determinada acción, cuando se cumple una determinada condición.
Una decisión es simple (Si / if), cuando solo se tiene determinado los pasos a seguir si
el resultado de la condición es verdadero, mientras que si es falso, la ejecución del
algoritmo continúa después de la estructura condicional.
Diagrama de Flujo
Verdad Falso
?
Condición
Condición
Acciones
Pseudocódigo en Español
Si ˂ condición ˃ Entonces
˂ Acción S1 ˃
˂ Acción S2 ˃
.
.
.
˂ Acción Sn ˃
Fin_si
Código en Java
if (<condición>)
{
˂ Acción S1 ˃
˂ Acción S2 ˃
.
.
.
˂ Acción Sn ˃
}
Ejemplos
Pseudocódigo Código java
Realizar un algoritmo que lea un número por
teclado y escriba en pantalla positivo si es mayor
que cero.
1. Inicio
2. Leer numero
3. Si (numero > 0) Entonces If ( numero >0)
4. Escribir “ Número positivo” {
System.out.println(“El número es positivo”);
5. Fin_Si. }
6. Fin.
Realizar un algoritmo que lea dos número por
teclado (a y b). Si a es menor que b, entonces
imprima en pantalla la suma de los números.
1. Inicio
2. Leer a,b
3. Si (a <b) Entonces
4. Escribir (a+b) If ( a<b)
System.out.println(“La suma” + (a+b));
Ingeniería de Sistemas – UNSCH Página 2
Elinar Carrillo Riveros
Jennifer Pillaca De La cruz
Algoritmos Cuarta Semana
IS 141
5. Fin_Si.
6. Fin
Otra forma
1. Inicio
2. Leer a,b
If ( a<b)
3. Si (a <b) Entonces
{
4. s=a+b
s=a+b;
5. Escribir “La suma” s
System.out.println(“La suma es” +s);
}
6. Fin_Si.
7. Fin
NOTA:
Cuando hay una sola instrucción a ejecutarse
dentro del if, las llaves son opcionales.
b. Decisión doble.
Permite elegir entre dos opciones o alternativas posibles, en función del cumplimiento o
no de la condición:
Si el resultado de evaluar la condición el CIERTO se ejecutará un
determinado grupo de instrucciones S1,
Si el resultado de evaluar la condición es FALSO se ejecutará otro grupo de
instrucciones S2,
Una decisión es doble (Si- Si_no / if - else), cuando se tiene un curso de acción para el
caso que el resultado de la comparación sea verdadero y otro para cuando sea falso.
Pseudocódigo en Español
Si ˂ condición ˃ Entonces
˂ Acción S1 ˃
Si_no
˂ Acción S2 ˃
Fin_si
Código en Java
if (condición )
˂ Acción S1 ˃
else
˂ Acción S2 ˃
Diagrama de Flujo
Verdad Falso
?
Condi?ción
Condición
Acción S1 Acción S2
Ejemplos
Pseudocódigo Código java
Realizar un algoritmo que lea la nota (n) de un
alumno y escriba en pantalla si está aprobado o
desaprobado.
7. Inicio
8. Leer n
9. Si (n > 10) Entonces if ( n >10)
10. Escribir “ Aprobado” {
11. Si_no System.out.println(“Aprobado”);
12. Escribir “ Desaprobado” }
Else
13. Fin_Si. {
14. Fin. System.out.println(“Desaprobado”);
}
Pseudocódigo en Español
Diagrama de Flujo
condicion
E
E1 E2 E3 E4 En
if (condición1)
Si (condición1) entonces sentencia1
sentencias1
Si no else
if (condición2)
sentencia2
Si (condición2) entonces
sentencias2 else
Si no if (condición3)
Si (condición3) entonces sentencia3
sentencias3
Fin_Si
Fin_Si
Fin_Si
Ejemplos:
1. Se desea un algoritmo para obtener el valor absoluto de un número
Diseño de la solución
Pseudocódigo
Inicio
Leer Num
Si (Num ˂ 0) Entonces
Absnum= Num * (-1)
Si_no
Absnum= Num
Fin_si
Escribir Absnum
Fin
Diagrama de Flujo
Inicio
Leer Num
Verdadera Falsa
Condición
Num ˂ 0
Escribir Absnum
Fin
Diseño de la solución
Ingeniería de Sistemas – UNSCH Página 7
Elinar Carrillo Riveros
Jennifer Pillaca De La cruz
Algoritmos Tercera Semana
IS 141
Inicio
Leer N1,N2
Si (N1˂ N2 Entonces
Escribir N1 Menor
Escribir N2 Mayor
Si_no
Escribir N2 Menor
Escribir N1 Mayor
Fin_si
Fin
3. Una empresa desea calcular los nuevos salarios de sus empleados de la siguiente
forma: quienes ganan hasta $ 1500.00 tendrán un incremento del 10%, quienes
devengan más de $ 1500.000 y hasta 1800.000 recibirán un aumento del 8% y los
demás del 5%. ¿Cuál será el valor del aumento? ¿Cuál será el valor del nuevo sueldo?
Diseño de la solución
Inicio
Leer Sue
Fin_si
4. Una distribuidora de motocicletas tiene una promoción de fin de año que consiste en
los siguiente. Las motos marca HONDA tienen un descuento del 5%, las de marca
Yamaha del 8% y las Suzuki el 10%, las de otras marcas el 2%
Diseño de la solución
Pseudocódigo
Inicio
Leer Marca, Valor
Ingeniería de Sistemas – UNSCH Página 9
Elinar Carrillo Riveros
Jennifer Pillaca De La cruz
Algoritmos Tercera Semana
IS 141
Fin_segun
Val_des =Valor *Por_des /100
Val_neto=Valor - Valdes
Escribir Marca, Valor, Valor_des, Val_neto
Fin
Diagrama de Flujo
Inicio
Leer
Marca, valor
Marca
Escribir
Marca, Valor,
Val_des, Val_net
Fin
5. En una Universidad, los pagos por curso desaprobado son de 50 soles, con un cargo
máximo de 300 soles independiente del número de cursos tomados. Ejemplo si un
alumno desaprueba 3 cursos pagaría 150 soles, mientras que uno que desaprueba 7
cursos paga 300 soles. Escriba el algoritmo de un programa en el que las entradas sean
el número de cursos desaprobados y la salida sea el valor del pago total que el alumno
haga por los cursos desaprobados
Pseudocódigo
Inicio
Leer categoría, numcursos
Si (categoría es exsoldado) entonces
Pago: nc*30
Escribir "ex soldado", numcursos, Pago
Si_no
Pago: nc*50
Escribir "ex soldado", numcursos, Pago
Fin_si
Fin
Pseudocódigo
Inicio
Leer sexo, edad
Si (sexo es masculino) entonces
Si (edad<25) entonces
Pago:1000
Escribir edad, sexo, pago
Si_no
Pago:700
Escribir edad, sexo, pago
Fin_si
Si no
Si (edad<21) entonces
Pago:800
Escribir edad, sexo, pago
Si_no
Pago:500
Escribir edad, sexo, pago
Fin si
Fin si
Fin
8. En una tienda donde se venden sillas, si se compran más de 8 el costo por cada una es
de 10 soles; entre 4 y 8 es de 11 soles cada una, si la compra es menor de 4 el costo es
de 15 soles cada una. Escriba el algoritmo para escribir un programa y saber cuanto
pagará un cliente según el número de sillas que compra. Debe imprimirse el número de
sillas que compra y el total a pagar.
Pseudocódigo
Inicio
Leer num
Si (num<=8) entonces
Si (num<=4) entonces
tot =num*15
Si_no
tot=num*11
Fin si
Si_no
tot=num*10
Fin si
Escribir tot
Fin
9. Hacer un algoritmo para escribir un programa que devuelva el nombre del día de la
semana siguiendo un orden de correspondencia (1, 2, 3...7) para (lunes, martes,
miércoles... domingo) respectivamente.
Pseudocódigo
Inicio
Leer número
Según_sea (número) hacer
1: Escribir " LUNES"
2: Escribir "MARTES"
3: Escribir "MIERCOLES"
4: Escribir "JUEVES"
5: Escribir "VIERNES"
6: Escribir "SABADO"
7: Escribir "DOMINGO"
Si no
Escribir "SOLO NÚMEROS ENTRE 1 Y 7........ "
Fin selección
Fin
Pseudocódigo
Inicio
Leer opcion
Según_sea (opcion) Hacer
Caso 1:
Leer base, altura
Ingeniería de Sistemas – UNSCH Página 13
Elinar Carrillo Riveros
Jennifer Pillaca De La cruz
Algoritmos Tercera Semana
IS 141
area: (base*altura)/2
Escribir area
Caso 2:
Leer area, altura
base: 2*area/altura
Escribir base
Caso 3:
Leer area,base
altura: 2*area/base
Escribir altura
Si_no
Escribir " ESO ES TODO AMIGO
Fin selección
Fin
Ejercicios.
1. Dado 5 notas de un alumno, eliminar la menor y calcular el promedio. Imprimir si
el alumno esta aprobado o desaprobado.
2. Determine las raíces reales o imaginarias que pueda obtener de la ecuación
ax2+bx+c
3. Ingresar un número entero e imprimir su respectivo valor en romana.
4. Ingresar un número entero e imprimir su respectivo valor en letras.