Tiposde Ciclos o Bucles
Mientras Para
(While) (For)
ESTRUCTURAS
CÍCLICAS O
REPETITIVAS
Alahoradeutilizarunciclo,sedebeirconcuidadoypensarcuándodebeacabaryaque;sino
tuviéramosencuentaesto,podríamosentrarenuncicloquenoterminaríanuncayqueserepetiría
millonesdeveces.Poresto,esdesumaimportanciaquepensemoscómocambialavariable
decontrolyconocerenquémomento,cómo,dóndeyporquédebeacabarelciclo.
Repite las instrucciones
MIENTRASla condición
sea VERDADERA
Repite tantas veces las instrucciones
como se indique en el intervalo desde
un valor inicial hasta uno final
MIENTRAS<Condición_de_entrada>:
Instrucciones
PARAVariable_de_control=valor_inicialHASTA valor_final:
Instrucciones
Cada ciclo utiliza una variable de control que permite “vigilar” cuántas veces se repite un ciclo
ESTRUCTURAS
CÍCLICAS O
REPETITIVAS
Antesderealizarejerciciosutilizandolasestructurasrepetitivasvamosa
conoceralgunoselementosquesonnecesariosparacontrolarotrabajar
correctamenteconestasestructuras.
Contadores y Acumuladores
Estasdoselementosseutilizanenlaprogramaciónparareferirseavariablesquevan
incrementandosuvaloralolargodelaejecucióndelalgoritmo.Normalmenteserándetipo
numéricoynosetratandeningunaformaenespecial,soloquealasignarlesunvalorsehacede
formatalqueelvaloranteriornosepierda,porejemplo:
i = i+ 1 (Contador)
total = total + subtotal (Acumulador de la variable subtotal)
numero = numero * 2 ( Incrementa la variable numeroal doble de su valor )
Es muy importante inicializarlas de forma correcta siguiendo estas normas:
Se inicializan al principio del algoritmo para que no tengan valores residuales (nunca dentro
de un ciclo)
Si vamos a sumar o restar se inicializa en cero ( 0). Ejemplo: i=0, total=0
Si vamos a multiplicarlas inicializamos en uno (1 ), porque 1 es el elemento neutro si valen cero
todo lo que multipliquemos por ella seguirá valiendo cero. Ejemplo: numero=1
CICLO PARA -(For)
EsusadocuandoseconocePreviamenteelnúmerodevecesquedeberepetirseunainstrucciónoconjuntodeellas.
Esuncicloincondicional,queabarcatodoslosvaloresdeunaprogresión,empiezaconelprimervaloryterminacon
unúltimodeellos,losvaloresdelaprogresióndebenserasignadosaunavariable,lacualsedenominavariablede
control.Lavariabledecontrolesdetipoentero.
PSEUDOCÓDIGO
ESTRUCTURAS
CÍCLICAS O
REPETITIVAS
PARAVariable_de_control=valor_inicialHASTA valor_final:
Instrucciones
Fin_Para
Veamosaunejemplo:Imaginaquenecesitasrealizarun
algoritmoparacalcularelpromediodenotasdeuna
seccióncon5estudiantes,paraellodebespedirlanota
finaldecadaunoporloquesedebenrepetiresas
instruccionescincoveces,acumularlasnotas,para
finalmentecalcularelpromedio.Entoncesparaello
debemosutilizarunciclorepetitivoycomosabemos
exactamentecuantasvecessevaarepetirutilizaremosel
cicloPARA
ALGORITMO Promedio_seccion_16;
DEFINIR
i: Entero; ///Variable de control del ciclo PARA
Suma, Promedio, nota: Decimal
INICIO
Suma=0 ///Para inicializar el acumulador
PARA i=1 HASTA 5 ///el ciclo se repite 5 veces
IMPRIMIR (‘Ingresa nota estudiante’);
LEER (nota); ///Guardar nota de cada estudiante
Suma=Suma + nota ///Para ir acumulando la nota
de cada estudiante
Fin_PARA
Promedio = Suma / 5 ///cálculo del promedio de la sección
IMPRIMIR (‘El promedio de notas de la sección es: ’,
Promedio); ///Mostrar el resultado
FIN ALGORITMO
CICLO MIENTRAS (While)
MIENTRAS <Condición_de_Entrada>
Instrucción(es)
Fin_ mientras
LainstrucciónMIENTRAS...HAGAcontinuarárepitiéndosemientraslacondiciónsigasiendoválida(es
decir,suvalorseaverdadero).Esempleadacuandonoseconoceexactamenteelnúmerodeelementos
aprocesar.Lainstrucciónescomosigue
PSEUDOCÓDIGO
ESTRUCTURAS
CÍCLICAS O
REPETITIVAS
PSEUDOCÓDIGO
ElmismoejemploanteriorperoconelcicloMIENTRAS:
Algoritmoparacalcularelpromediodenotasdeuna
seccióncon5estudiantes,paraellosedebepedirlanota
finaldecadaunoporloquesedebenrepetiresas
instruccionescincoveces,perocomoelciclomientras
necesitaunacondiciónparaentrarypoderrepetirlas
instruccionesnecesitamosunavariabledecontrolquese
vayaincrementandodemaneraquecuandolacondición
sevuelvafalsaelciclosedetenga(Sinoharíamosunciclo
infinito),tambiénnecesitamosacumularlasnotas,para
finalmentecalcularelpromedio.
ALGORITMO Promedio_seccion_16;
DEFINIR
i: Entero; ///Variable de control del ciclo Mientras
Suma, Promedio, nota: Decimal
INICIO
i=0 ///Para inicializar el contador que servirá de control del ciclo
Suma=0 ///Para inicializar el acumulador
MIENTRAS (i < 5) ///para que se repita 5 veces
IMPRIMIR (‘Ingresa nota estudiante’);
LEER (nota); ///Guardar nota de cada estudiante
Suma=Suma + nota ///Para ir acumulando la nota
de cada estudiante
i = i + 1 ///para contar cuantas veces se ha repetido el ciclo,
cuandoi valga 5 la condición se hará falsa y el ciclo terminará.
Fin_Mientras
Promedio = Suma / 5 ///cálculo del promedio de la sección
IMPRIMIR (‘El promedio de notas de la sección es: ’,
Promedio); ///Mostrar el resultado
FIN ALGORITMO