Está en la página 1de 7

Universidad los Ángeles de Chimbote

Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

Estructura Repetitiva Hacer - Mientras


Existen muchas situaciones en las que se desea que un bucle se ejecute al menos una vez antes
de comprobar la condición de repetición, para ello se puede utilizar la estructura repetitiva
Hacer - Mientras. Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo
menos una vez se ejecutará el bloque repetitivo.

Cuando una instrucción Hacer-Mientras se ejecuta, lo primero que sucede es la ejecución del
bucle (todas las instrucciones) y a continuación se evalúa la expresión booleana de la condición.
Si se evalúa como verdadera, el cuerpo del bucle se repite y se vuelve a evaluar la condición, si
sigue siendo verdadera se seguirá repitiendo el bucle hasta que la condición sea falsa.

Dentro del bucle existirá una instrucción que en un cierto momento hará que la condición sea
falsa.

La representación gráfica de la estructura repetitiva Hacer-Mientras es la siguiente:

Figura 46. Diagrama de flujo de la estructura repetitiva Hacer-Mientras

estructura repetitiva
hacer/mientras

Figura 47. Diagrama estructurado de la estructura repetitiva Hacer-Mientras

hacer
instrucción 1
instrucción 2
.
.
instrucción n
mientras (condición)

Figura 48. Pseudocódigo de la estructura repetitiva Hacer-Mientras

1
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

A continuación se presenta el siguiente ejemplo para comprender el funcionamiento de la


estructura repetitiva Hacer-Mientras.

Ejemplo 5:
En el curso de Algoritmos y Diagramación existen 40 alumnos, de los cuales se tiene el promedio
de la Primera Unidad. Se pide realizar un algoritmo que permita hallar el promedio general de
estos alumnos.

Solución

Cuerpo del bucle

Figura 49. Diagrama de flujo del ejemplo 5

Desarrollamos el ejemplo 5 en 5 pasos:

1. Se asignan valores a las variables c = 0 y suma = 0


2. Se ingresa al cuerpo del bucle (no existe ninguna instrucción que nos impida), se tiene tres
instrucciones:
2.1. En la primera instrucción que se ejecuta tenemos un contador, este contador
incrementa en una unidad siendo su resultado c = 1.
2.2. En la segunda instrucción se lee la nota del primer alumno (esta nota se ingresa por
teclado).

2
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

2.3. La tercera instrucción es un acumulador; cuya función es acumular la suma de todas


las notas (40 notas).
3. A continuación, se evalúa la condición; se pregunta: ¿c es menor que 40? Si la respuesta
es verdadera se regresa al paso 2 y se ejecutan las tres instrucciones del cuerpo del bucle
nuevamente, de lo contrario se continúa con el paso 4.
4. Se llega a este paso después de finalizarse las 40 iteraciones que da el bucle. En la
variable suma se tiene la suma total de las notas y ahora se ejecuta la instrucción que
permite hallar el promedio.
5. Muestra en pantalla el resultado del promedio de notas.

La solución del ejemplo 5 en el diagrama estructurado y pseudocódigo es el siguiente:

Cuerpo del bucle

Figura 50. Diagrama estructurado del ejemplo 5

algoritmo Ejemplo5
var
entero: nota, c, suma
real: prom
inicio
c=0
suma = 0
hacer
c=c+1
leer(nota) Cuerpo del bucle
suma = suma + nota
mientras (c < 40)
prom = suma/c
escribir(‘El promedio general es : ’,prom)
fin

Figura 51. Pseudocódigo del ejemplo 5

3
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

Ejemplo 6:
Se desea contabilizar cuántos números son positivos, negativos y neutros del ingreso continuo de
números enteros. Este proceso re repite hasta que el usuario pulse la tecla N al mensaje en
pantalla ‘Desea Continuar[s/n]:’.

Solución
Para la solución del problema se va a necesitar de tres contadores, que realizarán la acción de
contar cuántos números son positivos, negativos y neutros se ingresarán por teclado, de una serie
de números.

Para ello, utilizaremos tres variables, a las que llamaremos:

 cc : contador de ceros
 cp : contador de positivos
 cn : contador de negativos

Además, utilizaremos estructuras selectivas anidadas, con las que haremos la comprobación de
cuáles números son iguales a cero, positivos y negativos. Y de acuerdo al resultado de la
condición, los contadores (cc, cp y cn) incrementarán su valor.

Terminadas de realizar todas las condiciones, se preguntará al usuario si ‘Desea continuar [s/n]’
ingresando más números, para ello utilizaremos una variable de tipo carácter, llamado opc. El cuál
almacenará el carácter de ‘s’ de “sí continuo”, o ‘n’ de “no continuo” ingresando valores. De
acuerdo a la respuesta seguiremos o terminamos el bucle.

Al responder en 'n' de “no continuo” el algoritmo debe reportar lo siguiente:

 Cantidad de números ceros.


 Cantidad de números positivos.
 Cantidad de números negativos.

4
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

Figura 52. Diagrama de flujo del ejemplo 6

5
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

Figura 53. Diagrama estructurado del ejemplo 6

algoritmo Ejemplo6
var
entero: n, cc, cp, cn
caracter: opc
inicio
cc = 0
cp = 0
cn = 0
hacer
leer (n)
si (n=0) entonces
cc = cc + 1
sino
si (n>0) entonces
cp = cp + 1
sino
cn = cn + 1
fin_si
fin_si
escribir(‘Desea continuar : [s/n] :’)
escribir(opc)
mientras (opc = ’s’)
escribir(‘Cantidad de ceros : ’,cc)
escribir(‘Cantidad de positivos : ’,cp)
escribir(‘Cantidad de ceros : ’,cn)
fin

Figura 54. Pseudocódigo del ejemplo 6

6
Universidad los Ángeles de Chimbote
Facultad de Ingeniería
Escuela Profesional de Ingeniería de Sistemas Asignatura: Fundamentos de Programación

Ejemplo de autoaprendizaje:
Resuelva en diagrama de flujo, diagrama estructurado y pseudocódigo.

Ejemplo 7:
En una campaña médica de medición de presión, se pide que se ingresen todas las edades de los
pacientes que serán atendidos. Se solicita que se calcule la mayor y menor edad ingresada. El
ingreso acaba cuando se ingrese un valor 0.

También podría gustarte