Estructuras de Control Ciclos Diego Hernández dhernand@inf.utfsm.cl
Hoy FOR Ejemplo FOR WHILE DO Ejemplo WHILE DO REPEAT UNTIL Ejemplo REPEAT UNTIL Resumen Ejercicios
FOR-TO-DO (para variable igual a algo hasta tal hacer) For {VARIABLE} := {INICIO} To {FIN} Do accion For {VAR.} := {INICIO} DownTo {FIN} Do
FOR TO DO
Ejemplo FOR-TO-DO Program MiPrimerPrograma; {cabecera} Uses Crt; {declaraciones} Var numero :integer; begin ClrScr; {Limpia la pantalla} For numero := 0 To 10 Do WriteLn(numero); Readkey; ClrScr end. Program MiPrimerPrograma; {cabecera} Uses Crt; {declaraciones} Var numero :integer; begin ClrScr; {Limpia la pantalla} For numero := 20 DownTo 10 Do WriteLn(numero); Readkey; ClrScr end.
WHILE DO While {CondicionBooleana} Do Accion
WHILE DO (MIENTRAS - HACER) Se ejecutan acciones mientras la condición sea VERDADERA
Ejemplo WHILE DO Program HolaMundo; Uses Crt; Var x :Integer; begin {Borra la Pantalla} ClrScr; {Escribe en pantalla el texto} Write ('Ingrese numero: '); {Lee un dato de teclado y deja el cursor en la linea siguiente} ReadLn(x); While x<=100 Do Begin WriteLn('El radio es ',x); x:=x+7; End; WriteLn('Fin While'); {Espera que se preseione una tecla para continuar} Readkey; ClrScr end.
REPEAT UNTIL Repeat Until {CondicionBooleana}; Sentencia 1;
REPEAT UNTIL (REPETIR – HASTA) Se ejecutan acciones hasta que la condición sea verdadera. Otra forma: Se ejecutan acciones mientras la condición sea FALSA
Ejemplo REPEAT UNTIL Program HolaMundo; Uses Crt; Var x :Integer; begin {Borra la Pantalla} ClrScr; {Escribe en pantalla el texto} Write ('Ingrese numero: '); {Lee un dato de teclado y deja el cursor en la linea siguiente} ReadLn(x); Repeat WriteLn('El radio es ',x); x:=x+7; Until x>=100; WriteLn('Despues del Until'); {Espera que se preseione una tecla para continuar} Readkey; ClrScr end.
Ejemplos Program HolaMundo; Uses Crt; Var x :Integer; begin {Borra la Pantalla} ClrScr; {Escribe en pantalla el texto} Write ('Ingrese numero: '); {Lee un dato de teclado y deja el cursor en la linea siguiente} ReadLn(x); While x<=100 Do Begin WriteLn('El radio es ',x); x:=x+7; End; WriteLn('Fin While'); {Espera que se preseione una tecla para continuar} Readkey; ClrScr end. Program HolaMundo; Uses Crt; Var x :Integer; begin {Borra la Pantalla} ClrScr; {Escribe en pantalla el texto} Write ('Ingrese numero: '); {Lee un dato de teclado y deja el cursor en la linea siguiente} ReadLn(x); Repeat WriteLn('El radio es ',x); x:=x+7; Until x>=100; WriteLn('Despues del Until'); {Espera que se preseione una tecla para continuar} Readkey; ClrScr end.
RESUMEN DE CICLOS WHILE-DO REPEAT-UNTIL FOR Problema “infinito” Problema finito No se sabe la cantidad total de ciclos Si se sabe la cantidad total de ciclos 1° ver condición, luego hacer 1° hacer luego ver condición Ejecutar siempre e incrementar contador Ejecutar Mientras Ejecutar Hasta
Ejercicios (EASY) Imprimir los números pares hasta 1000 Hacer el calculo del factorial de un numero ingresado por teclado. Sumar los números de 1 a 100. Leer números y sumarlos hasta que se ingrese el 123. Leer números mientras se ingresan números menores que 100.
Ejercicios II (NORMAL) Sumar los números de 1 a 850 y mostrar la suma en pantalla Recorrer los numero del 0 al 10 y por cada número se deben mostrar en pantalla los números del 10 al 0 inclusive. Recorrer los números del 1 al 5000 y por cada numero imprimirlo solo si es divisible por 2 y por 3.
Ejercicios 3 (HARD) Encontrar el mayor de una cadena de N números donde ”ene” lo define el usuario y los números se van ingresando uno a uno.
Fin ¿Alguna consulta?