Download programación procedimental

Document related concepts

Programación funcional wikipedia , lookup

Logo (lenguaje de programación) wikipedia , lookup

Little man computer wikipedia , lookup

Rust (lenguaje de programación) wikipedia , lookup

Miranda (lenguaje de programación) wikipedia , lookup

Transcript
PROGRAMACIÓN PROCEDIMENTAL
Y ESTRUCTURADA
JIMMY APARICIO
PROGRAMACIÓN PROCEDIMENTAL
Con la programación procedimental se pueden combinar las secuencias de
instrucciones repetibles en un solo lugar. Una llamada de procedimiento se utiliza
para invocar al procedimiento. Después de que la secuencia es procesada, el flujo
de control procede exactamente después de la posición donde la llamada fue
hecha
Para resumir: se tiene ahora un programa único que se divide en pequeñas piezas
llamadas procedimientos. Para posibilitar el uso de procedimientos generales o
grupos de procedimientos también en otros programas, aquéllos deben estar
disponibles en forma separada. Por esa razón, la programación modular permite el
agrupamiento de procedimientos dentro de módulos.
PROGRAMACIÓN PROCEDIMENTAL
La programación procedimental consiste en reducir los problemas a trozos más
pequeños, funciones y procedimientos, y si es necesario agrupar estos trozos más
pequeños con elementos en común en módulos.
Este modelo de programación, que parece muy intuitivo y necesario para
programadores que no han visto la programación orientada a objetos tiene varios
inconvenientes. Para empezar, se basa en un modelo demasiado distinto a la forma
humana de resolver los problemas. El ser humano percibe las cosas como elementos
que suelen pertenecer a uno o más conjuntos de otros elementos y aplicar los
conocimientos que tiene de estos conjuntos sobre cada elemento. Así, es evidente
de que un ratón y un elefante son seres vivos y como seres vivos ambos nacen,
crecen, se reproducen y mueren.
En otro ejemplo, un alambre no es un ser vivo pero se sabe que es metálico y como
elemento metálico se sabe que conduce bien la electricidad y el calor. Esta asociación
de ideas a conjuntos no es fácil de implementar en la programación procedimental ya
que si bien un ser vivo es algo más amplio que el concepto de elefante no es posible
implementar un sistema que; dado un ser vivo cualquiera pueda simular el
nacimiento, crecimiento, etc. básicamente porque cada ser vivo lo hace a su manera.
PROGRAMACIÓN PROCEDIMENTAL
Un programa en un lenguaje procedimental es un conjunto de instrucciones o
sentencias. Lenguajes de programación como C, Pascal, FORTRAN, y otros similares,
se conocen como lenguajes procedimentales (por procedimientos). Es decir, cada
sentencia o instrucción indica al compilador que realice alguna tarea: obtener una
entrada, producir una salida, sumar tres números, dividir por cinco, etc. En el caso de
pequeños programas, estos principios de organización (denominados paradigma) se
demuestran eficientes. El programador sólo ha de crear esta lista de instrucciones en un
lenguaje de programación, compilar en la computadora y ésta, a su vez, ejecuta las
instrucciones.
Cuando los programas se vuelven más grandes, la lista de instrucciones aumenta
considerablemente, de modo tal que el programador tiene muchas dificultades para
controlar ese gran número de instrucciones. Para resolver este problema los programas
se descomponen en unidades más pequeñas que adoptan el nombre de funciones
(procedimientos, subprogramas o subrutinas en otros lenguajes de programación). De
este modo un programa orientado a procedimientos se divide en funciones, cada una de
las cuales tiene un propósito bien definido y resuelve una tarea concreta, y se diseña
una interfaz claramente definida (el prototipo o cabecera de la función) para su
comunicación con otras funciones.
PROGRAMACIÓN PROCEDIMENTAL
• Es un paradigma de programación basado en el concepto
de “llamado de procedimientos”.
• 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 PROCEDIMENTAL
• Ejemplos:
C
Basic
COBOL
Matlab
Pascal
PROGRAMACIÓN ESTRUCTURADA
La programación estructurada consiste en escribir un programa de acuerdo con unas
reglas y un conjunto de técnicas. Las reglas son: el programa tiene un diseño modular,
los módulos son diseñados descendentemente, cada módulo de programa se codifica
usando tres estructuras de control (secuencia, selección e iteración); es el conjunto de
técnicas que han de incorporar: recursos abstractos; diseño descendente y estructuras
básicas de control.
Descomponer un programa en términos de recursos abstractos consiste en
descomponer acciones complejas en términos de acciones más simples capaces de ser
ejecutadas en una computadora.
El diseño descendente se encarga de resolver un problema realizando una
descomposición en otros más sencillos mediante módulos jerárquicos. El resultado de
esta jerarquía de módulos es que cada módulo se refina por los de nivel más bajo que
resuelven problemas más pequeños y contienen más detalles sobre los mismos.
Las estructuras básicas de control sirven para especificar el orden en que se ejecutarán
las distintas instrucciones de un algoritmo. Este orden de ejecución determina el flujo de
control del programa.
PROGRAMACIÓN ESTRUCTURADA
La programación estructurada es un estilo con el cual el se busca que el
programador elabore programas sencillos y fáciles de entender. Para ello, la
programación estructurada hace uso de tres estructuras básicas de control.
Éstas son:
Estructura Secuencial
Estructura Selectiva
Estructura Repetitiva (ó Iterativa)
La programación estructurada se basa un teorema fundamental, el cual afirma que
cualquier programa, no importa el tipo de trabajo que ejecute, puede ser
elaborado utilizando únicamente las tres estructuras básicas (secuencia,
selección, iteración).
ESTRUCTURA SECUENCIAL
Indica que las instrucciones de un programa se ejecutan una después de la otra, en el
mismo orden en el cual aparecen en el programa. Se representa gráficamente como
una caja después de otra, ambas con una sola entrada y una única salida.
A
B
Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta
un módulo o programa completo, siempre y cuando éstos también sean programas
apropiados.
ESTRUCTURA SELECTIVA
También conocida como la estructura SI-VERDADERO-FALSO, plantea la selección
entre dos alternativas con base en el resultado de la evaluación de una condición;
equivale a la instrucción IF de todos los lenguajes de programación y se representa
gráficamente de la siguiente manera:
En el diagrama de flujo anterior, CAL es una condición que se evalúa; aprobado es la
acción que se ejecuta cuando la evaluación de esta condición resulta verdadera y
reprobado es la acción ejecutada cuando el resultado de la evaluación indica falso. La
estructura también tiene una sola entrada y una sola salida.
ESTRUCTURA REPETITIVA (ITERATIVA)
Corresponde a la ejecución repetida de una instrucción mientras que se cumple una
determinada condición. El diagrama de flujo ejemplo para esta estructura es el
siguiente:
También tiene una sola entrada y una sola salida; igualmente A puede ser cualquier
estructura básica o conjunto de estructuras.
VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA
Con la programación estructurada, elaborar programas de computadora sigue siendo
una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con
este estilo se pueden obtener las siguientes ventajas:
1. Los programas son más fáciles de entender. Un programa estructurado puede ser
leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a
otro en la lógica, lo cual es típico de otros estilos de programación.
2. Se logra una reducción del esfuerzo en las pruebas. El seguimiento de las fallas o
depuración (debugging) se facilita debido a la lógica más visible, de tal forma que los
errores se pueden detectar y corregir más fácilmente.
3. Se crean programas más sencillos y más rápidos.