Capítulo 3. Sentencias de decisión

Anuncio
INTRODUCCIÓN A LA ALGORITMIA.
CAPITULO 3 . SENTENCIAS DE SELECCIÓN.
Án gel Fid a lgo Bla n co
Un ivers id a d Politécn ica d e Ma d rid
Licen cia Crea tive Com m on s Algu n os d erech os res erva d os
UNIDAD DIDÁCTICA Nº 3 .
FUNCIONES DE SELECCIÓN.
OBJ ETIVOS:
* Sa b er el con cepto d e la s s en ten cia s d e s elección .
* Con ocer la s d is tin ta s s en ten cia s d e s elección con s u s va ried a d es .
* Sa b er rep res en ta r m ed ia n te u n orga n igra m a la s s en ten cia s d e s elección .
* Con ocer la form a d e crea r y eva lu a r con d icion es lógica s .
1
CONTENIDOS:
1 . In trod u cción .
2 . Rep res en ta ción a lgorítm ica d e la s s en ten cia s d e s elección .
2 .1 . Con cep to y rep res en ta ción a lgorítm ica d e la s en ten cia de s elección if.
2 .1 .1 . Sen ten cia if con form a to gen era l (if-th en -els e).
2 .1 .2 . Sen ten cia if con u n a s ola a ltern a tiva (if-th en ).
2 .1 .3 . Sen ten cia if en es ca lera (if-els e-if).
2 .1 .4 . Sen ten cia s if a n id a d a s .
2 .1 .5 . Con d icion es con va ria s exp res ion es lógica s .
CONOCIMIENTOS PREVIOS.
- Tip os d e va ria b les .
- Sen ten cia s d e en tra d a .
- Sen ten cia s d e s a lid a .
2
INTRODUCCIÓN.
E n los ca p ítu los a n teriores h em os rea liza d o a lgu n os a lgoritm o; la
ca ra cterís tica com ú n a tod os ellos es qu e la s in s tru c cion es o s en ten cia s s e
ejecu ta b a n u n a tra s otra ; es d ecir, p rim ero s e ejecu ta la p rim era
in s tru cción , p os teriorm en te la s egu n da ; s egu id a m en te la tercera y a s í
s u ces iva m en te h a s ta llega r a la ú ltim a in s tru cción d el p rogra m a .Ta m b ién
en los p rogra m a s s ecu en cia les , a n tes d e ejecu ta rs e u n a in s tru cción
d eterm in a d a s e ejecu ta rá la p reced en te; es d ecir, a n tes de ejecu ta rs e la
in s tru cción n º 5 , s e d eb e ejecu ta r la n º 4 . Es to h a ce qu e s iem p re qu e s e
ejecu te u n p rogra m a d e es ta s ca ra cterís tica s el ord en d e ejecu ción d e la s
s en ten cia s es : 1 ª , 2 ª , 3 ª , 4 ª ,....n ª . Ad em á s es ta s ecu en cia d e ejecu ción s e
m a n tien e s iem p re qu e s e ejecu te el p rogra m a . Cu a n d o u n p rogra m a es tá
es crito d e es ta form a s e d ice qu e es u n pro gram a c o n flujo s e c ue n c ial, ya
qu e el flu jo d e ejecu ción es s ecu en cia l (s e ejecu ta u n a s en ten cia tra s otra
en ord en d e es critu ra ). La figura n º 1 m u es tra u n es qu em a d e u n
p rogra m a con flu jo s ecu en cia l.
E xis ten u n a s erie d e s en ten cia s qu e p erm iten a ltera r el ord en s ecu en cia l d e
3
ejecu ción ; es d ecir, n o es n eces a rio qu e p a ra ejecu ta rs e la in s tru cción n º 5
a n tes s e h a ya ejecu ta d o la n º 4 , o qu e la s igu ien te in s tru cción a ejecu ta r
n o s ea la qu e es tá es crita a con tin u a ción . Es ta s s en ten cia s q u e p erm iten
ca m b ia r el flu jo s ecu en cia l s e d en om in a n es tru ctu ra s o s e n t e n c ias de
c o n t ro l. La s s en ten cia s d e con trol pu ed en s er d e d ivers os tip os : d e
s elección , d e rep etición (o itera ción ) y d e s a lto. En es te ca p ítu lo
es tu d ia rem os la s s e n t e n c ias de s e le c c ió n .
La s s e n t e n c ias de s e le c c ió n s on a qu ella s qu e n os p erm iten a ltera r el flu jo
d e ejecu ción d e la s in s tru ccion es d e u n p rogra m a en fu n ción d e qu e s e
cu m p la u n a con d ición d eterm in a d a . Un a s e n t e n c ia de s e le c c ió n pe rm it e
e je c ut ar un as u o t ras in s t ruc c io n e s , e n fun c ió n de que o c urra un a
c o n dic ió n de t e rm in ada. Un ejem p lo d e cóm o s e a ltera el flu jo s ecu en cia l
p od ría s er u n p rogra m a , en el cu a l s i s e cu m p le la con d ición d e qu e (a > 4 )
en ton ces ejecu ta la s in s tru ccion es 1 ª ,2 ª ,3 ª ,4 ª ,5 ª y 6 ª y s i cu m p le la
con d ición d e qu e (a < 4 ) en ton ces s e ejecu ta n la s in s tru ccion es
1 ª ,2 ª ,3 ª ,7 ª ,8 ª y 9 ª .
Pa ra com p ren d er la s s en ten cia s d e s elección , a n tes h a y qu e com p ren der
p erfecta m en te qué e s un a c o n dic ió n . Un a con d ición la p od em os d es crib ir
com o un a o varias e xpre s io n e s c uy o re s u lt ado pue de s e r ve rdade ro o
fals o , a la s exp res ion es qu e es tá n d en tro d e la con d ición s e la s s u ele
d en om in a r e xpre s io n e s ló gic as (p a ra fa cilita r la com p ren s ión d e la s
s en ten cia s d e s elección , d e m om en to, s u p on d rem os qu e u n a con d ición
s ola m en te tien e u n a exp res ión lógica ).
E n a lgu n os ca s os la s exp res ion es lógica s s e es crib en d e la m is m a m a n era
qu e exp res ion es n u m érica s o exp res ion es d e ca ra cte res ; p a ra d is tin gu irla s ,
la s exp res ion es lógica s la s exp res a rem os en tre d os p a rén tes is (d e h ech o,
h a y u n a s en ten cia d e s elección qu e u tiliza la s exp res ion es lógica s en tre
p a rén tes is ). Por ejem p lo, la exp res ión :
a=5
 Si fue s e un a e xpre s ió n n um é ric a en la va ria b le a s é
