Está en la página 1de 6

RECAPITULACION DE

PROGRAMACIÓN ESTRUCTURADA
Objetivo:
Conocer las técnicas de Programación Estructurada y aplicar la Lógica Estructurada al diseño
de programas correctos y eficaces.

Introducción
Hasta el momento hemos aprendido lo mínimo necesario para programar, en este caso en C.
Los conceptos y principios de flujogramación estudiados (Lógica), se aplican a cualquier otro
lenguaje de programación conociendo desde luego la sintáxis de éste.

Ahora es momento entonces, de avanzar un poco en nuestro aprendizaje y vamos iniciar


diciendo que: lo que hemos aprendido y aplicado es parte de Programación Estructurada.

I. PROGRAMACIÓN ESTRUCTURADA
La Programación Estructurada es una metodología que consiste en aplicar un conjunto de
técnicas que nos permiten programar de forma fácil, ordenada y eficaz.

Utilizando la Programación Estructurada se obtiene ventajas tales como:


¾ Permite diseñar fácilmente, programas efectivos y correctos
¾ La depuración del programa es mucho más fácil
¾ El programa generado puede ser utilizado por cualquier usuario
¾ El diseño de programas se vuelve una tarea sistemática.
¾ El mantenimiento o modificación de los programas es más rápido y fácil.

Las técnicas fundamentales de Programación Estructurada son cuatro:


♦ Lógica Estructurada, estudiada desde Introducción a la Informática.
♦ Documentación, aplicada también desde IAI115, se retomará más adelante.
♦ Análisis Estructurado, facilita el análisis de un problema y la solución del mismo
♦ Estructura de datos, facilita el manejo de grandes cantidades de datos.

II. LÓGICA ESTRUCTURADA


Lógica Estructurada es una de las técnicas básicas y fundamentales de la Programación
Estructurada, su objetivo es diseñar algoritmos “correctos”, “estructurados” y “propios”,
ignorando al principio consideraciones de eficiencia tales como la minimización del uso de la
memoria y del tiempo de respuesta.

Los conceptos nuevos de algoritmos correctos, propio y estructurado se describen a


continuación, para que los que nosotros diseñemos, guarden estas características:

Un algoritmo correcto es aquel que además de estar libre de errores, hace lo que se espera
que haga, es decir que al ejecutarlo se obtienen los datos de salida (o información) requeridos.

1
Un algoritmo estructurado, es aquel que en su diseño se han utilizado solamente las seis
estructuras lógicas de control: secuenciación, selección, selección múltiple, mientras, desde –
hasta y hasta que.

Una estructura lógica de control es una forma de control del flujo de ejecución del algoritmo,
esto quiere decir que ayudan a controlar el orden en que se ejecutan los pasos o instrucciones
del algoritmo. Las estructuras lógicas de control son seis y se dividen en Fundamentales o
principales y Derivadas o expandidas.

Algoritmo Propio es aquel que cumple las siguientes propiedades:


¾ Posee un único punto de entrada (o inicio) y un solo punto de salida (o fin) para el
control del algoritmo.

¾ Existen uno o más caminos o flujos desde el principio hasta el fin del algoritmo que se
pueden seguir.

¾ Todas las instrucciones o pasos del algoritmo son ejecutables y no existen lazos o ciclos
infinitos.

Los algoritmos diseñados mediante esta técnica resultan la mayoría de las veces, efectivos
desde la primera ejecución, corrida o prueba lógica. Para diseñarlos se utilizan las estructuras
lógicas de control permitidas exclusivamente, sin ninguna variación de las mismas.

Después de conocer los principios básicos de la Lógica Estructurada, nos damos cuenta que
los hemos estado utilizando sin saberlo, por lo tanto podemos asegurar que los algoritmos que
diseñamos son correctos, propios y desde luego estructurados.

III. ESTRUCTURAS LÓGICAS DE CONTROL


Recalcamos que una estructura lógica de control es aquella que indica el flujo o ruta de una
serie de instrucciones. En mayo de 1966 Böhn y Yhacopin, demostraron que un programa
propio y correcto puede ser escrito utilizando solo tres tipos de estructuras de control, conocidas
como fundamentales por que no se derivan de ninguna otra: secuenciación, selección y
repetición.

Sin embargo, Lógica Estructurada normalizó el uso de seis estructuras de control, se llaman así
porque controlan el flujo o camino que se sigue al probar un algoritmo. Las tres primeras u
originales y tres más que se derivan de estas. A continuación se presenta un resumen de cada
una de las estructuras para poder identificarlas:

2
Estructuras Lógicas de control Estructuras Lógicas de control
FUNDAMENTALES DERIVADAS

1. Secuenciación: Esta es la selector


estructura de control más simple, realiza 1. Selección Múltiple: Se deriva de
Leer {variables} Caso 1
una sola operación y siguiendo el orden la estructura de selección, y se le conoce
Imprimir {parámetros}
en el que se han escrito. Involucra Asignar var = parámetros
también como seleccionar caso, ya que Acción 1
acciones tales como leer, imprimir o esta estructura, permite diseñar más de
2 opciones elegibles, para lo cual se Caso 2
asignar. Se ejecutan de arriba hacia Acción 2
abajo, en orden de aparición. hace uso de una expresión o variable
conocida como selector, por ser que es Caso n
la encargada de elegir entre todas las Acción n
2. Selección: Esta estructura opciones, rutas o casos. Excepc.
nos permite elegir entre dos Ac. de excp.
acciones posibles, dependiendo
del resultado de evaluar una Cierto 2. Repetir Desde hasta: Con esta
condición; si existen dos acciones, Condición
estructura podemos repetir una acción
una del lado cierto y otra del lado un número determinado, o específico de
del falso, se conoce como Acción 2 Acción 1 veces, se deriva de la estructura
selección doble. La acción del fundamental Mientras; tiene una Des de Var = Vi
falso puede perfectamente no condición inicial que es controlada por Hasta VF, VC
incluirse, en tal caso se le llama una variable de tipo contador, que tiene
selección simple. un valor inicial, un valor final al que se
acerca por medio de un valor de cambio Acción

