You are on page 1of 43

MB_543_2006

Ing. Daniel Osorio M.

Diseo de Programacin
Enunciado Definicin de entradas y salidas Desarrollo algortmico Prueba de escritorio Codificacin Depuracin
Ing. Daniel Osorio M.

Qu es un Algoritmo?
Conjunto finito de reglas que dan una secuencia de operaciones para resolver todos los problemas de un tipo dado. De forma ms sencilla, podemos decir que un algoritmo es un conjunto de pasos que nos permite obtener un RESULTADO. Adems debe cumplir las siguientes etapas: Anlisis profundo de la situacin o problema planteado. Diseo y construccin del Algoritmo. Verificacin del Algoritmo. Caracteristicas a cumplir: Preciso los pasos a seguir en el Algoritmo deben ser precisados claramente. Definido dar siempre el mismo resultado para un conjunto de datos idnticos de entrada. Finito deber ser siempre de longitud finita.
Ing. Daniel Osorio M.

Problema: Se desea Realizar un algoritmo para calcular el rea y la Longitud de una Circunferencia. Definir Objetos_Datos E/S Objetos_Datos_Entrada: R Objetos_Datos_Salida:A,L Inicio Leer R, hacer pi=3.14.159 Calcular el rea: A=pi*R*R Calcular longitud:L=2*pi*R Escribir A,L Fin
Ing. Daniel Osorio M.

inicio R Pi=3.1415

A=pi*R*R
L=2*pi*R A, L Fin

Problema02: Se desea hallar el rea de un trapecio.

inicio B,b,h

Objetos_Datos_Entrada:B,b,h.
Objetos_Datos_Salida: A Inicio Leer B,b,h Calcular el rea

A=(B+b)h/2
A, L

Fin

A=(B+b)*h/2
Escribir A Fin h B
Ing. Daniel Osorio M.

Problema: Se pide un algoritmo y Diagrama de flujo para hallar la resultante de 02 fuerzas que forman un ngulo Objeto_Dato_de_Entrada: F1,F2,
Objeto_Dato_de_Salida:R Inicio Hacer K=3.14159/180 Leer F1, F2, Calcular R R=
F12 F 22 2F1F 2 cos(K * )

inicio K= 3.14159/180 F1,F2, R=


F12 F 22 2F1F 2 cos(K * )

R
Fin

Escribir R

Fin

Ing. Daniel Osorio M.

Problema04 Desarrolle un algoritmo que permita simular a un cajero automtico, que solo da billetes de 10,20,50,100,200

inicio
1 Q b50=Q/50 b200=Q/200 Q=resto(Q/50) Q=resto(Q/200) b20=Q/20

Objetos_Datos_Entrada: Cantidad Q
Objetos_Datos_Salida:b10,b20,b50,b100,b200 Inicio Leer Q

Billetes de 200: b200=Q/200;


Q nuevo =resto(Q/200) b100=Q/100; Q nuevo= resto(Q/100) b50=Q/50; Q nuevo=resto(Q/50) b20=Q/20; Q nuevo=resto(Q/20) b10=Q/10 Escribir billetes b200, b100, b50, b20, b10 fin

b100=Q/100
Q=resto(Q/100) b50=Q/50 Q=resto(Q/50) Q=resto(Q/20) b10=Q120
B200,b100,b50 ,b20,b10

b50=Q/50
Q=resto(Q/50)
Ing. Daniel Osorio M.

fin

Problema 06: Se tienen 02 valores A y B; se quiere intercambiar los valores es decir el valor de A lo tendr B y el valor de B lo tendr A, siempre y cuando A sea mayor que B Objeto_Dato_de Entrada: A, B Objeto_Dato_de_Salida:A,B Inicial Leer A, B si A es mayor que B Entonces auxA AB Baux Fin del si Escribir A,B Fin

Inicio A,B V A>B F


aux=A A=B B=aux

A, B Fin

Ing. Daniel Osorio M.

Problema 07: Se tienen 03 valores a, b, c y se desea hallar el mayor de ellos.


Objeto_Dato_de_Entrada: A, B, C Objeto_Dato_de_Salida: Mayor Inicio Leer A, B, C ;si (A>B) entonces si (A>C) entonces mayorA si no mayorC Fin del si si no si (B>C) entonces mayorB si no mayorC fin del si mayor F mayor=C F

Inicio A,B,C A>B


V mayor=B V

B>C

F
mayor=C

A>C

V mayor=A

fin del si
escribir mayor; fin
Ing. Daniel Osorio M.

fin

Problema 08 En un sistema de calcificacin, se toman 02 examenes uno parcial y un final, tambin se rinden 04 practicas calificadas eliminandose la menor. El promedio final es Pf=(Expar+2Exfin+Pp)/4. Hacer un algoritmo.
Objeto_Dato_de_Entrada:P1, P2, P3, P4, Expar, Exfin Objeto_Dato_de_Salida:Pf Inicio Leer p1, p2, p3, p4, Expar, Exfin. Calculo del promedio de practicas menor=p1; si (p2<menor) entonces menorp2; fin del si Si (p3<menor) entonces menorp3 fin del si

Si (p4<menor) entonces menorp4 fin del si Calculo del promedio de pp pp(p1+p2+p3+p4-menor)/3 Calculo del promedio final pf(expar+2exfin+pp)/4 Escribir pf fin

Ing. Daniel Osorio M.

Inicio
Expar, exfin,p1,p2,p3,p4 menorp1 V

1 Ppp1+p2+p3+p4-menor pf(expar+2exfin+pp)/4 pp, pf

