4.4 Estructuras de control
115
El trabajo de Bohm y Jacopini demostró que todos los programas podían escribirse en términos de tres
estructuras de control solamente: la
estructura de secuencia
, la
estructura de selección
y la
estructura de
repetición
. El término “estructuras de control” proviene del campo de las ciencias computacionales. Cuando
presentemos las implementaciones de las estructuras de control en Java, nos referiremos a ellas en la terminología
de la
Especifi cación del lenguaje Java como “instrucciones de control”.
Estructura de secuencia en Java
La estructura de secuencia está integrada en Java. A menos que se le indique lo contrario, la computadora ejecuta
las instrucciones en Java una después de otra, en el orden en que estén escritas; es decir, en secuencia. El
diagrama
de actividad
de la fi gura 4.1 ilustra una estructura de secuencia típica, en la que se realizan dos cálculos en orden.
Java permite tantas acciones como deseemos en una estructura de secuencia. Como veremos pronto, en donde
quiera que se coloque una sola acción, podrán colocarse varias acciones en secuencia.
Los diagramas de actividad son parte de UML. Un diagrama de actividad modela el
fl ujo de trabajo
(tam-
bién conocido como la
actividad
) de una parte de un sistema de software. Dichos fl ujos de trabajo pueden incluir
una porción de un algoritmo, como la estructura de secuencia de la fi gura 4.1. Los diagramas de actividad están
compuestos por símbolos de propósito especial, como los
símbolos de estado de acción
(rectángulos cuyos lados
izquierdo y derecho se reemplazan con arcos hacia fuera),
rombos
(
diamantes
) y
pequeños círculos
. Estos sím-
bolos se conectan mediante
fl echas de transición
, que representan el fl ujo de la actividad; es decir, el orden en el
que deben ocurrir las acciones.
Al igual que el seudocódigo, los diagramas de actividad ayudan a los programadores a desarrollar y represen-
tar algoritmos; sin embargo, muchos de ellos aún prefi eren el seudocódigo. Los diagramas de actividad muestran
claramente cómo operan las estructuras de control.
Considere el diagrama de actividad para la estructura de secuencia de la fi gura 4.1. Este diagrama contiene
dos
estados de acción
que representan las acciones a realizar. Cada estado de acción contiene una
expresión de
acción
(por ejemplo, “sumar califi cación a total” o “sumar 1 al contador”), que especifi ca una acción particular
a realizar. Otras acciones podrían incluir cálculos u operaciones de entrada/salida. Las fl echas en el diagrama de
actividad representan
transiciones
, las cuales indican el orden en el que ocurren las acciones representadas por los
estados de acción. El programa que implementa las actividades ilustradas por el diagrama de la fi gura 4.1 primero
suma
calificacion
a
total
, y después suma
1
a
contador
.
El
círculo relleno
que se encuentra en la parte superior del diagrama de actividad representa el
estado inicial
de la actividad: el inicio del fl ujo de trabajo antes de que el programa realice las actividades modeladas. El
círculo
sólido rodeado por una circunferencia
que aparece en la parte inferior del diagrama representa el
estado fi nal
;
es decir, el fi nal del fl ujo de trabajo después de que el programa realiza sus acciones.
La
fi gura 4.1 también incluye rectángulos que tienen la esquina superior derecha doblada. En UML, a estos
rectángulos se les llama
notas
(como los comentarios en Java): comentarios con explicaciones que describen el
propósito de los símbolos en el diagrama. La fi gura 4.1 utiliza las notas de UML para mostrar el código en Java
asociado con cada uno de los estados de acción en el diagrama de actividad. Una
línea punteada
conecta cada
nota con el elemento que ésta describe. Los diagramas de actividad generalmente no muestran el código en
Java que implementa la actividad. En este libro utilizamos las notas con este propósito, para mostrar cómo se rela-
sumar 1 al contador
sumar calificación al total
Instrucción en Java correspondiente:
total = total + calificacion;
Instrucción en Java correspondiente:
contador = contador + 1;
Figura 4.1
| Diagrama de actividad de una estructura de secuencia.
04_MAQ_CAP_04.indd115
4/19/081:20:35AM