CICLO MIENTRAS




Al ejecutarse esta instrucción, la condición es evaluada. Si la condición resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la ejecución del cuerpo del ciclo se vuelve a evaluar la condición y, si es verdadera, la ejecución se repite. Estos pasos se repiten mientras la condición sea verdadera.

Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar por primera vez la condición resulta ser falsa.

Si la condición siempre es verdadera, al ejecutar esta instrucción se produce un ciclo infinito. A fin de evitarlo, las instrucciones del cuerpo del ciclo deben contener alguna instrucción que modifique la o las variables involucradas en la condición, de modo que ésta sea falsificada en algún momento y así finalice la ejecución del ciclo.


EJEMPLO #1:

Hacer un programa que muestre y cuente múltiplos de 3 hay entre 1 y 100.

  • Para la variable contadora tenemos que: valor inicial 3, valor final 99, incremento 3
  • Para la variable acumuladora tenemos que: valor inicial 0, ecuación s=s+1

Proceso CONTAR_MULT_DE_3


definir i,s Como Entero

 i=3

 s=0

Mientras i<=99 Hacer 

Escribir "i= ",i

 s=s+1

 i=i+3

 FinMientras

Escribir "El numero de multiplos de 3 entre 1 y 100 es ",s

FinProceso

EJEMPLO #2:

Hacer un programa que muestre, cuente y sume los múltiplos de 2 hasta un numero que se introduce por teclado.

  • Para la variable contadora tenemos que: valor inicial 2, valor final el numero que seintroduce por teclado, incremento 2
  • Para la variable acumuladora 1 tenemos que: valor inicial 0, ecuación c=c+1
  • Para la variable acumuladora 2 tenemos que: valor inicial 0, ecuación s=s+i

Proceso SUMAR_MULTIPLOS_DE_2
definir i,s,c,n Como Entero
i=2
s=0
c=0
Escribir "¿Hasta que valor desea hacer la sumatoria?"
Leer n
Mientras i<=n Hacer
Escribir "Multiplo de 2 = ",i
c=c+1
s=s+i
i=i+2
FinMientras


Escribir "La cantidad de multiplos entre 2 y ",n," es ",c
Escribir "La sumatoria de multiplos entre 2 y ",n," es ",s
FinProceso



EJEMPLO #3:

Hacer un programa que muestre, cuente y sume los números que están separados por 8 posiciones desde un valor introducido por teclado hasta 500.

  • Para la variable contadora tenemos que: valor inicial el valor que se introduce por teclado, valor final 500, incremento 8
  • Para la variable acumuladora 1 tenemos que: valor inicial 0, ecuación c=c+1
  • Para la variable acumuladora 2 tenemos que: valor inicial 0, ecuación s=s+i

Proceso SUMA_INCREMENTO_8
definir i,s,c,n Como Entero 

s=0 

c=0 

Escribir "¿Desde que valor incia la sumatoria?" 

Leer n 

i=n

Mientras i<=500 Hacer 

Escribir "numero = ",i

c=c+1

s=s+i

i=i+8

FinMientras 

Escribir "La cantidad de numeros desde ",n,"hasta 500 es ",c

Escribir "La sumatoria de numeros desde ",n,"hasta 500 es ",s

FinProceso


EJEMPLO #4:

// Juego simple que pide al usuario que adivine un numero en 10 intentos

Proceso Adivina_Numero

intentos=10

num_secreto = azar(100)+1

Escribir "Adivine el numero (de 1 a 100)"

Leer num_ingresado

Mientras num_secreto<>num_ingresado Y intentos>1 Hacer

Si num_secreto>num_ingresado Entonces

Escribir "Muy bajo"

Sino

Escribir "Muy alto"

FinSi

intentos = intentos-1

Escribir "Le quedan ",intentos," intentos:"

Leer num_ingresado

FinMientras

Si num_secreto=num_ingresado Entonces

Escribir "Exacto! Usted adivino en ",11-intentos," intentos."

Sino

Escribir "El numero era: ",num_secreto

FinSi

FinProceso