Práctica 7: Diseño de programas parte 1

Anuncio
PRÁCTICA
DISEÑO DE PROGRAMAS
Parte I
Objetivos
El alumno empleará algoritmos que le permitan resolver un problema de ingeniería
sencillo
Al final de esta práctica el alumno podrá:
1. Analizar el problema e identificar los datos que se tienen y cuáles se necesitan.
2. Seleccionar la mejor alternativa que produce la resolución del problema.
3. Plantear de manera detallada los pasos a seguir para resolver el problema
Introducción
Un algoritmo es un método para resolver un problema mediante una serie de pasos
precisos, definidos y finitos, además es una serie de operaciones detalladas que se pueden
formular de muchas formas con el cuidado de que no exista ambigüedad.
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 cálculos numéricos 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 características:
1.
Preciso: debe indicar el orden de realización en cada paso y no puede tener
ambigüedad.
2.
Definido: si se sigue dos veces o más, se obtiene el mismo resultado cada vez.
3.
Finito: tiene fin, es decir, un número 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 [email protected]
M.C. Vicente Fuentes Gea [email protected]
Ing. Alejandra Vargas E. de los M. [email protected]
1
PRÁCTICA
DISEÑO DE PROGRAMAS
Parte I
8.
Se ha de desarrollar en el menor tiempo posible.
Tipos de lenguajes algorítmicos
•
Gráficos: es la representación gráfica de las operaciones que realiza un algoritmo
(se le conoce como diagrama de flujo). Por ejemplo:
no
sí
•
No gráficos: representa en forma descriptiva las operaciones que debe realizar un
algoritmo (se le conoce como pseudocódigo). Por ejemplo:
INICIO
Edad: Entero
ESCRIBA “¿Cuál 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 resolución de un problema:
a) Análisis del problema: es decir, con qué datos se cuenta, cuáles son necesarios
como valores de entrada, qué restricciones deben considerarse, cómo debe ser la
salida para que el problema se resuelva.
b) Construcción del algoritmo: se refiere a la descripción detallada de los pasos que
deben seguirse para resolver el problema.
Elaborada por:
M.C. Cintia Quezada Reyes [email protected]
M.C. Vicente Fuentes Gea [email protected]
Ing. Alejandra Vargas E. de los M. [email protected]
2
PRÁCTICA
DISEÑO DE PROGRAMAS
Parte I
c) Verificación 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 realización de un programa es necesario el diseño previo de un algoritmo,
de modo que sin el algoritmo no puede existir un programa. Los algoritmos son
independientes tanto del lenguaje de programación en que se expresan como de la
computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un
lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo,
el algoritmo será siempre el mismo.
Ventajas de los Diagramas de Flujo
•
•
•
•
Favorecen la comprensión del proceso a través de mostrarlo como un dibujo. El
cerebro humano reconoce fácilmente los dibujos. Un buen diagrama de flujo
reemplaza varias páginas 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 decisión.
Muestran las interfases usuario-desarrollador y las tareas que en ellas se realizan,
facilitando a los desarrolladores el análisis de las mismas.
Son una excelente herramienta para capacitar a los nuevos empleados usuarios y
también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso.
Ejemplo de algoritmos
Ejemplo 1.1 Problema: Se desea realizar el cálculo de la velocidad de un automóvil que
x
recorre una distancia x en un cierto tiempo t. (Emplear la fórmula v = ).
t
a) Análisis 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 operación, tampoco puede ser negativo. La distancia puede ser positiva o
negativa, ya que el automóvil puede ir retrocediendo, pero no puede ser nula porque
el problema indica que el automóvil recorre una cierta distancia.
x
Finalmente se obtiene como resultado la velocidad tras aplicar la fórmula v = ,
t
donde la velocidad puede aumentar (si el resultado es positivo) o disminuir (si el
resultado es negativo).
b) Construcción del algoritmo
Elaborada por:
M.C. Cintia Quezada Reyes [email protected]
M.C. Vicente Fuentes Gea [email protected]
Ing. Alejandra Vargas E. de los M. [email protected]
3
PRÁCTICA
DISEÑO 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 más comunes que se pueden cometer
1. Crear un algoritmo sin analizar el problema previamente.
2. Dar por sentado que el algoritmo está bien diseñado sin haber realizado la prueba de
escritorio para verificarlo.
3. No detallar los pasos que se siguen en el algoritmo, dando paso a las ambigüedades en
el mismo.
4. No realizar la prueba de escritorio tomando valores críticos, pues éstos demostrarían
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
suposición, sin que el algoritmo así lo indique
Ejercicios propuestos
Elaborada por:
M.C. Cintia Quezada Reyes [email protected]
M.C. Vicente Fuentes Gea [email protected]
Ing. Alejandra Vargas E. de los M. [email protected]
4
PRÁCTICA
DISEÑO DE PROGRAMAS
Parte I
Realizar el algoritmo que resuelva el problema dado.
1. Cálculo 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 pagarán a razón de 1.5 veces la hora ordinaria.
2. Calcular la longitud de una circunferencia a partir de su radio. (Usar la fórmula
C = 2πr )
3. Calcular el área de un círculo a partir de su radio. (Usar A = πr 2 ).
4. Calcular el área de un rectángulo 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 fórmula S = 2πrh + 2πr 2 ).
6. Calcular el volumen de un cilindro a partir del radio de la base y la altura. (Hacer uso de
la fórmula V = πr 2 h ).
7. Dado un valor de velocidad medido en kilómetros/hora convertirlo a metros/seg.
8. Dado un valor de temperatura, medida en grados centígrados, 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 operación: R=(A+B)*B2.
11. Imprimir el primer dígito de un número: p.e. 645, imprime 6.
12. Leer 5 números dados e imprimir la suma del primero y el quinto, la resta del segundo
con el cuarto, la multiplicación de los cinco.
13. Imprimir el último dígito de un número: p.e. 456, imprime 6.
14. Leer 2 números e imprimir las 4 operaciones fundamentales entre los dos, usando sólo
una variable auxiliar. (En todo el ejercicio sólo debe usar 3 variables)
15. Leer dos números y verificar si el primero es múltiplo del segundo.
16. Leer un número y determinar si éste es múltiplo de 3.
17. Dadas 2 fechas, expresadas como tres números naturales, determinar si la primera es
cronológicamente menor que la segunda.
18. Leer un número y verificar si es o no positivo.
19. Leer un número y verificar si es positivo, negativo o neutro.
20. Leer un número y verificar si es par o impar.
21. Leer 5 números e imprimir sólo los pares.
22. Calcular las soluciones de un polinomio de segundo grado
23. Leer un número y verificar si se encuentra entre 10 y 20.
24. Leer 3 números A,B y C (A<C) y verificar si C se encuentra entre A y B.
25. Leer 2 números e imprimir el menor.
26. Leer 3 números e imprimir el mayor.
27. Calcular las soluciones de un polinomio de tercer grado.
28. Leer 3 números y mostrarlos en orden ascendente.
29. Leer 2 números y mostrar la resta del menor menos el mayor.
Elaborada por:
M.C. Cintia Quezada Reyes [email protected]
M.C. Vicente Fuentes Gea [email protected]
Ing. Alejandra Vargas E. de los M. [email protected]
5
PRÁCTICA
DISEÑO DE PROGRAMAS
Parte I
30. Leer 2 números e imprimir el menor menos el mayor.
31. Determinar si un carácter es una vocal o no.
32. Leer 2 números y verificar si son divisibles, o el resultado no existe, o es infinito.
33. Leer 10 números e imprimir sólo los positivos.
Elaborada por:
M.C. Cintia Quezada Reyes [email protected]
M.C. Vicente Fuentes Gea [email protected]
Ing. Alejandra Vargas E. de los M. [email protected]
6
Descargar