Este documento presenta una introducción a la resolución de problemas con computadoras y herramientas de programación. Explica las cuatro fases del proceso: 1) análisis del problema, 2) diseño del algoritmo, 3) transformación del algoritmo en un programa, y 4) ejecución y validación del programa. También analiza un problema de depreciación de automóviles como ejemplo y muestra la salida deseada.
2. UNI-RUACS
Objetivos
Conocer las distintas fases de resolución de
problemas
Examinar diferentes problemas para aprender a
identificar que tipo de información se necesita
producir.
Comprender que es la programación modular y su
funcionamiento.
3. Resolución de problemas con comp. y
herramientas de programación
Metodología a seguir para la resolución de un
problema con computadora y herramientas de
programación:
Paso 1: Definición o análisis del problema
Paso 2: Diseño del Algoritmo
Paso 3: Transformación del algoritmo en un
programa.
Paso 4: Ejecución y validación del programa.
5. Conceptos a usar:
Algoritmo: La palabra algoritmo se deriva de
la traducción al latín de la palabra
Alkhowarízmi, nombre de un matemático y
astrónomo árabe que escribió un tratado
sobre manipulación de números y ecuaciones
en el siglo IX.
Un algoritmo es un método para resolver
un problema mediante una serie de pasos
precisos, definidos y finitos.
6. Característica de un algoritmo
Preciso: indica el orden de realización de cada
paso (secuencia)
Definido: En las mismas condiciones y con
los mismos datos se obtienen los mismos
resultados (las n veces que se ejecute)
Finito: Tiene un número determinado de
pasos.
7. Característica de un algoritmo
Los métodos que utilizan algoritmos se denominan
métodos algorítmicos, en oposición a los métodos
que se denominan métodos heurísticos.
Los métodos algorítmicos se pueden implementar en
computadoras. Sin embargo los procesos heurísticos
no han sido convertidos fácilmente en las
computadoras. Las técnicas de Inteligencia Artificial
han hecho posible la implementación del proceso
heurístico.
8. Característica de un algoritmo
Los algoritmos se pueden expresar por
fórmulas, diagramas de flujo, diagramas N-S
y pseudocódigo.
9. Conceptos a Usar:
Análisis: El problema se analiza teniendo
presente la(s) especificación(es) de los
requisitos dados por el cliente (quien lo
solicita).
Diseño: Una vez analizado el problema se
diseña una solución que conducirá a un
algoritmo que resuelve el problema.
10. Conceptos a Usar:
Codificación (programa) La solución se escribe en
la sintaxis del lenguaje de alto nivel (C, C++, Pascal,
Visul Basic, etc.) y se obtiene un programa.
Ejecución, verificación y depuración del
programa:El programa se ejecuta se comprueba
rigurosamente y se eliminan todos los errores que
puedan aparcer. El programa se documenta
indicando normas para el mantenimiento.
11. Paso 1: Análisis del problema
Esta fase requiere una clara definición, donde
se contemple exactamente lo que debe hacer
el programa y el resultado o solución deseada.
Dado que se busca una solución por computa-
dora, se precisan especificaciones detalladas
de Entrada y Salida.
12. Análisis del problema
Para poder definir bien un problema es
conveniente responder a las siguientes
preguntas:
¿Qué entradas se requieren ? (tipo y cantidad)
¿Cuál es la salida deseada? (tipo y cantidad)
¿Qué método produce la salida deseada?
13. Diseño del Algortimo:
En la etapa de Análisis del proceso se determina qué
hace el programa. En la etapa de diseño se determina
cómo hace el programa la tarea solicitada.
Los métodos más eficaces para el proceso de diseño
se basan en el conocido por divide y vencerás . Es
decir, la resolución de un problema complejo se
realiza dividiendo el problema en subproblemas y a
continuación dividir estos subproblemas en otros de
nivel más bajo, hasta que pueda ser implementada
una solución en la computadora.
14. Diseño del Algortimo:
Este método se conoce técnicamente como diseño
descendente (top-down) o modular. El proceso de
romper el problema en cada etapa y expresar cada
paso en forma más detallada se denomina
refinamiento sucesivo.
Cada subprograma es resuelto mediante un módulo
(subprograma) que tiene un solo punto de entrada y
un solo punto salida.
Cualquier programa bien diseñado consta de un
programa principal (main) que llama a los
subprogramas. (diseño o programación modular)
15. Diseño del Algortimo:
La programación modular permite que los módulos
puedan ser planeados, codificados, comprobados y
depurados independientemente (inclusive por
diferentes programadores) y a continuación
combinarlos entre sí. El proceso implica la ejecución
de los siguientes pasos:
Programar un módulo
Comprobar el módulo
Depurar el módulo
Combinar el módulo con los módulos anteriores.
16. Problema #1
Se desea obtener una tabla con las depreciaciones
acumuladas y los valores reales de cada año de un
automóvil comprado en 180,000 córdobas en el año
2011, durante los seis años siguientes suponiendo un
valor de recuperación o rescate de 12,000.00
córdobas. Realizar el análisis del problema
conociendo la fórmula de la depreciación anual
constante D para cada año de vida útil.
17. Análisis del Problema
¿Qué entradas se requieren ? (tipo y cantidad)
Entrada:
1.- Coste original – Tipo :moneda o número real
Cantidad : Un único valor.
2.- Vida útil - Tipo : número real
3.- Valor de Recuperación – Tipo moneda o real
Cantidad: Un único valor
18. Análisis del Problema
¿Qué entradas se requieren ? (tipo y cantidad)
Entrada:
1.- Coste original – Tipo :moneda o número real
Cantidad : Un único valor.
2.- Vida útil - Tipo : número real
3.- Valor de Recuperación – Tipo moneda o real
Cantidad: Un único valor
19. Análisis del Problema
Salida:
1.- depreciación anual por año
- Tipo :moneda o número real
- Cantidad : 6 (constante) ó n valores
2.- depreciación acumulada en cada año
- Tipo : moneda ó número real
- Cantidad; 6 (variable) o n valores
3.- valor del automóvil en cada año.
- Tipo : moneda ó número real
- Cantidad; 6 (variable) o n valores
20. Análisis del Problema
Procesos:
¿Qué método produce la salida deseada?
1.- cálculo de la depreciación Anual
D= (Coste – Valor recuperación)/vida útil
2.- cálculo de la depreciación acumulada
Σdepreciación anual
3.- cálculo del valor del automóvil en cada año.
VA= Coste – depreciación acumulada en cada año
21. Muestra de la Salida Solicitada:
Año Depreciación Depreciación
Acumulada
Valor
Anual
2011 28,000 28,000 152,000
2012 28,000 56,000 124,000
2013 28,000 84,000 96,000
2014 28,000 112,000 68,000
2015 28,000 140,000 40,000
2016 28,000 168,000 12,000