Programación estructurada

Click here to load reader

  • date post

    27-Jun-2015
  • Category

    Documents

  • view

    445
  • download

    1

Embed Size (px)

Transcript of Programación estructurada

Programacin estructuradaDe Wikipedia, la enciclopedia libre Saltar a navegacin, bsqueda La programacin estructurada es una forma de escribir programas de ordenador (programacin de computadora) de manera clara. Para ello utiliza nicamente tres estructuras: secuencia, seleccin e iteracin; siendo innecesario el uso de la instruccin o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o mltiples RETURN). Hoy en da las aplicaciones informticas son mucho ms ambiciosas que las necesidades de programacin existentes en los aos 1960, principalmente debido a las aplicaciones grficas, por lo que las tcnicas de programacin estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas tcnicas, tales como la programacin orientada a objetos y el desarrollo de entornos de programacin que facilitan la programacin de grandes aplicaciones.

Contenido[ocultar]

1 Orgenes de la programacin estructurada

1.1 Estructura secuencial 1.2 Estructura selectiva o de seleccin 1.3 Estructura iterativa 1.4 Anidamiento

2 Ventajas de la programacin estructurada 3 Inconvenientes de la programacin estructurada 4 Bibliografia 5 Vase tambin 6 Enlaces externos

[editar] Orgenes de la programacin estructuradaA finales de los aos 1960 surgi una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que adems estaban escritos de manera que facilitaba su comprensin posterior. El teorema del programa estructurado, demostrado por Bhm-Jacopini, demuestra que todo programa puede escribirse utilizando nicamente las tres instrucciones de control siguientes: Secuencia Instruccin condicional. Iteracin (bucle de instrucciones) con condicin al principio.

Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programacin tienen un mayor repertorio de estructuras de control, stas pueden ser construidas mediante las tres bsicas.

[editar] Estructura secuencial

Una estructura de programa es secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instruccin no se ejecuta hasta que finaliza la anterior. Ejemplo:INPUT x INPUT y auxiliar= x x= y y= auxiliar PRINT x PRINT y

Esta secuencia de instrucciones permuta los valores de x e y, con ayuda de una variable auxiliar, intermedia. 1 Guardamos una copia del valor de x en auxiliar. 2 Guardamos el valor de y en x, se pierde el valor anterior de x pero no importa porque tenemos una copia en auxiliar. 3 Guardamos en y el valor de auxiliar, que es el valor inicial de x. El resultado es el intercambio de los valores de x e y, en tres operaciones secuenciales.

[editar] Estructura selectiva o de seleccinLa estructura selectiva permite la realizacin de una instruccin u otra segn un criterio, solo una de estas instrucciones se ejecutara. Ejemplo:IF a > b THEN PRINT a ; " es mayor que " ; b ELSE PRINT a ; " no es mayor que " ; b END IF

Esta instruccin selectiva puede presentar dos mensajes, uno a es mayor que b, y el otro a no es mayor que b, solo uno de ellos ser presentado, segn el resultado de la comparacin de a y b, si el resultado de a > b es cierto, se presenta el primer mensaje, si es falso el segundo, las palabras IF, THEN, ELSE, END IF; son propias de la instruccin (palabra reservadas) que tienen un significado en el lenguaje, sirven de separadores, y el usuario no debe utilizarlas salvo para este fin.

IF seala el comienzo de la instruccin condicional, y se espera que despus est la condicin de control de la instruccin. THEN seala el fin de la condicin, y despus estar la instruccin a realizar si la condicin es cierta. ELSE separa la instruccin que se ejecutar si la condicin es cierta de la que se ejecutar si es falsa. END IF indica que la instruccin condicional finaliza y el programa seguir su curso.THEN a ; " es mayor que " ; b < b THEN a ; " es menor que " ; b a ; " es igual que " ; b

Ampliemos un poco el ejemplo anterior:IF a > b PRINT ELSEIF a PRINT ELSE PRINT

END IF

Este ejemplo nos permite considerar situaciones en las que tenemos ms de dos alternativas. En este caso hemos considerado tres, pero hay situaciones en las que deben considerarse ms casos y para ellos se puede repetir las veces que queramos la parte ELSEIF.

[editar] Estructura iterativaUn bucle iterativo o iteracin de una secuencia de instrucciones, hace que se repitan mientras se cumpla una condicin, en un principio el nmero de iteraciones no tiene porque estar determinado. Ejemplo:a= 0 b= 7 WHILE b > a DO PRINT a a= a + 1 WEND

Esta instruccin tiene tres palabras reservadas WHILE, DO y WEND.

WHILE: seala el comienzo del bucle y despus de esta palabra se espera la condicin de repeticin, si la condicin es cierta se pasa al cuerpo del bucle, si no al final de la instruccin mientras. DO: seala el final de la condicin, lo que est despus ser el cuerpo del bucle. WEND: seala el final del cuerpo del bucle y de la instruccin WHILE.