a lm a cen a ría el va lor 5 .
 Si fue s e un a e xpre s ió n ló gic a n o s e a s ign a ría el va lor 5
a la va ria b le a, s i n o qu e s e c o m pararía e l c o n t e n ido de
la variable a c o n e l valo r 5 y el res u lta d o p od ría s er:
 Ve rdade ro s i el va lor d e la va ria b le a es 5 .
4
 Fals o s i el va lor d e la va ria b le a es d is tin to d e 5 .
Pa ra evita r es te tip o d e in terp reta cion es a m b igu a s cu a n d o n os refira m os a
u n a exp res ión lógica la en cerra rem os en tre p a rén tes is , a s í:




a =5 s ería u n a exp res ión n u m érica .
(a =5 ) s ería u n a exp res ión lógica .
n om ="Hea vy" s ería u n a exp res ión d e ca ra cteres .
(n om ="Hea vy") s ería u n a exp res ión lógica .
Se d ecía qu e la s exp res ion es lógica s s ola m en te p od ía n ten er d os va lores :
verd a d ero y fa ls o; a s í p u es , s e recom ien d a a l lector qu e cu a n d o d es ee
eva lu a r u n a exp res ión lógica s e la p la n tee com o u n a in terroga ción ; p or
ejem p lo:
e xpre s ió n ló gic aPlan t e am ie n t o para e valuarla
 (a =5 )¿es a =5 ?
 (n om ="Hea vy")¿es n om = "Hea vy"?
