Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Buccles PDF
Buccles PDF
BUCLES
Án gel Fid a lgo Bla n co
Un ivers id a d Polit écn ica d e Ma d rid
UNIDAD DIDACTICA Nº 4 .
BUCLES.
OBJ ETIVOS:
1
CONTENIDOS:
4 .1 . In trod u cción .
4 .2 . Tip os d e b u cles .
4 .2 .1 . Bu cles For.
4 .2 .1 .1 . Con cep to d el b u cle For.
4 .2 .1 .2 . Rep res en ta 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 to d el b u cle Wh ile.
4 .2 .2 .2 . Rep res en ta ción a lgorítm ica d el b u cle Wh ile.
CONOCIMIENTOS PREVIOS:
2
4 .1 . INTRODUCCIÓN.
3
qu e rea liza r, d e otra form a es ta ría d a n d o vu elta s in d efin id a m en te. La fo rm a
de in dic ar al "m aquin is t a" e l n úm e ro de vue lt as de fin e e l t ipo de buc le .
As í p u es , cu a n d o u tilicem os la s in s tru ccion es d e b u cle s d eb em os in d ica r a l
p rogra m a d on d e em p ieza el b u cle, d on d e term in a y cu a n ta s itera cion es tien e
qu e rea liza r. Tod a s la s s en ten cia s com p ren d id a s en tre el com ien zo y el fin a l
d el b u cle s e ejecu ta rá n en ca d a itera ción .
4
4 .2 . TIPOS DE BUCLES.
E xis ten , p rin cip a lm en te, tres tip os d e b u cles , s u u tiliza ción d ep en d e d el tip o
d e p rogra m a qu e es tem os rea liza n d o. Los b u cles s e d efin en b á s ica m en te p or
la form a en qu e les in d ica m os el n ú m ero d e itera cion es qu e d eb e rea liza r .
4 .2 .1 . Buc le s Fo r.
4 .2 .1 .1 . Co n c e pt o de buc le Fo r.
I = 1 ,4 ,1
5
I = 2 ,5 ,1
I = 2 8 ,3 1 ,1
I = n ,n +3 ,1
I = 2 ,8 ,2
I = 3 ,1 0 ,2
Si gen era liza m os , s e p od ría rep res en ta r el in icio d el b u cle com o I = e xpr1 ,
e xpr2 ,in c d on d e exp r1 y exp r2 rep res en ta n exp res ion es en tera s e in c el
in crem en to qu e tom a la va ria b le I. La con d ición p a ra qu e el b u cle rea liza ra 4
itera cion es s ería qu e la p a rte en tera d e (e xpr2 +in c - e xpr1 )/ in c = 4 .
Com p ru eb e el lector qu e es ta con d ición s e cu m p le p a ra tod os los ca s os
cita d os a n teriorm en te. La fórm u la gen érica p a ra ca lcu la r el n ú m ero d e
itera cion es qu e s e rea liza rá d en tro d e u n b u cle fo r es :
6
La fin aliz ac ió n de l buc le s e d etecta p or el va lor qu e tom a la va ria b le I, a s í
en el p rim er ejem p lo en la ú ltim a itera ción el va lor d e I es igu a l a 5 , el b u cle
in ten ta rea liza r u n a n u eva itera ción y el va lor d e I tom a el va lor 6 (5 +in c) y
es te va lor s u p era a l lím ite (6 >5 ) p or ta n to n o s e rea liza el b u cle. En el
s egu n d o ca s o, el b u cle in ten ta rea liza r u n a qu in ta itera ción y el va lor d e I s e
h a ce igu a l a 1 1 (9 +in c), es te va lor s u p era a l lím ite (1 1 >1 0 ) p or ta n to el b u cle
n o s e rea liza .
Cu a n d o el b u cle fin a liza , el p rogra m a con tin ú a la ejecu ción en la p rim era
in s tru cción qu e en cu en tre d es p u és d el fin a l d el b u cle.
7
E l va lor d e la va ria b le en tera qu e s e u tiliza com o con ta d or s u fre u n p roces o
d e ca m b io d en tro d el b u cle, ca d a vez qu e ocu rre u n a itera ción s e s u m a el
va lor es p ecifica d o en la exp res ión d e in crem en to. Pero, ¿qu é ocu rre con el
va lor d e la va ria b le a n teriorm en te cita d a a n tes y d es p u és d e qu e s e ejecu te 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 rob lem a s en la
rea liza ción d e los p rogra m a s p or n o con s id era r la a n terior p regu n ta , p or
ta n to con vien e ten er en cu en ta qu é ocu rre con la va ria b le qu e s e u tiliza com o
con ta d or.
De s pué s de l buc le la va ria b le en tera con tien e el va lor d e la ú ltim a itera ción
8
m á s el in crem en to. Es te es u n fa ctor d e vita l im p orta n cia p u es to qu e s e
s u ele creer qu e el va lor d e la va ria b le t ien e el ú ltim o va lor a s ign a d o en la
ú ltim a itera ción . La figura n º 3 rep res en ta u n a lgoritm o qu e m u es tra los
va lores d e la va ria b le "con ta d or" a n tes y d es p u és d e ejecu ta r u n b u cle fo r.
No exis te n in gú n p rob lem a en u tiliza r es ta va ria b le d es p u és d el b u cle
ten ien d o en cu en ta la s con s id era cion es a n teriores .
9
con ta d or d en tro d e u n b u cle.
10
11
12
13
14
4 .2 .2 . Buc le s Wh ile .
4 .2 .2 .1 . Co n c e pt o de l buc le Wh ile .
15
ven d erlos .
La con d ición "h ay a t abac o " s e p u ed e exp res a r p or (t abac o >0 ) y el p roces 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 iere d ecir qu e qu ed a u n a ca jetilla
m en os ). As í s e p od ría exp res a r:
Re c ue rda que : los b u cles wh ile a n tes d e com en za r a rea liza r u n a itera ción
com p ru eb a n u n a con d ición , s i és ta es verd a d era en ton ces s e rea liza u n a
itera ción y s i es fa ls a en ton ces fin a liza la ejecu ción d el b u cle. Es to s u ele s er
p rop en s o a con s tru ir b u cles qu e n o s e e jecu ta n n u n ca o b u cles qu e s e
ejecu ta n in d efin id a m en te (b u cles in fin itos ).
16
Lo s buc le s que n o s e e je c ut an n un c a s e s u elen p res en ta r cu a n d o a n tes d el
b u cle la con d ición es fa ls a , p or ta n to n o s e en tra en el b u cle y és te n o s e
rea liza . Si ocu rre es to revis a los va lores in icia les qu e con form a n la exp res ión
qu e h a y d en tro d e la con d ición .
La es tru ctu ra gen era l d e la s en ten cia wh ile es la s igu ien te:
17
Ob s érves e qu e el in icio d el b u cle es id én tico a l in icio d e u n a s en ten cia
if. Si la con d ición es verd a d era en ton ces s e ejecu ta n la s s en ten cia s d el
b loqu e, m ien tra s qu e s i la con d ición es fa ls a en ton ces la p róxim a s en ten cia a
ejecu ta r es la qu e es té d etrá s d el fin wh ile .
E s te p rob lem a s e p u ed e res olver con la es tru ctu ra gen era l: "m ien tra s
h a ya ta b a co
ven d erlo", d ón d e ven d erlo es u n con ju n to d e a ccion es . Es ta es tru ctu ra
in d ica qu e el orga n igra m a s e p u ed e rea liza r a tra vés d e u n b u cle Wh ile.
18
La figura n º 9 m u es tra la s olu ción .
19
4 .2 .3 . Buc le s Do -Wh ile .
h a cer
b loqu e d e s en ten cia s
m ien tra s (con d ición )
20
ejecu te a l m en os u n a vez, p or ejem p lo t o das aque llas que n e c e s it e n que
un a e n t rada de in fo rm ac ió n c um pla un a s e rie de c o n dic io n e s y n o s e
quie ra c o n t in uar c o n e l pro gram a h as t a que s e c um plan . Por ejem p lo, en
el orga n igra m a d e la m á qu in a d e ta b a co s e in trod u cía u n a ca n tid a d d e
d in ero p a ra a d qu irir u n p a qu ete, s ería con ven ien te n o d eja r con tin u a r la
ejecu ción d el p rogra m a h a s ta qu e la ca n tid a d d e d in ero in trod u cid a n o fu es e
igu a l o s u p erior a l p recio d el p a qu ete d e ta b a co. Es to s e rea liza ría a s í:
haz
leer p recio (ca n tid a d in trod u cid a )
m ien tra s (p recio<2 0 0 )
A con tin u a ción vea m os u n ejem p lo d e u tiliza ción d e b u cles do -wh ile :
21
a ciertes el n ú m ero s ecreto" ó "ju ega m ien tra s n o a cierte s el n ú m ero s ecreto".
E s to s e p u ed e exp res a r m ed ia n te u n b u cle do -wh ile d e la s igu ien te form a :
x=0
haz
lee n ú m ero (el ju ga d or d ice u n n ú m ero)
s i es m a yor qu e el s ecreto es crib e ("a lto")
s i es m en or qu e el s ecreto es crib e ("b a jo")
x=x+1
m ien tra s (n ú m ero d is tin to a l s ecreto)
es crib e ("h a s a certa d o en ", x , "in ten tos ")
La es tru ctu ra d el b u cle do -wh ile tien e tres p a rtes d iferen cia d a s :
in icio, b loqu e d e s en ten cia s y fin a l.
22
Ob s érves e qu e el fin a l d el b u cle (m ien tra s (con d ición )) s e
rep res en ta p or el m is m o s ím b olo qu e u n a s en ten cia if. Den tro d e la s
s en ten cia s qu e com p on en el cu erp o d el b u cle d eb e h a b er a lgu n a qu e
p os ib ilite 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 ta
in icia lm en te es verd a d ero, en ton ces rea liza ría m os u n b u cle in fin ito.
23
24