Está en la página 1de 6

PRCTICA

DISEO DE PROGRAMAS
Parte I

Objetivos
El alumno emplear algoritmos que le permitan 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 los pasos a seguir para resolver el problema
Introduccin
Un algoritmo es un mtodo para resolver un problema mediante una serie de pasos
precisos, definidos y finitos, adems es una serie de operaciones detalladas que se pueden
formular de muchas formas con el cuidado de que no exista ambigedad.
Existen dos tipos de algoritmos:

Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.

Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir
los pasos del proceso.

Formalmente se define un algoritmo como un conjunto de pasos, procedimientos o acciones


que permiten alcanzar un resultado o resolver un problema.
Un algoritmo tiene las siguientes caractersticas:
1.

Preciso: debe indicar el orden de realizacin en cada paso y no puede tener


ambigedad.

2.

Definido: si se sigue dos veces o ms, se obtiene el mismo resultado cada vez.

3.

Finito: tiene fin, es decir, un nmero determinado de pasos.

4.

Correcto.

5.

Debe tener al menos una salida y sta debe ser tangible.

6.

Debe ser sencillo y legible.

7.

Eficiente y efectivo.

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

PRCTICA
DISEO DE PROGRAMAS
Parte I

8.

Se ha de desarrollar en el menor tiempo posible.

Tipos de lenguajes algortmicos

Grficos: es la representacin grfica de las operaciones que realiza un algoritmo


(se le conoce como diagrama de flujo). Por ejemplo:

no
s

No grficos: representa en forma descriptiva las operaciones que debe realizar un


algoritmo (se le conoce como pseudocdigo). Por ejemplo:
INICIO
Edad: Entero
ESCRIBA Cul es tu edad?
LEA Edad
SI Edad >=18 entonces
ESCRIBA Eres mayor de Edad
FIN DEL SI
EN CASO CONTRARIO
ESCRIBA No eres mayor de Edad
FIN DE EN CASO CONTRARIO
ESCRIBA fin del algoritmo
FIN

Un algoritmo consta de tres etapas para la resolucin de un problema:


a) Anlisis 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 algoritmo: se refiere a la descripcin detallada de los pasos que
deben seguirse para resolver el problema.

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

PRCTICA
DISEO DE PROGRAMAS
Parte I

c) Verificacin del algoritmo: consiste en el seguimiento del mismo empleando


datos que son representativos del problema que se desea resolver (esto se conoce
como prueba de escritorio).
Para llegar a la realizacin de un programa es necesario el diseo previo de un algoritmo,
de modo que sin el algoritmo no puede existir un programa. Los algoritmos son
independientes tanto del lenguaje de programacin en que se expresan como de la
computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un
lenguaje diferente de programacin y ejecutarse en una computadora distinta; sin embargo,
el algoritmo ser siempre el mismo.
Ventajas de los Diagramas de Flujo

Favorecen la comprensin del proceso a travs de mostrarlo como un dibujo. El


cerebro humano reconoce fcilmente los dibujos. Un buen diagrama de flujo
reemplaza varias pginas de texto.
Permiten identificar los problemas y las oportunidades de mejora del proceso. Se
identifican los pasos redundantes, los flujos de los reprocesos, los conflictos de
autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisin.
Muestran las interfases usuario-desarrollador y las tareas que en ellas se realizan,
facilitando a los desarrolladores el anlisis de las mismas.
Son una excelente herramienta para capacitar a los nuevos empleados usuarios y
tambin a los que desarrollan la tarea, cuando se realizan mejoras en el proceso.
Ejemplo de algoritmos

Ejemplo 1.1 Problema: Se desea realizar el clculo de la velocidad de un automvil que


x
recorre una distancia x en un cierto tiempo t. (Emplear la frmula v = ).
t
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.
x
Finalmente se obtiene como resultado la velocidad tras aplicar la frmula v = ,
t
donde la velocidad puede aumentar (si el resultado es positivo) o disminuir (si el
resultado es negativo).
b) Construccin del algoritmo
Elaborada por:
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx

PRCTICA
DISEO DE PROGRAMAS
Parte I

1.
2.
3.
4.
5.

