carrera: ingenieria civil uni-ruacs asignatura: introducción a la programación expositor: msc....

21
CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

Upload: ynes-natividad

Post on 04-Mar-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

CARRERA: INGENIERIA CIVIL UNI-RUACS

Asignatura: Introducción a la Programación

Expositor: MSc. Lic. Marcos Hernández Zamora

Page 2: 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.

Page 3: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 4: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

Resolución de problemas con comp. y herramientas de programación

Page 5: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 6: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 7: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 8: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

Característica de un algoritmo Los algoritmos se pueden expresar por

fórmulas, diagramas de flujo, diagramas N-S y pseudocódigo.

Page 9: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 10: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 11: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 12: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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?

Page 13: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 14: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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)

Page 15: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 16: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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.

Page 17: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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

Page 18: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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

Page 19: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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

Page 20: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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

Page 21: CARRERA: INGENIERIA CIVIL UNI-RUACS Asignatura: Introducción a la Programación Expositor: MSc. Lic. Marcos Hernández Zamora

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