El bucle mientras, se repite mientras la condicin sea cierta, esta condicin se comprueba al principio por lo que el cuerpo del bucle puede que no se ejecute nunca, cuando la condicin es falsa en un principio, o que se repita tantas veces como sea necesario, mientras la condicin sea cierta. En el ejemplo tenemos dos variables a y b que al iniciarse el bucle tienen los valores a=0 y b=7. La condicin del bucle es b > a. Cuando a=0 y b=7. la condicin es cierta, en el cuerpo del bucle se escribe el valor de a en pantalla y se incrementa a en una unidad. Entonces a=1 y b=7. ... ... Cuando a=6 y b=7. la condicin es cierta, se escribe el valor de a en pantalla y se incrementa en una unidad. Resultando que a=7 y b=7. Entonces la condicin es falsa y la instruccin WHILE finaliza. La salida por pantalla de este ejemplo seria 0 1 2 3 4 5 6

[editar] AnidamientoEl cuerpo de cualquier estructura puede ser una instruccin simple u otra estructura, que a su vez puede anidar a otra. Ejemplo:IF a > b THEN auxiliar= a a= b b= auxiliar

ELSE REM nada END IF PRINT a ; b

[editar] Ventajas de la programacin estructurada1. Los programas son ms fciles de entender, ya que pueden ser ledos de forma secuencial, sin necesidad de hacer seguimiento a saltos de lnea (GOTO) dentro de los bloques de cdigo para entender la lgica. 2. La estructura del programa es clara, puesto que las instrucciones estn ms ligadas o relacionadas entre s. 3. Reduccin del esfuerzo en las pruebas. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a la estructura ms visible, por lo que los errores se pueden detectar y corregir ms fcilmente. 4. Reduccin de los costos de mantenimiento de los programas. 5. Programas ms sencillos y ms rpidos (ya que es ms fcil su optimizacin). 6. Los bloques de cdigo son auto explicativos, lo que facilita la documentacin. 7. Los GOTO se reservan para construir las instrucciones bsicas. Aunque no se usan de forma directa, por estar prohibida su utilizacin, estn incluidas implcitamente en las instrucciones de seleccin e iteracin. 8. Un programa escrito de acuerdo a estos principios no solamente tendr una mejor estructura sino tambin una excelente presentacin. La programacin estructurada ofrece estos beneficios, pero no se la debe considerar como una panacea ya que el desarrollo de programas es, principalmente, una tarea de dedicacin, esfuerzo y creatividad.

[editar] Inconvenientes de la programacin estructuradaEl principal inconveniente de este mtodo de programacin es que se obtiene un nico bloque de programa, que cuando se hace demasiado grande puede resultar problemtico su manejo; esto se resuelve empleando la programacin modular, definiendo mdulos interdependientes programados y compilados por separado (en realidad esto no es necesario, pero es recomendable para su mantenimiento y funcionalidad). En realidad, cuando se programa hoy en da (inicios del siglo XXI) se suelen utilizar, tanto las tcnicas de programacin estructurada como las de programacin modular, de forma conjunta y por lo tanto es posible que cuando uno haga referencia a la programacin estructurada est considerando tambin las tcnicas de modularizacin. Un mtodo un poco ms sofisticado es la programacin por capas, en la que los mdulos tienen una estructura jerrquica en la que se pueden definir funciones dentro de funciones o de procedimientos.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA

INTRODUCCION

La computadoraautomtica debe su derecho a existir, su utilidad, precisamente a su capacidad de efectuar vastos clculos que no pueden realizar los seres humanos. Deseamos que la computadoraefecte lo que nunca podramos hacer nosotros, y la potencia de las maquinas actuales es tal, que inclusive los clculos pequeos, por su tamao, escapan al poderde nuestra imaginacin limitada. Sin embargo debemos organizar el calculo de manera tal que nuestros limitados poderes sean suficientes para asegurar que se establecer el efecto deseado. Esta organizacin incluye la composicin de los programas. Los avances en la tecnologa siempre van parejos con progresos en los lenguajes de programacin y con nuevas ayudas para simplificar el uso del computador, con lo cual un numero mayor de usuarios se beneficia del. Pero la necesidad de hacer programas para resolver problemas especficos quizs nunca desaparecer. CONCEPTO DE PROGRAMACION ESTRUCTURADA EL creciente empleo de los computadores ha conducido a buscar un abaratamiento del desarrollo des software, paralelo a la reduccin del costo del hardware obtenido gracias a los avances tecnolgicos. Los altos costos del mantenimientode las aplicaciones en produccin normal tambin han urgido la necesidad de mejorar la productividad del personalde programacin. En la dcada del sesenta salieron a la luz publica los principiosde lo que ms tarde se llamo Programacin E