E vid en tem en te la res p u es ta a es tos p la n tea m ien tos p u ed e s er: s í o n o (ó
a =5 ó a es d is tin to d e 5 ). Si la res p u es ta a la in terroga ción es "s í" es to
qu iere d ecir qu e la con d ición s e cu m p le, p or ta n to el res u lta d o d e la m is m a
es verd a d ero. Si la res p u es ta es "n o", qu iere d ecir qu e la con d ición n o s e
cu m p le y p or ta n to el res u lta d o d e es a exp res ión es fa ls o. La figura n º 2
res u m e el p roces o d e eva lu a ción d e la s exp res ion es lógica s .
5
E n es te ca p ítu lo s e es tu d ia rá n d os s en ten cia s d e s elección , la s
d en om in a d a s s en ten cia s if y la s s en ten cia s s wit c h ó c as e . In icia rem os s u
es tu d io en el p u n to s igu ien te.
Re c ue rda que : u n a con d ición es tá form a d a p or exp res ion es lógica s
y s ola m en te p u ed en ten er d os va lores : "verd a d ero" y "fa ls o".
6
2 . REPRESENTACIÓN
SELECCIÓN.
ALGORÍTMICA
DE
LAS
SENTENCIAS
DE
Prá ctica m en te la tota lid a d d e los len gu a jes d e progra m a ción qu e s e
d en om in a n es tru ctu ra d os tien en la s d os s en ten cia s d e s elección qu e s e
es tu d ia rá n en es te ca p ítu lo; la rep res en ta ción a lgorítm ica d e la s m is m a s es
com ú n en tod os los len gu a jes d e p rogra m a ción , n o ob s ta n te la form a d e
es crib irla s va ría u n p oco d e u n len gu a je a otro; p ero u n a vez qu e s e s a b en
m a n eja r s e p u ed en a p lica r con s u m a fa cilid a d en u n len gu a je u otro.
2 .1 . Co n c e pt o y re pre s e n t ac ió n
s e le c c ió n if.
algo rít m ic a de
la s e n t e n c ia de
La s en ten cia d e s elección if (if en in glés qu iere d ecir s i...) es u n a s en ten cia
qu e s e b a s a en la eva lu a ción d e u n a exp res ión lógica . Si el res u lta d o d e la
exp res ión es verd a d ero la s en ten cia if ced e el con trol a u n a s en ten cia o
s en ten cia s d eterm in a d a s y s i es fa ls o ced e el con trol a otra s s en ten cia s . Se
p od ría d ecir qu e la s en ten cia if d eterm in a cu a l s erá la p róxim a in s tru cción
a ejecu ta r en fu n ción d e u n a d eterm in a d a con d ición . Por ejem p lo,
s u p on ga m os qu e s e a ca b a d e ejecu ta r u n a s en ten cia d e lectu ra d on d e s e
p id e el n ú m ero d e d ía s qu e tien e el m es d e Feb rero p a ra el a ñ o a ctu a l; a
con tin u a ción s e p id e qu e s e es crib a "a ñ o b is ies to" s i en la va ria b le Fe bre ro
h a n in trod u cid o el va lor 2 9 y qu e es crib a "a ñ o n o b is ies to" s i el va lor n o es
2 9 . E s to s e p od ría h a cer d e la s igu ien te form a :
s i (Feb rero = 2 9 ) e n t o n c e s
es crib e "a ñ o b is ies to"
de lo c o n t rario
es crib e "a ñ o n o b is ies to"
fin s i.
Tra d u cien d o los térm in os d e la s en ten cia if m a rca d os en n egrita , és ta
qu ed a ría :
if (Feb rero = 2 9 ) t h e n
es crib e "a ñ o b is ies to"
e ls e
es crib e "a ñ o n o b is ies to"
e n dif
Rea lm en te es to es la es tru ctu ra d e la s en ten cia if y s u rep res en ta ción
7
m ed ia n te u n orga n igra m a s e m u es tra en la figura n º 3
Si en la figu ra n º 3 s u p on em os qu e ca da s ím b olo d el orga n igra m a es u n a
es ta ción d e ferroca rril y la s lín ea s qu e los u n e n s on vía s ferrovia ria s el
con trol d el flu jo s e p od ría d efin ir com o la s es ta cion es p or la s cu a les p a s a ría
u n h ip otético tren qu e via ja ra a tra vés del orga n igra m a .
Com o s e p u ed e ob s erva r en la figu ra el ord en d e ejecu ción d e s en ten cia s
s ería :
o 1 ª , 2 ª, 3 ª y 5 ª en el ca s o d e qu e Feb rero s ea igu a l a 2 9 y..
o 1 ª , 2 ª, 4 ª y 5 ª en el ca s o d e qu e Feb rero n o s ea igu a l a 2 9 .
Record em os qu e d ecía m os qu e la s s en ten cia s d e s elección p erm itía n
a ltera r el flu jo d e ejecu ción d e in s tru ccion es y efectiva m en te a s í lo h a cen ,
la s en ten cia 2ª (s en ten cia if) a ltera el flu jo d e ejecu ción (d efin e cu a l es la
p róxim a in s tru cción a ejecu ta rs e) en fu n ción d e la eva lu a ción d e u n a
exp res ión lógica .
8
Ha y u n d eta lle m u y im p orta n te p a ra com p ren d er con exa ctitu d el
fu n cion a m ien to d e la s s en ten cia s if, es te d eta lle s on los de lim it ado re s .
Los d elim ita d ores s on la s referen cia s qu e u tiliza n la s s en ten cia s if p a ra
qu e el ord en a d or s ep a : a ) el com ien zo y fin a l d el con ju n to d e in s tru ccion es
qu e s e d eb en ejecu ta r s i la con d ición es verd a d era ; b ) el com ien zo y el fin a l
d el con ju n to d e in s tru ccion es qu e s e d eb en ejecu ta r s i la con d ición es fa ls a
y el p rin cip io y c) lo qu e s e d en om in a blo que if (ver figu ra 5 .3 .). El b loqu e if
es el com p u es to p or la s en ten cia if y el con ju n to d e in s tru ccion es qu e s e
ejecu ta ría n ta n to s i la con d ición es verda d era com o fa ls a .
La figura n º 4 ilu s tra y m a rca los d elim ita d ores qu e s e em p lea n ta n to en el
orga n igra m a com o en la es critu ra d e la s en ten cia d e s elección .
La s en ten cia if p u ed e ten er va ria s m od a lid a d es , es ta s m od a lid a d es s e
es ta b lecen en fu n ción d e la s a lter n a tiva s d e con trol d e flu jo (o vía s p a ra
p od er con tin u a r con la ejecu ción d e la s in s tru ccion es ).
9
2 .1 .1 . Se n t e n c ia if c o n fo rm at o ge n e ral (s e n t e n c ia if-t h e n -e ls e ).
E s ta s en ten cia tien e s u equ iva len te en tod os los len gu a jes d e
p rogra m a ción . La s en ten cia if-t h e n -e ls e p erm ite ejecu ta r u n a in s tru cción
o con ju n to d e in s tru ccion es s i la con d ición qu e eva lú a es verd a d era
(a ltern a tiva th en ) y otra in s tru cción o con ju n to d e ella s s i el res u lta d o es
fa ls o (a ltern a tiva els e).
La m a yoría d e los len gu a jes p erm iten es crib ir es ta s en ten cia d e d os form a s
d ep en d ien d o d el n ú m ero d e in s tru ccion es qu e es tén en ca d a a ltern a tiva ,
con creta m en te s e d is tin gu en d os : u n a cu a n d o ta n to en la a ltern a tiva th en
(verd a d ero) com o en la a ltern a tiva els e (fa ls o) h a y u n a s ola in s tru cción y
otra form a cu a n d o h a y va ria s in s tru ccion es en ca d a a ltern a tiva .
La figura n º 5 m u es tra la s d os p os ib ilid a d es d e es ta s en ten cia d e s elección
y s u rep res en ta ción m ed ia n te u n orga n igra m a .
Com o ejem p lo d e u tiliza ción d e la s en ten cia if-t h e n -e ls e en s u s d os
m od a lid a d es rea liza rem os d os ejem p los :
10
Eje m plo 1 . if-t h e n -e ls e c o n un a s o la in s t ruc c ió n po r alt e rn at iva.
Se p id e qu e s e rea lice u n a lgoritm o con s u orga n igra m a
corres p on d ien te p a ra qu e el ord en a d or p id a el n om b re y el s exo d e
u n a p ers on a y en fu n ción d e es te ú ltim o d a to es crib a : "Hola Señ or
xxxxx" s i la va ria b le s exo="Va rón " y qu e es crib a "Hola Señ orita xxx x"
s i la va ria b le s exo es d is tin to d e “Va rón ”
So luc ió n :
Eje m plo 2 . if-t h e n -e ls e c o n varias in s t ruc c io n e s e n c ada alt e rn at iva.
Su p on ga m os qu e n os en ca rga n qu e rea licem os u n orga n igra m a p a ra
el m a n ejo d e u n ca jero a u tom á tico. Es te ca jero m os tra rá d os
op cion es a l u s u a rio. La op ción 1 p a ra in gres a r d in ero y la op ción 2
p a r a retira r d in ero.
11
Si la op ción es 1 , en ton ces el orga n igra m a im p rim irá u n m en s a je
p a ra p regu n ta r a l u s u a rio la ca n tid a d qu e d es ea in trod u cir.
Pos teriorm en te es a ca n tid a d s e a lm a cen a rá en u n a va ria b le
(ca n tm et) y es a ca n tid a d s e le s u m a rá a l s a ld o qu e ten ía
a n teriorm en te.
Si la op ción es d is tin to d e 1 , en ton ces el orga n igra m a im p rim irá u n
m en s a je p a ra pregu n ta r a l u s u a rio qu é ca n tid a d d es ea retira r.
Pos teriorm en te es a ca n tid a d s e leerá en u n a va ria b le (ca n tret) y es a
ca n tid a d s e le res ta rá a l s a ld o qu e te n ía a n teriorm en te.
Fin a lm en te s e le m os tra rá a l u s u a rio el s a ld o qu e le qu ed a res u lta n te
tra s rea liza r la op era ción s eleccion a d a .
So luc ió n :
Re c ue rda que : la s en ten cia if-th en -els e p erm ite la ejecu ción d e u n
con ju n to d e in s tru ccion es s i la con d ición es verd a d era y d e otro con ju n to
s i es fa ls a .
12
2 .1 .2 . Se n t e n c ia if c o n un a s o la alt e rn at iva (s e n t e n c ia if -t h e n ).
E s ta s en ten cia s e u tiliza cu a n d o s e d es ea ejecu ta r u n a o va ria s
in s tru ccion es ú n ica m en te cu a n d o la con d ición s ea verd a d e ra . Si la
eva lu a ción d e la con d ición es fa ls a en ton ces s e ejecu ta ría la in s tru cción
s igu ien te a la if-t h e n . Al igu a l qu e la s en ten cia a n terior la m a yoría d e los
len gu a jes d e p rogra m a ción la u tiliza n en d os m od a lid a d es . Un a m od a lid a d
es cu a n d o en la a ltern a tiva t h e n s ólo h a y u n a s en ten cia y la otra
m od a lid a d es cu a n d o h a y va ria s s en ten cia s . La figura n º 8 m u es tra los
orga n igra m a s p a ra ca d a va ried a d d e s en ten cia if-t h e n .
Re c ue rda que : la s en ten cia if-th en p erm ite la ejecu ción d e u n con ju n to d e
in s tru ccion es ú n ica m en te en el ca s o d e qu e la con d ición s ea verd a d era .
13
2 .1 .3 . Se n t e n c ia if e n e s c ale ra (s e n t e n c ia if-e ls e -if).
Ob s erva d e n u evo el orga n igra m a d el ca jero, d on d e s i op ción = 1
s ign ifica b a qu e el u s u a rio d es ea b a in trod u cir d in ero y cu a n d o el u s u a rio
teclea b a el va lor 2 (op ción =2 ) qu ería d ecir qu e d es ea b a retira r d in ero. ¿Qu é
p a s a ría s i en op ción a lm a cen o el va lor 5 ? ó d ich o d e ot ra form a ¿Qu é
p a s a ría s i la va ria b le op ción = 5 ?. E l lector p od rá com p rob a r a terra d o qu e
el orga n igra m a fu n cion a d e la m is m a form a qu e s i h u b iera teclea d o el va lor
2 ; es d ecir, qu e s i op ción = 2 y lo m is m o ocu rriría s i tecleo el va lor 1 2 3 4 5 o
-3 4 5 6 7 8 . Es to s e d eb e a qu e la s en ten cia if rea lm en te com p ru eb a s i s e
cu m p le o n o u n a con d ición ; en es te ca s o com p ru eb a s i s e cu m p le qu e
(op ción =1 ), s i s e cu m p le qu iere d ecir qu e op ción = 1 , p ero s i n o s e cu m p le
qu iere d ecir qu e op ción p u ed e con ten er cu a lqu ier va lor d is tin to d e 1 .
E s ta form a d e a ctu a r d e la s en ten cia d e s elección if n os p u ed e llega r a
p la n tea r ciertos p rob lem a s . Por ejem p lo en la s en ten cia :
leer la va ria b le s exo.
if (s exo="Va rón ") t h e n
es crib e "eres u n ch ico"
e ls e
es crib e "eres u n a ch ica "
e n dif
Si el u s u a rio teclea "h om b re"; es d ecir s exo="h om b re" el p rogra m a le
con tes ta ría : "eres u n a ch ica " y s u p on em os qu e n o h a rá m u ch a gra cia a l
u s u a rio d el ord en a d or. En lu ga r d e es to, ¿n o s ería m ejor h a cer u n
p rogra m a qu e rea liza ra lo s igu ien te?:
o Si el u s u a rio teclea "Va rón " es crib iría "eres u n ch ico"
o Si el u s u a rio teclea "Hem b ra " es crib iría "eres u n a ch ica "
o Si el u s u a rio teclea cu a lqu ier otro va lor es crib iría "el con ten id o
d e la va ria b le s exo s ólo p u ed e s er: Hem b ra o Va rón . Por fa vor
teclee d e n u evo la res p u es ta ".
Otra s itu a ción , ¿cóm o h a ría m os s i en el orga n igra m a d el ca jero ten em os
la s op cion es : 1 -Meter d in ero, 2 -Retira r d in ero, 3 - Con s u lta r s a ld o?.
Tod os es tos p rob lem a s n os los res u elve con gra n efica cia la s en ten cia ife ls e -if o s en ten cia if en es ca lera .
La s en ten cia if-e ls e -if s e d is tin gu e d e la s otra s s en ten cia s if p orqu e és ta
14
p u ed e eva lu a r m á s d e u n a con d ición . Un ejem p lo p u ed e s er:
s i (op ción =1 ) e n t o n c e s
es crib e "in trod u ce la ca n tid a d d e d in ero a m eter"
leer ca n tm et
s a ld o=s a ld o+ca n tm et
de lo c o n t rario s i (op ción = 2 ) e n t o n c e s
es crib e "in trod u ce la ca n tid a d d e d in ero a retira r"
leer ca n tret
s a ld o =s a ld o-ca n tret
de lo c o n t rario s i (op ción = 3 ) e n t o n c e s
es crib e "s u s a ld o es ",s a ld o
de lo c o n t rario
es crib e "d eb e elegir u n a op ción n u m era d a d el 1 a l 3 ".
fin if.
d e form a gen érica :
s i c o n dic ió n 1 en ton ces
s en ten cia s 1 .
d e lo con tra rio s i c on dic ió n 2 en ton ces
s en ten cia s 2 .
d e lo con tra rio s i c on dic ió n 3 en ton ces
s en ten cia s 3 .
d e lo con tra rio
s en ten cia s 4 .
fin if.
La s en ten cia if-e ls e -if fu n cion a d e la s igu ien te m a n era .
1 .- eva lú a c o n dic ió n 1 , s i es verd a d era en ton ces ejecu ta "s en ten cia s 1 " y
s e a ca b a la s en ten cia if-els e-if. Si la con d ición 1 es fa ls a en ton ces va
a eva lu a r la s igu ien te con d ición (p a s o 2 ).
2 .- eva lú a c o n dic ió n 2 , s i es verd a d era en ton ces ejecu ta "s en ten cia s 2 " y
s e a ca b a la s en ten cia if-els e-if. Si la con d ición 2 es fa ls a en ton ces s e
va a eva lu a r la s igu ien te con d ición (p a s o 3 ).
3 .- eva lú a c o n dic ió n 3 , s i es verd a d era en ton ces s e ejecu ta "s en ten cia s 3"
y s e a ca b a la s en ten cia if-els e-if. Si la con d ición 3 es fa ls a en ton ces
com o ya n o h a y m á s con d icion es qu iere d ecir qu e n o s e h a cu m p lid o
15
n i la con d ición 1 , n i la 2 n i la 3 ; p or ta n to s e ejecu ta el p a s o 4 (d e lo
con tra rio).
4 .- com o n o s e h a cu m p lid o n in gu n a con d ición s e ejecu ta "s en ten cia s 4 ".
E l orga n igra m a d e es ta s en ten cia s e p u ed e ver en la figura n º 9 .
Ha y len gu a jes qu e n o a d m iten la s en ten cia if-els e-if, en es te ca s o s e
em p lea ría n la s “IF ANIDADAS ” (ver el a p a rta d o s igu ien te)
E n u n a s en ten cia if-e ls e -if s e p u ed en eva lu a r ta n ta s con d icion es com o s e
d es een ; es d ecir p od em os p on er ta n ta s lín ea s de lo c o n t rario s i c o n dic ió n
x com o qu era m os . Al igu a l qu e el res to de la s s en ten cia s if los len gu a jes d e
p rogra m a ción s u elen es crib ir d e form a d is tin ta es ta s en ten c ia en fu n ción
d el n ú m ero d e s en ten cia s qu e s e ejecu ten en ca d a a ltern a tiva . Si en ca d a
a ltern a tiva h a y u n a s ola s en ten cia s e es crib e d e u n a form a m ien tra s qu e s i
h a y va ria s s e es cribe d e otra .
Re c ue rda que : Un a s en ten cia if-els e-if eva lú a s u ces iva m en te u n con ju n to
d e con d icion es y cu a n d o en cu en tra u n a qu e s ea verd a d era , en ton ces ejecu ta
u n con ju n to d e in s tru ccion es y a ca b a la s en ten cia if. En ca s o d e qu e n o
en cu en tre n in gu n a con d ición verda d era , en ton ces s e ejecu ta n la s
in s tru ccion es qu e es tá n en la op ción "d e lo con tra rio".
16
2 .1 .4 . Se n t e n c ias if an idadas .
La s s en ten cia s d e s elección if s e b a s a n en la eva lu a ción d e u n a con d ición
(com p u es ta p or u n a o va ria s exp res ion es lógica s ) y en fu n ción d e és ta el
ord en a d or ejecu ta u n a s u otra s in s tru ccion es . Es ta s in s tru ccion es qu e s e
ejecu ta n en fu n ción d e la eva lu a ción d e la con d ición p u ed en s er cu a lqu ier
fu n ción o s en ten cia , in clu id a s la s s en ten cia s if.
Un a s en ten cia if an idada es u n a s en ten cia if qu e con tien e otra s s en ten cia s
if es s u s in s tru ccion es a ltern a tiva s .
Pa ra com p ren d er con m a yor p recis ión la s s en ten cia s if rea liza rem os u n
a lgoritm o p a ra d etecta r s i u n a p ers on a d eb e h a cer el s ervicio m ilita r. Pa ra
ello s u p on em os qu e u n a p ers on a rea liza el s ervicio m ilita r s i es m a yor d e
ed a d , s i es va rón y s i n o p a d ece n in gu n a en ferm ed a d crón ica .
leer sexo.
┌─ Si (sexo= varón) entonces
│
leer mayor_edad
│
│
┌─ Si mayor_edad='sí' entonces
│
│
leer enfermedad
│
│
│
│
┌─ Si enfermedad='sí' entonces
│
│
│
escribe "Lo siento, no vas a la mili"
│
│
│ de lo contrario
│
│
│
escribe "Usted va a la mili"
│
│
└─ fin if
│
│
│
│ de lo contrario
│
│
escribe "Usted es menor de edad, no va a la mili"
│
└─ fin if
│
│ de lo contrario
│
escribe "Las mujeres, de momento, no van a la mili"
└─ fin if
17
E n el ejem p lo s e p u ed e ob s er va r u n a s en ten cia con tres if a n id a d os .
Cu a n d o s e p on en if a n id a d os s e d eb e ten er m u y en cu en ta el lu ga r d on d e
com ien za y fin a liza la s en ten cia if. La figura n º 1 0 a cla ra el con cep to d e
s en ten cia s if a n id a d a s .
Re c ue rda que : u n a s en ten cia if p u ed e con ten er otra s s en ten cia s if. Si
es to ocu rre d ecim os qu e ten em os s en ten cia s if a n id a d a s .
2 .1 .5 . Co n dic io n e s c o n varias e xpre s io n e s ló gic as .
Decía m os qu e u n a con d ición es ta b a com p u es ta p or u n a o va ria s
exp res ion es lógica s , p ero qu e p or s im p lifica r la es tru ctu ra s u p on ía m os qu e
u n a con d ición es ta b a com p u es ta p or u n a s ola exp res ión lógica .
Rea lm en te la s con d icion es p u ed en ten er cu a lqu ier n ú m ero d e exp res ion es
lógica s cu yo va lor s egu irá s ien d o verd a dero o fa ls o. A con tin u a ción cita m os
a lgu n a s con d icion es con va ria s exp res ion es lógica s .
 (s e xo ="h o m bre " o s e xo ="varó n ")Es ta es u n a con d ición
