Академический Документы
Профессиональный Документы
Культура Документы
REPETITIVAS
MaterialBsicodeEstudio
Sitio:
CoordinacindeEducacinContinuayaDistancia
Curso:
ALGORITMOSYPROGRAMACIN
Libro:
ESTRUCTURASDECONTROLREPETITIVAS
Impresopor: JoseMariaZepedaFlorian
Fecha:
Monday,26deSeptemberde2016,11:08
TabladeContenidos
Introduccin
Paraqusirven?
EstructuradeControlRepetitivaPARA
Ejemplo
EstructuradeControlRepetitivaREPETIR...HASTAQUE
Ejemplo
EstructuradeControlRepetitivaMIENTRAS
Ejemplo
Introduccin
LasestructurasdeControlRepetitivassonaquellasquepermitenqueunaovariassentenciasseejecuten
repetidamente.Seconocentambinconelnombredeloop,ciclo,lazoobucle.
Unbucle,lazo,ciclooloop(eningls)esunsegmentodealgoritmooprograma(unasecuenciade
instrucciones)queserepitenundeterminadonmerodevecesmientrassecumpleunadeterminada
condicin,enotraspalabras,unbucleocicloesunconjuntodeinstruccionesqueserepitenmientrasuna
condicinesverdaderaoexiste.
AspuesunBUCLE/CICLO/LAZOeslaestructuradecontrolquepermitelarepeticindeunaserie
determinadadesentencias.Esimportantetenerencuentacuntasvecesserepiteelbucleyculesel
cuerpodelbucle.Elcuerpodelbucleloconstituyenlaseriedesentenciasquepuedenserdecualquier
tipo(secuenciales,dedecisinorepetitivas)lascualessernrepetidasnveces,pudiendosernconocidoo
desconocido.Cuandonesdesconocido,elnmerodevecesquedeberepetirseelcuerpodelbucleestar
condicionadoporunaexpresinlgica.
Acadarepeticindelconjuntodeaccionessedenominaiteracin.
Paraqueunbuclenoserepitaindefinidamentedebetenerunacondicindeparadaodefin.
Estacondicindeparadaodefinseverificacadavezquesehaceunaiteracin.Elciclooloop
llegaasufincuandolacondicindeparadasehaceverdadera.Lacondicindeparadapuedeestaral
principiodelaestructurarepetitivaoalfinal.
Aligualquelasestructurasdeseleccinsimpleocompuesta(losbloquessientoncessinofsi),en
unalgoritmopuedenutilizarsevariosciclos.Estosciclospuedenserindependientes(unaacontinuacin
deotro)oanidados(ciclosdentrodeciclos).
PararepresentarlosbuclesolazosutilizaremosenelcursolasestructurasdecontrolPara,Repetiry
Mientras
Paraqusirven?
Losciclosoprocesosrepetitivosdeinstruccionessonprocedimientosfundamentalesenelusodelas
computadorasyporlotantoenmuchosalgoritmosyprogramas.
Vamosautilizarcicloscuando:
NecesitemosREPETIRINSTRUCCIONESundeterminadonmerodeveces,mientrassecumpla
unacondicin,mientrasunhechoseaverdaderoohastacuandosealcanceundeterminadovaloro
condicin.
CuandonecesitemosCONTARundeterminadonmerodeelementosodeacciones,porejemplo
contarlasslabasdeuntexto,loselementosdeunasecuenciaqueverificanunadeterminada
condicinocontarelnmerodepersonasquecumplenciertascaractersticas.
Enestecasoseincluirncontadoresdentrodelbucle.Loscontadoressonvariables(generalmente
detipoEntero)quetienenunvalorinicialyqueseincrementanodecrementanenunvalorconstante
cadavezqueocurreunaiteracin.Cuandoloscontadoressedecrementansehabladedescontar,en
lugardecontar.
TambinusaremoscicloscuandonecesitemosACUMULARoTOTALIZARterminadosvalores
cadavezqueserealizaunaiteracin.Losacumuladorestambinsonvariables(generalmentede
tipoEntero,RealoCaracter),quealmacenanvaloresvariablesresultantesdelasoperacionesquese
realizanencadaciclo.
Porejemplo,podemosusarparairsumandolospreciosdevariosvehculosyluegocalcularelprecio
promediogeneral(conunavariableacumuladordetiporeal),paracalcularlapotenciaoelfactorial
deunnmeroatravsdemultiplicacionessucesivas(unacumuladordetipoenterooreal)oparair
agregandoaunacadenadecaracteres,letrasoslabasqueconstruirnunmensaje(unavariable
acumuladordeltipoCaracter)
DiagramadeFlujo
Pseudocdigo
EstructuradeControlRepetitivaPARA
Esunaestructuraiterativaqueescontroladaporunavariable(llamadatambinvariabledecontrol),la
cualseincrementaodecrementahastallegaraunvalorlmiteovalorfinalquerepresentalacondicin
deparada.
LaestructuraParacomienzanconunvalorinicialdelavariabledecontrol,lasaccionesespecificadas
paraelcicloseejecutanunnmerodeterminadodeveces,amenos,queelvalorinicialdelavariablede
controlseamayorqueelvalorlmitequesequierealcanzar.
LaestructuraParaesrecomendadacuandoseconoceelnmerodevecesquesedebenejecutarlas
instruccionesdelciclo,esdecir,enloscasosenqueelnmerodeiteracionesesfijoyconocido.
Elincrementoodecrementodelavariabledecontrolsueleserde1en1,salvocuandoseindicalo
contrario.LavariabledecontrolsueleserdetipoEntero.
Lasintaxisparaescribirestaestructuradecontrolrepetitivaes:
DiagramadeFlujo
Pseudocdigo
Alingresarabloquedeinstrucciones,lavariabledecontrol(V)recibelevalorinicial(Vi)yseejecutala
secuenciadeinstruccionesqueformaelcuerpodelciclo(bloquedeinstrucciones).Luegoseincrementa
lavariabledecontrol(V)enunaciertacantidad(conpaso1)yseevalasielvaloralmacenadoenla
variabledecontrol(V)superalvalorfinal(Vf).Siestoesfalso,serepitehastaqueelvalordela
variabledecontrol(V)superealvalorfinal(Vf).
Ejemplo
DiagramadeFlujo
Pseudocdigo
RealizarunalgoritmoquecalculelasumadeTnmerosintroducidosporteclado.
DiagramadeFlujo
Pseudocdigo
Ahora,observalaexplicacindelfuncionamientodeestaestructuradecontrolrepetitivaenelsiguiente
video:
0:00 /2:08
DiagramadeFlujo
Pseudocdigo
EstructuradeControlRepetitivaREPETIR...HASTA
QUE
Ejecutaunbloquedeinstruccionesvariasveceshastaquesecumplelacondicinqueesverificadaal
finaldelbucle.
LasinstruccionesdentrodelcicloRepetirsevanarealizarmientraslacondicindeparadaevaluadaal
finalseafalsa.Dichodeotromodo,elciclosevaadetenercuandolacondicindeparadasehaga
verdadera.
LaestructuraRepetiresrecomendadacuandolasinstruccionesdelciclosepuedenrealizaralmenos1
vezantesdecomprobarlacondicindeparada.
Lasintaxisdeestaestructuradecontrolrepetitivaes:
DiagramadeFlujo
Pseudocdigo
Alejecutarseestaestructuradecontrolrepetitiva,lasecuenciadeinstruccionesqueformanelcuerpodel
ciclo(bloquedeinstrucciones)seejecutaunavezyluegoseevalalacondicin(expresin_lgica).Sila
condicinesfalsa,elcuerpodelcicloseejecutanuevamenteysevuelveaevaluarlacondicin.Estose
repitehastaquelacondicinevaleaverdadero.
Noteque,dadoquelacondicinseevalaalfinal,lasinstruccionesdelcuerpodelciclosernejecutadas
almenosunavez.
Adems,afindeevitarciclosinfinitos,elcuerpodelciclodebeconteneralgunainstruccinque
modifiquelaolasvariablesinvolucradasenlacondicindemodoqueenalgnmomentolacondicin
seaverdaderaysefinalicelaejecucindelciclo.
Ejemplo
RealizarunalgortimoquecalculelasumadeTnmerosintroducidosporteclado
DiagramadeFlujo
Pseudocdigo
Ahora,observalaexplicacindelaejecucindeesteprograma:
0:00 /2:05
DiagramadeFlujo
Pseudocdigo
EstructuradeControlRepetitivaMIENTRAS
Esunaestructuraiterativaquepermiteverificarlacondicindeentradaalcicloantesdelcuerpode
instruccionesarepetir.
ComolaevaluacindelacondicindeentradaserealizaaliniciodelbloqueMientras,puedeocurrirque
lasinstruccionesdelciclonoserealicennisiquiera1vez,adiferenciadelRepetir,dondeelbloquede
instruccionesserealizaalmenos1vezporquelacondicindeparadaseverificaalfinal.Las
instruccionesdelMientrassepuedenrealizar0omsvecesantesdequesecumplalacondicinde
terminarelciclo.
ElconjuntodeinstruccionesdentrodelMientrasFinMientrasseejecutacuandolacondicinde
entradadelprincipiosecumple(esverdadera).Dichodeotromodo,elciclodeinstruccionesdentro
delMientrassevaadetenercuandolacondicinsehagafalsa.
LaestructuraMientrasesrecomendadacuandotienesqueverificarlacondicindeentradaalinicioysi
secumple,entonces,entraralcicloyrealizarsusinstrucciones.
LasintaxisdelaestructuradecontrolrepetitivaMientrases:
DiagramadeFlujo
Pseudocdigo
Alejecutarseestaestructuradecontrolrepetitiva,lacondicinesevaluada.Silacondicinresulta
verdadera,seejecutaunavezlasecuenciadeinstrucciones(Bloquedeinstrucciones)queformanel
cuerpodelciclo.Alfinalizarlaejecucindelcuerpodelciclosevuelveaevaluarlacondiciny,sies
verdadera,laejecucinserepite.Estospasosserepitenmientrasquelacondicinevaleaverdadero.
Notequelasinstruccionesdelcuerpodelciclo,puedennoejecutarsenunca,sialevaluarporprimeravez
lacondicinresultafalsa.
Silacondicinsiempreesverdadera,alejecutarestainstruccinseproduceuncicloinfinito.Afinde
evitarlo,lasinstruccionesdelcuerpodelciclodebenconteneralgunainstruccinquemodifiquelaolas
variablesinvolucradasenlacondicin,demodoquestaseaevaluadaafalsoenalgnmomentoyas
finalicelaejecucindelciclo.
Ejemplo
CrearunalgoritmoquecalculelasumadeTnmerosenterospositivosintroducidosporteclado
Ahoraobservaestevideoqueteayudaracomprendercomofuncionaestaestructuradecontrol
repetitiva:
0:00 /2:06