Você está na página 1de 3

Estructuras de control

Por lo general, las instrucciones dentro de un programa se ejecutan una a una en el


orden en que estn escritas.
A esto se le llama ejecucin secuencial. Varias instrucciones de C, que explicaremos
ms adelante, permiten al
programador especificar que la siguiente instruccin a ejecutarse debe ser otra y no la
siguiente en la secuencia.
A esto se le llama transferencia de control.
Durante la dcada de los sesentas, se hizo claro que el uso indiscriminado de
transferencias de control era
el origen de un gran nmero de dificultades que experimentaban los grupos de
desarrollo de software. El dedo
de la culpa apunto hacia la instruccin goto, que permite al programador especificar
una transferencia de control
a un amplio margen de destinos posibles dentro de un programa. La idea de la
programacin estructurada
se convirti casi en un sinnimo de la eliminacin del goto.
Las investigaciones de Bohm y Jacopini1 demostraron que los programas se pueden
escribir sin instruccin
goto alguna. El reto para los programadores de la poca era modificar sus estilos hacia
una programacin
con menos instrucciones goto. No fue sino hasta la dcada de los setenta que los
profesionales de la prograCaptulo 3 Desarrollo de programas estructurados en C 51
1. Bohm, C., y G. Jacopini, Flow diagrams, Turing Machines, and Languages with Only
Two Formation Rules, Communications
of the ACM, Vol. 9, No. 5, mayo de 1996, pp. 336 a 371.
macin comenzaron a tomar en serio a la programacin estructurada. Los resultados
fueron impresionantes, los
grupos de desarrollo de software reportaron una reduccin en los tiempos de
desarrollo, la entrega ms oportuna
de los sistemas y el apego ms frecuente al presupuesto de los proyectos de software.
La clave de este xito

fue simplemente que los programas producidos mediante tcnicas estructuradas eran
ms claros, ms fciles
de mantener y depurar, y tenan ms probabilidades de estar libres de errores desde el
principio.
El trabajo de Bohm y Jacopini demostr que todos los programas se podan escribir en
trminos de slo
tres estructuras de control, a saber, la estructura secuencial, la estructura de seleccin,
y la estructura de repeticin.
La estructura de secuencia se encuentra esencialmente dentro de C. A menos que se le
indique lo contrario,
la computadora ejecuta de manera automtica las instrucciones en C, una a una, en el
orden en que estn
escritas. El segmento de diagrama de flujo de la figura 3.1 muestra la estructura
secuencial de C.
Un diagrama de flujo es una representacin grfica de un algoritmo o de una porcin
de un algoritmo. Los
diagramas de flujo se dibujan mediante smbolos de propsito especial tales como
rectngulos, rombos, valos,
y pequeos crculos; estos smbolos se conectan mediante flechas llamadas lneas de
flujo.
Como el pseudocdigo, los diagramas de flujo son tiles para desarrollar y representar
algoritmos, aunque
la mayora de los programadores prefieren el pseudocdigo. Los diagramas de flujo
muestran claramente la manera
en que operan las estructuras de control; esto es lo nico para lo que los utilizaremos
en este libro.
Considere el diagrama de flujo para la estructura secuencial de la figura 3.1. Utilizamos
el smbolo rectngulo,
tambin llamado smbolo de accin, para indicar cualquier tipo de accin, incluyendo
una operacin de
clculo o de entrada/salida. Las lneas de flujo de la figura indican el orden en el que se
realizan las acciones
(primero, se suma calificacion a total y posteriormente se suma 1 a contador. C nos
permite tener
en una estructura secuencial tantas acciones como deseemos. Como veremos ms
adelante, en cualquier lugar en

donde coloquemos una accin, tambin podemos colocar muchas acciones en


secuencia.
Cuando dibujamos un diagrama de flujo que representa un algoritmo completo, el
primer smbolo que se
utiliza es un valo que contiene la palabra Inicio; y el ltimo smbolo que se utiliza es
un valo que contiene
la palabra Fin. Cuando dibujamos slo una porcin de un algoritmo, como en la figura
3.1, se omiten los
smbolos de valo y se emplean pequeos crculos tambin llamados smbolos
conectores.
Quiz el smbolo ms importante dentro de un diagrama de flujo es el rombo, tambin
llamado smbolo de
decisin, el cual indica que se va tomar una decisin. Explicaremos el smbolo de
decisin en la siguiente seccin.
C proporciona tres tipos de estructuras de seleccin en forma de instrucciones. La
instruccin de seleccin if
(seccin 3.5) realiza (selecciona) una accin si la condicin es verdadera, o ignora la
accin si la condicin
es falsa. La instruccin de seleccin if else (seccin 3.6) realiza una accin si la
condicin es verdadera y
realiza una accin diferente si la condicin es falsa. La instruccin de seleccin switch
(la cual explicaremos
en el captulo 4) realiza una de muchas acciones dependiendo del valor de una
expresin. A la instruccin if se
le conoce como una instruccin de seleccin simple, debido a que selecciona o ignora
una sola accin. A la instruccin
if else se le conoce como una instruccin de seleccin doble, debido a que selecciona
entre dos
acciones diferentes. A la instruccin switch se le conoce como una instruccin de
seleccin mltiple, debido
a que selecciona entre muchas acciones diferentes.
C proporciona tres tipos e estructuras de repeticin en forma de instrucciones, a saber,
while (seccin
3.7), do while, y for (estas dos ltimas las explicaremos en el captulo 4).

Você também pode gostar