You are on page 1of 7

PRCTICA

DISEO DE PROGRAMAS
Parte II

Objetivos

El alumno plantear, mediante un diagrama de flujo, los pasos que debern seguirse para
resolver un problema de ingeniera sencillo.

Al final de esta prctica el alumno podr:

1. Analizar el problema e identificar los datos que se tienen y cules se necesitan.
2. Seleccionar la mejor alternativa que produce la resolucin del problema.
3. Plantear de manera detallada el diagrama de flujo que se debe seguir para
resolver el problema

Antecedentes

1. Conocer y manejar el diseo de algoritmos para la resolucin de problemas

Introduccin

Un diagrama de flujo es un esquema para representar grficamente un algoritmo. En
realidad muestra grficamente los pasos o procesos a seguir para alcanzar la solucin de un
problema. Se basa en la utilizacin de diversos smbolos para representar operaciones
especficas. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por
medio de flechas para indicar la secuencia de la operacin. Su correcta construccin es
sumamente importante porque a partir del mismo se escribe un programa en algn lenguaje
de programacin. Si el diagrama de flujo est completo y correcto, el paso del mismo a un
lenguaje de programacin es relativamente simple y directo.
Para hacer comprensible los diagramas a todas las personas, los smbolos se sometieron a
una normalizacin, o lo que es en realidad se hicieron smbolos casi universales, ya que, en
un principio cada usuario podra tener sus propios smbolos para representar sus procesos
en forma de diagrama de flujo. A continuacin en la Tabla 1 se muestra la simbologa
utilizada en los diagramas de flujo con base en las recomendaciones de la Organizacin
Internacional para la Estandarizacin (ISO) y el Instituto Nacional Americano de
Estndares (ANSI):
Tabla 1. Smbolos empleados en los diagramas de flujo
Representacin del smbolo Explicacin del smbolo


Marca el inicio y el fin del diagrama de flujo
Para introducir los datos de entrada. Expresa
lectura
Elaborada por:
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
1
PRCTICA
DISEO DE PROGRAMAS
Parte II



Para representar un proceso. En su interior se
expresan asignaciones, operaciones
aritmticas, cambios de valor de celdas en
memoria.



Para representar una decisin, en su interior
se almacena una condicin y dependiendo
del resultado de la evaluacin de la misma se
sigue por alguna de las ramas.


Para representar la impresin de un
resultado. Expresa escritura.



Para expresar la direccin del flujo del
diagrama


Para expresar conexin dentro de la misma
pgina


Para expresar conexin entre pginas
diferentes.


Para representar una decisin mltiple. En su
interior se almacena un selector y
dependiendo del valor de ste se sigue por
una de las ramas o caminos alternativos.
S
No

Las reglas que permiten la construccin de diagramas de flujo se muestran a continuacin:
2. Todo diagrama de flujo debe tener un inicio y un fin.
3. Las lneas utilizadas para indicar la direccin del flujo del diagrama deben ser rectas
verticales y horizontales.
4. Todas las lneas utilizadas para indicar la direccin del flujo del diagrama deben estar
conectadas. La conexin puede ser a un smbolo que exprese lectura, proceso, decisin,
impresin, conexin o fin de programa.
5. El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda a derecha.
Elaborada por:
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
2
PRCTICA
DISEO DE PROGRAMAS
Parte II

6. La notacin utilizada en el diagrama de flujo debe ser independiente del lenguaje de
programacin.
7. Es conveniente cuando se realice una tarea compleja poner comentarios que expresen o
ayuden a entender lo que se hizo.
8. Si el diagrama requiere ms de una hoja para su construccin se debe utilizar el o los
conectores adecuados y enumerar las pginas convenientemente.
9. No puede llegar ms de una lnea a un smbolo.

Un diagrama de flujo consta de tres etapas para la resolucin de un problema:

a) Anlisis profundo del problema: es decir, con qu datos se cuenta, cules son
necesarios como valores de entrada, qu restricciones deben considerarse, cmo
debe ser la salida para que el problema se resuelva.

b) Construccin del diagrama de flujo: dibujar detalladamente qu pasos se deben
seguir para resolver el problema.

c) Verificacin del diagrama de flujo: consiste en el seguimiento del mismo
empleando datos que son representativos del problema que se desea resolver
(esto se conoce como prueba de escritorio).


Ejemplo de diagramas de flujo

Ejemplo: Se desea realizar el clculo de la velocidad de un automvil que recorre una
distancia x en un cierto tiempo t. (Emplear la frmula
t
x
v = ).

a) Anlisis del problema:
Como datos de entrada se necesita el valor de la distancia (x) y el valor del tiempo
(t)
En las restricciones se observa que el tiempo no puede ser nulo pues se indetermina
la operacin, tampoco puede ser negativo. La distancia puede ser positiva o
negativa, ya que el automvil puede ir retrocediendo, pero no puede ser nula porque
el problema indica que el automvil recorre una cierta distancia.
Finalmente se obtiene como resultado la velocidad tras aplicar la frmula
t
x
= v ,
donde la velocidad puede aumentar (si el resultado es positivo) o disminuir (si el
resultado es negativo


Elaborada por:
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
3
PRCTICA
DISEO DE PROGRAMAS
Parte II

b) Construccin del diagrama de flujo

t
x
v =
Fin
v

No S
t 0
No
t
S
x=0
x
Inicio



























c) Prueba de escritorio

Dados los valores x=3, t=0
1. Inicio
2. x=3
3. x=0? NO, al paso 4
4. t=0
5. t 0? S, ir al paso 7
7. Fin




Elaborada por:
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
4
PRCTICA
DISEO DE PROGRAMAS
Parte II