3. Repetición o MIENTRAS: Esta constante, y que permite repetir la acción


estructura se utiliza para ejecutar o Mientras mientras la variable no sobrepase su
repetir tantas veces como sea
(Condición) último valor.
necesario, una acción de uno o varios
pasos. Comienza siempre con una
condición y produce una bifurcación en Acción 3. Repetir Hasta que: Se deriva de la
el flujo o ruta normal del algoritmo, estructura Mientras, por lo que nos sirve para Hasta que
dependiendo siempre del resultado de repetir una acción siempre dependiendo de (Condición)
la condición. una condición, pero esta se evalúa después de
realizar la acción, por lo tanto la acción se
ejecuta obligatoriamente una vez, las Acción
repeticiones ya dependen del resultado de la
condición.

3
La técnica conocida como Lógica Estructurada, promueve la simplicidad; de hecho, ya
mencionamos que los precursores de ésta, demostraron que solo son necesarias tres
estructuras para diseñar cualquier algoritmo: secuenciación, selección y repetición.

¾ La secuenciación es directa y la más simple de todas las estructuras lógicas de control.

¾ La selección se implementa de una de las siguientes formas: selección simple (if),


selección doble (if - else) o bien, selección múltiple (switch). Es muy fácil demostrar que
con la estructura de selección simple es suficiente para diseñar cualquier tipo de selección;
es decir que, todo lo que se puede hacer con una estructura doble o múltiple, se puede
hacer con varias estructuras de selección simple como se muestra a continuación:

SELECCIÓN DOBLE Equivalente


a:
Si
Condición
Si
Condición Acción 1
Acción 2 Acción 1

Si
!Condición

Acción 2

SELECCIÓN MÚLTIPLE Equivalente


a:

Selector
Si
==v1
Selector
Acción 1

V1
Acción 1
Selector
Si
V2 ==v2
Acción 2
Acción 2
V3
Acción 3

Selector
Si
==v3

Acción 3

4
¾ La repetición, se implementa de una de las siguientes formas: mientras (while), desde –
hasta (for) y hasta que (sin codificación en C); pero, con la estructura mientras es
suficiente y demostrarlo es fácil, con la conversión de estructuras repetitivas que vimos en
la Unidad anterior, nos damos cuenta que tanto la estructura desde hasta, como la
estructura Hasta que se pueden sustituir por una estructura mientras

DESDE - HASTA Equivalente


a:
Acción
Desde vi
Hasta vf , vc Mientras
var<= vf
Acción
Acción

var=var+vc

HASTA QUE Equivalente


a:
Acción
Acción
Mientras F
No !(Condición)
Condición

Si Acción

IV. ERRORES COMUNES EN LA ESCRITURA DE PROGRAMAS


1. No asignarle valores iniciales a contadores y/o acumuladores (Error de ejecución).

2. Utilizar variables que aún no han sido leídas o no se les ha asignado valor alguno
(Error de ejecución).

3. No declarar variables (Error de ejecución).

4. Utilizar letras mayúsculas o minúsculas en los identificadores de la misma variable


(Error de ejecución).

5
5. Utilizar comas en lugar de puntos y comas en una sentencia for (error de sintaxis).

6. Colocar un punto y coma (;) al final de una sentencia for (después del paréntesis de
cierre); ya que convierte el cuerpo del ciclo en una instrucción vacía (error de lógica).

7. Utilizar un operador relacional o lógico incorrecto dentro de la condición de while o for


(Error de lógica).

8. Olvidar una sentencia break cuando ha terminado un caso, en una sentencia switch,
(Error de lógica).

9. Diseñar un ciclo while infinito, cuando la condición nunca se vuelve falsa. En ciclo
controlado por contador, asegurarse que dentro del cuerpo del ciclo se le cambie el
valor al contador (incremento o decremento). Si el ciclo es controlado por un centinela
o bandera, asegurarse de que el centinela sea leído dentro del cuerpo del ciclo (Error
de lógica).

10. Utilizar un operador relacional == para una asignación o bien, el operador de


asignación = para una comparación o condición (Error de sintaxis).

V. BUENAS PRÁCTICAS DE PROGRAMACIÓN


1. Marginar las instrucciones correspondientes al cuerpo de toda instrucción de control (o
estructura lógica de control).

2. Tener demasiados niveles de anidamiento puede provocar que un programa sea difícil
de entender. Como regla general, intentar utilizar como máximo sólo tres niveles de
anidamiento.

3. Proporcionar un caso default, ya que los casos no evaluados explícitamente dentro del
switch se ignoran, el caso default ayuda a evitar eso.

4. Las sentencias del caso de excepción, default se deben colocar como último caso.

5. Cuando una comparación de igualdad (o condición de igualdad) tiene una variable y una
constante como: x == 3, se recomienda escribir la constante del lado derecho del
operador y la variable del lado izquierdo.

También podría gustarte