programacion-estructurada-6-638

Estructuras Básicas de la Programación Imperativa

Básicas IF—THEN—ELSE Y WHILE

Particulares IF-ELSEIF-ELSE Y FOR

Programación estructurada

La programación estructurada es una metodología con la que construimos programas que son fácilmente reconocibles. Planteamos la operación global a realizar por el programa y la vamos descomponiendo en otras más sencillas.

Representación de la estructura de un programa

Representamos la estructura de los programas imperativos mediante los diagramas de flujo, en ingles flow-chart.

Se representan las acciones mediante rectángulos

Las condiciones se representan mediante rombos

Las condiciones equivalen a preguntas que se pueden contestar Si o No

0001img

El flujo de control durante la ejecución del programa se refleja mediante líneas o vías que  van de un elemento a otro.

Las acciones tienen una sola vía de entrada o comienzo y una de terminación o salida.

Las condiciones tienen una vía de entrada, y dos vías de salida marcadas con “Sí” y “No”.

Durante la ejecución, cuando el flujo llega a la entrada de una acción, la acción se realiza y el flujo se dirige a su salida.

Cuando se llega a la entrada de una condición, la condición se evalúa, y si resulta ser cierta se continúa por la salida “SÍ”,
mientras que si es falsa se continúa por la salida “No”.

Ejemplo sencillo de diagrama de flujo.

En esta figura se indica también cómo un fragmento del diagrama, que tenga un solo punto de entrada y uno de salida , puede ser visto globalmente como una acción única, pero compuesta.

La programación estructurada recomienda descomponer las acciones usando las estructuras más sencillas posibles.
Entre ellas se reconocen t res estructuras básicas, que son:  Secuencia, Selección e Iteración .

Estas tres estructuras sirven  en todos los lenguajes  modernos de programación imperativa en forma de sentencias.

C:\Users\pedro\OneDrive\Imágenes\Programacion Imperativa\0002img.png

 

 

Secuencia

La estructura más sencilla para emplear en la descomposición es utilizar una secuencia de acciones o partes que se ejecutan de forma sucesiva.

Secuencia

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.

Si la condición analizada<?> da como resultado “Sí” se realiza la acción A y si el resultado es “No”se realiza la acción B.

0004img

Como podemos observar  sólo tiene una única entrada y una única salida.

 

Iteración

La iteración es la repetición de una acción mientras que se cumpla una determinada condición.

La estructura de iteración más general es en que la condición se analiza a la entrada de la estructura y antes de iniciar cada  nueva repetición.

0005img

Cada vez que se analiza la condición <‘t> se pueden dar dos resultados.

Si el resultado es “Sí” se ejecuta  la  nuevamente la acción.

Una vez ejecutada la acción se vuelve a analizar la condición <?>.

En el momento que el resultado es ‘No” se alcanza el punto final de la estructura.

También en este caso sólo existe un punto de entrada y un punto de salida.

Puesto que el flujo de ejecución vuelve hacia atrás siguiendo un camino cerrado, 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.

El anidamiento entre ellas puede ser tan complejo como sea necesario.

Mediante la técnica de refinamientos sucesivos se definen inicialmente las estructuras más externas del programa y en los pasos sucesivos se va detallando la estructura de cada acción compuesta.

Este proceso finalmente da lugar a que todo el programa quede escrito utilizando las estructuras básicas descritas en este apartado, anidadas unas dentro de otras.

 

Expresiones condicionales

Para poder utilizar las estructuras de selección e iteración es necesario expresar las condiciones <?> que controlan ambas estructuras.

Esto se realiza mediante la construcción de expresiones condicionales.

Estas expresiones sólo pueden dar como resultado dos valores: “Sí” (cierto), cuando se cumple la condición de la expresión, y “No” (falso ), en caso de que no se cumpla.

Una primera forma de construir expresiones condicionales es mediante el empleo de operadores de comparación en expresiones aritméticas.

Estos operadores permiten realizar comparaciones entre dos valores del mismo tipo.

Las operaciones de comparación disponibles y sus operadores en C± son las siguientes:

0006img

 

Veamos un ejemplo.

Sean las variables declaradas siguientes:

int largo, ancho;

float presión, temperatura ;

char letra, modelo ;

Con los operadores de comparación se pueden formar expresiones condicionales tales como las siguientes:

largo> 5
ancho == largo
presión<=23.5
modelo = ‘ Z’
letra != modelo
presión != temperatura

Con los operadores de comparación sólo es posible realizar una única comparación entre doo valores.

Sin embargo, es bastante normal que las condiciones  sean más complejas.

Pueden construirse condiciones que impliquen a más de dos valores como condiciones compuestas de varias condiciones simples.

Las condiciones compuestas se construyen como expresiones lógicas.

Cada término de una expresión lógica  podrá ser una expresión condicional simple.

Las operaciones lógicas entre dos expresiones simples E1 E2  y los correspondientes operadores disponibles en son  los siguientes.

0007img

La operación de conjunción E1 && E2 da resultado cierto si tanto E1 como E2 son ciertos.

En el lenguaje C± para evaluar la operación de conjunción && siempre se empieza por evaluar la expresión simple E1 del primer operando y si su resultado es falso ya no se evalúa la expresión E2 del segundo operando.

Está claro que el resultado de la conjunción ya no depende del valor de E2 y  siempre falso.

Por este motivo se dice que el operador && se evalúa en cortocircuito

Esta misma regla se aplica en el caso de realizar la conjunción de expresiones  E1 && E2 && E3 && .. . &&

En y sólo se continuará evaluando  una nueva expresión Ei cuando todas Ias anteriores hayan sido ciertas.

La operación de disyunción E1 || E2 da como resultado cierto si una de las dos, E1 o E2, o ambas son ciertas.

También el operador I I se evalúa en cortocircuito y en la disyunción de n expresiones E1 I I E2 I I E3 I I . .. I I En  sólo se continua evaluando una nueva expresión Ei cuando todas las anteriores hayan sido falsas .

 

 

 

 

 

 

 

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
Hola Bienvenido, envíame un mensaje
Enviar