While para presentación

27
WHILE CICLOS Mtra. Faviola Vega. Introd. Computación

Transcript of While para presentación

Page 1: While para presentación

WHILE

CICLOS

Mtra. Faviola Vega. Introd. Computación

Page 2: While para presentación

INSTRUCCIÓN WHILE

En este tema vamos a ver una estructura

repetitiva más primitiva que FOR ya que

no maneja automáticamente el contador

y por lo tanto es más difícil de utilizar,

pero usada correctamente puede ser

bastante más flexible.

FOR se incrementa con el STEP

WHILE requiere un contador

Mtra. Faviola Vega. Introd. Computación

Page 3: While para presentación

Una forma más general que el FOR

para realizar interacciones es el WHILE

(mientras), el cual permite repetir una

serie de instrucciones mientras una

determinada expresión lógica sea

verdadera. Su forma general utilizando

pseudocódigo es la siguiente

Mtra. Faviola Vega. Introd. Computación

Page 4: While para presentación

Mientras (expresión lógica)

Instrucciones a repetir

mientras la expresión lógica

es verdadera

Fin del Mientras

Mtra. Faviola Vega. Introd. Computación

Page 5: While para presentación

Representación gráfica del

While

Mtra. Faviola Vega. Introd. Computación

Page 6: While para presentación

EJEMPLO

Se muestra un algoritmo que empleando el WHILE escriba 5 veces el texto “Hola”

INICIO

Hacer i = 1

while (i<=5)

imprime “Hola”

i = i +1

Fin del While

Fin

Mtra. Faviola Vega. Introd. Computación

Page 7: While para presentación

Como pudo observarse en el ejemplo

anterior para que el proceso iterativo

llevado a cabo en el MIENTRAS no sea

infinito, dentro de las instrucciones que

se ejecutan en su interior se debe colocar

una instrucción que modifique el valor de

verdad en la expresión lógica.

Mtra. Faviola Vega. Introd. Computación

Page 8: While para presentación

• Ejemplo: Cuantas veces se escribe el

texto “HOLA” al ejecutar los siguientes

algoritmos:

Mtra. Faviola Vega. Introd. Computación

ACTIVIDAD

Page 9: While para presentación

Se puede observar que para utilizar un

WHILE se deben responder las

siguientes preguntas:

• 1.- En que valor inician la(s) variable(s)

de control

• 2.- Cuál es la condición de

terminación?

• 3.- Cómo se modifican la(s)

variables(s) de control?

Mtra. Faviola Vega. Introd. Computación

Page 10: While para presentación

Actividad convierte el siguiente

Diagrama en algoritmo

Mtra. Faviola Vega. Introd. Computación

Page 11: While para presentación

EJEMPLO

Diseñar un algoritmo para escribir los números impares menores que 100

Inicio

Variables

…..

i = 1

While (i<=100)

Imprime i

i = i +2

Fin del Mientras

Fin

Mtra. Faviola Vega. Introd. Computación

Page 12: While para presentación

Encontrar el valor de P que cumple la siguiente ecuación:

En otras palabras se pide contar cuantos números enteros positivos se pueden sumar, sin que su suma exceda 1000

Inicio

..

i=0

suma = 0

While suma = 0

i = i + 1

suma = suma + i

Fin del While

P = i -1

Imprime P

FinMtra. Faviola Vega. Introd.

Computación

ACTIVIDAD: Realiza la prueba de escritorio con el siguiente Algoritmo para los números 17, 25, 12, 865, 658, 1, 333 escribe los resultados y escribe su diagrama

Page 13: While para presentación

Recordemos el ejemplo de escribir los números del 1 al 5 con la instrucción FOR.

FOR n = 1 TO 5PRINT n

NEXT

Mtra. Faviola Vega. Introd. Computación

Page 14: While para presentación

Ahora veremos como se hace lo mismo usando la instrucción WHILE (Mientras).n = 1WHILE n <= 5

PRINT nn = n + 1

WENDEsto lo que hace es ejecutar el bloque de instrucciones (Lo que hay entre el WHILE y el WEND) una y otra vez mientras se cumpla la condición del WHILE. Un poco más difícil que con el FOR.

Mtra. Faviola Vega. Introd. Computación

Page 15: While para presentación

Se puede ver que el funcionamiento es

parecido al del FOR, solo que aquí lo

tenemos que controlar todo.

Las dos reglas que dijimos sobre los

contadores del FOR ya aquí no tienen

sentido porque de hecho nosotros

vamos a tener que incrementar el

contador haciendo una asignación y

