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