Académique Documents
Professionnel Documents
Culture Documents
SALESIANA
Quito Ecuador
TRABAJO DE PROGRAMACIN
Tema:
Realizar los algoritmos en DFD y
pseudocdigo
Nombre:
Paul Ruales
Nivel:
3ro A Mecnica
Fecha:
16 de noviembre de 2013
x
359
Y
10
Y1
50
Y2
20
Y3
10
Y4
5
Y5
1
C1
35
C2
1
C3
2
C4
0
C5
1
C6
4
8
10
0
10
0
50
20
10
Y = 5*x*x-3*x+2
Y = 38
Y = 298
Z = 35.40*(x*y)
A = 2*x + 2*y
Escribir el costo de siembra es: z
Escribir se necesitan a unidades
x
200
400
y
50
35
Z= 35.40*(x*y)
Z= 354000
Z= 495600
A = 2*x + 2*y
A = 500
A = 870
4. Calcular el salario neto de un empleado. El salario mensual es 850 USD, se tiene que
ingresar el nmero de horas extras trabajadas, el costo por hora es 45% de la hora normal.
Los descuentos son: el 9.35% del IESS, y el 10 % del sueldo total para la asociacin de
empleados
4.1. Anlisis
Entradas:
Y
Salidas:
S = sueldo neto
Solucin:
Escribir ingrese el nmero de horas extras
Calcular el costo de hora extra
Calcular el salario extra por todas las horas
Calcular el descuento por concepto de IESS
Calcular el sueldo a recibir
Escribir su sueldo a recibir es s
Algoritmo `salario_empleado
Var
X, Y, Z, W, S, M: real
Inicio
Escribir (`ingrese el nmero de horas extras)
Leer (x)
Y = (850/240)
M = ((45*y)/100)*x
Z = (9,35*850)/100
W = m z +850
S=w -w/10
Escribir (El sueldo a recibir es: $ s)
Fin
x
20
50
y
3,54
3,54
z
79.48
79.48
w
802,39
850.17
s
722.15
765.15
m
31.87
79.65
5. Hacer un algoritmo que calcule el n-esimo trmino de la serie de fibonacci definida por :
A1=1 A2=2
3)
A3= A1+A2
A4= A2+A3
5.1. Anlisis
Entradas:
x
Salidas:
B
Solucin:
Inicio
Pedir el nmero que desee que calcule
Realizar un laso
Iniciar los dos primeros nmeros con 1 y 2 respectivamente
Repetir el laso cambiando los valores
Realice esta misma accin hasta que la condicin se termine
Escribir el nmero que corresponda al n-ensimo trmino solicitado
Fin
x
5
a
1
2
3
b
2
3
5
8
2
3
c
3
5
8
n
3
4
5
Caso_contrario
Si (xmod 5)= 0 entonces
Escribir (No tiene categora)
Caso_contrario
Escribir (La categora del empleado es, seguridad)
Fin
x
480
Xmod3 = 0
480mod3 = 0
Xmod5=0
480mod5 = 0
Xmod2 = 0
Xmod2=0
338
338mod3 = 2
338mod5=3
338mod2=0
Mensaje
Director
general
Staff
x
30
y
10
m
40
25
10
999
25
0
50
10
z
0
40
50
50
50/2
8. Solicitar al usuario una fecha (dd: mm: aaaa) y comprobar si es correcta. Para que una fecha
sea correcta es necesario:
El ao debe ser mayor que cero.
El mes debe estar entre 1 y 12
Dependiendo del mes que sea, el da debe estar dentro de los lmites vlidos. Los meses que
tienen31 das son 1, 3, 5, 7, 8, 10 y 12. Los meses de 30 das son 4, 6, 9 y 11. El mes de 28 das es
2
Entradas:
X, m, y, z: entero
Salidas:
Mensaje con fecha correcta o incorrecta
Solucin:
Inicio
Inicio
Escribir (Ingrese el ao)
Leer (x)
Si (X =0) entonces
Escribir (La fecha ingresada es incorrecta)
Escribir (Ingrese un mes)
Leer (y)
En caso de y hacer
Caso y< 1:
Escribir (La fecha ingresada es incorrecta)
Caso y > 12:
Escribir (La fecha ingresada es incorrecta)
Escribir (Ingrese un da)
Leer (z)
Caso y = 1:
Si (z<1) o (z>31)
Escribir (La fecha ingresada es incorrecta)
Caso y = 2:
Si (z<1) o (z>28)
Escribir (La fecha ingresada es incorrecta)
Caso y = 3:
Si (z<1) o (z>31)
Escribir (La fecha ingresada es incorrecta)
Caso y = 4:
Si (z<1) o (z>30)
Escribir (La fecha ingresada es incorrecta)
Caso y = 5:
Si (z<1) o (z>31)
Escribir (La fecha ingresada es incorrecta)
Caso y = 6:
Si (z<1) o (z>30)
Escribir (La fecha ingresada es incorrecta)
Caso y = 7:
Si (z<1) o (z>31)
Escribir (La fecha ingresada es incorrecta)
Caso y = 8:
Si (z<1) o (z>31)
Escribir (La fecha ingresada es incorrecta)
Caso y = 9:
Si (z<1) o (z>30)
1
2
32
28
Mensaje
La fecha es incorrecta
La fecha es incorrecta
La fecha es correcta
Fin
9. Un ao es bisiesto si es divisible por 4 y no es por 100, o si es divisible por 400. Escribe un
programa que lea un ao y devuelva si es bisiesto o no
Entradas:
X
Salidas:
Mensaje
El ao es bisiesto
El ao no es bisiesto
Solucin:
Inicio
Pedir que ingrese un ao
Leer (x)
Si el mdulo de 400 y 4 es igual a cero del valor ingresado escribir el ao es bisiesto
Si el mdulo de 100 es igual a cero del valor ingresado el ao no es bisiesto
Escribir de acuerdo a las condiciones si es bisiesto o no lo es
Fin
x
4001
2400
Xmod40
0
1
0
Xmod1
00
1
16
Xmod4
Mensaje
1
0
El ao no es bisiesto
El ao es bisiesto
Var
X, Y, Z, W: entero
Inicio
Escribir (Ingrese un nmero)
Leer (x)
Escribir (Ingrese un nmero)
Leer (y)
Escribir (Ingrese un nmero)
Leer (z)
Escribir (Ingrese un nmero)
Leer (w)
Si {[(x>y) y (y>z)] y (z>w)}
Escribir (El mayor nmero es: x)
Si {[(y>x) y (x>z)] y (z>w)}
Escribir (El mayor nmero es: y)
Si {[(z>x) y (x>y)] y (y>w)}
Escribir (El mayor nmero es: z)
Si {[(w>y) y (y>z)] y (z>x)}
Escribir (El mayor nmero es: w)
Fin
x
3
1
y
4
3
z
5
5
w
7
0
Escribir
7
5
Entradas:
N
Salidas:
Z (valor de la serie)
Solucin:
Inicio
Pedir que ingrese un nmero
Leer (n)
Laso
Actualizar la variable que controla el laso
Z = 1/y + z
Escribir el valor de la serie es z
Fin
n
4
z
0
1
1.5
1.833
2.0833333
y
1
2
3
4
5
Escribe
25/12
Algoritmo numero_elevado
Var
X, N, Y, Z: entero
Inicio
Escribir (ingrese la base)
Leer (x)
z
3
9
27
n
3
y
1
2
3
4
Escribe
27
13. Leer 20 nmeros y encontrar el mayor y el menor valor ledos usar lazo repetir
hasta
Entradas:
x
Salidas:
Ma, me
Solucin:
Inicio
Crear un laso
Escribir ingrese un nmero
Leer (X)
x
2
5
8
ma
0
2
5
8
Me
99999999
2
2
2
1
30
1
30
1
1
y
0
1
2
3
.
.
.
19
20
Mayor = 30
Menor = 1
Z4 = z4*y4
Escribir (Ingrese un nmero)
Leer(X5)
Para y5 desde 1 hasta x5 pasos 1 hacer
Z5 = z5*y5
Algoritmo factorial_5_nmeros
Var
X1, X2, X3, X4, X5, Y1, Y2, Y3, Y4, Y5, Z1, Z2, Z3, Z4, Z5: entero
Inicio
Y1 = 1
Z1 = 1
Escribir (Ingrese un nmero)
Leer(X1)
Inicio
Para y1 desde 1 hasta x1 pasos 1 hacer
Z1 = z1*y1
Fin
Y2 = 1
Z2 = 1
Escribir (Ingrese un nmero)
Leer(X2)
Inicio
Para y2 desde 1 hasta x2 pasos 1 hacer
Z2 = z2*y2
Fin
Y3 = 1
Z3 = 1
Escribir (Ingrese un nmero)
Leer(X3)
Inicio
Para y3 desde 1 hasta x3 pasos 1 hacer
Z3 = z3*y3
Fin
Y4 = 1
Z4 = 1
Escribir (Ingrese un nmero)
Leer(X4)
Inicio
Para y4 desde 1 hasta x4 pasos 1 hacer
Z4 = z4*y4
Fin
Y4 = 1
Z4 = 1
Escribir (Ingrese un nmero)
Leer(X5)
Inicio
Para y5 desde 1 hasta x5 pasos 1 hacer
Z5 = z5*y5
Fin
Fin
X1
X2
X3
X4
X5
Y1
Y2
Y3
1
2
3
1
2
3
1
2
Y
4
1
2
3
4
Y5
Z1
Z2
Z3
Z4
Z5
1
2
3
4
5
1
2
6
1
2
6
1
2
1
2
6
24
1
2
6
24
120