com p u es ta
18
p or d os exp res ion es lógica s . Es tá n u n id a s p or el op era d or lógico o .
E s ta exp res ión s erá verd a d era s i en la va ria b le s exo es tá a lm a cen a d o
el va lor "h om b re" o el va lor "va rón ".
 (e dad=1 8 y e s t at ura=1 .6 0 )Es ta con d ición es tá com p u es ta p or d os
exp res ion es lógica s ; p ero a d iferen cia d e la a n terior p a ra qu e és ta s ea
verd a d era s e d eb e cu m p lir qu e el con ten id o d e la va ria b le ed a d s ea
igu a l a 1 8 y a d em á s qu e el con ten ido d e la va ria b le es ta tu ra s ea
1 .6 0 , s i a lgu n a d e es ta s va ria b les n o tien e es tos va lores , en ton ces la
con d ición s erá fa ls a .
Pa ra u n ir exp res ion es lógica s s e u tiliza n los op era d ores lógicos "an d", "o r",
"n o t ", "xo r",.... No ob s ta n te en es te ca p ítu lo s ola m en te es tu d ia rem os los
op era d ores lógicos "an d", "o r" y "n o t " (en ca s tella n o ta m b ién s e
d en om in a n "y", "o" y "n o".
E l op era d or lógico an d u n e d os exp res ion es form a n d o u n a n u eva con d ición
(o s i s e p refiere u n a n u eva exp res ión ). La con d ición res u lta n te es
"verd a d era " s i la s exp res ion es qu e la com p on en (en es te ca s o d os ) tien en el
va lor "verd a d ero". A con tin u a ción s e exp res a u n a ta b la d on d e s e p u ed e ver
el res u lta d o d e la con d ición en fu n ción d e la eva lu a ción d e la s exp res ion es
qu e la com p on en .
o pe rado r an d
c o n dic ió n .
valo r de e xpr1
valo r de e xpr2
valo r de la
c o n dic ió n
exp r1 an d exp r2
Fa ls o
Fa ls o
Fa ls o
exp r1 an d exp r2
Fa ls o
Verd a d ero
Fa ls o
exp r1 an d exp r2
Verd a d ero
Fa ls o
Fa ls o
exp r1 an d exp r2
Verd a d ero
Verd a d ero
Verd a d ero
In t e rpre t ac ió n de la t abla: s i en la con d ición (exp r1 an d exp r2 ) (1ª
colu m n a ) ten em os qu e exp r1 ="verd a d ero" (2 ª colu m n a ) y qu e exp r2 ="fa ls o"
(3 ª colu m n a ) en ton ces el va lor d e la con d ición (exp r1 a n d exp r2 ) s erá
"fa ls o" (4 ª colu m n a ).
Lo m is m o s e a p lica p a ra con d icion es com p u es ta s p or m á s d e d os
exp res ion es u n id a s p or el op era d or an d; p or ejem p lo, p a ra qu e la
con d ición : (e xpr1 an d e xpr2 an d e xpr3 an d e xpr4 ) s ea verd a d era tod a s
la s exp res ion es qu e la com p on en d eb en s er verd a d era s .
19
E l op era d or lógico "o r" exp res a qu e p a ra qu e la con d ición s ea verd a d era a l
m en os d eb e s er verd a d era a lgu n a d e la s exp res ion es qu e com p on en la
con d ición . La s igu ien te ta b la exp res a es ta s itu a ción .
o pe rado r o r
c o n dic ió n .
valo r de e xpr1
valo r de e xpr2
valo r de la
c o n dic ió n
exp r1 o r exp r2
Fa ls o
Fa ls o
Fa ls o
exp r1 o r exp r2
Fa ls o
Verd a d ero
Verd a d ero
exp r1 o r exp r2
Verd a d ero
Fa ls o
Verd a d ero
exp r1 o r exp r2
Verd a d ero
Verd a d ero
Verd a d ero
Com o s e p u ed e ob s erva r en la ta b la , pa ra qu e la con d ición s ea verd a d era
s e d eb e cu m p lir qu e a l m en os u n a d e la s exp res ion es s ea verd a d era . Es to
s e a p lica a cu a lqu ier con d ición con m á s d e d os exp res ion es , p or ejem p lo la
con d ición : (e xpr1 or e xpr2 o r e xpr3 o r e xpr4 ) es verd a d era s i a l m en os
u n a d e la s exp res ion es es verd a d era .
E l op era d or lógico n o t es el m á s s en cillo; lo ú n ico qu e h a ce es p on er el
va lor con tra rio a l qu e tu vies e la exp res ión . La s igu ien te ta b la m u es tra
cóm o a ctú a es te op era d or.
o pe rado r n o t .
Co n dic ió n
valo r de e xpr1
valo r de la c o n dic ió n
n o t exp r1
Fa ls o
Verd a d ero
n o t exp r1
Verd a d ero
Fa ls o
La s con d icion es ta m b ién p u ed en ten er exp res ion es con com b in a cion es d e
los op era d ores exp res a d os a n teriorm en te, en es e ca s o s e recom ien d a el u s o
d e p a rén tes is p a ra exp res a r qu é con ju n to d e exp res ion es s e eva lú a
p rim ero. Por ejem p lo, en la con d ición :
((e xpr1 an d e xpr2 ) o r e xpr3 )
Prim era m en te s e eva lú a (exp r1 a n d exp r2 ) y el res u lta d o d e és ta s e eva lú a
con exp r3 . Si en la con d ición n o exis t en p a rén tes is , en ton ces a p lica m os u n
ord en d e p riorid a d a op era d ores lógicos , el ord en es el s igu ien te:
20
- Prim ero, s e eva lú a n la s exp res ion es con el op era d or n ot.
- Segu n d o, s e eva lú a n la s exp res ion es con el op era d or a n d .
- Tercero, s e eva lú a n la s exp res ion es con el op era d or or.
A con tin u a ción s e exp res a n va ria s con d icion es con el ca m in o a s egu ir p a ra
s u eva lu a ción :
Co n dic ió n :(e xpr1 o r e xpr2 an d e xpr3 )
Evaluac ió n :
Su p on ga m os qu e: exp r1 = "verd a d ero", exp r2 = "fa ls o" y exp r3 =
"verd a d ero", en ton ces la eva lu a ción es la s igu ien te:
1 .- s e rea liza (e xpr2 an d e xpr3 ) cu yo res u lta d o es fals o
2 .- s e rea liza la op era ción lógica : exp r1 con el res u lta d o d e la
eva lu a ción a n terior, s i s u s titu im os , ten em os la con d ición
(e xpr1 o r fals o ). Com o exp r1 ="verd a d ero", en ton ces el va lor d e
la con d ición (exp r1 or fa ls o) es verd a d ero.
Co n dic ió n :(e xpr1 an d n o t e xpr2 o r e xpr3 an d e xpr4 )
Evaluac ió n :
Su p on ga m os qu e exp r1 = "fa ls o", exp r2 = "verd a d ero", exp r3 =
"verd a d ero" y exp r4 = "verd a d ero", en ton ces la eva lu a ción es la
s igu ien te:
1 .- s e h a lla el va lor d e n o t e xpr2 . Com o exp r2 = "verd a d ero" el res u lta d o d e (n ot exp r2 ) es fals o .
2 .- a h ora s e d eb e h a lla r la exp res ión cu yo op era d or lógico es an d. En
es ta exp res ión h a y d os op era d or es lógicos a n d ; a s í p u es s e d eb e
com en za r p or el a n d qu e es te m á s a la izqu ierd a . As í p u es eva lu a m os
e xpr1 an d (n o t e xpr2 ) com o el va lor d e (n o t e xpr2 ) es fa ls o
en ton ces ten drem os qu e eva lu a r la exp res ión (e xpr1 an d fals o ) cu yo
res u lta d o es fals o .
21
3 .- eva lu a m os la exp res ión (e xpr3 an d e xpr4 ) cu yo res u lta d o es
ve rdade ro .
4 .- Fin a lm en te eva lu a m os ((e xpr1 an d n o t e xpr2 ) o r (e xpr3 an d
e xpr4 )). La exp res ión qu e es tá a la izqu ierd a d el op era d or o r es el
p a s o 2 cu yo res u lta d o es fa ls o; la con d ición d e la d erech a d el
op era d or o r es el p a s o 3 cu yo res u lta d o es verd a d ero. As í
s u s titu yen d o la s exp res ion es p or s u s va lores ten em os qu e (fals o o r
ve rdade ro ) cu yo res u lta d o es ve rdade ro . Por ta n to la c o n dic ió n e s
ve rdade ra.
Re c ue rda que : Exis ten u n a s erie d e op era d ores lógicos qu e n os
p erm iten rea liza r op era cion es con expres ion es lógica s . El va lor
d e es ta s op era cion es s igu e s ien d o verd a d ero o fa ls o.
22
Descargar