CAPITULO 4 . BUCLES Án gel Fid a lgo Bla n co
Un iver s id a d Polit écn ica d e Ma d r id
Licen cia Cr ea t ive Com m on s Algu n os d erech os r es er va d os
UNIDAD DIDACTICA Nº 4 .
BUCLES.
OBJ ETIVOS :
* Con ocer el con cep to d e b u cles .
* Id en t ifica r la s d is t in t a s p a rt es d e u n b u cle. * Con ocer los d is t in tos t ip os d e b u cles .
CONTENIDOS :
4 .1 . In t r od u cción .
4 .2 . Tip os d e b u cles .
4 .2 .1 . Bu cles For .
4 .2 .1 .1 . Con cep t o d el b u cle For .
4 .2 .1 .2 . Rep r es en t a ción a lgor ítm ica d el b u cle For .
4 .2 .2 . Bu cles Wh ile.
4 .2 .2 .1 . Con cep t o d el b u cle Wh ile.
4 .2 .2 .2 . Rep r es en t a ción a lgor ítm ica d el b u cle Wh ile.
4 .2 .3 . Bu cles Do-Wh ile.
4 .2 .3 .1 . Con cep t o d el b u cle Do-Wh ile.
4 .2 .3 .2 . Rep r es en t a ción a lgor ítm ica d el b u cle Do -Wh ile.
CONOCIMIENTOS PREVIOS :
* As ign a cion es d e va r ia b les . * E xp r es ion es .
4 .1 . INTRODUCCIÓN.
E n p r ogr a m a ción s e d en om in a b u cle a la ejecu ción r ep et id a s veces d e u n m is m o con ju n t o d e s en t en cia s . Norm a lm en t e en ca d a n u eva ejecu ción va r ía a lgú n elem en t o. Pa r a com p r en d er m ejor el con cep t o d e b u cle im a gin em os u n a m á qu in a d e t r en qu e p a r t e d e la es t a ció n "in icio" y via ja h a s t a la es t a ción "fin a l"; cu a n d o el m a qu in is t a llega a la es t a ción "fin a l" vu elve a la es t a ción "in icio" y a s í s u ces iva m en t e. Ca d a vu elt a qu e d a el m a qu in is t a es u n a ejecu ción o u n a it er a ción , en la cu a l s e ejecu t a n t od a s la s in s tr u ccion es qu e h a y en el t r a yect o com p r en d id o en tr e la es t a ción "in icio" y la es t a ción "fin a l". La figu ra n º 1 m u es tr a es t e con cep t o.
qu e r ea liza r , d e otr a for m a es t a r ía d a n d o vu elt a s in d efin id a m en t e. La fo rm a de in dic ar al "m aqu in is t a" e l n ú m e ro de vu e lt as de fin e e l t ipo de bu c le. As í p u es , cu a n d o u tilicem os la s in s tr u ccion es d e b u cle s d eb em os in d ica r a l p r ogr a m a d on d e em p ieza el b u cle, d on d e t er m in a y cu a n t a s iter a cion es t ien e qu e r ea liza r . Tod a s la s s en t en cia s com p ren d id a s en tr e el com ien zo y el fin a l d el b u cle s e ejecu t a rá n en ca d a it er a ción .
4 .2 . TIPOS DE BUCLES .
E xis t en , p r in cip a lm en t e, tr es t ip os d e b u cles , s u u t iliza ción d ep en d e d el t ip o d e p r ogr a m a qu e es tem os r ea liza n d o. Los b u cles s e d efin en b á s ica m en t e p or la for m a en qu e les in d ica m os el n ú m er o d e it er a cion es qu e d eb e r ea liza r .
4 .2 .1 . Bu c le s Fo r.
4 .2 .1 .1 . Co n c e pt o de bu c le Fo r.
Los b u cles fo r s e u t iliza n cu a n d o el p r ogr a m a s a b e el n ú m ero d e vu elt a s qu e t ien e qu e r ea liza r cu a n d o en t r a en el b u cle. E l n ú m er o d e vu elt a s s e p u ed e in d ica r p or u n a con s t a n t e (p or ejem p lo "5 " vu elt a s ) o p or u n a exp r es ión (p or ejem p lo "n " vu elt a s o "n *j" vu elt a s ), en e s te ú lt im o ca s o cu a n d o el m a qu in is t a llega a l in icio d el b u cle la va r ia b le d eb e es t a r a s ign a d a o la exp r es ión ca lcu la d a .
Pa r a lleva r la cu en t a d el n ú m er o d e it er a cion es qu e s e r ea liza n en el b u cle s e u t iliza u n a va r ia b le en t er a , d e es t a form a , en t od o m o m en t o s e s a b e el n ú m er o d e it er a ción s in m á s qu e ob s er va r el va lor d e la va r ia b le, es t a va r ia b le t a m b ién s e u t iliza p a r a s a b er cu á n d o s e d eb e a ca b a r el b u cle.
E n es t e t ip o d e b u cles s e d eb e es p ecifica r a l com ien zo d el m is m o la va r ia b le en t er a qu e s e u t iliza r á p a r a con t a r el n ú m er o d e it er a cion es y el n ú m er o d e vu elt a s qu e d eb e r ea liza r el b u cle. Pa r a evit a r p os ib les er r or es en el va lor d e la va r ia b le, a l com ien zo d el b u cle s e d eb e es p ecifica r el va lor in icia l y el va lor fin a l qu e t en d r á la va r ia b le en t er a , d e es t a for m a s e ten d rá con t r ola d o en t od o m om en t o el n ú m er o d e it er a cion es . Ta m b ién es con ven ien t e es p ecifica r el in cr em en t o d e la va r ia b le ca d a vez qu e s e r ea liza u n a it er a ción (el 9 7 % d e la s veces el in cr em en t o es 1 ).
Por ejem p lo s i d es ea m os u t iliza r la va r ia b le en t er a I p a r a con t r ola r el n ú m ero d e it er a cion es y qu er em os qu e r ea lice 4 it er a cion es , en t on ces s e p od r ía es p ecifica r d e la s igu ien t e m a n er a :
I = 1 ,4 ,1
I = 2 ,5 ,1 I = 2 8 ,3 1 ,1 I = n ,n +3 ,1 I = 2 ,8 ,2 I = 3 ,1 0 ,2
S i gen er a liza m os , s e p od r ía r ep r es en t a r el in icio d el b u cle com o I = e xpr1 , e xpr2 ,in c d on d e exp r 1 y exp r 2 r ep r es en t a n exp r es ion es en t er a s e in c el in cr em en t o qu e t om a la va r ia b le I. La con d ición p a r a qu e el b u cle r ea liza r a 4 it er a cion es s er ía qu e la p a r t e en t er a d e (e xpr2 +in c - e x pr1 )/ in c = 4. Com p r u eb e el lect or qu e es t a con d ición s e cu m p le p a r a tod os los ca s os cit a d os a n t er iorm en t e. La fór m u la gen ér ica p a r a ca lcu la r el n ú m er o d e it er a cion es qu e s e r ea liza r á d en t r o d e u n b u cle fo r es :
Part e e n t e ra ((e xpr2 + in c - e xpr1 )/ in c )
Ob s ér ves e qu e cu a n d o com ien za el b u cle s e h a ce cu m p lir la con d ición d e qu e I=e xpr1 (c o n d1 ) y cu a n d o fin a liza el b u cle es p or qu e n o s e cu m p le la con d ición I<=e xpr2 (c o n d2 ), el in cr em en t o s e exp r es a p or ot r a exp r es ión
(c o n d3 ) (p or ejem p lo in cr em en t o 1 s er ía I=I+1 ).
Ca d a vez qu e u n b u cle fo r rea liza u n a it er a ción el va lor d e la va r ia b le I ca m b ia . S iem p r e qu e com ien ce el b u cle el va lor d e la va r ia b le I s e h a ce igu a l a l va lor d e la p r im er a exp r es ión , es d ecir , I=e xpr1. Pos t er ior m en t e, el va lor d e I s er á igu a l a l va lor qu e t en ía a n t es m a s el in cr em en t o ; es d ecir I=I+in c. Vea m os d os ejem p los :
E jem p lo 1 . Los va lor es qu e t om a la va ria b le I en el b u cle I=2 ,5 ,1 s on los s igu ien t es :
Pr im er a it er a ción I=2 S egu n d a it er a ción I=3 Ter cer a it er a ción I=4 Cu a r t a it er a ción I=5
E jem p lo 2 . Pa r a el ca s o d e I=3 ,1 0 ,2 s er ía n :
La fin aliz ac ió n de l bu c le s e d et ect a p or el va lor qu e t om a la va r ia b le I, a s í en el p r im er ejem p lo en la ú lt im a it er a ción el va lor d e I es igu a l a 5 , el b u cle in t en t a r ea liza r u n a n u eva it er a ción y el va lor d e I t om a el va lor 6 (5 +in c) y es t e va lor s u p er a a l lím it e (6 >5 ) p or t a n t o n o s e r ea liza el b u cle. E n el s egu n d o ca s o, el b u cle in t en t a r ea liza r u n a qu in t a it er a ción y el va lor d e I s e h a ce igu a l a 1 1 (9 +in c), es t e va lor s u p era a l lím it e (1 1 >1 0 ) p or t a n t o el b u cle n o s e r ea liza .
Cu a n d o el b u cle fin a liza , el p r ogr a m a con t in ú a la ejecu ción en la p r im er a in s tr u cción qu e en cu en t r e d es p u és d el fin a l d el b u cle.
4 .2 .1 .2 . Re pre s e n t ac ió n algo rít m ic a de l bu c le fo r.
E l va lor d e la va r ia b le en t er a qu e s e u t iliza com o con t a d or s u fr e u n p r oces o d e ca m b io d en t r o d el b u cle, ca d a vez qu e ocu r r e u n a it er a ción s e s u m a el va lor es p ecifica d o en la exp r es ión d e in cr em en t o. Per o, ¿qu é ocu r r e con el va lor d e la va r ia b le a n t er ior m en t e cit a d a a n t es y d es p u és d e qu e s e ejecu t e el b u cle?. La m a yor ía d e m is a lu m n os h a n ten id o m u ch os p r ob lem a s en la r ea liza ción d e los p r ogr a m a s p or n o con s id er a r la a n t er ior p r egu n t a , p or t a n t o con vien e t en er en cu en t a qu é ocu r re con la va r ia b le qu e s e u t iliza com o con t a d or .
An t e s de l bu c le la va r ia b le en t er a p u ed e t en er cu a lqu ier va lor , es d ecir s i la h em os a s ign a d o u n va lor d et er m in a d o, s er á es t e va lor el qu e con t en ga ; p er o a t en ción , e l valo r de la variable c u an do c o m ie n z a e l bu c le s e s u s t it u y e po r e l valo r in dic ado e n la e xpr1, d e es t a for m a el va lor a n t er ior s e d es t r u ye y s e ca r ga u n o n u evo. As í p u es s e d eb e p r es t a r es p ecia l a t en ción a es t a va r ia b le.
m á s el in cr em en t o. E s t e es u n fa ct or d e vit a l im p ort a n cia p u es t o qu e s e s u ele cr eer qu e el va lor d e la va r ia b le t ien e el ú lt im o va lor a s ign a d o en la ú lt im a it er a ción . La figu ra n º 3 r ep r es en t a u n a lgor it m o qu e m u es tr a los va lor es d e la va r ia b le "con t a d or " a n t es y d es p u és d e ejecu t a r u n b u cle fo r. No exis t e n in gú n p r ob lem a en u t iliza r es t a va r ia b le d es p u és d el b u cle t en ien d o en cu en t a la s con s id er a cion es a n t er ior es .
Po r n o rm a ge n e ral la s va r ia b les qu e u t ilicem os com o con t a d or es en los b u cles fo r n o la s u tiliza r em os a lo la r go d e t od o el p r ogr a m a . No s e de be c am biar e l valo r de la variable de n t ro de l bu c le fo r ya qu e es t o "d es p is t a r ía " a l b u cle y ca u s a r ía u n m a l fu n cion a m ien t o d el m is m o.
S e s u e le u t iliz ar la va r ia b le d el con t a d or d el b u cle fo r d en tr o d el m is m o p a r a r ea liza r cier t a s op er a cion es , ya qu e és t a s u m in is tr a u n a s ecu en cia d e va lor es qu e s e p u ed en u t iliza r p a r a r ea liza r ciert a s op er a cion es . La s
4 .2 .2 . Bu c le s Wh ile .
4 .2 .2 .1 . Co n c e pt o de l bu c le Wh ile .
E l b u cle Wh ile s e u t iliza cu a n d o r ea lm en t e n o s a b em os el n ú m er o d e it er a cion es qu e s e va n a r ea liza r en el b u cle, s in em b a r go s í s a b em os qu e m ien t r a s s e cu m p la u n a d et er m in a d a con d ición d eb em os r ea liza r el b u cle. Cu a n d o es a con d ición ya n o s e cu m p la en t on ces el b u cle fin a liza r á .
E n es t e t ip o d e b u cles n o exis t e n in gu n a va r ia b le qu e in d iqu e el n ú m er o d e vu elt a s qu e h a r ea liza d o o fa lt a p or r ea liza r . E l ú n ico con tr ol qu e u t iliza es u n a con d ición qu e es t á a l com ien zo d el b u cle, m ien t r a s es t a con d ición s ea cier t a s e r ea liza n it er a cion es y en el m om en t o qu e s ea fa ls a s e fin a liza el b u cle.
Ob s ér ves e qu e la con d ición es t á a l com ien zo d el b u cle y és t a h a ce la s veces d e u n a p u er t a d e en t r a d a a l m is m o. La p u er t a s e a b r e s i la con d ición es ver d a d er a y la p u er t a s e cier r a s i la con d ición es fa ls a .
Al es t a r la con d ición a la en t r a d a d el b u cle, lo p r im er o qu e s e h a ce es com p r ob a r la con d ición y d es p u és la iter a ción ; es t o s ign ifica qu e a n t es d e com en za r a r ea liza r s e el b u cle d eb e com p r ob a r qu e la con d ición es ver d a d er a , s i és t a n o lo es en t on ces el b u cle n o s e r ea liza r á . De h ech o ca d a vez qu e es t e b u cle h a ce u n a it er a ción d eb e volver a p a s a r p or la p u ert a y com p r ob a r s i la con d ición es ver d a d er a o fa ls a .
E s t e t ip o d e b u cles es m u y ú t il en p r ogr a m a ción p u es t o qu e s im u la p r oces os r ea les ; p or ejem p lo en u n s u rt id or s e p od r ía llen a r los d ep ós it os d e com b u s t ib le m ien tra s h a ya ga s olin a ; u n a m á qu in a exp en d ed or a d e b illet es p u ed e ven d er b illetes m ien t r a s h a ya b illet es . En gen er a l es t e b u cle t ien e a p lica ción cu a n d o n os en con t r em os a n te u n p r ob lem a qu e s e en u n cie d e la for m a m ie n t ras ..o c u rra algo ...h ac e r t al c o s a. E l "ocu r r a a lgo" es la con d ición d el b u cle y "h a cer t a l cos a " es el cu er p o d el b u cle; es d ecir , la s s en t en cia s qu e s e ejecu t a n d u r a n t e la iter a ción . Por ejem p lo:
ven d er los .
La con d ición "h ay a t abac o " s e p u ed e exp r es a r p or (t abac o >0 ) y el p r oces o
"ve n de rlo s " p or : t o m ar din e ro ; dar c aje t illa; de vo lve r c am bio(s i lo h a y) y h ac e r t abac o =t abac o -1 (qu ier e d ecir qu e qu ed a u n a ca jet illa m en os ). As í s e p od r ía exp r es a r :
m ien t r a s (t a b a co>0 ) t om a r d in er o.
d a r ca jet illa .
d evolver ca m b io (s i lo h a y).
t a b a co=t a b a co-1 . (s e h a ven d id o u n p a qu et e). fin d el b u cle.
Cu a n d o s e u t iliza es t e t ip o d e b u cles s e h a d e t en er en cu en t a d os cos a s :
1 .- Al com ien zo d el p r ogr a m a los va lor es d e la exp r es ión qu e for m a la con d ición es t á n in icia liza d os . E n el ejem p lo a n t er ior es lógico qu e a n t es d e p on er a fu n cion a r la m á qu in a h a ya n m et id o ca jet illa s d e t a b a co. S i p or ejem p lo, s e h a n m et id o in icia lm en te 1 0 0 ca jet illa s en el p r ogr a m a s e exp r es a "t abac o =1 0 0 " y es t o s e r ea liza a n t es d e com en za r el b u cle.
2 .- Den tr o d el b u cle s e a lt er a la con d ición d e en tr a d a ; es d ecir , s i s e es t á ejecu t a n d o el b u cle es t o qu ier e d ecir qu e la con d ición es ver d a d er a . S i es t a con d ición n o ca m b ia r a n u n ca en t on ces el b u cle s er ía in fin it o (ya qu e la p u er t a es t a r ía s iem p r e a b ier t a ). As í p u es , p a r ece lógico s u p on er qu e d en tr o d el b u cle llega r á u n m om en t o en el qu e la con d ición s ea fa ls a y p or t a n t o fin a lice el b u cle. En el ejem p lo a n t e r ior exis t e la s en t en cia "t abac o =t abac o -1 " qu e ca u s a r á qu e la con d ición (t a b a co>0 ) s ea fa ls a . Rea lm en t e es t o ocu r r ir á cu a n d o s e r ea licen 1 0 0 it er a cion es d en t r o d el b u cle o lo qu e es lo m is m o cu a n d o s e h a ya n ven d id o la s 1 0 0 ca jet illa s d e t a b a co.
Lo s bu c le s qu e n o s e e je c u t an n un c a s e s u elen p r es en t a r cu a n d o a n t es d el b u cle la con d ición es fa ls a , p or t a n t o n o s e en t r a en el b u cle y és t e n o s e r ea liza . S i ocu r r e es to r evis a los va lor es in icia les qu e con for m a n la exp r es ión qu e h a y d en tr o d e la con d ición .
Lo s bu c le s in fin it o s s e s u elen p r es en ta r cu a n d o d en t r o d el b u cle n o s e ca m b ia la con d ición d e en t r a d a . S i in icia lm en t e es t a con d ición es ver d a d er a en t on ces s e en t r a en el b u cle; p er o s i d en tr o d el m is m o n u n ca s e h a ce la con d ición fa ls a , en ton ces el b u cle s e ejecu t a in d efin id a m en te.
4 .2 .2 .2 . Re pre s e n t ac ió n algo rít m ic a de l bu c le Wh ile .
La es t r u ctu r a gen er a l d e la s en t en cia wh ile es la s igu ien t e:
(1 )m ien tr a s (con d ición ) (2 ) b loqu e d e s en t en cia s ; (3 )fin wh ile.
d on d e blo qu e de s e n t e n c ias es cu a lqu ier con ju n t o d e s en t en cia s C. La es t ru ctu r a t ien e t r es p a r t es :
(1 ) m ie n t ras c o n dic ió n s e r ep r es en ta p or el m is m o s ím b olo qu e u n a s en t en cia if y d en t ro d e él la con d ición .
(2 ) ca d a s en t en cia s e r ep r es en t a p or s u s ím b olo. (3 ) el fin wh ile s e r ep r es en t a m ed ia n t e u n p u n t o.
Ob s ér ves e qu e el in icio d el b u cle es id én t ico a l in icio d e u n a s en t en cia if. S i la con d ición es ver d a d er a en t on ces s e ejecu t a n la s s en t en cia s d el b loqu e, m ien tr a s qu e s i la con d ición es fa ls a en t on ces la p r óxim a s en ten cia a ejecu t a r es la qu e es t é d et r á s d el fin wh ile.
Recu ér d es e qu e d en tr o d el b loqu e d e s en t en cia s d eb e h a b er a lgu n a qu e ca m b ie la con d ición d e en t r a d a a l m is m o. Pa r a com p ren d er m ejor el fu n cion a m ien t o d e es t e t ip o d e b u cle r ea liza r em os el s igu ien te ejem p lo:
"Rea liza r u n or ga n igr a m a qu e r ep r es en te el fu n cion a m ien t o d e u n a m á qu in a d e t a b a co (p or s im p lifica r , s u p on er qu e s ólo h a y u n a m a r ca d e t a b a co con u n p r ecio fijo). La m á qu in a d eb e a cep t a r el d in er o, d a r el p a qu et e y d evolver el ca m b io".
E s t e p r ob lem a s e p u ed e r es olver con la es t ru ctu r a gen er a l: "m ien tr a s h a ya t a b a co
4 .2 .3 . Bu c le s Do -Wh ile .
4 .2 .3 .1 . Co n c e pt o de l bu c le Do -Wh ile .
Los b u cles fo r y wh ile t ien en la ca ra ct er ís t ica com ú n d e qu e la con d ición s e eva lu a b a a n t es d e r ea liza r el b u cle, a s í ca b ía la p os ib ilid a d d e qu e n o s e r ea liza r a n in gu n a it er a ción . La p r in cip a l d ifer en cia d el b u cle
do -wh ile, r es p ect o a los a n t er ior es , es qu e és t os eva lú a n la c on d ición a l fin a l d el b u cle; a s í el b u cle s iem p r e r ea liza r á a l m en os u n a it er a ción .
E n los b u cles do -wh ile n o s e s a b e a p r ior i el n ú m er o d e it er a cion es qu e s e va n a r ea liza r , d ep en d e d e la con d ición qu e h a y a l fin a l d el b u cle; s i és t a es cier t a s e vu elve a r ea liza r u n a iter a ción , m ien tr a s qu e s i es fa ls a s e a ca b a la ejecu ción d el b u cle.
La con d ición a l fin a l d el b u cle a ctú a com o u n a com p u ert a d e s a lid a d el m is m o, s i la con d ición es ver d a d er a es t a com p u ert a es t a rá cer r a d a y p or t a n t o d eb em os r ea liza r u n a n u eva iter a ción . S i la con d ición es fa ls a , en t on ces la com p u er t a es t a r á a b iert a y s e p od r á a b a n d on a r la ejecu ción d el b u cle. E n es t e t ip o d e b u cle n o h a y n in gu n a va r ia b le qu e con tr ole el n ú m er o d e it er a cion es , el con tr ol lo r ea liza la con d ición , a s í p u es es lógico s u p on er qu e d en tr o d e la s s en t en cia s qu e com p on en el b u cle h a ya a l m en os u n a qu e p u ed a ca m b ia r el va lor d e la con d ición o com p u er t a d e s a lid a .
Al igu a l qu e los b u cles wh ile es t e t ip o d e b u cles es m u y u t iliza d o p u es t o qu e m u ch a s s it u a cion es r ea les t ien en u n a in t er p r et a ción d ir ect a en el b u cle do -wh ile. Con cr et a m en t e t od a s a qu ella s qu e s e p u ed a n exp r es a r m ed ia n t e: "h az ...ac c io n e s ...m ie n t ras o c u rra u n a c o n dic ió n " la es t ru ctu r a d el b u cle s er ía :
h a cer
b loqu e d e s en t en cia s m ien t r a s (con d ición )
ejecu t e a l m en os u n a vez, p or ejem p lo t o das aqu e llas qu e n e c e s it e n qu e u n a e n t rada de in fo rm ac ió n c u m pla u n a s e rie de c o n dic io n e s y n o s e qu ie ra c o n t in u ar c o n e l pro gram a h as t a qu e s e c u m plan. Por ejem p lo, en el or ga n igr a m a d e la m á qu in a d e t a b a co s e in t r od u cía u n a ca n t id a d d e d in er o p a r a a d qu ir ir u n p a qu ete, s er ía con ven ien t e n o d eja r con t in u a r la ejecu ción d el p r ogr a m a h a s t a qu e la ca n t id a d d e d in er o in t r od u cid a n o fu es e igu a l o s u p er ior a l p r ecio d el p a qu et e d e t a b a co. E s t o s e r ea liza r ía a s í:
h a z
leer p r ecio (ca n t id a d in t r od u cid a ) m ien t r a s (p r ecio<2 0 0 )
E s t e b u cle do -wh ile n o d eja r ía con t in u a r con el p r ogr a m a h a s t a qu e el u s u a r io in t r od u jer a a l m en os 2 0 0 p es et a s . S i in t en t a m os h a cer es ta s it u a ción con u n b u cle wh ile t en d r ía m os :
p r ecio=0 ó leer p r ecio m ien t r a s (p r ecio<2 0 0 )m ien tr a s (p r ecio<2 0 0 ) leer p r ecioleer p r ecio
fin d el b u cle.fin d el b u cle.
Ob s er va qu e en el p r im er ca s o con la s en t en cia pre c io =0 es t a m os for za n d o a qu e el b u cle wh ile s e r ea lice a l m en os u n a vez, es t a s itu a ción s e r es u elve m ejor con u n b u cle do -wh ile; en el s egu n d o ca s o n eces it a m os d os s en t en cia s d e lect u ra p a r a r ea liza r lo m is m o qu e el b u cle do -wh ile con u n a s ola s en t en cia .
E s t a s s it u a cion es r es a lt a n la n eces id a d d e los b u cles wh ile d e in icia liza r la s va r ia b les qu e in ter vien en en la con d ición , m ien t r a s qu e los b u cles do -wh ile n o t ien en n eces id a d d e in icia liza r n in gu n a va r ia b le.
A con t in u a ción vea m os u n ejem p lo d e u t iliza ción d e b u cles do -wh ile :
a cier t es el n ú m er o s ecr et o" ó "ju ega m ien tr a s n o a ciert e s el n ú m er o s ecr et o". E s t o s e p u ed e exp r es a r m ed ia n t e u n b u cle do -wh ile d e la s igu ien t e for m a :
x=0 h a z
lee n ú m er o (el ju ga d or d ice u n n ú m er o) s i es m a yor qu e el s ecr et o es cr ib e ("a lt o") s i es m en or qu e el s ecr et o es cr ib e ("b a jo") x=x+1
m ien t r a s (n ú m er o d is t in t o a l s ecr et o) es cr ib e ("h a s a cer t a d o en ", x , "in t en t os ")
Ob s er va qu e el b u cle s e r ea liza h a s t a qu e el ju ga d or a cier t a el n ú m er o s ecr et o. La va r ia b le x m id e el n ú m er o d e in t en t os qu e h a r ea liza d o el ju ga d or h a s t a a cert a r .
4 .2 .3 .2 . Re pre s e n t ac ió n algo rít m ic a de l bu c le Do -Wh ile .
La es t r u ct u r a d el b u cle do -wh ile t ien e t res p a r t es d ifer en cia d a s : in icio, b loqu e d e s en t en cia s y fin a l.
d o(com ien zo d el b u cle).
b loqu e d e s en t en cia s ;(b loqu e d e s en t en cia s ). m ien t r a s (con d ición )(fin d el b u cle).
E n es t e ca s o la con d ición fin a l d el b u cle t a m b ién a ctú a com o "com p u er t a " d e s a lid a o in d ica d or d e it er a cion es . E l or ga n igr a m a d el b u cle
Ob s ér ves e qu e el fin a l d el b u cle (m ien tr a s (con d ición )) s e r ep r es en t a p or el m is m o s ím b olo qu e u n a s en t en cia if. Den tr o d e la s s en t en cia s qu e com p on en el cu er p o d el b u cle d eb e h a b er a lgu n a qu e p os ib ilit e ca m b ia r el va lor d e la con d ición , ya qu e s i el va lor d e és t a in icia lm en t e es ver d a d er o, en t on ces r ea liza r ía m o s u n b u cle in fin it o.
E l a lgor it m o a t r a vés d el cu a l r ep r es en tá b a m os el ju ego d el n ú m er o s ecr et o s e r ep r es en t a m ed ia n t e u n or ga n igr a m a com o s e m u es t r a en la