ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.
-
Upload
maria-jose-herrero-campos -
Category
Documents
-
view
215 -
download
0
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/14.jpg)
Programación Convencional
![Page 15: ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/18.jpg)
Secuencia condiciónbucle
18
![Page 19: ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.co/reader036/viewer/2022081603/5665b4d21a28abb57c93f81d/html5/thumbnails/21.jpg)
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