una vez terminado podemos estar

seguro del valor que tiene la variable.

Mtra. Faviola Vega. Introd. Computación

Page 16: While para presentación

Una norma que sí conviene respetar (Aunque no siempre es necesario) es que la instrucción que incrementa el contador sea la última del bloque, ya que si está en otro sitio ejecutaremos unas instrucciones con un valor y las demás con el otro, con lo que nos podemos liar. Un error muy típico es que se nos olvide de poner la instrucción de incrementar el contador, produciendo un bucle infinito que hará que nuestro programa no termine nunca. Si un programa se bloquea es conveniente revisar esto.

Mtra. Faviola Vega. Introd. Computación

Page 17: While para presentación

También puede pasar que no lleguemos a entrar al MIENTRAS porque la condición ya sea falsa la primera vez, por ejemplo:

contador = 120

WHILE contador < 100

PRINT "Esto no se va a llegar a escribir nunca.”

contador = contador + 1

Mtra. Faviola Vega. Introd. Computación

Page 18: While para presentación

ACTIVIDAD

Usando la instrucción mientras hacer un algoritmo para un programa que imprima la serie 1, 3, 5, 7,9, realiza su diagrama de Flujo y su prueba de escritorio.

InicioVariable

I IntegerLeer i

i =1While i<=9

imprime ii =i+2

fin mientrasFin

Mtra. Faviola Vega. Introd. Computación

Page 19: While para presentación

1.- Hacer un algoritmo para un

programa que encuentre el primer

entero que haga que la suma de la

serie 1, 2, 3, 4, 5, 6, 7, 8,9,...; supere

30.

Mtra. Faviola Vega. Introd. Computación

ACTIVIDAD

Page 20: While para presentación

Iniciovariables

i intnum int

leer nummientras num>1 hacerIf num modulo 2 = 0 entonces

num=num/2de lo contrario

num=num*3+1imprimir numfin mientras

Fin• El MODULO TOMA EL RESIDUO recuerda 5/2=2 y queda 1 EL RESIDUO ES EL QUE TOMA

Mtra. Faviola Vega. Introd. Computación

Page 21: While para presentación

• Hacer el algoritmo para un programa

que calcule la suma de ciertos números

ingresados por el teclado. El cálculo de

la suma se hará en cualquier momento.

Mtra. Faviola Vega. Introd. Computación

ACTIVIDAD

Page 22: While para presentación

ACTIVIDAD

Escribir un algoritmo para un programa que imprima la siguiente tabla de temperaturas Fahrenheit y Celsius. Sugerencia

F C32 034 1,111136 2,2222... ...100 37,778

Mtra. Faviola Vega. Introd. Computación

Page 23: While para presentación

Inicio

variables

fareng int

cel int

fareng 30

While fareng<=100

Cel=(fareng-32)*5/9

fareng=fare+2

imprimir fareng, cel

Fin mientras

Fin

Mtra. Faviola Vega. Introd. Computación

Page 24: While para presentación

Inicio

Variablesx int

Dame Numero; x

Leer x

While x<32000 y x<>0 haceriF x>=0 y x<10 entonces imprimir x, "TIENE 1 CIFRA" Fin siIf x>9 y x<100 entonces imprimir x, "TIENE 2 CIFRAS" Fin siIF x>99 y x<1000 entonces imprimir x, "TIENE 3 CIFRAS" FinIF x>999 y x< 10000 entonces imprimir x, "TIENE 4 CIFRAS" Fin siIF x>9999 y x<=32000 entonces imprimir "TIENE 5 CIFRAS" Fin si

Fin mientras

Fin

Mtra. Faviola Vega. Introd. Computación

Page 25: While para presentación

ACTIVIDAD

Escriba el algoritmo para un programa

en el que se pida al usuario ingresar 10

números enteros impares para

sumarlos. Elabore el programa de

manera que no se arruine si el usuario

escribe algunos enteros pares. El

programa debe salir del ciclo e imprimir

la suma sólo cuando se hayan

ingresado los 10 enteros impares.

Mtra. Faviola Vega. Introd. Computación

Page 26: While para presentación

Iniciox int

suma int

c intwhile e(c<10)Leer xsi x modulo 2 <>0 entoncessuma suma+x

c c+1fin siFin mientrasimprimir sumaFin

Mtra. Faviola Vega. Introd. Computación

Page 27: While para presentación

Fuente:

• http://www.mailxmail.com/curso-

algoritmos-lenguaje-c/bucles-while-1

Mtra. Faviola Vega. Introd. Computación