Post on 04-Mar-2015
CARRERA: INGENIERIA CIVIL UNI-RUACS
Asignatura: Introducción a la Programación
Expositor: MSc. Lic. Marcos Hernández Zamora
UNI-RUACSObjetivosConocer 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.
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.
Resolución de problemas con comp. y herramientas de programación
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.
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.
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.
Característica de un algoritmo Los algoritmos se pueden expresar por
fórmulas, diagramas de flujo, diagramas N-S y pseudocódigo.
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.
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.
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.
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?
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.
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)
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.
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.
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
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
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
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
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