Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Programacion Estructurada

No description
by

Ricardo Gaytan

on 19 January 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Programacion Estructurada

Introducción a la Programación Estructurada
Ing. Ricardo Gaytán ¿Que es un Programa? El concepto de programa (término derivado del latín programma que, a su vez, tiene su origen en un vocablo griego) posee múltiples acepciones. Puede ser entendido como el anticipo de lo que se planea realizar en algún ámbito o circunstancia; el temario que se ofrece para un discurso; la presentación y organización de las materias de un cierto curso o asignatura; y la descripción de las características o etapas en que se organizan determinados actos o espectáculos artísticos. Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital. ¿Que es Programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal ¿Para que sirve Programar? Programar computadoras es indispensable en cualquier área de la ingeniería, ya que diferentes problemas que se puedan presentar tardan tiempo resolverlos de manera manual. La computadora resuelve problemas de acuerdo como se le haya programado de manera rápida. Programación Estructurada El termino programación estructurada se introdujo en la segunda mitad de la década de los sesenta. La programación estructurada significa escribir un programa de acuerdo a las siguientes reglas:
El programa tiene un diseño modular. Los módulos son diseñados de modo descendente. Cada módulo se codifica utilizando las tres estructuras de control básicas: secuencia, selección y repetición. Si se está familiarizado con lenguajes como BASIC, Pascal, FORTRAN o C, la programación estructurada significa también programación sin GOTO (C no requiere el uso de la sentencia GOTO). El GOTO es una instrucción de salto incondicional que permite transferir el control de ejecución directamente a otro punto de un mismo programa, el cual debe estar rotulado con un identificador especial llamado etiqueta. El término programación estructurada se refiere a un conjunto de técnicas que han ido evolucionando desde los primeros trabajos de Edgar Dijkstra. Estas técnicas aumentan considerablemente la productividad del programa reduciendo en elevado grado el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los programas y, por consiguiente, reducen los errores; hace los programas más fáciles de escribir, verificar, leer y mantener. Los programas deben estar dotados de una estructura. Secuencia

Selección

Iteración o Repetitivas Significa que las instrucciones de un programa se ejecutan una después de otra, ambas con una sola entrada y una única salida. Equivale a la instrucción IF de todos los lenguajes de programación, también conocida como la estructura SI-CIERTO-FALSO, plantea la selección entre dos alternativas con base en el resultado de la evaluación de una condición o predicado. Repetición de una operación mientras se cumple una condición. Corresponde a la ejecución repetida de una instrucción mientras que se cumple una determinada condición. A partir de C y Pascal; se dividen los lenguajes en estructurados en contraposición a los lenguajes no estructurados como el Basic cuya codificación se basaba en líneas de programación, permitiendo al programador "saltar" de una línea de instrucción a otra, haciendo que el código fuera algunas veces inentendible y difícil de modificar. La programación estructurada es el conjunto de técnicas que incorporan:

Recursos abstractos
Diseño descendente (top-down)
Estructuras básicas. La programación estructurada se auxilia de los recursos abstractos en lugar de los recursos concretos de que dispone un determinado lenguaje de programación. Descomponer un programa en términos de recursos abstractos -según Dijkstra- consiste en descomponer una determinada acción compleja en términos de un número de acciones más simples capaces de ejecutarlas o que constituyan instrucciones de computadoras disponibles. RECURSOS ABSTRACTOS Consiste en el proceso de realización de los diferentes pasos hasta encontrar la solución de un problema Diseño Descendente. El diseño descendente (top-down) es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se relacionasen unas con otras mediante entradas y salidas de información. Es decir, se descompone el problema en etapas o estructuras jerárquicas. Las estructuras de control de un lenguaje de programación son métodos de especificar el orden en que las instrucciones de un algoritmo se ejecutarán. El orden de ejecución de las sentencias (lenguaje) o instrucciones determinan el flujo de control. Estas estructuras de control son, por consiguiente, fundamentales en los lenguajes de programación y en los diseños de algoritmos especialmente los pseudocódigos. Las tres estructuras de control básico son: secuencia, selección, repetición. ESTRUCTURAS DE CONTROL Ventajas de la Programación Estructurada: Programas sencillos y rápidos.
Reducción de costos de mantenimiento.
Se facilita el seguimiento de las fallas.
Mejor documentación interna.
Los programas son más fáciles de entender. La documentación interna de un programa son los comentarios que el programador puede escribir en el código fuente de un programa y que el compilador no tendrá en cuenta, ya que, no son instrucciones. Dijkstra estudió física teórica en la Universidad de Leiden. Entre sus contribuciones a las ciencias de la computación está la solución del problema del camino más corto, también conocido como el algoritmo de Dijkstra Era conocido por su baja opinión de la sentencia GOTO en programación, que culminó en 1968 con el artículo Go To Statement Considered Harmful (La sentencia Goto considerada perjudicial), visto como un paso importante hacia el rechazo de la expresión GOTO y de su eficaz reemplazo por estructuras de control tales como el bucle while. Dijkstra murió el 6 de agosto de 2002 después de una larga lucha contra el cáncer. Para realizar un proceso en la computadora se le debe suministrar al procesador un algoritmo adecuado, por ejemplo al cocinero debe dársele una receta, al pianista una partitura, y así sucesivamente considerando al cocinero y al pianista como procesadores.
En la computadora el algoritmo ha de expresarse de una forma que recibe el nombre de programa, un programa se escribe en un lenguaje de programación, y a la actividad de expresar un algoritmo en forma de programa se llama Programación. Algoritmo Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. Esas instrucciones son las operaciones que debe realizar la computadora. Características de los algoritmos: Preciso. Definirse de manera rigurosa, sin dar lugar a ambigüedades.
Definido. Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado.
Finito. Debe terminar en algún momento.
Debe tener cero o más elementos de entrada, es decir, debe tener por lo menos una instrucción que ordene averiguar el dato o los datos.
Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones. Los datos de entrada pueden ser ninguno, pero los de la salida deben ser alguno o algunos.
Se concluye que un algoritmo debe ser suficiente y breve, es decir, no exceder en las instrucciones ni quedarse corto. Entre dos algoritmos que lleven a un mismo objetivo, siempre será mejor el más corto. Los métodos usuales para representar un Algoritmo son: Diagramas de FLUJO
PseudoCódigo
Diagrama N-S En conclusión se puede decir que la Programación Estructurada nació con la intención de facilitar al programador el proceso de crear un programa mediante estructuras lógicas y comprensibles para una persona. El principal inconveniente de este método de programación es que se obtiene un único bloque de programa, que cuando se hace demasiado grande puede resultar problemático el manejo de su código fuente; esto se resuelve empleando conjuntamente la técnica de programación modular, es decir, si es necesario, se definen módulos independientes, programados y compilados por separado (en realidad esto no es imprescindible, pero sí es recomendable para su mejor mantenimiento y depuración).
En la programación actual (inicios del siglo XXI) se utilizan normalmente, tanto las técnicas de programación estructurada como las de programación modular, de forma conjunta y por lo tanto es muy común que cuando se hace referencia a la programación estructurada muchos entiendan que ella incluye también las técnicas modulares, estrictamente no es así.
Un método un poco más sofisticado es la programación por capas, en la que los módulos tienen una estructura jerárquica en la que se pueden definir funciones dentro de funciones o de procedimientos.
Si bien las metodologías en cuestión ya son de antigua data ("en plazos informáticos"), aún en la actualidad la conjunción "Programación estructurada" y "programación modular" es una de la más utilizadas, juntamente con un más moderno paradigma, en pleno auge, completamente distinto, llamado programación orientada a objetos.
Full transcript