Story Transcript
INTRODUCCIÓN A LA ALGORITMIA CAPITULO 2 . SENTENCIAS DE ENTRADA Y SALIDA Á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º 2 . SENTENCIAS DE ENTRADA Y SALIDA.
OBJ ETIVOS: * Sa b er rep res en ta r m ed ia n te orga n igra m a s la s s en ten cia s d e en tra d a y s a lid a .
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 en tra d a y s a lid a . 2 .1 . Rep res en ta ción a lgorítm ica d e la s s en ten cia s d e en tra d a . 2 .2 . Rep res en ta ción a lgorítm ica d e la s s en ten cia s d e s a lid a .
CONOCIMIENTOS PREVIOS.
- Tip os d e va ria b les . - Sen ten cia s d e a s ign a ción .
2
1 . INTRODUCCIÓN. E n p rogra m a ción s e d en om in a s en ten cia s d e en tra d a a a qu ella s qu e p erm iten en via r in form a ción d es d e el exterior a l in terior d e u n p rogra m a y s en ten cia s d e s a lid a a a qu ella s qu e p erm iten en via r in form a ción d es d e el in terior a l exterior de u n p rogra m a . La figura n º 1 . ilu s tra es te con cepto.
3
Im a gin em os qu e qu erem os rea liza r u n progra m a qu e n os in d iqu e s i la p ers on a qu e lo es tá u tiliza n d o es o n o m a yor d e ed a d . Pa ra ello ten d rem os qu e a lm a cen a r la ed a d d e la p ers on a en u n a va ria b le y p os teriorm en te p regu n ta r s i la ed a d es m a yor qu e 1 8 . El a lgoritm o p od ría s er a lgo com o es to: In trod u cir la ed a d en la va ria b le añ o s . E s añ o s m ay o r o igual que 1 8 en ton ces es crib e "m a yor d e ed a d ". E s añ o s m e n o r que 1 8 en ton ces es cribe "m en or d e ed a d ".
Sa b em os com o a s ign a r va lores a la va ria b le añ o s , n o ob s ta n te ten em os u n p rob lem a ¿Qu é ed a d ten d rá la p ers on a qu e u tilice el p rogra m a ?. Rea lm en te n o lo s a b em os , es d ecir el va lor d e la va ria b le añ o s ten drá qu e a s ign a rs e cu a n d o s e es té ejecu ta n d o el p rogra m a . La s s en ten cia s d e en tra d a s e p u ed en u tiliza r cu a n d o ten ga m os u n p rob lem a p a recid o; es d ecir, s i n o con ocem os en el m om en to d e es crib ir el p rogra m a el va lor d e u n a va ria b le
4
p od em os u tiliza r u n a s en t en cia d e en tra d a , a s í el va lor s e a s ign a rá cu a n d o s e es té ejecu ta n d o el p rogra m a . En es te ca s o el va lor lo in d ica rá el u s u a rio m ed ia n te el tecla d o d el ord en a d or. La figura n º 2 ilu s tra es te con cep to. E n el a lgoritm o a n terior ta m b ién ten em os d os s en ten cia s d e s a lid a : e s c ribe "m ay o r de e dad" y e s c ribe "m e n o r de e dad". Sola m en te s e ejecu ta rá u n a d e ella s cu a n d o s e es té u tiliza n d o el progra m a , en cu a lqu ier ca s o, la s en ten cia d e s a lid a m u es tra u n a in for m a ción d es d e el p rogra m a a la p a n ta lla ; es d ecir d es d e el in terior d el p rogra m a a l exterior. La figura n º 3 .3 ilu s tra es te con cep to.
La s s en ten cia s d e s a lid a ta m b ién p u ed en es crib ir el va lor d e u n a va ria b le, a u n qu e s u va lor n o s ea con ocid o d e a n tem a n o. Por ejem p lo, p od ría m os a ñ a d ir u n a s en ten cia d e s a lid a a l a lgoritm o a n terior p a ra qu e es crib iera el va lor d e la va ria b le añ o s . El a lgorit m o qu ed a ría d e la s igu ien te m a n era :
5
1. 2. 3. 4.
In trod u cir la ed a d en la va ria b le añ o s . E s añ o s m ay o r o igual que 1 8 en ton ces es crib e "m a yor d e ed a d ". E s añ o s m e n o r que 1 8 en ton ces es cribe "m en or d e ed a d ". E s crib e el va lor d e la va ria b le añ o s .
E n los len gu a jes d e p rogra m a ción exis te u n a gra n va ried a d d e s en ten cia s d e en tra d a y d e s a lid a , n orm a lm en te es ta s s en ten cia s s e es crib en d e form a d is tin ta en fu n ción d e la in form a ción d e en tra d a o d e s a lid a , p or ejem p lo s e es crib iría d e u n a form a s i la in form a ción d e en tra d a es n u m érica y d e otra form a s i la in form a ción d e en tra d a s on ca ra cteres . Ta m b ién s e p u ed en es crib ir la s s en ten cia s d e en tra d a y s a lid a d e d is tin ta form a en fu n ción d e d on d e recib a n la in form a ción o d on d e la en víen . Por ejem p lo u n a s en ten cia d e s a lid a p u ed e en via r la in form a ción a la p a n ta lla , a la im p res ora , a l d is co d u ro, a l d is k ette, a otro ord en a d or, a u n d is p os itivo d e con trol rem oto, etc. Norm a lm en te a la s s en ten cia s d e en tra d a y s a lid a s e la s con oce com o s en ten cia s d e E/ S (En tra d a / Sa lid a ) o s e n ten cia s d e I/ O (In p u t/ Ou tp u t cu ya tra d u cción s ería in pu t = en tra d a y ou tpu t = s a lid a ). Re c ue rda que : La s s en ten cia s d e en tra d a en vía n in form a ción d es d e el exterior a l p rogra m a , n orm a lm en te la in form a ción la s u ele s u m in is tra r el u s u a rio d el p rogra m a a tra vés d el tecla d o y és ta s e a lm a cen a en u n a va ria b le. La s s en ten cia s d e s a lid a en vía n in form a ción d el p rogra m a a l exterior, n orm a lm en te es ta in form a ción s e es crib e en la p a n ta lla d el ord en a d or, la in form a ción p u ed e s er con s ta n te (con ocid a en el m om en to d e es crib ir el p rogra m a ) o va ria b le (d es con ocid a en el m om en to d e es crib ir el p rogra m a ). Not a : La m a y oría d e los le n g u a je s d e p rog ra m a c ión n o a d m it e n la "ñ " c om o p a rt e d e l n om bre d e va ria ble , p or t a n t o la va ria ble a ñ os t e n d ría q u e d e n om in a rs e d e ot ra form a . En a lg orit m ia n o h a y n in g ú n p r oble m a d e n om bra r a la s va ria ble s c om o s e d e s e e .
6
2 . REPRESENTACIÓN ENTRADA Y SALIDA.
ALGORÍTMICA
DE
LAS
SENTENCIAS
DE
2 .1 . Re pre s e n t ac ió n algo rít m ic a de las s e n t e n c ias de e n t rada. Pa ra in d ica r en u n orga n igra m a u n a s en ten cia d e en tra d a s e n eces ita n d os cos a s : u n a es el s ím b olo qu e rep res en ta la s en ten cia y otra es el lu ga r d on d e s e va a a lm a cen a r la in form a ción d e en tra d a . El s ím b olo d e la s en ten cia s e rep res en ta en la figu ra y el lu ga r d on d e s e va a gu a rd a r la in form a ción s e es p ecifica p or el n om b re d e u n a va ria b le qu e es tá d en tro d el s ím b olo.
Si qu erem os rea liza r u n orga n igra m a qu e rep res en te la s u m a d e los va lores d e d os va ria b les p od ría m os rea liza rlo d e la s igu ien te m a n era : leer u n d a to n u m érico en la va ria b le a leer u n d a to n u m érico en la va ria b le b s u m a r la s va ria b les a y b y el res u lta d o a lm a cen a rlo en la va ria b le c
7
el orga n igra m a p a ra rep res en ta r es ta s ecu en cia d e p a s os s ería :
E n u n orga n igra m a n o s e s u ele in d ica r el tip o d e in for m a ción qu e con ten d rá la s va ria b les qu e es tá n d en tro d el s ím b olo d e en tra d a , a s í n o s e es p ecifica qu e la s va ria b les a y b s on d e tip o n u m érico; n o ob s ta n te cu a n do rea licem os el p rogra m a en C s í s e d eb erá es p ecifica r con a n teriorid a d el tip o d e va ria b le qu e va m os a u tiliza r. Ca s i tod os los progra m a d ores d en om in a n a la s va ria b les d e u n a s en ten cia d e en tra da "variable s de e n t rada", d e es ta form a exp res a n qu e es a s va ria b les s on la s qu e con ten d rá n la in form a ción qu e n eces ita el p rogra m a p a ra tra ba ja r y s in ella s el p rogra m a n o fu n cion a rá . As í en el ejem p lo a n terior la s va ria b les d e en tra da s ería n a y b; s i n o in trod u cim os va lores a es a s va ria b les el p rogra m a n o fu n cion a ría p u es to qu e n o ten d ría d a tos p a ra rea liza r la s u m a . Ya qu e la s va ria b les d e en tra d a s on ta n im p orta n tes , el p rogra m a n o con tin u a rá s u ejecu ción h a s ta qu e s e h a ya n in trod u cid o los va lores qu e d em a n d a n la s s en ten c ia s d e en tra d a . As í en el ejem p lo a n terior el p rogra m a rea liza ría los s igu ien tes p a s os : 1 . Se d eten d ría en la p rim era s en ten cia (leer u n d a to n u m érico en la va ria b le a) y n o con tin u a ría h a s ta qu e a lgu ien in trod u jera p or tecla d o u n va lor
8
y a con tin u a ción p u ls a ra la tecla "retu rn ". 2 . E l ord en a d or a lm a cen a en la va ria b le a el va lor qu e s e h a teclea d o en el p a s o a n terior. 3 . E l ord en a d or s e deten d ría d e n u evo en la s egu n d a s en ten cia (leer u n d a to n u m érico en la va ria b le b) y n o con tin u a ría h a s ta qu e a lgu ien in trod u jera p or tecla d o u n va lor n u m érico y a con tin u a ción p u ls a ra la tecla "retu rn ". 4 . E l ord en a d or a lm a cen a en la va ria b le b el va lor qu e s e h a teclea d o en el p a s o a n terior. 5 . Fin a lm en te el ord en a d or rea liza ría la s u m a d e los va lores d e la s va ria b les a y b y los a lm a cen a ría en la va ria b le c . E s p os ib le exp res a r va ria s s en ten cia s d e en tra d a com o u n a s ola ; es d ecir, s e p u ed e p on er u n a ú n ica s en ten cia d e en tra d a con va ria s va ria b les .
Los p a s os qu e rea liza ría u n ord en a d or a n te es te n u evo a lgo ritm o s ería n los m is m os qu e en el a lgoritm o a n terior; es d e cir: 1 . Se d eten d ría en la p rim era s en ten cia (leer u n d a to n u m érico en la va ria b le a) y n o con tin u a ría h a s ta qu e a lgu ien in trod u jera p or tecla d o u n va lor y a con tin u a ción p u ls a ra la tecla "retu r n ".
9
2 . E l ord en a d or a lm a cen a en la va ria b le a el va lor qu e s e h a teclea d o en el p a s o a n terior. 3 . E l ord en a d or s e deten d ría d e n u evo en la s egu n d a s en ten cia (leer u n d a to n u m érico en la va ria b le b) y n o con tin u a ría h a s ta qu e a lgu ien in trod u jera p or tecla d o u n va lor n u m érico y a con tin u a ción p u ls a ra la tecla "retu rn ". 4 . E l ord en a d or a lm a cen a en la va ria b le b el va lor qu e s e h a teclea d o en el p a s o a n terior. 5 . Fin a lm en te el ord en a d or rea liza ría la s u m a d e los va lores d e la s va ria b les a y b y los a lm a cen a ría en la va ria b le c .
Ob s erva qu e la ejecu ción d el orga n igra m a es la m is m a , a s í p u es es lo m is m o exp res a r la lectu ra d e in form a ción en va ria s va ria b les a tra vés d e u n a ú n ica s en ten cia d e en tra d a qu e exp res a r u n a s en ten cia d is tin ta p a ra ca d a va ria b le. Re c ue rda que : cu a n d o s e ejecu ta u n a s en ten cia d e en tra d a , el ord en a d or d etien e s u ejecu ción y n o con tin ú a h a s ta qu e s e h a ya in trod u cid o p or tecla d o u n va lor y p u ls a d o la tecla "retu rn " (ta m b ién d en om in a d a "en ter" ó "in tro").
Decía m os qu e cu a n d o u n ord en a d or ejecu ta u n a s en ten cia d e en tra d a "es p era " a qu e s e in trod u zca u n va lor. Pero, ¿ Có m o s abe m o s c uan do e l o rde n ado r e s t á e s pe ran do a que s e in t ro duz c a un valo r? . Norm a lm en te el ord en a d or p res en ta u n s ím b olo en p a n ta lla qu e in d ica qu e es tá es p era n d o a qu e s e in trod u zca u n va lor; es d ecir, es tá d eten id o en u n a s en ten cia de en tra d a . Es te s ím b olo va ría d e u n os len gu a jes d e p rogra m a ción a otros . Cu a n d o a p a rece es te ca rá cter in d ica qu e es tá en u n a s en ten cia d e en tra d a es p era n d o a qu e el u s u a rio teclee a lgú n va lor. Cu a n d o el ca rá cter - a p a rece en p a n ta lla ya s a b em os qu e el ord en a d or es tá es p era n d o a qu e d é u n va lor, p ero ¿ Có m o s abe e l us uario de l pro gram a qué valo r t ie n e que dar? En el p rogra m a p a ra s u m a r el va lor d e d os va ria b les es fá cil s a b er qu é va lor es tá p id ien d o el ord en a d or: cu a n d o a p a rezca el p rim er - es ta rem os d a n d o el va lor d el p rim er s u m a n d o y cu a n d o
10
a p a rezca el s egu n d o - es ta rem os d a n d o el va lor a l s egu n d o s u m a n d o. En la p a n ta lla d el ord en a d or a p a recería : _ 5 _ 6
Des gra cia d a m en te los p rogra m a s n o s on ta n s en cillos y tien en u n a gra n ca n tid a d d e s en ten cia s d e en tra d a y a m en u d o cu a n d o a p a rece u n - n o s a b em os qu é va lor d eb em os d a r o p a ra qu é lo n eces ita el p rogra m a . Pa ra evita r es to tod os los p rogra m a d ores p rofes ion a les p on en u n texto in d ica tivo qu e a p a rece a n tes d el ca rá cter - (es ta a cción s e d en om in a do c um e n t ar la e n t rada). As í p a ra el ca s o d e la s u m a d e d os va ria b les d eb ería a p a recer u n texto in d ica tivo a n tes d e ca d a s ím b olo - y la p a n ta lla qu ed a ría com o s igu e: Introduce el primer sumando _ 5 Introduce el segundo sumando _ 6
La form a d e exp res a r es to m ed ia n te orga n igra m a s es m u y fá cil, s en cilla m en te p on d rem os a n tes d e la va ria b le el texto qu e qu erem os qu e a p a rezca en cerra d o en tre d ob le com illa s , a con tin u a ción u n a com a y d es p u és el n om b re d e la va ria b le d on d e d es ea m os qu e s e a lm a cen e el va lor. La figura in d ica la rep res en ta ción en el orga n igra m a .
11
Los p a s os qu e rea liza ría el ord en a d or a n te los or ga n igra m a s d e la figu ra s ería n los m is m os qu e los a n teriores con la d iferen cia d e qu e en lu ga r d e a p a recer u n s ím b olo - cu a n d o ten em os qu e in trod u cir u n va lor en la va ria b le a p a rece el texto qu e p reced e a la va ria b le y el s ím b olo -.
Re c ue rda que : el ca rá cter - (ta m b ién d en om in a d o cu rs or) in d ica qu e el ord en a d or es tá es pera n d o p or u n a in form a ción . Tod os los p rogra m a d ores p rofes ion a les s u elen p on er u n texto a n tes d e la va ria b le d e en tra d a p a ra ten er s iem p re referen cia s d u ra n te la ejecu ción d el p rogra m a d e qu é in form a ción d eb e s u m in is tra r a l ord en a d or el u s u a rio.
12
2 .2 . Re pre s e n t ac ió n algo rít m ic a de las s e n t e n c ias de s alida.
Pa ra rep res en ta r a lgorítm ica m en te u n a s en ten cia d e s a lid a s e n eces ita (a l igu a l qu e en la s s en ten cia s d e en tra d a ) el s ím b olo qu e rep res en ta la s en ten cia y la in form a ción qu e s e va a en via r fu era d el p rogra m a . El s ím b olo qu e rep res en ta u n a s en ten cia d e s a lid a es el qu e m u es tra la figura n º 3 .6 . y la in form a ción qu e a p a rece d en tro d el s ím b olo es la qu e s e en via rá fu era d el p rogra m a . La in form a ción qu e s e p u ed e en via r fu era d el p rogra m a (p or ejem p lo a la p a n ta lla ) p u ed e s er cu a lqu ier tip o d e exp res ión . As í la in form a ción p u ed e s er u n a va ria b le, en cu yo ca s o s e vis u a liza rá el con ten id o d e la m is m a ; p u ede s er u n a con s ta n te o u n a com b in a ción d e a m b a s
La s s en ten cia s d e s a lid a s on im p or ta n tes p u es to qu e n os per m iten ver los res u lta d os d e los p rogra m a s . Por ejem p lo, el orga n igra m a p a ra rea liza r la s u m a d e d os va lores d el a p a rta d o a n terior rea liza ría la s u m a y s u va lor lo
13
a lm a cen a ría en la va ria b le c p ero el u s u a rio n o vería el res u lta d o d e la s u m a p or p a n ta lla , s in em b a rgo s i a l fin a l d el a lgoritm o le a ñ a d im os u n a s en ten cia d e s a lid a p a ra ver p or p a n ta lla el con ten id o d e la va ria b le c , en ton ces s í p od ría m os ver el res u lta d o d e la s u m a . La s figuras n º 3 .8 . y 3 .9 . m u es tra es ta s itu a ción .
E l n u evo a lgoritm o s ería el s igu ien te:
leer u n d a to n u m érico en la va ria b le a leer u n d a to n u m érico en la va ria b le b s u m a r la s va ria b les a y b y el res u lta d o a lm a cen a rlo en la va ria b le c vis ualiz ar e l c o n t e n ido de la variable c
La m a yoría d e la s s en ten cia s d e s a lid a s e em p lea n p a ra qu e el u s u a rio p u ed a ver la in form a ción con la qu e es tá tra b a ja n d o el p rogra m a , n o ob s ta n te otra s s en ten cia s s irven p a ra en via r in form a ción d e u n p rogra m a a otro o en tre
14
d ivers a s p a rtes d e u n p rogra m a . La s va ria b les qu e es tá n en u n a s en ten cia d e s a lid a s e la s s u ele d en om in a r variable s de s alida. En n u es tro ejem p lo c es u n a va ria b le d e s a lid a . Al igu a l qu e la s s en ten cia s d e en tra d a , es p os ib le exp res a r va ria s s en ten cia s d e s a lid a en u n a s ola , a s í s i d es eá ra m os es crib ir el con ten id o d e la s va ria b les a, b y c lo p od ría m os exp res a r en u n s olo s ím b olo a lgorítm ico . Re c ue rda que : La s s en ten cia s d e s a lid a s irven p a ra en via r in form a ción a l exterior d el p rogra m a y s u rep res en ta ción en u n orga n igra m a es tá com p u es ta p or u n s ím b olo qu e rep res en ta la s en ten cia d e s a lid a y d en tro d el s ím b olo la in form a ción qu e s e va a en via r a l exterior d el p rogra m a . An teriorm en te s e d ecía qu e la s s en ten cia s d e s a lid a p od ía n tra b a ja r con ju n ta m en te con in form a ción va ria b le y con s ta n te, es te h ech o s e s u ele u tiliza r p a ra d ocu m en ta r la s a lid a . Si u n p rogra m a tien e m u ch a s s en ten cia s d e s a lid a p u ed e llega r u n m om en to qu e n o s ep a m os qu é in form a ción es la qu e a p a rece p or p a n ta lla , p or ejem p lo a l vis u a liza r la va ria b le c en el orga n igra m a d e la s u m a a p a recería u n va lor d eterm in a d o (p or ejem p lo el 2 3 ), p u ed e s er qu e el u s u a rio d el p rogra m a n o s ep a a qu é s e refiere es e va lor; s in em b a rgo s i en la p a n ta lla a p a rece: El valor de la suma de a y b es 23
E n es te ca s o s e d ice qu e la s a lid a es tá d ocu m en ta d a ; es d ecir, in d ica cu a l es el origen d el va lor. Es to s e p u ed e rep res en ta r a lgorítm ica m en te en u n a m is m a s en ten cia d e s a lid a , com b in a n d o la in form a ción va ria b le y con s ta n te. La figura n º exp res a los orga n igra m a s em p lea d os p a ra ob ten er u n a s a lid a d ocu m en ta d a y s in d ocu m en ta r. La m a yoría d e los p rogra m a d ores s iem p re d ocu m en ta n la s va ria b les d e s a lid a y es u n a p rá ctica qu e s e a con s eja qu e rea lice el lector.
15
Re c ue rda que : La s va ria b les d e s a lid a s e d ocu m en ta n p a ra qu e en tod o m om en to s ep a m os el s ign ifica d o d e la in form a ción qu e a p a rece p or p a n ta lla .
16