La
fi gura 4.4 muestra claramente la repetición de la instrucción
while
que vimos antes en esta sección.
La fl echa de transición que emerge del estado de acción apunta de regreso a la fusión, desde la cual el fl ujo del
programa regresa a la decisión que se evalúa al principio de cada iteración del ciclo. Éste ciclo sigue ejecutándose
hasta que la condición de guardia
producto > 100
se vuelva verdadera. Entonces, la instrucción
while
termina
(llega a su estado fi nal) y el control pasa a la siguiente instrucción en la secuencia del programa.
4.8 Cómo formular algoritmos: repetición controlada
por un contador
Para ilustrar la forma en que se desarrollan los algoritmos, modifi camos la clase
LibroCalificaciones
del capítu-
lo 3, para resolver dos variantes de un problema que promedia las califi caciones de unos estudiantes. Analicemos
el siguiente enunciado del problema:
A una clase de diez estudiantes se les aplicó un examen. Las califi caciones (enteros en el rango de 0 a 100)
de este examen están disponibles para su análisis. Determine el promedio de la clase para este examen.
El promedio de la clase es igual a la suma de las califi caciones, dividida entre el número de estudiantes. El algoritmo
para resolver este problema en una computadora debe recibir como entrada cada una de las califi caciones, llevar el
registro del total de las califi caciones introducidas, realizar el cálculo para promediar e imprimir el resultado.
Algoritmo de seudocódigo con repetición controlada por un contador
Emplearemos seudocódigo para enlistar las acciones a ejecutar y especifi car el orden en que deben ejecutarse. Usa-
remos una
repetición controlada por contador
para introducir las califi caciones, una por una. Esta técnica utiliza
una variable llamada
contador
(o
variable de control
) para controlar el número de veces que debe ejecutarse un
conjunto de instrucciones. A la repetición controlada por contador se le llama comúnmente
repetición defi nida
,
ya que el número de repeticiones se conoce antes de que el ciclo comience a ejecutarse. En este ejemplo, la repeti-
ción termina cuando el contador excede a 10. Esta sección presenta un algoritmo de seudocódigo (fi gura 4.5) com-
pletamente desarrollado, y una versión de la clase
LibroCalificaciones
(fi gura 4.6) que implementa el algoritmo
en un método de Java. Después presentamos una aplicación (fi gura 4.7) que demuestra el algoritmo en acción. En
la sección 4.9 demostraremos cómo utilizar el seudocódigo para desarrollar dicho algoritmo desde cero.
Observación de ingeniería de software 4.1
La experiencia ha demostrado que la parte más difícil para la resolución de un problema en una computadora es
desarrollar el algoritmo para la solución. Por lo general, una vez que se ha especifi cado el algoritmo correcto, el pro-
ceso de producir un programa funcional en Java a partir de dicho algoritmo es relativamente sencillo.
Observe las referencias en el algoritmo de la fi gura 4.5 para un total y un contador. Un
total
es una variable
que se utiliza para acumular la suma de varios valores. Un contador es una variable que se utiliza para contar; en este
caso, el contador de califi caciones indica cuál de las 10 califi caciones está a punto de escribir el usuario. Por lo gene-
ral, las variables que se utilizan para guardar totales deben inicializarse en cero antes de utilizarse en un programa.
Figura 4.5
| Algoritmo en seudocódigo que utiliza la repetición controlada por contador para resolver el problema del
promedio de una clase.
1
Asignar a total el valor de cero
2
Asignar al contador de califi caciones el valor de uno
3
4
Mientras que el contador de califi caciones sea menor o igual a diez
5
Pedir al usuario que introduzca la siguiente califi cación
6
Obtener como entrada la siguiente califi cación
7
Sumar la califi cación al total
8
Sumar uno al contador de califi caciones
9
10
Asignar al promedio de la clase el total dividido entre diez
11
Imprimir el promedio de la clase
4.8 Cómo formular algoritmos: repetición controlada por un contador
123
04_MAQ_CAP_04.indd123
4/19/081:20:39AM