• No se han encontrado resultados

buccles

N/A
N/A
Protected

Academic year: 2020

Share "buccles"

Copied!
24
0
0

Texto completo

(1)

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 .

(2)

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 .

(3)

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.

(4)

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 .

(5)

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

(6)

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 :

(7)

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.

(8)

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.

(9)

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

(10)
(11)
(12)
(13)
(14)
(15)

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:

(16)

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.

(17)

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.

(18)

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

(19)
(20)

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 )

(21)

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 :

(22)

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

(23)

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

(24)

Referencias

Documento similar

colección de lectura.s fantá.stica.s dirigida por Jorge Luis Borge.s.. el espacio de prescrvació11 ele la memoria. esLán emparentadas estrechamente. Borges sal

Si la prolongación más allá de dos meses queda fuera de toda duda por contraproducente (pérdida de produc- tividad y riesgo de sobreengrasamien- to), mayor es la incertidumbre

Aparte de esta diferencia en la atribución entre alemanes (aspectos internos) y españoles (aspectos externos) se puede ver también en este análisis que los alemanes

Las abstracciones medievales y mo- dernas son, en gran parte, generalizaciones romanas vaciadas de BU contenido» (10). Claro que un concepto vacío en absoluto de conte- nido

CILS Uno B1 (Certificazione di italiano come lingua straniera) CLES 1 (Certificat de competences en langues de l’enseignement superieur) EOI (Escola Oficial de Idiomas):

Riesgos específicos en inmersiones en altitud y pantanos Tanto las patologías como los factores de riesgo para el bu- ceador son similares a los que nos podemos encontrar durante el

Este trabajo pretende aproximar el cálculo d e la infiltración d e lluvia útil me- diante la aplicación del método de Thornthwaite utilizando datos d e temperatura

The Screens menu allows the user to determine which data buer is displayed in the image area, and how the data is displayed. In each case the mapping between the data buer and