Sei sulla pagina 1di 13

FUNDAMENTOS DE PROGRAMACIÓN

TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C


2. ESTRUCTURAS LÓGICAS SELECTIVAS.

Estructura de selección if Código en lenguaje c

N S


Condición Condición
if (condición){
// instruccion
S
N }
Instrucciones Instrucciones

Estructura de selección if-else Código en lenguaje c

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
}

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 1 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
Selección múltiple – Switch Case Código en lenguaje C

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

S SUELDO = SUELDO*1.17 SUELDO = SUELDO *1.12

“APROBADO” “REPROBADO”

SUELDO

FIN
FIN

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 2 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
27. En el Ejemplo 25, se menciona que se suponía una nota 28. Se requiere la irnplementacion de un programa que reciba
válida, en la práctica veremos que nada se supone. Todo un numero entero positivo mayor que cero de como
ingreso de dato debe estar validado. resultado si dicho número es par o impar. EI ejercicio
requiere la validación del dato dc entrada.
Inicio Inicio

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

SUELDO= SUELDO= SUELDO= SUELDO=


VAL=100*V VAL=100^V VAL=100/V VAL=0 SUELDO*1.15 SUELDO*1.10 SUELDO*1.08 SUELDO*1.05

VAL SUELDO,
CATE

FIN
FIN

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 3 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
31. Dados los datos A, B y C que representan números enteros diferentes, construya un programa para escribir estos números
en forma descendente.
Inicio

A, B,C

N S
A>B

S S
B>C A>C

N N
S S
A>C B>C

N N

B,A,C B,C,A C,B,A C,A,B A,C,B A,B,C

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

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 4 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C

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”, B “MAYOR” A MAYOR = C


“IGUALES”
“MENOR”,A “MENOR” 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

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 5 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
37. Escribir un programa que lea tres números enteros por 38. Realizar un programa que pida dos números enteros
teclado y emita un mensaje indicando si estan o no por teclado y muestre por pantalla el siguiente menú:
ordenados crecientemente.
1. Sumar
Inicio 2. Restar
M FNÚ
A, B, C 3. Multiplicar
4, Dividir
Elija una opción:
F V
A<ByB<C El usuario deberá elegir una opción y el programa deberá
mostrar el resultado por pantalla y finalizar.

“NO ORDENADOS EN “ORDENADOS EN


FORMA CRECIENTE” FORMA CRECIENTE”
Inicio

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

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 6 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C

Inicio

TS, S

F Ts>=0 y V
Ts<10

F Ts >= 10 y V CATE = “D”


Ts < 15

F Ts >= 15 y V CATE = “C”


Ts<20

CATE = “B”
F Ts >= 20 y V
Ts <30

CATE = “A”

CATE
A B C D

S = S * 1.5 S = S * 1.12 S = S* 1.10 S = S + 15

S, TS, CATE

FIN

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 7 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
41. Construya un programa, que recibpor teclado la matrícula y 5 calificaciones de un alumno; luego imprima la matrícula, el
promedio y la palabra “Aprobado” si el alumno tiene un promedio mayoro igual que 10.5, y la palabra “No aprobado” en
caso contrario.
El promedio se calculará en base a las 4 notas mayores.
Inicio

N1, N2, N3, N4,


N5, MATRÍCULA

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

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 8 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
42. Construya un programa que permita saber si un número entero de 4 cifras, es palíndromo.
Inicio

AUX = N
UM = AUX / 1000
AUX = AUX % 1000
C = AUX / 100
AUX = AUX % 100
D = AUX / 10
U = AUX % 10

AUX = U*1000 + D*100 + C*10 + UM

F V
N = AUX

“Es palíndromo” “No es palíndromo”

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

MES = “ENERO” MES = “DICIEMBRE”

MES = “FEBRERO” MES = “NOVIEMBRE”

MES = “MARZO” MES = “OCTUBRE”

MES = “ABRIL” MES = “SEPTIEMRE”

MES = “MAYO” MES = “AGOSTO”

MES = “JUNIO” MES = “JULIO”

DD, MES , AA

FIN

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 9 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
44. Diseñe un programa que permita analizar la validez de una fecha, considere que el año válido sea mayor a 1800.
Inicio

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

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 10 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
45. Diseñe un programa que permita calcular el dia siguiente de una fecha dada. Asumir que la fecha ingresada es válida.
Inicio

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

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 11 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
46. Diseñe un programa que reciba una fecha, y calcule el numero de días que han trasncurrido desde el inicio del año.
Considere que la fecha ingresada válida. Un año es biciesto si es divisible por 4 y por 400

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 = DD SUMA = DD + 306

SUMA = DD + 31 SUMA = DD + 276

SUMA = DD + 31 SUMA = DD + 245

SUMA = DD + 62 SUMA = DD + 215

SUMA = DD + 92 SUMA = DD + 184

SUMA = DD + 123 SUMA = DD + 153

SUMA

FIN

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 12 de 13


FUNDAMENTOS DE PROGRAMACIÓN
TALLER CONVERSIÓN DIAGRAMAS DE FLUJO–DDF A LENGUAJE C
47. Diseañar un progra que reciba por teclado la nota de dos examenes y de un trabajo y calcules el preomedio de las notas, si
es mayor a 6.5 el estudiante prueba la materia;de lo contrario no.
Inicio

examen1,examen2,
trabajo

examen1 < 0
ó examen1 > 10
ó examen2 < 0
ó examen2 > 10
ó trabajo < 0
ó trabajo > 10

sumatoria = examen1 + examen2 + trabajo


Promedio = sumatoria / 3

“Notas No válidas”
F Promedio V
> 6.5

aprobar = “no” Aprobar = “si”

promedio,
aprobar

Fin

Andrey Julián Rentería Scarpetta. Versión 2.0 Página 13 de 13

Potrebbero piacerti anche