p2<menor F

menorp2

fin

p3<menor F

V menorp3 V menorp4
Ing. Daniel Osorio M.

p4<menor

Problema 10 Se van ha ingresar 07 notas numricas y se desea que dichos nmeros se escriban literalmente
Objeto_Dato_de entrada: Nota
Objeto_Dato de_Salida: en letras Inicio Leer nota

Inicio
nota nota 11 12 16 17 18 19 20 once doce diecisis diecisis dieciocho diecinueve diecisis

A
X desco

caso (nota) empezar


caso 11 entonces escribir once Caso 12 entonces escribir doce Caso 16 entonces escribir dieciseis

texto
Inicio

Caso 17 entonces escribir diecisiete


Caso 18 entonces escribir dieciocho Caso 19 entonces escribir diecinueve Caso 20 entonces escribir veinte Caso X fin Desconocido Fin del caso

A
Ing. Daniel Osorio M.

Instrucciones de control repetitivos


Utiliza 02 herramientas para este fin

Acumulador sirve como almacn para los procesos que se van realizando, en la suma toma el valor de 0, mientras que en el producto toma el valor de 1.
Contador sirve de gua para contabilizar el numero de proceso que son necesario para llegar a la solucin, es una especie de acumulador, suele inicializarse a 1.
Ing. Daniel Osorio M.

Instruccin de control mientras


problema 10 hallar la suma de los primeros 100 nmeros naturales. Objeto_Dato_entrada: N Inicio Objeto_Dato_salida: suma inicio N leer N s10 S1 i1 i1 mientras (i<=N) hacer i<=N s1s1+i ii+1 s1 fin del mientras s1s1+i escribir s1 fin fin ii+1
Ing. Daniel Osorio M.

Problema 11 se quiere hallar la suma de los primeros N trminos de la serie su1= (a 2b) (2a 4b) (3a 6b) ...
2b 1 4b 2 6b 3

Objeto_dato_de_entrada: N,a,b Objeto_dato_de_salida: su1


Inicio leer N,a,b su10 i1 mientras (i<=N) hacer ( a * i 2 * i * b) su1 su1 2*b i ii+1 fin del mientras escribir su1 fin

Inicio
N,a,b su10 i1

i<=N

su1
su1su1+(ai+2ib)/(2ib+i)

fin
ii+1

Ing. Daniel Osorio M.

IC Hacer procesos mientras ( condicin) sea Verdadera permite realizar una serie de procesos repetitivos hasta que la condicin deje ser verdadera.
problema Se pide invertir las cifras de un numero de varias cifras pe 12345 deber leerse como 54321 Objeto_dato_de_entrada: N de varias cifras Inicio Objeto_dato_salida : numero invertido N inicio leer N Invertido0 invertido0 hacer digitoresto(N/10) digitoresto(N/10) invertido(invertido*10+digito) invertidoinvertido*10+digito Nentero(N/10) mientras(N>0) Nentero(N/10) escribir invertido fin
N>0
invertido Ing. Daniel Osorio M.

fin

Instruccin de Control (desde/para) Esta instruccin permite realiza una serie de procesos, teniendo como premisa que empieza desde un valor inicial, hace la comparacin, si es que lleg al final, si no es as realiza el proceso, hasta terminar. ste tipo de IC son muy utilizados en series. Inicio Problema hallar la suma de
Su2= 1 2 3 4 ... Objeto_dato_entrada: N objeto_dato_salida :su2 inicio leer N su20 para(i1 hasta N de 1 ) hacer su2su2+ i fin del para escribir su2 fin

N Su20 su2su2+ i

su2

fin

Ing. Daniel Osorio M.

PSEUDOCODIGO
3. Decir sin un # ingresado por tachado es par. Definir - Objetivos Datos Objeto Dato Entrada : N Objeto Dato Salida : Mensaje

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO
4. Se puede decir si un numero es divisible por otro A = 20 B=5 Objeto Dato Objeto Dato Entrada : A, B Objeto Datos Salida: Mensaje
Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO
5. A = 60 B = A/2 A = A/2 A = B = 60

Objeto Dato Objeto Dato Entrada : A, B Objeto Datos Salida: A, B

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO

Hallar el numero mayor sea A, B, C Definir objeto datos E/S Objeto dato entrada : A,B,C Objeto dato salid: M

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO
Hallar el mayor: A,B,C,D Definir objeto datos EE/S
Objeto dato entrada : A,B,C,D Objeto dato salida: M

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO

Hallar el mayor: A,B,C,D,E,


Definicin objeto datos E/S Objeto dato entrada : A,B,C,D,E Objeto dato salida : M

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO
Un Chifa ofrece descuento 12% por todo consumo mayor a S/. 50.000 todo consumo debe pagar el IGV que es 19% se pide el consumo, el descuento, el pago total y el pago del impuesto. Definir, objeto, descuento E/S Objeto dato entrada Q Objeto dato salida: Descuento, total, Q

prinp.

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO
Un trabajador labora de lunes a viernes a razn de 8 horas por da, siendo computado para el pago de su salario los fines de semana, la empresa abona el 50% ms del sueldo cuando hace horas extras. Se pide un algoritmo que permita calcular el sueldo brota y el suelto total siendo la tarifa por hora S/. 15.00. Definicin objeto dato E/S Objeto dato entrada : HT, SN Objeto dato salida : HE, SB

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

PSEUDOCODIGO

Ing. Daniel Osorio M.

Ing. Daniel Osorio M.

You might also like