Beruflich Dokumente
Kultur Dokumente
DISEO DE PROGRAMAS
ALGORITMOS
1.- Algoritmo es un mtodo para resolver un problema mediante una serie de pasos
definidos, precisos y finitos.
www.monografias.com
Un algoritmo en su forma ms general est constituido por tres partes: entrada, proceso y
salida.
F.I. UNAM.-C.P.I.
1.- INICIO
2.- Entero: Calificacin
3.- ESCRIBA Cunto obtuviste en tu
laboratorio?
4.- LEA Calificacin
5.- SI Calificacin >=6 entonces
6.- ESCRIBA Aprobado
7.- EN CASO CONTRARIO
8.-ESCRIBA Reprobado
9.- FIN DE SI
10.- FIN
Entero:
Calificacion
Cunto obtuviste
en tu laboratorio?
Calificacion
NO
SI
Calificacion > = 6
Aprobado
Reprobado
Fin
F.I. UNAM.-C.P.I.
Construccin de algoritmos
La construccin de un algoritmo requiere de las siguientes fases:
1) Anlisis: definicin del problema, especificaciones de entrada, especificaciones de
salida. Se tiene que considerar con qu datos se cuentan, cules datos sern
solicitados, cules son las restricciones, cul debe ser la salida o salidas
esperadas.
2) Algoritmo: desarrollo de la secuencia lgica
resolucin del problema.
3) Prueba del algoritmo, conocida como prueba de escritorio: consiste en seguir los
pasos del algoritmo mediante la introduccin de datos representativos, para la
verificar si el algoritmo cumple o no con su objetivo.
Recomendaciones adicionales:
La fase de anlisis es un elemento trascendental en la elaboracin de algoritmos y
la resolucin de problemas en general, as que no olvide: definir adecuadamente el
problema. Est seguro de entender claramente cul es el objetivo que se desea alcanzar,
resuelva el problema verdadero y no uno que usted suponga o perciba errneamente. De
igual importancia es tener bien claro cules son las restricciones con las que se trabajar,
cules son los elementos con los que se cuenta, cules se solicitarn y quin se los
proporcionar. Tome en cuenta los requisitos para presentar los resultados, formatos,
tiempos, etc.
Despus de haber definido adecuadamente el problema genere posibles
soluciones, analcelas y opte por la ms viable.
Implemente. Lleve a cabo la realizacin del plan que eligi en el punto anterior.
Evale. Verifique si los resultados obtenidos cumplen con el objetivo planteado de
manera adecuada y son satisfactorios, de ser as ha terminado, en caso contrario vuelva a la
fase de anlisis.
Considere tambin que:
En la resolucin de un problema complejo, ste se divide en varios subproblemas
que a su vez pueden ser divididos en otros ms sencillos. Se procede de esta manera hasta
que los subproblemas puedan ser resueltos con mayor facilidad. No vea el problema como
una gran masa, divida y vencer.
Relacione el problema con otro semejante. Aproveche su experiencia.
F.I. UNAM.-C.P.I.
Smbolo
Funcin
Inicio/fin
Proceso
Entrada
Salida
Subrutina
Decisin
Seleccin mltiple
Flujo
F.I. UNAM.-C.P.I.
Smbolo
Funcin
Conector
Conector
Se aaden los siguientes smbolos que, aunque nos son estndar, ayudarn a llevar a cabo
una transicin ms sencilla entre los diagramas de flujo y los programas, dada la similitud
que ofrecen con algunas instrucciones de programacin.
Smbolo
Funcin
MQ
mq
Repeticin
Mientras Que
Proceso
Fin MQ
mq
Repeticin
Para
Instrucciones
Fin Para
F.I. UNAM.-C.P.I.
3.- Las lneas que enlazan los smbolos entre s deben estar todas conectadas. Cada
lnea o flecha debe partir de un smbolo y terminar en otro.
4.- Se deben dibujar todos los smbolos de forma que pueda seguirse el proceso
visualmente de arriba hacia abajo y de izquierda a derecha.
5.- Realizar un grfico claro y equilibrado, procurando que el flujo central del diagrama
sea la parte central de la hoja de papel.
6.- Evitar la utilizacin de terminologa especfica de los lenguajes de programacin.
7.- En las operaciones lgicas recurrir preferentemente a la lgica positiva que a la
lgica negativa (es ms claro expresar si A==B que si no es A<>B).
8.- A cada bloque o smbolo se accede por arriba y/o por la izquierda y se sale por
abajo y/o por la derecha. Las entradas pueden ser varias pero la salida es nica
excepto en los casos de decisin y seleccin mltiple.
9.- Al margen de los diagramas se deben realizar las anotaciones que sean necesarias
para que stos sean comprensibles, no slo para la persona que lo elabor sino
tambin para cualquier persona ajena al mismo y sobre todo para cuando sea
necesario llevar a cabo una actualizacin o modificacin del diagrama.
10.- Siempre que sea posible, es conveniente que el diagrama no sobrepase una
pgina, en caso que esto no pueda ser as se deben numerar adecuadamente las
hojas del diagrama, y utilizar conectores de paginas que indiquen sin duda la direccin
correcta del flujo (de donde viene y haca donde se dirige).
F.I. UNAM.-C.P.I.
Instruccin 1
Instruccin 2
Instruccin 3
.
.
.
Instruccin n
Instruccion 1
Instruccion 2
Instruccion 3
Decisin simple
La instruccin de decisin determina si una instruccin se ejecuta o no, segn el
cumplimiento de una condicin P. La condicin P es una variable booleana o una funcin
reducible a un valor booleano (Verdadero / Falso). Si esta condicin es cierta se ejecuta
Instrucciones1, si no es as, sta no se ejecuta. Ejemplos: Si pasas por la tiendita, me
compras un chocolate, Si hace fro, te abrigas.
Pseudocdigo
NO
Si P entonces
Instrucciones 1
Fin de si
P
SI
Instrucciones 1
Instrucciones 2
Nota: observe que el Fin de si slo
aparece en el pseudocdigo.
Instrucciones 2
F.I. UNAM.-C.P.I.
Decisin compuesta
La instruccin de decisin compuesta realiza una instruccin o conjunto de instrucciones de
dos posibles, segn el cumplimiento de una condicin P.
Pseudocdigo
Si P entonces
Instrucciones 1
En caso contrario
Instrucciones 2
Fin de si
NO
P
Instrucciones 1
Instrucciones 2
si Condicin1 entonces
Instrucciones1
en caso contrario si Condicin2 entonces
Instrucciones2
.
.
.
en caso contrario si Condicinn entonces
Instruccionesn - 1
en caso contrario
Instruccionesn
fin si
No
Si
No
Si
No
Si
En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes, si
una de ellas se cumple las dems tienen que ser falsas necesariamente. En esta estructura
si Condicin1 es cierta, entonces se ejecuta slo Instrucciones1. En general, si Condicini es
verdadera, entonces slo se ejecuta Instruccionesi.
F.I. UNAM.-C.P.I.
Seleccin mltiple
Una construccin similar a la anterior (equivalente en algunos casos) es la que se muestra a
continuacin.
Pseudocdigo
seleccionar Indicador
caso Valor1:
Instrucciones1
caso Valor2:
Instrucciones2
.
.
.
Sel. Indicador
caso Valorn-1:
Instruccionesn-1
OPCIONAL [en otro caso:
Instruccionesn]
Fin seleccionar Indicador
Caso V1
Caso V2
Ints. 1
Ints. 2
...
Caso Vn-1
En Otro Caso
Ints. n-1
Ints. n
En este caso Indicador es una variable cuyo valor es comparado en cada caso con Valori, si
en algn caso coinciden ambos valores, entonces se ejecutarn las Instruccionesi
correspondientes. La seccin en otro caso es anloga a la seccin en caso contrario de la
decisin mltiple.
Repeticin Mientras Que
Las instrucciones iterativas abren la posibilidad de realizar una secuencia de instrucciones
ms de una vez. El bucle se repite mientras la condicin P sea cierta, si al llegar por primera
vez al bucle la condicin es falsa, el cuerpo del bucle no se ejecuta ninguna vez.
Pseudocdigo
MQ
mq
Mientras P hacer
Instrucciones
Fin mientras
Proceso
Fin MQ
F.I. UNAM.-C.P.I.
Repeticin Para
El ciclo para se usa cuando se desea iterar sobre una instruccin, o conjunto de
instrucciones, un nmero determinado de veces.
Est conformado por una variable contadora, un valor final y un incremento. Su funcin es la
siguiente: el valor inicial se asigna a la variable contadora, sta se compara con el valor final
y si no lo excede ejecuta el conjunto de instrucciones, al ejecutar la ltima se aumenta la
variable contadora en el valor indicado por el incremento, enseguida se realiza nuevamente
la comparacin con el valor final, si an no lo excede se vuelve a ejecutar el conjunto de
instrucciones. Esta operacin se repite mientras que la variable contadora no exceda el lmite
establecido por el valor final. Si el contador excede el valor final, la ejecucin continuar a
partir de la instruccin que sigue al cierre del para.
Pseudocdigo
mq
Instrucciones
Fin Para
Nota: En los ciclos es comn usar variables que vayan contando o acumulando valores que ayuden a obtener
un resultado. Por esto es importante tener claro esto conceptos: Contador: Es una variable destinada a
contener distintos valores, que se van incrementando o decrementando cada vez que el ordenador realiza la
operacin que lo contiene. El incremento o decremento son siempre constantes. Acumulador: Es una variable
que permite guardar un valor que se incrementa o decrementa de forma no constante durante el proceso.
Para
Para
No
Si
MQ
Si
No
Fin Para
10
F.I. UNAM.-C.P.I.
Diseo de algoritmos
El primer punto a considerar en el diseo e implementacin de algoritmos es que existen dos
tipos de algoritmos:
No numricos: Son aquellos en los cuales su conjunto de instrucciones no involucran
procesos matemticos. Ejemplos de ellos los encontramos en las recetas de cocina, cmo
armar un carrito de juguete, cmo instalar un software en una computadora, etctera.
Numricos: Son aquellos en los cuales se utilizan procesos matemticos para la
resolucin de problemas.
Constantes, variables y expresiones
Una constante es un objeto de valor invariable. Este valor no cambia durante el proceso.
Para expresar una constante se escribe explcitamente su valor. Una variable es un objeto
cuyo valor puede ser modificado durante la realizacin del proceso.
Los diferentes nombres que pueden tomar las constantes, las variables y las funciones son
conocidos como identificadores. Los caracteres permitidos en los identificadores son las
letras de la A a la Z (en maysculas y minsculas), los dgitos del 0 al 9 y el guin bajo (_). El
identificador debe comenzar por una letra.
Ejemplos vlidos: area, factorial, serie, pi, suma_vectores( ), calificacion_20
Ejemplos no vlidos: =3.1416, $ueldo, gasto-b, video&nmina
Las expresiones son combinaciones de constantes, variables, smbolos de operacin,
parntesis y nombres de funciones especiales. Ejemplos: proporcion=(0.5*gastos)-inversion,
A=b+c, area=pi*radio^2, Funcion= 3*x^2+sen(x).
Las expresiones se clasifican en dos tipos: 1) expresiones aritmticas y 2) expresiones
booleanas. Los smbolos utilizados para estas operaciones son:
1)
Operacin
Operador
Exponenciacin
^
Multiplicacin
*
Divisin
/
Divisin entera
\
Mdulo (residuo de la
mod
divisin entera)
Suma
+
Resta
Operador
()
Jerarqua
Mayor
*, /, mod, \
+, -
Menor
Ejemplo
12^5
3.1416*2
15864/70
17\3
Resultado
248832
6.2832
226.63
5
21 mod 2
564.289+450.87
75361.15-7567.23
1015.159
67793.92
Operacin
Anida expresiones.
Multiplicacin, divisin, mdulo,
divisin entera.
Suma, resta.
11
F.I. UNAM.-C.P.I.
2)
Operacin
Igual que
Diferente a
Menor que
Mayor que
Menor o igual que
Mayor o igual que
Operador
==
<>
<
>
<=
>=
Ejemplo
Hola == Adios
3 <> 89
-101 < 2
159 >357
5 <= 4
7316 >= 7316
Resultado
Falso
Verdadero
Verdadero
Falso
Falso
Verdadero
Otros operadores que pueden ser usados en las expresiones lgicas son: Y (and), O (or), NO
(not).
12
F.I. UNAM.-C.P.I.
C) Prueba de escritorio
Para los valores: Num1=5 y Num2=8.
Inicio
INICIO
5.- Resul_Suma=5+8=13.
FIN
Real:
Num1, Num2,
Resul_Suma
INICIO
5.- Resul_Suma=-2+(-6)=-8.
FIN
"Deme 2 nmeros
para sumarlos"
Num1, Num2
INICIO
5.- Resul_Suma=23+77=100.
FIN
"El resultado de
la suma es",
Resul_Suma
Fin
13
F.I. UNAM.-C.P.I.
Ejemplo: elaborar un algoritmo que calcule la distancia entre dos puntos dadas las
coordenadas A1(x1, y1) y A2(x2, y2).
2
2
La distancia entre dos puntos est dada por: d = (x1-x2) +(y1-y2)
Presente el pseudocdigo, el diagrama de flujo y la prueba de escritorio correspondientes.
Resultado:
A) Pseudocdigo
Inicio
1.- INICIO
2.- Real: X1, Y1, X2, Y2, Distancia
3.- ESCRIBA Proporcione la coordenada (X1, Y1).
4.- LEA X1
5.- LEA Y1
6.- ESCRIBA Proporcione la coordenada (X2, Y2).
7.- LEA X2
8.- LEA Y2
2
2
9.- REALIZAR Distancia = (x1-x2) +(y1-y2)
10.- ESCRIBA La distancia entre los puntos A1 y
A2 es:, Distancia
11.- FIN
Real:
X1, Y1, X2, Y2,
Distancia
"Proporcione la
coordenada
(X1, Y1)."
X1, Y1
C) Prueba de escritorio
"Proporcione la
coordenada
(X2, Y2)."
X2, Y2
INICIO
2
2
9.- Distancia = (0-7) +(0-7)
Distancia = 9.899494937.
FIN
Fin
14
F.I. UNAM.-C.P.I.
Ejemplo: haga un algoritmo que pida el peso en toneladas, la longitud en pies y el cdigo de
un dinosaurio y d como salida su cdigo, su peso en kilogramos y su longitud en metros.
Nota: 1 tonelada=1000 kgs. y 1 pie=0.3047 mts. Presente el pseudocdigo, el diagrama de
flujo y la prueba de escritorio correspondientes. Resultado:
A) Pseudocdigo
Inicio
Entero:
Codigo_dino
Real:
Peso, longitud
"Cul es el cdigo
de su
dinosaurio?"
Codigo_dino
"Cunto pesa en
toneladas su
dinosaurio?"
Peso
C) Prueba de escritorio
"Cunto mide en
pies su
dinosaurio?"
Longitud
Peso = Peso*1000
Longitud=
Longitud*0.3047
"Para el dinosaurio",
Cdigo_dino
"Peso [Kg]:",
Peso
"Longitud [mts]:",
Longitud
FIN
Fin
15
F.I. UNAM.-C.P.I.
A) Pseudocdigo
Inicio
Entero:
Sonidos_Grillo
Real:
Temperatura
"Cuntos sonidos
ha emitido su
grillo?"
Sonidos_Grillo
No
Si
Sonidos_Grillo>=1
C) Prueba de escritorio
"Verifique su
grillo no haya
huido y est vivo"
Tempertura =
Sonidos_Grillo/4+40
INICIO
5.- Sonidos_Grillo=5.
6.- Sonidos_Grillo>=1?, S, al paso 7.
"Temperatura (oC)=",
Temperatura
INICIO
5.- Sonidos_Grillo=-14.
6.- Sonidos_Grillo>=1?, No, al paso 10.
FIN
Para el valor: Sonidos_Grillo=0.
INICIO
5.- Sonidos_Grillo=0.
6.-Sonidos_Grillo>=1?, No, al paso 10.
FIN
16
F.I. UNAM.-C.P.I.
Ejemplo:
Desarrolle un algoritmo que usando slo 3 variables, lea 2 nmeros e imprima el resultado de
realizar las operaciones fundamentales +, -, *, / y la operacin mod que devuelve el residuo
de la dividir N1/N2. Presente el pseudocdigo, el diagrama de flujo y la prueba de escritorio
correspondientes.
Resultado:
A) Pseudocdigo
Entradas: dos nmero N1 y N2.
Salidas: los resultados de las operaciones +, -, *, / y mod.
Restricciones: Slo se deben utilizar 3 variables, por lo que es necesario realizar cada una de las
operaciones e inmediatamente despus imprimir su resultado. Otra restriccin est implcita en las
operaciones / y mod ya que si el denominador es igual a cero se generan indeterminaciones, para
prever que esto no suceda se pone una condicin, si el denominador es diferente de cero se realizan
las operaciones, en caso contrario se manda un mensaje de error.
1.- INICIO
2.- Real: N1, N2, Resultado
3.- ESCRIBA Deme 2 nmeros N1 y N2 para realizar: N1+N2, N1-N2, N1*N2, N1/N2 y N1 mod N2.
4.- LEA N1, N2
5.- REALIZAR Resultado = N1+N2
6.- ESCRIBA El resultado de la suma es:, Resultado
7.- REALIZAR Resultado = N1-N2
8.- ESCRIBA El resultado de la resta es:, Resultado
9.- REALIZAR Resultado = N1*N2
10.- ESCRIBA El resultado de la multiplicacin es:, Resultado
11.- SI N2 <> 0 ENTONCES
12.- REALIZAR Resultado = N1/N2
13.- ESCRIBA El resultado de la divisin es:, Resultado
14.- REALIZAR Resultado = N1 mod N2
15.- ESCRIBA El residuo de la divisin es:, Resultado
16.- EN CASO CONTRARIO
17.- ESCRIBA ERROR, N2 debe ser diferente de cero.
18.- FIN DE SI
19.- FIN
17
F.I. UNAM.-C.P.I.
Inicio
No
Si
N2 != 0
Real:
N1, N2, Resultado
Resultado=N1/N2
"ERROR, N2 debe
ser diferente de cero"
"Deme 2 nmeros N1 y N2
para realizar:
N1+N2, N1-N2, N1*N2,
N1/N2 y N1 mod N2"
"El resultado de la
divisin es:", Resultado
N1, N2
Resultado=N1modN2
Resultado=N1+N2
"El residuo de la
divisin es:",
Resultado
Resultado=N1-N2
Fin
C) Prueba de escritorio
Resultado=N1*N2
INICIO
5.- Resultado =-2+2 =0.
7.- Resultado =-2-2 = -4.
9.- Resultado =-2*2 = -4.
11.- N2 <> 0?, S, al paso 12.
12.- Resultado =-2/2 = -1.
14.- Resultado =-2 mod 2 = 0.
FIN
18
F.I. UNAM.-C.P.I.
Ejemplo: desarrolle un algoritmo que calcule el total a pagar por un producto adquirido en un
pas dado. Al comprar en este pas el impuesto que se paga por el artculo comprado se da
por el criterio siguiente: Hasta $20 no causan impuesto De $21 hasta $40 tienen el
30% el resto el 40%
pero si el precio excede a los $500 se debe cobrar 50% de
impuesto. Presente el pseudocdigo, el diagrama de flujo y la prueba de escritorio
correspondientes. Resultado:
A) Pseudocdigo
Entrada: el precio de un producto.
Salida: el total a pagar por el producto, que equivale al precio base ms el impuesto correspondiente.
Restricciones: el precio del producto debe ser mayor a cero ya que no existen precios negativos, tampoco se indica
que algn producto sea regalado (precio=0).
1.- INICIO
2.- Real: Precio_Base, Pago
3.- ESCRIBA D el precio de su producto.
4.- LEA Precio_Base
5.- SI Precio_Base > 0 ENTONCES
6.- SI Precio_Base <= 20 ENTONCES
7.- Pago = Precio_Base
8.- EN CASO CONTRARIO SI Precio_Base <= 40 ENTONCES
9.- Pago = Precio_Base + ( Precio_Base*0.3)
10.- EN CASO CONTRARIO SI Precio_Base <= 500 ENTONCES
11.- Pago = Precio_Base + ( Precio_Base*0.4)
12.- EN CASO CONTRARIO
13.- Pago = Precio_Base + ( Precio_Base*0.5)
14.- FIN DE SI
15.- FIN DE SI
16.- FIN DE SI
17.- ESCRIBA Usted debe pagar: $, Pago
18.- EN CASO CONTRARIO
19.- ESCRIBA Precio no vlido, intente otra vez
20.- FIN DE SI
21.- FIN
19
F.I. UNAM.-C.P.I.
B)
Inicio
Real:
Precio_Base, Pago
"D el precio de
su producto"
Precio_Base
NO
Si
Precio_Base>0
"Precio no vlido
intente otra vez"
SI
NO
Precio_Base<=20
SI
NO
Precio_Base<=40
Pago=Precio_Base
Pago=
Precio_Base
+
(Precio_Base*0.3)
SI
Pago=
Precio_Base
+
(Precio_Base*0.4)
Fin
C) Prueba de escritorio
Para el valor: Precio_Base=-100.
INICIO
5.- Precio_Base > 0?, No, al paso 20
FIN
20
NO
Precio_Base<=500
Pago=
Precio_Base
+
(Precio_Base*0.5)
F.I. UNAM.-C.P.I.
21
F.I. UNAM.-C.P.I.
x calcule el valor de
y segn la
1.- 7x - 45
y = (x) =
2.- x2 + 8x
3.- x + 20
1.- INICIO
2.- Entero: Op_Funcion
3.- Real: Valor_x, Valor_y
2
4.- ESCRIBA f(x): 1) 7x-45 2) x +8x 3) x+20.
5.- ESCRIBA Qu opcin desea ejecutar?
6.- LEA Op_Funcion
7.- ESCRIBA Cul es el valor de x?
8.- LEA Valor_x
9.- SELECCIONAR Op_Funcion
10.- CASO 1:
11.- HACER Valor_y = 7*Valor_x-45
12.- ESCRIBA y = ,Valor_y
13.- CASO 2:
2
14.- HACER Valor_y = Valor_x +8*Valor_x
15.- ESCRIBA y = ,Valor_y
16.- CASO 3:
17.- HACER Valor_y = Valor_x+20
18.- ESCRIBA y = ,Valor_y
19.- EN OTRO CASO:
20.- ESCRIBA Error: No es una opcin vlida!!
21.- FIN SELECCIONAR Op_Funcion
22.- FIN
22
F.I. UNAM.-C.P.I.
B) Diagrama de flujo de datos
23
F.I. UNAM.-C.P.I.
C) Prueba de escritorio
INICIO
9.- SELECCIONAR Op_Fun, CASO 3, al paso 17.
17.- Valor_y = Valor_x+20 = 86 +20 = 106.
FIN
Para los valores: Op_Funcion= 2 y Valor_x=0.
INICIO
9.- SELECCIONAR Op_Fun, CASO 2, al paso 14.
2
2
14.- Valor_y = Valor_x +8*Valor_x = 0 +8*0=0.
FIN
INICIO
9.- SELECCIONAR Op_Fun, CASO 1, al paso 11.
11.- Valor_y = 7*Valor_x-45 = 7*(-100) -45 = -745.
FIN
Ejemplo: elabore un algoritmo que lea una letra y un nmero y determine si la letra
pertenece a las vocales y si el nmero pertenece a lo pares. Presente el pseudocdigo, el
diagrama de flujo y la prueba de escritorio correspondientes.
Resultado:
A) Pseudocdigo
Entradas: un nmero y una letra.
Salida: informar si la letra es vocal y si el nmero es par.
Una manera de comprobar si un nmero es par es dividiendo entre 2 y si el residuo de la divisin es 0 se puede
concluir que el nmero es par.
Restricciones: ninguna.
1.- INICIO
2.- Entero: Numero.
3.- Carcter: Letra.
4.- ESCRIBA Deme un letra y le dir si es vocal.
5.- LEA Letra
6.- ESCRIBA Deme un nmero y le dir si es par.
7.- LEA Numero
8.- SI (Numero mod 2) == 0 ENTONCES
9.- ESCRIBA El nmero dado es par.
10.- EN CASO CONTRARIO
11.- ESCRIBA El nmero dado no es par.
12.- FIN DE SI
13.- SI (Letra==a OR Letra==e OR Letra==i OR Letra==o OR Letra==u) ENTONCES
14.- ESCRIBA La letra ingresada es vocal.
15.- EN CASO CONTRARIO
16.- ESCRIBA La letra ingresada no es vocal.
17.- FIN DE SI
18.- FIN
24
F.I. UNAM.-C.P.I.
C) Prueba de escritorio
25
F.I. UNAM.-C.P.I.
Ejemplo: realice un algoritmo que pida 3 calificaciones obtenidas por un alumno en sus
exmenes parciales y regrese su promedio. Elabore el pseudocdigo, el diagrama de flujo y
la prueba de escritorio correspondientes. Resultado:
A) Pseudocdigo
C) Prueba de escritorio
Para los valores: Calificacion=8, Calificacion=6 y
Calificacion=10.
INICIO
5.- i=3?, No, i=1, al paso 6.
8.- Acumulador=Acumulador+Calificacion=0+8=8.
5.- i=3?, No, i=2, al paso 6.
8.- Acumulador=Acumulador+Calificacion=8+6=14.
5.- i=3?, S, i=3, al paso 6.
8.- Acumulador=Acumulador+Calificacion=14+10=24.
5.- i=3?, No, i=4, al paso 10.
10.- Promedio=Acumulador/3=24/3=8.
FIN
Para los valores: Calificacion=4, Calificacion=6 y
Calificacion=6.
INICIO
5.- i=3?, No, i=1, al paso 6.
8.- Acumulador=Acumulador+Calificacion=0+4=4.
5.- i=3?, No, i=2, al paso 6.
8.- Acumulador=Acumulador+Calificacion=4+6=10.
5.- i=3?, S, i=3, al paso 6.
8.- Acumulador=Acumulador+Calificacion=10+6=16.
5.- i=3?, No, i=4, al paso 10.
10.- Promedio=Acumulador/3=16/3=5.3333.
FIN
26
F.I. UNAM.-C.P.I.
Ejemplo: Barry Gonzlez preocupado por su peso (110 kgs.) y por sus constantes visitas al
"Tortn Loco", quiere saber cunto subi de peso en esta quincena. En promedio el
Sr. Gonzlez aumenta 1/2 kg. cada vez que acude a la tortera. Elabore un algoritmo que le
permita a Barry conocer su peso final. Presente el pseudocdigo, diagrama de flujo y la
prueba de escritorio correspondientes. Resultado:
A) Pseudocdigo
C) Prueba de escritorio
Para el valor: Visitas=3.
INICIO
6.- i=3?, No, i=1, al paso 7.
7.- Acumulador=Acumulador+0.5=0.0+0.5=0.5.
6.- i=3?, No, i=2, al paso 7.
7.- Acumulador=Acumulador+0.5=0.5+0.5=1.0.
6.- i=3?, S, i=3, al paso 7.
7.- Acumulador=Acumulador+0.5=1.0+0.5=1.5.
6.- i=3?, No, i=4, al paso 10.
10.Peso_Total=Peso_Total+Acumulador=110.0+1.5=111.5.
FIN
Para el valor: Visitas=2.
INICIO
6.- i=2?, No, i=1, al paso 7.
7.- Acumulador=Acumulador+0.5=0.0+0.5=0.5.
6.- i=2?, S, i=2, al paso 7.
7.- Acumulador=Acumulador+0.5=0.5+0.5=1.0.
6.- i=2?, No, i=3, al paso 10.
10.Peso_Total=Peso_Total+Acumulador=110.0+1.0=111.0.
FIN
27
F.I. UNAM.-C.P.I.
Ejemplo: elabore un algoritmo que presente la suma de los N trminos de la siguiente serie:
1+1/2-1/3+1/4-1/5+1/6-1/7+1/8 . . . (+/-) N
El trmino N ser determinado por el usuario. Proporcione tambin su pseudocdigo,
diagrama de flujo y prueba de escritorio. Resultado:
A) Pseudocdigo
C) Prueba de escritorio
Para el valor: Term_N=5.
INICIO
5.- i=5?, No, i=2, al paso 6.
6.- Bandera=1?, S, al paso 7.
7.- Suma=Suma+1/i=1+1/2=1.5.
8.- Bandera=0.
5.- i=5?, No, i=3, al paso 6.
6.- Bandera=1?, No, al paso 10.
10.- Suma=Suma-1/i=1.5-1/3=1.167.
11.- Bandera=1.
5.- i=5?, No, i=4, al paso 6.
6.- Bandera=1?, S, al paso 7.
7.- Suma=Suma+1/i=1.167+1/4=1.417.
8.- Bandera=0.
5.- i=5?, S, i=5, al paso 6.
6.- Bandera=1?, No, al paso 10.
10.- Suma=Suma-1/i=1.417-1/5=1.217.
11.- Bandera=1.
5.- i=5?, No, i=6, al paso 15.
FIN
28
F.I. UNAM.-C.P.I.
Ejemplo: Una pareja desea saber la suma de sus gastos en su ms reciente viaje, pero
no saben exactamente cuntos fueron. Desarrolle un algoritmo que les proporcione el
total de sus gastos. D el pseudocdigo, diagrama de flujo y prueba de escritorio.
Resultado:
A) Pseudocdigo
C) Prueba de escritorio
Para los valores: Suponga que se darn los siguientes
datos: se realizaron 6 gastos y los montos fueron 1) 1500.00,
2) 987.90, 3) 326.00, 4) 561.50, 5) 376.70 y 6) 159.90.
INICIO
5.- Respuesta=1?, S, al paso 6.
8.- Suma_Gastos = Suma_Gastos +Gasto
= 0 + 1500.00 = 1500.00
5.- Respuesta=1?, S, al paso 6.
8.- Suma_Gastos = Suma_Gastos+Gasto
= 1500.00 + 987.90 = 2487.90
5.- Respuesta=1?, S, al paso 6.
8.- Suma_Gastos = Suma_Gastos+Gasto
= 2487.90 +326.00 = 2813.90
5.- Respuesta=1?, S, al paso 6.
8.- Suma_Gastos = Suma_Gastos+Gasto
= 2813.90 + 561.50 = 3375.40
5.- Respuesta=1?, S, al paso 6.
8.- Suma_Gastos = Suma_Gastos+Gasto
= 3375.40 + 376.70 = 3752.10
5.- Respuesta=1?, S, al paso 6.
8.- Suma_Gastos = Suma_Gastos+Gasto
= 3752.10+ 159.90 = 3912.00
5.- Respuesta=1?, No al paso 12.
FIN
29
F.I. UNAM.-C.P.I.
Ejemplo, cuando el entero inicial es 26, la secuencia ser: 26, 13, 40, 20, 10, 5, 16, 8, 4, 2,1.
Elabore un algoritmo que lea un entero positivo y a partir de este obtenga e imprima la sucesin de
ULAM. Presente el pseudocdigo, el diagrama de flujo y la prueba de escritorio. Resultado:
A) Pseudocdigo
1.- INICIO
2.- Entero: Termino, Residuo
3.- ESCRIBA Proporcione un nmero para calcular la serie de ULAM.
4.- LEA Termino
5.- SI Termino > 0 ENTONCES
6.- ESCRIBA Termino
7.- MIENTRAS Termino <> 1 HACER
8.- HACER Residuo = Termino mod 2
9.- SI Residuo == 0 ENTONCES
10.- Termino = Termino/2
11.- EN CASO CONTRARIO
12.- Termino = Termino*3+1
13.- FIN DE SI
14.-ESCRIBA Termino
15.- FIN MIENTRAS
16.- EN CASO CONTRARIO
17.- ESCRIBA ERROR: El nmero debe ser positivo.
18.- FIN DE SI
19.- FIN
30
F.I. UNAM.-C.P.I.
B)
31
F.I. UNAM.-C.P.I.
C) Prueba de escritorio
Para el valor: -5.
INICIO
5.- Termino > 0?, No, al paso 17.
FIN
Para el valor: 1.
INICIO
5.- Termino > 0?, S, al paso 6.
7.- Termino <> 1?, No.
FIN
Para el valor: 40.
INICIO
5.- Termino > 0?, S, al paso 6.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 40 mod 2 = 0.
9.- Residuo == 0?, S, al paso 10.
10.- Termino = Termino / 2 = 40 / 2 = 20.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 20 mod 2 = 0.
9.- Residuo == 0?, S, al paso 10.
10.- Termino = Termino / 2 = 20 / 2 = 10.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 10 mod 2 = 0.
9.- Residuo == 0?, S, al paso 10.
10.- Termino = Termino / 2 = 10 / 2 = 5.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 5 mod 2 = 1.
9.- Residuo == 0?, No, al paso 12.
12.- Termino = Termino * 3 + 1 = 5 * 3 + 1 = 16.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 16 mod 2 = 0.
9.- Residuo == 0?, S, al paso 10.
10.- Termino = Termino / 2 = 16 / 2 = 8.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 8 mod 2 = 0.
9.- Residuo == 0?, S, al paso 10.
10.- Termino = Termino / 2 = 8 / 2 = 4.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 4 mod 2 = 0.
9.- Residuo == 0?, S, al paso 10.
10.- Termino = Termino / 2 = 4 / 2 = 2.
7.- Termino <> 1?, S, al paso 8.
8.- Residuo = Termino mod 2 = 2 mod 2 = 0.
9.- Residuo == 0?, S, al paso 10.
10.- Termino = Termino / 2 = 2 / 2 = 1.
7.- Termino <> 1?, No, al paso 15.
FIN
32