Sei sulla pagina 1di 18

Ciclo mientras

Elaborado por: Angel Rey

Definicin ciclos

La estructura ciclo est conformada por instrucciones que permiten al programador instruir la mquina para que ejecute varias veces un grupo de instrucciones segn alguna condicin.
(Tomado de Algoritmia bsica, Roberto Flrez)

Forma general ciclo Mientras


MIENTRAS condicin
Instrucciones que se ejecutan mientras la condicin es verdadera

Fin(MIENTRAS)

La condicin puede ser una expresin relacional o lgica. Por lo general se evala el valor de una variable que cambia durante cada iteracin. La llamada variable de control.

Pasos para la estructura ciclo

Definir cul es la instruccin repetitiva Definir la condicin y variable de control que expresa hasta cuando se deben iterar las instrucciones.

Ejemplos de condiciones

Turno <= 10 Dinero > 10000 ^ usuarios > 30 Intereses <= 1.1 i < 20

Variable contadora

Sirve para llevar control de una secuencia de nmeros o contar eventos. Se adiciona por lo regular un nmero constante. i=0 i = i +1 i = i +2

Variable acumuladora

Variables que sirven para acumular cantidades relacionadas con el resultado de una instruccin. Se adiciona por lo regular un valor variable. salario = horas * valor_hora total_salarios = total_salarios + salario

Ejemplo

Elabore un algoritmo que sume los nmeros de 1 hasta n. Siendo n un nmero que ingresa el usuario.

Entrada:
n: nmero para ingresar

Salida:
Suma: total de la suma

Anlisis:
Se tiene una variable de control llamada i, que empieza en 1 y termina cuando llegue al nmero n. Debe aumentar de 1 en 1. Se debe acumular la suma de los nmeros en una variable llamada suma.

Algoritmo suma
Variables:
i, n, suma: entero

INICIO
i=1 suma = 0 ESCRIBA(Ingrese el valor n) LEA(n) MIENTRAS i <= n ---i = 6 y n = 5 suma = suma + i ---suma = 10 + 5 = 15 i=i+1 ---i = 5 + 1 = 6 Fin(MIENTRAS) ESCRIBA(El total de la suma es:, suma)

FIN

Fin(aumento)

Ejemplo 2

Elabore un algoritmo que imprima los n primeros nmeros de la serie fibonacci. 0,1,1,2,3,5,8 n es un nmero positivo ingresado por el usuario.

Entrada:
Primer nmero: f1 = 0 Segundo nmero: f2 = 1 Nmero n de la serie: n Variable de control: i

Salida:
Se muestran los n primeros nmeros de la serie al usuario

Anlisis

Se tiene una variable de control llamada i, que empieza en 1 y termina cuando llegue al nmero n. Debe aumentar de 1 en 1. Si n es igual a 1 se debe mostrar 0 Si n es igual a 2 se debe mostrar 0, 1 Si n es mayor a 2 se debe comenzar a realizar la serie. Fn = f n-1 + f n-2

Algoritmo fibonacci
Variables: INICIO
i, n, f1, f2, aux : enteros
i=3 f2 = 1 f1 = 0 ESCRIBA(Ingrese el valor n) LEA(n) SI n == 1 ESCRIBA(f1) Fin(SI) SI n == 2 ESCRIBA(f1,f2) Fin(SI)

SI n > 2 ESCRIBA(0,1)
MIENTRAS i <= n aux = f2 f2 = f2 + f1 f1 = aux ESCRIBA (f2) i=i+1 Fin(MIENTRAS) -----i = 3 y n = 5 --aux = 1 --f2 = 1 + 0 = 1 --f1 = 1

Fin(mayor)

Fin(SI) FIN

Ejemplo 3

Elabore un algoritmo que indique si un nmero es un nmero primo.

Anlisis

Entrada: nmero n > 1 Salida: se imprimen los nmeros primos Un nmero primo es un nmero que solo tiene 2 divisores: 1 y el mismo

Algoritmo soy_primo Variable: i, n, control, residuo:entero INICIO i=1 control = 0 ESCRIBA(Ingrese el nmero n) LEA(n) MIENTRAS i <= n residuo = n%i SI residuo <> 0 control = control + 1 Fin(SI) Fin(MIENTRAS) SI (control > 2) ESCRIBA(el nmero no es primo) DE_LO_CONTRARIO ESCRIBA(el nmero es primo) Fin(SI) FIN Fin(soy_primo)

Potrebbero piacerti anche