Programacin procedimental y estructurada ING JORGE OSPINA CUN

  • Slides: 21
Download presentation
Programación procedimental y estructurada ING. JORGE OSPINA CUN, FEBRERO DE 2013

Programación procedimental y estructurada ING. JORGE OSPINA CUN, FEBRERO DE 2013

El Algoritmo y la resolución de problemas Entrada Descripción y análisis del problema Proceso

El Algoritmo y la resolución de problemas Entrada Descripción y análisis del problema Proceso Diseño del algoritmo Salida Programa en un lenguaje de programación

Diseño de un Algoritmo Diseño del algoritmo Diseño descendente Refinamiento Representación gráfica

Diseño de un Algoritmo Diseño del algoritmo Diseño descendente Refinamiento Representación gráfica

Diseño descendente Top Down Problema Subproblema Subproblema Subproblema . . . Subproblema

Diseño descendente Top Down Problema Subproblema Subproblema Subproblema . . . Subproblema

Ejemplo de diseño descendente Cajero automático Lectura y validación de clave Selección de tipo

Ejemplo de diseño descendente Cajero automático Lectura y validación de clave Selección de tipo de cuenta Consulta de saldo Retiro de efectivo Selección de tipo de operación Traspaso entre cuentas propias . . . Finalizar Pago de servicios

Refinamiento del algoritmo ü Algoritmo para el cálculo de la media de la edad

Refinamiento del algoritmo ü Algoritmo para el cálculo de la media de la edad y peso de un grupo de estudiantes 1. Inicio 2. Leer cantidad de estudiantes 3. Leer edad y peso de los estudiantes 4. Calcular las medias de la edad y del peso 5. Escribir resultados

Versión refinada del algoritmo ü Algoritmo para el cálculo de la media de la

Versión refinada del algoritmo ü Algoritmo para el cálculo de la media de la edad y peso de un grupo de estudiantes 1. Inicio 2. Leer cantidad de estudiantes (N) 3. NE ← 0, SP ← 0 4. MIENTRAS NE < N 4. 1 Leer edad y peso del estudiante (E, P) 4. 2 SE ← SE + E 4. 3 SP ← SP + P 4. 4 Incrementar el contador: NE ← NE + 1 FIN-MIENTRAS

Diseño de algoritmos Especificación y representación gráfica del algoritmo üPseudocódigo üDiagramas de flujo üDiagramas

Diseño de algoritmos Especificación y representación gráfica del algoritmo üPseudocódigo üDiagramas de flujo üDiagramas de Nassi-Schneiderman (N-S)

Estrategias de construcción de programas Descripción y análisis del problema Diseño del algoritmo Codificación

Estrategias de construcción de programas Descripción y análisis del problema Diseño del algoritmo Codificación del programa Ejecución del programa Validación del programa

Consideraciones al diseñar programas ü Correcto: Producir resultados requeridos. ü Legible: Debe ser entendido

Consideraciones al diseñar programas ü Correcto: Producir resultados requeridos. ü Legible: Debe ser entendido por cualquier programador. ü Modificable; Su estructura debe permitir modificaciones. ü Depurable: Debe ser fácil la localización y corrección de errores.

Previsiones futuras en los programas. ü Prever el aumento de datos y estructuras. ü

Previsiones futuras en los programas. ü Prever el aumento de datos y estructuras. ü Cambios en la organización de la información. ü Cambios debido preferentemente a la modernización de los documentos y sus formatos. ü Sustitución, ampliación o reducción en el sistema de procesos de datos.

Funciones y Procedimientos ü una función y un procedimiento hacen casi lo mismo (ambos

Funciones y Procedimientos ü una función y un procedimiento hacen casi lo mismo (ambos aceptan parámetros). ü Ejecutan un bloque de código para que hagan una operación específica. ü Pero la diferencia está en qué cuando se llama a un procedimiento, éste ejecuta la porción de código y nada más, pero cuando se llama una función, ésta ejecuta su bloque de código y además arroja un valor

Programación Convencional ü Procedimientos, también conocidos como rutinas, subrutinas, métodos o funciones simplemente contienen

Programación Convencional ü Procedimientos, también conocidos como rutinas, subrutinas, métodos o funciones simplemente contienen series de pasos computacionales. ü Cualquier procedimiento puede ser llamado en cualquier punto durante la ejecución de un programa, incluyendo otros procedimientos o en él mismo

Programación Convencional

Programación Convencional

Desventajas de la Programación convencional ü Los programas suelen ser excesivamente rígidos. ü Los

Desventajas de la Programación convencional ü Los programas suelen ser excesivamente rígidos. ü Los programadores gastan la mayoría de su tiempo corrigiendo sus errores. ü Los programadores prefieren escribir sus módulos. ü Cada programador tiene sus propios programas ü Elevado costo de actualización. ü Deficiencias en la documentación.

Programación estructurada Técnica de construcción de programas que utilizan al máximo los recursos del

Programación estructurada Técnica de construcción de programas que utilizan al máximo los recursos del lenguaje, limita el conjunto de estructuras aplicables a leer y presenta una serie de reglas que coordinan adecuadamente el desarrollo de las diferentes fases de la programación. üEstructuras básicas de control. üRecursos abstractos üDiseño descendente

Programación estructurada ü Estructuras básicas de control. Tiene exactamente una entrada y una salida

Programación estructurada ü Estructuras básicas de control. Tiene exactamente una entrada y una salida para control del programa. Existen caminos seguibles desde la entrada hasta la salida que conducen por cada parte del programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan

18 Secuencia condición bucle

18 Secuencia condición bucle

Programación estructurada ü Recursos abstractos no tiene en cuenta la máquina que lo va

Programación estructurada ü Recursos abstractos no tiene en cuenta la máquina que lo va a resolver así como el lenguaje de programación que se va a utilizar. ü Metodología Descendente Consiste en establecer una serie de niveles de menor o mayor complejidad que den solución al problema. Un programa estructurado tiene una representación en forma de árbol. El diseño se basa en la realización de diferentes niveles.

Ventajas de la programación estructurada. ü Los programas son más fáciles de entender ü

Ventajas de la programación estructurada. ü Los programas son más fáciles de entender ü Reducción del esfuerzo en las pruebas. ü Reducción de los costos de mantenimiento. ü Programas más sencillos y más rápidos ü Aumento de la productividad del programador ü Los programas quedan mejor documentados internamente.

Bibliografía y/o Cibergrafía ü Fundamentos de programación, Algoritmos y Estructura de datos y Objetos,

Bibliografía y/o Cibergrafía ü Fundamentos de programación, Algoritmos y Estructura de datos y Objetos, Joyanes, Luis, Editorial Mc. Graw Hill, 2003. ü Metodología de la programación estructurada, Joyanes, Luis, Editorial Mc. Graw Hill, 1993. ü http: //www. unistmo. edu. mx/~daniel. garcia/ ü Dr. Ana Lilia Laureano-Cruces Departamento de Sistemas UAM, Unidad Azcapotzalco