Dados los valores x=5, t=7
1. Inicio
2. x=5
3. x=0? NO, al paso 4
4. t=7
5. t 0? NO, ir al paso 6
6.
7
5
= v = 0.715
8. Fin

Errores ms comunes que se pueden cometer

1. Crear un diagrama de flujo sin analizar el problema previamente.
2. Dar por sentado que el diagrama de flujo est bien diseado sin haber realizado la
prueba de escritorio para verificarlo.
3. No seguir las indicaciones dadas para disear diagramas de flujo.
4. No realizar la prueba de escritorio tomando valores crticos, pues stos demostraran
si el diagrama de flujo toma o no en cuenta las restricciones establecidas.


Ejercicios propuestos

Realizar el diagrama de flujo que resuelva el problema planteado
1. Calcular la n-sima potencia de un nmero, utilizando la operacin producto.
2. Calcular el n-simo nmero de Fibonacci.
3. Calcular el resto de la divisin entera de dos nmeros naturales.
4. Calcular el cociente de la divisin entera de dos nmeros naturales.
5. Calcular la suma de los dgitos de un nmero natural. Por ejemplo, 1234=10
6. Calcular la suma de los dgitos pares de un nmero natural.
7. Clculo de los salarios mensuales de los empleados de una empresa, sabiendo que stos
se calculan con base en las horas semanales trabajadas y de acuerdo a un precio
especificado por horas. Si se pasan de cuarenta horas semanales, las horas
extraordinarias se pagarn a razn de 1.5 veces la hora ordinaria.
8. Calcular la longitud de una circunferencia a partir de su radio. (Usar la frmula
r C 2 = ).
9. Dado un nmero natural y dos valores i y j, devolver el nmero resultante de
intercambia los dgitos i-simo y j-simo del nmero inicial. Por ejemplo,
(1234,1,2)=2134, (4269,4,2)=4962.
10. Dado un nmero natural, devolver el nmero resultante de invertir el orden de sus
dgitos.
11. Determinar si un nmero natural es capica (se lee igual de derecha a izquierda que de
izquierda a derecha).
12. Determinar si un nmero natural representa un nmero binario, es decir, est compuesto
slo de 0's y 1's.
Elaborada por:
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
5
PRCTICA
DISEO DE PROGRAMAS
Parte II

13. Calcular el rea de un crculo a partir de su radio. (Usar ).
2
2 r A =
14. Calcular el rea de un rectngulo a partir de su base y altura. (Emplear ). ba A =
15. Calcular la superficie de un cilindro a partir del radio de la base y la altura. (Hacer uso
de la frmula ).
2
2 2 r rh S + =
16. Calcular el volumen de un cilindro a partir del radio de la base y la altura. (Hacer uso de
la frmula V ). h r
2
=
17. Dado un valor de velocidad medido en kilmetros/hora convertirlo a metros/seg. Dado
un valor de temperatura, medida en grados centgrados, convertirlo a grados Farenheit.
(Emplear c f

+ =
5
9
32 ).
18. Calcular la distancia entre dos puntos. (Sea P
1
(a
1
, b
1
) y P
2
(a
2
, b
2
), hacer uso de
2
2 1
2
2 1
) ( ) ( b b a a D + = )
19. Resolver la siguiente operacin: R=(A+B)*B
2
.
20. Imprimir el primer dgito de un nmero: p.e. 645, imprime 6.
21. Leer 5 nmeros dados e imprimir la suma del primero y el quinto, la resta del segundo
con el cuarto, la multiplicacin de los cinco.
22. Imprimir el ltimo dgito de un nmero: p.e. 456, imprime 6.
23. Leer 2 nmeros e imprimir las 4 operaciones fundamentales entre los dos, usando slo
una variable auxiliar. (En todo el ejercicio slo debe usar 3 variables)
24. Leer dos nmeros y verificar si el primero es mltiplo del segundo.
25. Leer un nmero y determinar si ste es mltiplo de 3.
26. Dadas 2 fechas, expresadas como tres nmeros naturales, determinar si la primera es
cronolgicamente menor que la segunda.
27. Leer un nmero y verificar si es o no positivo.
28. Leer un nmero y verificar si es positivo, negativo o neutro.
29. Devolver el dgito menos significativo de un nmero natural.
30. Devolver el dgito mas significativo de un nmero natural.
31. Dado un nmero natural y un dgito, devolver el nmero resultante de aadir el dgito al
nmero, como dgito menos significativo. Por ejemplo, (673,9)=6739.
32. Dado un nmero natural y un dgito, devolver el nmero resultante de aadir el dgito al
nmero, como dgito ms significativo.
33. Calcular el nmero de dgitos de un nmero natural. Calcular el dgito i-simo de un
nmero natural. Por ejemplo, (1234,2)=2.
34. Leer un nmero y verificar si es par o impar.
35. Leer 5 nmeros e imprimir slo los pares.
36. Calcular las soluciones de un polinomio de segundo grado
37. Leer un nmero y verificar si se encuentra entre 10 y 20.
38. Leer 3 nmeros A,B y C (A<C) y verificar si C se encuentra entre A y B.
39. Leer 2 nmeros e imprimir el menor.
40. Leer 3 nmeros e imprimir el mayor.
41. Calcular las soluciones de un polinomio de tercer grado.
42. Leer 3 nmeros y mostrarlos en orden ascendente.
43. Leer 2 nmeros y mostrar la resta del menor menos el mayor.
Elaborada por:
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
6
PRCTICA
DISEO DE PROGRAMAS
Parte II

Elaborada por:
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
7
44. Leer 2 nmeros e imprimir el menor menos el mayor.
45. Determinar si un carcter es una vocal o no.
46. Leer 2 nmeros y verificar si son divisibles, o el resultado no existe, o es infinito.
47. Leer 10 nmeros e imprimir slo los positivos.

You might also like