Estructuras Basicas de la Programacion Imperativa

Imagen de cyfuss

Programación estructurada:

La programación estructura es una metodología de programación que trata fundamentalmente de construir programas que sean fácilmente comprensibles.

Esta metodología esta basada en la técnica de desarrollo de programas por refinamientos sucesivos.

La estructura de los programas imperativas se representan tradicionalmente mediante diagramas de flujo (flow-chart)

Secuencia

  • La estructura mas sencilla para emplear en la descomposición es utilizar una secuencia de acciones o partes que se ejecutan de forma sucesiva.
  • La estructura secuencial ya ha sido utilizada en los ejemplos realizados en los temas anteriores. Todos ellos han sido resueltos como una secuencia de sentencias elementales del lenguaje.

Selección

  • La estructura de selección consiste en ejecutar una acción u otra, dependiendo de una determinada condición que se analiza a la entrada de la estructura.
  • Solo tiene una única entrada y una única salida.

Iteración

  • Es la repetición de una acción mientras que se cumpla una determinada condición.
  • La estructura de iteración mas general es aquella en que la condición se analiza a la entrada de la estructura y antes de iniciar cada nueva repetición.
  • La estructura de iteración se denomina también Bucle.

Estructuras anidadas

  • Cualquier parte o acción del programa puede a su vez estar constituida por cualquiera de las estructuras descritas. Por tanto, el anidamiento entre ellas puede ser tan complejo como sea necesario.
  • Mediante la técnica de refinamientos sucesivos se definen inicialmente las estructuras mas externas del programa y en los pasos sucesivos se va detallando la estructura de cada acción compuesta.

Expresiones Condicionales

  • Para utilizar las estructuras de selección e iteración es necesario expresar las condiciones que controlan ambas estructuras.
    • Mayor que >
    • Menor que <
    • Igual a =
    • Mayor o igual que >=
    • Diferente a <> #
    • Menor o igual que <=
    • Conjunción (E1 y E2) AND &
    • Disyunción (E1 o E2) OR
    • Negación (no E1) NOT

Nivel de Prioridad da las distintas operaciones

Las operaciones se evaluan en el orden en que estan escritas en la expresion, de izquierda a derecha.

  1. Operador de Negación: NOT
  2. Operador Multiplicativo: {*} / DIV MOD AND &
  3. Operador Aditivo: + - OR
  4. Operador de Comparación: < > = >= <= <> #

Las reglas BNF

Expresión ::= Expresión_simple [Operador_comparador Expresión_simple]

Expresión_simple ::= [ + | - ] Termino {Operador_sumador Termino}

Termino ::= Factor { Operador_multiplicador Factor }

Factor ::= Identificador_de_Variable | Identificador_de_Constante | Valor_Constante | (Expresión) | NOT Factor

Operador_comparador ::= < | > | = | <= | >= | <> | #

Operador_sumador ::= + | - | OR

Operador_multiplicador ::= * | / | DIV | MOD | AND | &

Estructuras básicas en Modula-2
Secuencia

  • Secuencia_de_sentencias ::= Sentencia {; Sentencia}

Sentencia IF

  • Consiste en evaluar la expresión de Condición y a continuación ejecutar la acción A si se cumple la condición o la acción B si no se cumple.
  • Las palabras claves IF, THEN, ELSE, END separan las distintas partes de la sentencia
  • Sintaxis

    IF Condición THEN Secuencia_de_sentencias
    ELSIF Condición THEN Secuencia_de_sentencias
    ELSE Secuencia_de_sentencias]
    END;

Sentencia WHILE

  • Significa que mientras la expresión Condición resulta cierta, se ejecuta la acción de forma repetitiva.
  • Si la condición resulta falsa en la primera evaluación, la acción no se ejecuta nunca.
  • Sintaxis

    WHILE Condición DO
    Acción
    END

Sentencia FOR

  • La condición de la iteración se limita a comprobar si se ha alcanzado el limite correspondiente al número de repeticiones previstas.
  • Sintaxis:

    FOR Variable := Valor_inicial TO Valor_final
    [BY Valor_incremento] DO
    Secuencia_de_sentencias
    END;
  • Variable ::= Identificador
  • Valor_inicial ::= Expresión
  • Valor_final::= Expresión
  • Valor_incremento::= Expresión_constante


Posteado en

Enviar un comentario nuevo

Smileys
:);):(:D}:):P:O:?8):jawdrop::sick:
El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • Textual smileys will be replaced with graphical ones.

Más información sobre opciones de formato

Captcha
Esta pregunta es para probar que el que escribe el comentario es un humano
4 + 12 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.