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

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

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

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

ING. JORGE OSPINAC U N, F E B R E R O D E 2 0 1 3

Programación procedimental y

estructurada

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

El Algoritmo y la resolución de problemas

Descripción y

análisis del

problema

Diseño del

algoritmo

Programa en

un lenguaje

de program

ación

Entrada SalidaProceso

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

Diseño de un Algoritmo

Diseño del algoritmo

Diseño descenden

te Refinamie

nto

Representación gráfica

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

Diseño descendente Top Down

. . .

Problema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

Subproblema

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

Ejemplo de diseño descendente

Cajero automáti

co

Lectura y

validación de clave

Selección de tipo

de cuenta

Selección de tipo

de operació

n

Finalizar

Consulta de saldo

Traspaso entre

cuentas propias

Retiro de

efectivo

Pago de servicios

. . .

. . .

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

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

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

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, SE ← 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

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

Diseño de algoritmos

Especificación y representación gráfica del algoritmo

PseudocódigoDiagramas de flujoDiagramas de Nassi-Schneiderman (N-S)

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

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

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

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.

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

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.

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

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

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

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

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

Programación Convencional

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

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.

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

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 abstractosDiseño descendente

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

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

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

Secuencia condiciónbucle

18

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

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.

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

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.

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

Bibliografía y/o Cibergrafía

Fundamentos de programación, Algoritmos y Estructura de datos y Objetos, Joyanes, Luis, Editorial McGraw Hill, 2003.

Metodología de la programación estructurada, Joyanes, Luis, Editorial McGraw Hill, 1993.

http://www.unistmo.edu.mx/~daniel.garcia/

Dr. Ana Lilia Laureano-Cruces Departamento de Sistemas UAM, Unidad Azcapotzalco