Inicio.
Leer el valor de x.
Si x=0 regresar al paso 2, en caso contrario ir al paso 4.
Leer el valor de t.
Si t 0 entonces ir al paso 7, en caso contrario ir al paso 6.
x
6. Realizar v = .
t
7. Fin.
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.
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.
5
6. v = = 0.715.
7
8. Fin.
Errores ms comunes que se pueden cometer
1. Crear un algoritmo sin analizar el problema previamente.
2. Dar por sentado que el algoritmo est bien diseado sin haber realizado la prueba de
escritorio para verificarlo.
3. No detallar los pasos que se siguen en el algoritmo, dando paso a las ambigedades en
el mismo.
4. No realizar la prueba de escritorio tomando valores crticos, pues stos demostraran
si el algoritmo toma o no en cuenta las restricciones establecidas.
5. Olvidar que los pasos son secuenciales y saltarse a un paso determinado, debido a una
suposicin, sin que el algoritmo as lo indique
Ejercicios propuestos
Elaborada por:
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx

PRCTICA
DISEO DE PROGRAMAS
Parte I

Realizar el algoritmo que resuelva el problema dado.


1. 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.
2. Calcular la longitud de una circunferencia a partir de su radio. (Usar la frmula
C = 2r )
3. Calcular el rea de un crculo a partir de su radio. (Usar A = r 2 ).
4. Calcular el rea de un rectngulo a partir de su base y altura. (Emplear A = ba ).
5. Calcular la superficie de un cilindro a partir del radio de la base y la altura. (Hacer uso
de la frmula S = 2rh + 2r 2 ).
6. Calcular el volumen de un cilindro a partir del radio de la base y la altura. (Hacer uso de
la frmula V = r 2 h ).
7. Dado un valor de velocidad medido en kilmetros/hora convertirlo a metros/seg.
8. Dado un valor de temperatura, medida en grados centgrados, convertirlo a grados
9
Farenheit. (Emplear f = 32 + c ).
5
9. Calcular la distancia entre dos puntos. (Sea P1(a1, b1) y P2(a2, b2), hacer uso de
D = (a1 a 2 ) 2 + (b1 b2 ) 2 )
10. Resolver la siguiente operacin: R=(A+B)*B2.
11. Imprimir el primer dgito de un nmero: p.e. 645, imprime 6.
12. 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.
13. Imprimir el ltimo dgito de un nmero: p.e. 456, imprime 6.
14. 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)
15. Leer dos nmeros y verificar si el primero es mltiplo del segundo.
16. Leer un nmero y determinar si ste es mltiplo de 3.
17. Dadas 2 fechas, expresadas como tres nmeros naturales, determinar si la primera es
cronolgicamente menor que la segunda.
18. Leer un nmero y verificar si es o no positivo.
19. Leer un nmero y verificar si es positivo, negativo o neutro.
20. Leer un nmero y verificar si es par o impar.
21. Leer 5 nmeros e imprimir slo los pares.
22. Calcular las soluciones de un polinomio de segundo grado
23. Leer un nmero y verificar si se encuentra entre 10 y 20.
24. Leer 3 nmeros A,B y C (A<C) y verificar si C se encuentra entre A y B.
25. Leer 2 nmeros e imprimir el menor.
26. Leer 3 nmeros e imprimir el mayor.
27. Calcular las soluciones de un polinomio de tercer grado.
28. Leer 3 nmeros y mostrarlos en orden ascendente.
29. Leer 2 nmeros y mostrar la resta del menor menos el mayor.
Elaborada por:
M.C. Cintia Quezada Reyes cintia@fi-b.unam.mx
M.C. Vicente Fuentes Gea vfg@servidor.unam.mx
Ing. Alejandra Vargas E. de los M. alejandrav@correo.unam.mx

PRCTICA
DISEO DE PROGRAMAS
Parte I

30. Leer 2 nmeros e imprimir el menor menos el mayor.


31. Determinar si un carcter es una vocal o no.
32. Leer 2 nmeros y verificar si son divisibles, o el resultado no existe, o es infinito.
33. Leer 10 nmeros e imprimir slo los positivos.
(OSURIHVRUSRGUiGLVHxDUVXVSURSLRVHMHUFLFLRVVLHPSUH\FXDQGRFXEUDSRUFRPSOHWRHOREMHWLYRGH
ODSUiFWLFD

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

También podría gustarte