Está en la página 1de 7

TEOREMA DEL PROGRAMA ESTRUCTURADO.

Es un resultado en la teora de lenguajes de programacin. Establece que toda funcin computable puede ser implementada en un lenguaje de programacin que combine slo tres estructuras lgicas. Esas tres formas (tambin llamadas estructuras de control) especficamente son: 1. Secuencia: ejecucin de una instruccin tras otra. 2. Seleccin: ejecucin de una de dos instrucciones (o conjuntos), segn el valor de una variable booleana. 3. Iteracin: ejecucin de una instruccin (o conjunto) mientras una variable booleana sea 'verdadera'. Esta estructura lgica tambin se conoce como ciclo o bucle.

ESTRUCTURAS DE CONTROL.

En lenguajes de programacin, las estructuras de control permiten modificar el flujo de ejecucin de las instrucciones de un programa. Con las estructuras de control se puede:

De acuerdo a una condicin, ejecutar un grupo u otro de sentencias (If-Then-Else y Select-Case)

Ejecutar un grupo de sentencias mientras exista una condicin (DoWhile)

Ejecutar un grupo de sentencias hasta que exista una condicin (DoUntil)

Ejecutar un grupo de sentencias un nmero determinado de veces (For-Next)

Etc

Todas las estructuras de control tienen un nico punto de entrada y un nico punto de salida. Las estructuras de control se puede clasificar en :

secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programacin se rija por los principios de la programacin estructurada. Los lenguajes de programacin modernos tienen estructuras de control similares. Bsicamente lo que vara entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura.

TIPOS DE ESTRUCTURA DE CONTROL.

Algunas estructuras de control en el lenguaje Java

Antecedentes. El trmino "estructuras de control", viene del campo de la ciencia computacional. Cuando se presentan implementaciones de Java para las estructuras de control, nos referimos a ellas con la terminologa de la Especificacin del lenguaje Java, que se refiera a ella como instrucciones.

EJECUCIN SECUENCIAL.

Pero por lo general las instrucciones se ejecutan una despus de la otra, en el orden en que estn escritas, es decir, en secuencia. Este proceso se conoce como ejecucin secuencial.

TRANSFERENCIA DE CONTROL.

En Java, como en otros lenguajes de programacin por excelencia como C y/o C++, el programador puede especificar que las siguientes instrucciones a ejecutarse tal vez no sea la siguiente en secuencia. Esto se

conoce como transferencia de control. Hay que tener en cuenta que la instruccin goto es una palabra reservada pero no se utiliza ni se recomienda. Un programa bien estructurado no necesita de esta instruccin. Si sabes programar no utilizaras goto. ESTRUCTURA DE DECISIN. Cuando el programador desea especificar dos caminos alternativos en un algoritmo se deben utilizar estructuras de decisin. Una estructura de decisin dirige el flujo de un programa en una cierta direccin, de entre dos posibles, en funcin de un valor booleano. En lenguajes de programacin estructurados la estructura condicional es la IF / ELSE. La clusula ELSE en esta estructura es optativa. La forma en que trabaja esta sentencia resulta casi evidente a partir de la lgica de la lengua inglesa: Si (IF) la expresin booleana resulta cierta (TRUE), entonces la sentencia se ejecuta. Si la expresin booleana resulta falsa (FALSE), el control pasa a la siguiente (en orden descendente) instruccin del programa. Estructura Sencilla: Forma general de uso: Si (Condicin) entonces Ejecuta bloque de instrucciones uno Si_no Ejecuta bloque de instrucciones dos Fin si
Tarea 2

Si_No
Condicin

Entonces

Tarea 1

Una estructura de decisin por sencilla o compleja que sea debe tener solo una entrada y una salida. (Vea estructura de diagrama anterior). Un bloque de instrucciones (Denominado tarea 1 y 2 en el diagrama anterior) puede ser un conjunto de estructuras de cualquier clase (asignacin, Decisin, Cclicas o de seleccin mltiple) que se ejecutan unas tras de otras. El bloque de instrucciones tarea1 se ejecuta en caso de que la condicin que se coloque sea verdadera, En caso de ser falsa la evaluacin de la condicin se ejecuta el bloque de instrucciones tarea2. Operadores de Relacin: Una condicin tiene que ver directamente con una pregunta. La pregunta se forma mnimo con dos operandos y un operador de relacin. Para tales efectos los operadores de relacin utilizados en los lenguajes son: Pascal Mayor Menor Mayor o igual Menor o igual Igual Diferente > < >= <= = <> Lenguaje C > < >= <= == !=

As, con base en los operadores de relacin descritos, algunos ejemplos de preguntas o condiciones son:

Pascal a>b b>c a=4 b<>c

Lenguaje C a>b b>c a==4 b!=c A es mayor que B? B es mayor que C? A es igual a 4? B es diferente de C?

Tambin se pueden desarrollar condiciones con varias preguntas. Para el efecto anterior es necesario plantear las dos preguntas tal como se indic y relacionarlas con operadores lgicos. Operadores Lgicos: Los operadores lgicos utilizados en los lenguajes estructurados son: Pascal y No and or not Lenguaje C && || !=

Con base en lo anteriormente expuesto, las preguntas o condiciones compuestas podran quedar de la siguiente manera.
Pascal (a>b) and (b>c) Lenguaje C ((a>b)&&(b>c))

"A es mayor que B

B es mayor que C"

(a<b) or (b<c)

((a<b)11(b<c))

"A es menor que B y B es menor que C"

Para el lenguaje C Las condiciones es necesario que estn entre parntesis.

Estructuras de decisin anidadas:

Si_No Tarea 3

Condicin 1

Entonces Entonces
Condicin 2

Si_No

Tarea 2

Tarea 1

Una estructura de decisin puede estar anidada dentro de otra estructura de decisin. Hay que tener en cuenta que el anidamiento sea total.

El inicio y el final de la estructura anidada deben quedar totalmente dentro del inicio y el final de la estructura que permite dicho anidamiento. Se debe mantener el concepto que una estructura de decisin debe tener una sola entrada y una sola salida tanto para la estructura que anida como para la estructura anidada. En el diagrama anterior se puede observar una estructura anidada del lado verdadero de la condicin de la primera decisin. Seudo lenguaje de la estructura de decisin anidada. Si (Condicin 1) entonces Si (Condicin 2) entonces Ejecuta bloque de instrucciones tarea 1 Si_no Ejecuta bloque de instrucciones tarea 2 Fin_si Si_no Ejecuta bloque de instrucciones tarea 3 Fin si. En el anterior Seudo lenguaje se puede observar que el anidamiento es total o sea que el inicio de la condicin y el final estn totalmente encajados dentro del lado verdadero de la primera estructura.