Taller DDF - Estructuras Lógicas Selectivas
Taller DDF - Estructuras Lógicas Selectivas
Taller DDF - Estructuras Lógicas Selectivas
N S
Condición Condición
if (condición){
// instruccion
S
N }
Instrucciones Instrucciones
S N if (condición){
condición condición // instrucción 1
}
N S
else{
instrucciones instrucciones instrucciones instrucciones // instrucción 2
}
if (condición 1){
Condición N
// instrucción 1
1 }
else{
N
S Condición
if (condición 2){
2
// instrucción 2
Instrucción 1 S }
Instrucción 2 Instrucción 3 else{
// instrucción 3
}
}
if (condición 1){
Condición S if (condición 2){
1 // instrucción 2
N }
N Condición
2
else{
// instrucción 3
Instrucción 1 S }
Instrucción 2 Instrucción 3 }
else{
// instrucción 1
}
switch (categoria){
Categoria
case 1: // opcion1
1 2 3 4 break;
case 2: // opcion2
break;
case 3: // opcion3
Op1 Op2 Op3 Op4
break;
case 4: // opcion4
23. Realizar un programa, que reciba por teclado la 24. Se escribe como dato el sueldo de un trabajador.
calificación de un alumno en un examen, escriba apliquele un aumento del 17% si su sueldo es interior
“Aprobado” en caso de que esa calificación fuese mayor a $1000. lmprima en este caso. elnuevo sueldo del
que 10.5. trabajador.
Inicio
Inicio
NOTA
SUELDO
N N
NOTA > 10.5 SUELDO < 1000
S
S
SUELDO = SUELDO * 1,17
¨APROBADO¨
SUELDO
FIN
FIN
25. Realizar un programa, que reciba por teclado la 26. Realizar un programa, que reciba por teclado el sueldo
calificación de un alumno en un examen, y escriba de un trabajador, le aplique un aumento del 17% si su
“Aprobado” si su calificación es mayor que 10.5 y sueldo es inferior a $1000 y 12% en caso contrario.
“Reprobado” en caso contrario. lmprima el nuevo sueldo del trabajador.
Inicio
Inicio
NOTA
SUELDO
S N
N SUELDO <1000
NOTA > 10.5
“APROBADO” “REPROBADO”
SUELDO
FIN
FIN
NOTA DATO
S N
NOTA >= 0 Y S N
NOTA<=20 DATO > 0
N “NOTA NO
S
VÁLIDA”
NOTA > 10.5 S N
DATO % 2 ==0
“APROBADO” “REPROBADO”
“PAR” “IMPAR”
FIN
FIN
29. Construya un programa que reciba por teclado dos 30. Construya un programa que reciba por teclado la categoria
valores de tipo entero (NUM,V ), y obtenga el resultado y el sueldo de un trabajador. calcule el aumento
de la siguiente íinción: correspondiente teniendo en cuenta la siguiente tabla
Imprima la categoria del trabajador y su nuevo sueldo.
100*V Si NUM = 1
100^V Si NUM = 2 Categoria Aumento
100/V Si NUM = 3 1 15%
0 Para cualquier valor de NUM 2 10%
3 8%
4 5%
Inicio
Inicio
CATE, SUELDO
NUM, V
CATE
NUM
1 2 3 4
1 2 3 otro
VAL SUELDO,
CATE
FIN
FIN
A, B,C
N S
A>B
S S
B>C A>C
N N
S S
A>C B>C
N N
FIN
32. El número de sonidos emitidos por un grillo en un 33. Construya un programa que reciba como datos los valores
minuto, es una función de la temperatura. Como enteros P y Q. determine si los mismos satisfacen la
resultado de esto, es posible determinar el nivel de la siguiente expresión:
temperatura haciendo uso de un grillo como termómetro
P3 + Q4 – 2*P2 < 680
La fórmula para la Función es:
T = N/4 + 40 En caso afirmativo debe imprimir los valores P y Q.
Donde P y Q son variables de tipo entero que expresan los
Donde: T representa la temperatura en grados datos que se ingresan.
Fahrenheit, N el número de sonidos emitidos por minuto.
Construya un programa que le permita calcular la Nota:
temperatura. teniendo en cuenta el número de sonidos Comprobar si P Q satisfacen la expresión, si es satisfactorio
emitidos por el grillo. mostrar P y Q.
Inicio Inicio
N P,Q
EXP = POW(P,3)+POW(Q,4)+
2*POW(P,2)
N>0
S
N T=N/4 +40
EXP < 680
N S
T
P,Q
FIN
FIN
34. Escribir un programa que lea dos números enteros por 35. Escribir un programa que lea tres números enteros por
teclado y determine cuál es el mayor y cual es el menor. teclado y muestre por pantalla el mayor de los tres.
También deberá considerar el caso en el que los dos
números sean iguales. Inicio
Inicio A,B,C
A,B
F V
A>ByA>C
N S F
A != B
B>AyB>C
V
F V MAYOR = B MAYOR = A
N S
A>B C>AyC>B
MAYOR
FIN
FIN
36. Escribir un programa que lea por teclado una nota de un examen y devuelva la califiación que tiene. La calificación podra
ser: Suspenso(0-4.99), Aprobado(5 - 6.99), Notable (7 - 8.99), Sobresaliente (9 - 9.99) o Matricula de honor (10)
Inicio
NOTA
F V
NOTA >= 0 y
NOTA <= 4.99
F
NOTA >= 5 y “SUSPENSO”
NOTA <= 6.99
V
F V
NOTA >= 7 y “APROBADO”
NOTA <= 8.99
F V
NOTA >= 9 y “NOTABLE”
NOTA <= 9.99
F V
NOTA = 10
“SOBRESALIENTE”
“MATRICULA DE
HONOR”
FIN
A, B
“1: SUMAR”
FIN “2: RESTAR”
“3: MULTIPLICAR”
“4. DIVIDIR”
“ELIJA OPCION:”
39. Escribir un programa que permita introducir por teclado
tres letras y responda si existen al menos dos letras
iguales.
OPCION
Inicio
OPCION
1 2 3 4
LET1,LET2, LET3
LET1 = LET2 o
F V R=A+B R=A-B R=A*B R = A/B
LET1 = LET3 o
LET2 = LET3
“EXISTE UN PAR DE
CARACTERES IGUALES”
R
FIN
FIN
40. Se recibepor teclado el tiempo de servicio de un trabajador, se considera un aumento del 15% si la cateoria del trabajador
es A. un 12% en caso la categoría sea B.Si la categoría es C, un aumento del 10% y para la categoría D se aumentara $15.
Imprima el sueldo con el aumento incorporado, la categoria y el tiempo de servicio del trabajador. La categoría esta dada
por la siguiente tabla:
CATEGORIA AÑOS
A 20-30
B De 15 a 20
C De 10 a 15
D De 0 a 10
Inicio
TS, S
F Ts>=0 y V
Ts<10
CATE = “B”
F Ts >= 20 y V
Ts <30
CATE = “A”
CATE
A B C D
S, TS, CATE
FIN
MENOR = N1
F V
N2< MENOR
F V MENOR = N2
N3<MENOR
F V MENOR = N3
N4<MENOR
MENOR = N2
F V
N5<MENOR
MENOR = N5
P = (N1 + N2 + N3 + N4 + N5 - MENOR)/4
MATRICULA, P
V
P>10.5
F
“NO APROBADO” “APROBADO”
FIN
AUX = N
UM = AUX / 1000
AUX = AUX % 1000
C = AUX / 100
AUX = AUX % 100
D = AUX / 10
U = AUX % 10
F V
N = AUX
FIN
43. Diseñe un programa que reciba por teclado una fecha en formato DD / MM / AAAA, y luego reporte la fecha como: “Es DD
del mes MM del año AAAA”. Debe suponerse que la fecha ingresada es válida.
Inicio
DD, MM, AA
MM
1 2 3 4 5 6 7 8 9 10 11 12
DD, MES , AA
FIN
DD, MM, AA
MM
1 2 3 4 5 6 7 8 9 10 11 12
NDIAS = 31 NDIAS = 31
NDIAS = 30
(AA%4==0 Y
F AA%400==0) O
AA%400==0 NDIAS = 31
V
NDIAS = 30
NDIAS = 28 NDIAS = 29
NDIAS = 31
NDIAS = 31
NDIAS = 31
NDIAS = 30
NDIAS = 31
NDIAS = 30
AA>1800 Y (MM> 0 Y V
MM<=12) Y
(DD > 0 y DD <= NDIAS)
“INVÁLIDA” “VÁLIDA”
FIN
DD, MM, AA
MM
1 2 3 4 5 6 7 8 9 10 11 12
NDIAS = 31 NDIAS = 31
NDIAS = 30
(AA%4==0 Y
F
AA%400==0) O
AA%400==0 NDIAS = 31
V
NDIAS = 30
NDIAS = 28 NDIAS = 29
NDIAS = 31
NDIAS = 31
NDIAS = 31
NDIAS = 30
NDIAS = 31
NDIAS = 30
DD = DD + 1
V
DD > NDIAS
DD = 1
F MM = MM + 1
V
MM > 12
MM = 1
AA = AA + 1
DD, MM, AA
FIN
Inicio
DD, MM, AA
N V
(AA%4==0 Y AA%400==0)
O (AA%400==0)
NDIAS = 28 NDIAS = 29
MM
1 2 3 4 5 6 7 8 9 10 11 12
SUMA
FIN
examen1,examen2,
trabajo
examen1 < 0
ó examen1 > 10
ó examen2 < 0
ó examen2 > 10
ó trabajo < 0
ó trabajo > 10
“Notas No válidas”
F Promedio V
> 6.5
promedio,
aprobar
Fin