L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 27 Cpítulo 3 Vriles, Constntes y Operores Vrile Informlmente lgo vrile es lgo que puee mir e un momento otro. Ténimente un vrile es un mpo e memori l que se le puee mir su ontenio unts vees se neesrio. Primer lrión, un mpo e memori es un peito e l memori prinipl el omputor en one poemos gurr un to. Segun lrión, pesr e que en l memori es one se gur l informión etmente ést se lmen en vriles. Esto le h e representr uste que es trvés e vriles omo se puee utilizr l memori el omputor. H noto uste que l mlet e un guitrr es iferente l mlet e un violín o e un trompet...? Se entones qué es lo que ifereni l mlet e un instrumento musil e l mlet e otro instrumento musil..? Pues preismente l úni ifereni es su ontenio es eir el instrumento en sí. Y esto qué tiene que ver on el tem que estmos trtno..? Pues muy senillo, l ifereni entre un vrile y otr ri preismente en su ontenio o ms ien en el tipo e su ontenio. Pr poer utilizr vriles en el esrrollo e un progrm e omputor se ee primero eir qué tipo e to vn lmenr pues ls vriles son omo uns jits e iferentes tmños y por tl motivo se een elrr previmente pr que el omputor ls imensione e uero ls neesies. Cuáles son los tipos e tos que pueen ser lmenos en un vrile...? A pesr el vne e l tenologí, los tipos e tos e ls vriles pueen ser :
28 Cpítulo 3 Vriles, Constntes y Operores Tipo Entero Un to e tipo entero es un número que no tiene punto eiml, por lo tnto en sus operiones jmás v generr eimles. Por ejemplo 25, -96 y 0. El heho e que los tos e tipo entero no generen eimles signifi que opern on un juego e regls llmo Aritméti Enter. Un vrile que se elre e tipo entero porá lmenr solmente tos e tipo entero. Tipo Rel Un to e tipo rel es un número que tiene punto eiml, por lo tnto en sus operiones puee generr eimles. Por ejemplo 12.3, -78.56 o 45.0. El heho e que los tos e tipo rel generen eimles signifi que opern on un juego e regls llmo Aritméti Rel. Un vrile que se elre e tipo rel porá lmenr solmente tos e tipo rel. Por lo iho en ls nteriores os efiniiones qué tipo e to serí 5. (sí on el punto y too). Pensrímos que es un entero pero en reli no. L efiniión e to entero es que no tiene punto eiml y l e to Rel es que tiene punto eiml, por lo tnto 5. es un to rel. Tipo Crter Un to tipo ráter es un equivlente el Cóigo ASCII ( Amerin Stnr Coe for Interhnge Informtion ). Qué es el óigo ASCII..? Es el Cóigo Internionl e equivlenis Interns en el Sistem Binrio. A nivel munil, los omputores están onstruios en un sistem numério llmo sistem inrio, sistem que se s solmente en l utilizión e unos (1s) y eros (0s). Este sistem tiene un relión iret on el sistem eiml y por lo tnto fue opto y que permití provehr rterístis físis e los omponentes eletrónios. D l grn importni que poo poo fueron quirieno los omputores, se optó un solo óigo interno pr l interpretión e tos y un e ls tels (e su telo, ovimente). De est form uno uste presion en su telo l letr A relmente se gener por entro e su omputor el número 65 pero epreso en óigo inrio, es eir 0100 0001, y uno uste presion l tel 1 se gener internmente el número 49 pero epreso igulmente en óigo inrio, es eir 0011 0001. C un e ls tels que uste presione tenrá un equivlente interno y por supuesto epreso (internmente) en sistem inrio. C ero o uno utilizo en este sistem se onoe omo it (revitur e inry igit) y un onjunto e 8 its (mei en l ul se epres el óigo ASCII) se onoe omo un yte (pronúniese it). Como el óigo ASCII está epreso en ytes y yte tiene 8 its y it puee tener un 0 ó un 1 ( o se os estos ) entones se puee onluir que el óigo ompleto onst e 2 8 ominiones (o se 256 equivlenis). A ontinuión reliono l tl omplet e equivlenis ASCII.
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 29 CODIGO ASCII Tl e Equivlenis Binris Crter que uste igit Equivleni en Sistem Deiml Equivleni en Sistem Binrio Crter que uste igit Equivleni en Sistem Deiml Equivleni en Sistem Binrio 0 48 0011 0000 G 71 0100 0111 1 49 0011 0001 H 72 0100 1000 2 50 0011 0010 I 73 0100 1001 3 51 0011 0011 J 74 0100 1010 4 52 0011 0100 97 0110 0001 5 53 0011 0101 98 0110 0010 6 54 0011 0110 99 0110 0011 7 55 0011 0111 100 0110 0100 8 56 0011 1000 e 101 0110 0101 9 57 0011 1001 f 102 0110 0110 A 65 0100 0001 g 103 0110 0111 B 66 0100 0010 h 104 0110 1000 C 67 0100 0011 i 105 0110 1001 D 68 0100 0100 j 106 0110 1010
30 Cpítulo 3 Vriles, Constntes y Operores Como puee uste notr ests son pens lguns e ls 256 equivlenis que tiene l tl ASCII. Es ovio pensr que tmién tienen equivleni los rteres espeiles omo l om, el punto o el préntesis. Cuno se tiene un onjunto e rteres se ie ténimente que se tiene un en por lo tnto el nomre el utor OMAR es un en. El ontenio e un en no es evluo por el omputor y se ostumr otrlo o enerrrlo entre omills oles, sí l en 5 7 es igul 8 pesr e no ser lógi ni orret mtemátimente es váli pr el omputor y que él en ningún momento evlú ls ens. Cómo se llevn los tos ls vriles..? o se Cómo se rgn ls vriles..? Pues trvés e un signo muy onoio por uste y es el signo. Este signo tiene, en el so e los lgoritmos omputionles y progrms, un onnotión un poo iferente l que se le en mtemátis. El signo igul () signifi que el omputor v relizr lo que está l ereh el igul y lo v lmenr en l vrile que se enuentre l izquier el igul. De mner que y uste puee ver lrmente en est efiniión que l izquier el igul solo puee her un vrile y l lo ereho el igul puee her un onstnte, un vrile ó un epresión. De mner que ulquier e los siguientes esquems son válios 8 Le ini l omputor que gure l onstnte 8 en l vrile Le ini l omputor que gure en l vrile el ontenio e l vrile que en l instruión hí sio rg on 8, por lo tnto en l vrile que el vlor e 8 l igul que en l vrile Le ini l omputor que gure en l vrile el resulto e sumr el ontenio e l vrile on el ontenio e l vrile. Como l vrile tení el ontenio 8 y l vrile tmién tení el ontenio 8 entones el omputor sumr 88 y ese 16 e resulto lo lmenrá en l vrile Puee notrse en este ejemplo que en l vrile se h lmeno un onstnte, en l vrile se h lmeno el ontenio e otr vrile y en l vrile se h lmeno el resulto e un epresión. Y qué psrá si luego e tener ests tres instruiones iionmos l siguiente: 9 Pues, muy senillo, el nterior ontenio e l vrile que er 8 v ser reemplzo por el nuevo ontenio e l vrile que es 9. Ello signifi que que se sign un nuevo vlor (proveniente e un onstnte, un vrile o omo resulto e un epresión) el vlor nterior e l mism vrile se piere. Así si se quisiern esriir los ontenios e ls vriles, y el omputor nos reportrí pr el ontenio 8, pr el ontenio 9 y pr el ontenio 16. Too lo que ee tener en uent on l signión o rg e ls vriles es lo siguiente:
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 31. Al lo izquiero el igul solo puee her un vrile. Al lo ereho el igul puee her un onstnte, un vrile o un epresión. El omputor siempre resuelve lo e l ereh el igul y su resulto lo lmen en l vrile que esté l izquier el igul. C vez que se le entr un nuevo vlor un vrile, el vlor nterior se piere De uero lo iho vmos resolver el siguiente onjunto e instruiones: Entero: A, B, C A 10 B 15 Delr e tipo entero ls vriles A, B y C e mner que solo porán lmenr tos enteros Almen l onstnte 10 en l vrile A Almen l onstnte 15 en l vrile B C 20 Almen l onstnte 20 en l vrile 20 A A B B B 8 C C A A A 5 B B 3 C C 2 A A B B A B Almen en l vrile A el resulto e sumr el ontenio e A ms el ontenio e B o se 1015 que es igul 25 Almen en l vrile B el resulto e sumr el ontenio e B on l onstnte 8 o se 158 que es igul 23 Almen en l vrile C el resulto e sumr el ontenio e l vrile C ms el ontenio e l vrile A o se 2025 que es igul 45. Reuérese que en est líne se utiliz el último vlor e lmeno en l vrile A Almen en l vrile C el resulto e sumr el ontenio e l vrile A ms l onstnte 5 es eir 255 que es igul 30 Almen en l vrile B el resulto e sumr el ontenio e l vrile B ms l onstnte 3 o se 233 que es igul 26 Almen en l vrile C el resulto e sumr el ontenio e l vrile C ms l onstnte 2 o se 452 que es igul 47 Almen en l vrile A el resulto e restrle l ontenio e l vrile A el ontenio e l vrile B o se 30-26 que es igul 4 Almen en l vrile B el resulto e restrle l ontenio e l vrile A el ontenio e l vrile B o se 4-26 que es igul -22
32 Cpítulo 3 Vriles, Constntes y Operores C A B Almen en l vrile C el resulto e restrle l ontenio e l vrile A el ontenio e l vrile B o se 4- (-22) que por propiees lgeris es igul 422 o se 26 Los resultos finles en ls tres vriles son Vrile A 4 Vrile B -22 Vrile C 26 No olvie que pr el mnejo e vriles nuevo vlor que se le signe un vrile orr el vlor nterior. Nótese que en este onjunto e instruiones ls tres últims son igules en su form pero no en sus resultos. Pr herlo ms reve, el seguimiento e este onjunto e instruiones porímos etllrlo e l siguiente form V A R I A B L E S Entero: A, B, C A B C A 10 10 B 15 10 15 C 20 10 15 20 A A B 25 15 20 B B 8 25 23 20 C C A 25 23 45 A A 5 30 23 45 B B 3 30 26 45 C C 2 30 26 47 A A B 4 26 47 B A B 4-22 47 C A B 4-22 26 Er eviente que tenímos que llegr l mismo resulto. Esto que mos e her es preismente l PRUEBA DE ESCRITORIO e este onjunto e instruiones.
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 33 Tmién puee notrse que nuevo vlor signo vrile reemplz el vlor nterior e l mism vrile por es rzón por nuevo resulto (en un etermin vrile) se v thno el resulto nterior pr inir que ése y no es válio. Ejeriios 1. 10 20 5 3 4 4 3-2 Qué vlores quen lmenos en ls vriles, y? 2. 5 18 15 25 10 5 4 1 Qué vlores quen lmenos en ls vriles,, y? 3. 9 6 4 2 10 25 20 5 4 2 10 10 Qué vlores quen lmenos en ls vriles y?
34 Cpítulo 3 Vriles, Constntes y Operores 4. 18 18 18 18 - - - - Qué vlores quen lmenos en ls vriles,, y? 5. 10 5-5 6 18 23 21-5 - 4-2 10 10 Qué vlores quen lmenos en ls vriles y? 6. 8 7 5 8 Qué vlores quen lmenos en ls vriles, y?
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 35 Operores Los operores son signos que nos permiten epresr reliones entre vriles y/o onstntes, reliones e ls ules normlmente se esprene un resulto. Y hemos mnejo os operores que son el e l sum () y el e l rest (-) pero no son los únios. En un lgoritmo omputionl tmién se pueen utilizr los siguientes operores ^ Pr epresr l poteniión * Pr epresr l multipliión / Pr epresr l ivisión Deo notr que l notión pr poteniión que vmos utilizr en este liro no es stnr pr toos los lengujes e progrmión y en lgunos sos el mismo signo tiene otro signifio. Por tl motivo sugiero que uno vy utilizr este operor en un progrm etermino one neesite relizr operiones e poteniión onsulte primero el mnul el Lenguje en el ul esté trjno. Por lo menos lo vmos utilizr en el esrrollo e este liro. Algo que eemos tener en uent uno vmos esriir un epresión es que el omputor solo entiene ls epresiones en formto linelizo esto quiere eir esrits en un sol líne. De tl mner que si queremos esriir l euión vr No se l poemos entregr l omputor tl y ul omo está quí esrit sino que eemos trnsformrl e mner que quee esrit en un sol líne. Suponrímos en primer instni que su equivlente (en un sol líne) serí vr / Sin emrgo unque primer vist preier ser l mism euión, est epresión porí tener vris interpretiones. Le pregunto y uste migo letor, l euión omputionl vr / ul e ls siguientes euiones reles orresponerí..? vr vr
36 Cpítulo 3 Vriles, Constntes y Operores vr vr Grn pregunt... pues es muy ovio que un e ests euiones v r un resulto iferente. Pr soluionr est grn inquietu toos los omputores tienen implement un jerrquí e operores que no es ms que un onjunto e regls que le permiten un omputor evlur e un y solo un form un epresión mtemáti pr que no hy espio pr migüees. Lo primero que el omputor evlú y reliz son ls potenis revisánols e ereh izquier. Lo seguno que el omputor evlú y reliz son ls multipliiones y ivisiones y lo último que revis son ls sums y rests. Tnto pr el nivel e multipliiones y ivisiones omo pr el nivel e sums y rests l evluión es totlmente inistint esto quiere eir que en l mei que v enontrno sums y rests (si est en este nivel) ls v ejeutno. Vemos entones el ejemplo iniil vr / Será interpreto por el omputor e l siguiente mner. Primero evlú en est epresión si eisten potenis omo no ls hy pr l siguiente nivel y vuelve reorrer l epresión evluno si eisten (inistintmente y no neesrimente en ese oren) multipliiones y ivisiones y enuentr que eiste un ivisión e mner que lo primero que reliz es l ivisión e /, luego vuelv reorrer l epresión usno (en el terer nivel) sums y rests (inistintmente y no neesrimente en ese oren) y enuentr l sum e ms lo que y hí lulo y luego reliz l sum e este último resulto ms. Qué es lo que se persigue on est jerrquí e operores...? Pues senillmente que uno el omputor vy resolver un epresión, en one por supuesto prtiipen operores ritmétios, siempre teng listos los vlores que v operr. De est form l evluión e l epresión en menión se he en los siguientes psos
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 37 vr / II I III Por lo tnto, esriir l epresión sí vr / SOLAMENTE equivle l epresión vr Y si queremos lterr es jerrquí porque l epresión que querímos esriir no er est qué hemos...? Pr eso se hiieron los préntesis...preismente pr lterr est jerrquí. El heho e que los omputores se sen es est jerrquí e operores pr relizr sus operiones es lo únio que grntiz que pr un etermin epresión el resulto en ulquier omputor se el mismo. Cuno se utilizn préntesis, el omputor etet el primer préntesis ms interno y entro e él pli l tl e jerrquí e operores. Cómo se el omputor que se enuentr entro e un préntesis ms interno? El omputor onsier un juego e préntesis omo ms interno uno entro e él no eiste ningún otro juego e préntesis. Hieno uso e l fili e los préntesis poemos entones epresr omputionlmente ls siguientes fórmuls sí: vr vr VAR ( ) / ( ) VAR / vr vr VAR / ( ) VAR ( ) /
38 Cpítulo 3 Vriles, Constntes y Operores Puee uste, migo letor, suponer el ppel tn importnte que hen quí los préntesis, preismente porque uno trvés e ellos se lter l jerrquí e operores es uno se lleg ls fórmuls que queremos que el omputor relie. Igulmente h e ser que un préntesis ml oloo finlmente he que los resultos que lule el omputor sen iferentes los esperos. Vemos el siguiente ejemplo : VAR ( / ) / ( / ( ^ / ( / * ) ) ) Reuere el omputor us los préntesis ms internos, sore ellos pli l tl e jerrquí e operores (primero potenis, seguno multipliiones y ivisiones y terero sums y rests). Luego el oren e resoluión e est euión, suponieno que son vriles que tienen y unos vlores signos, es el siguiente: VAR ( / ) / ( / ( ^ / ( / * ) ) ) II I VII IV V III VI VIII IX X XI XII El ojetivo funmentl e mntener est jerrquí es que uno el omputor vy relizr un operión entre os opernos, siempre v tener efinios los opernos. Veámoslo pso pso y vmos reemplzno por uno e los resultos que v enontrno el omputor señlno resulto por el número orinl el pso Primero se ui en el primer préntesis ms interno y entro e él pli l jerrquí e operiones VAR ( / ) / ( / ( ^ / ( / * ) ) ) VAR ( I ) / ( / ( ^ / ( / * ) ) ) VAR ( II ) / ( / ( ^ / ( / * ) ) ) VAR ( III ) / ( / ( ^ / ( / * ) ) )
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 39 Luego se ui en el siguiente préntesis ms interno. Reuere que un préntesis es ms interno si no tiene ms préntesis entro VAR ( III ) / ( / ( ^ / ( IV * ) ) ) VAR ( III ) / ( / ( ^ / ( V ) ) ) VAR ( III ) / ( / ( ^ / ( VI ) ) ) Sigue usno y resolvieno los préntesis que vyn queno plino en uno l tl e jerrquí e operores VAR ( III ) / ( / ( ^ / VI ) ) VAR ( III ) / ( / ( VII / VI ) ) VAR ( III ) / ( / ( VII VIII ) ) VAR ( III ) / ( / ( IX ) ) En l mei en que se vn resolvieno ompletmente los préntesis, estos vn espreieno y l epresión se v simplifino VAR ( III ) / ( / IX ) VAR ( III ) / ( X ) VAR ( III ) / ( XI ) Finlmente l epresión que reui resolver VAR III / XI VAR XII Bueno y si quisiérmos ser est fórmul lineliz que fórmul lgeri orresponerí no es sino seguir los mismos psos que siguió el omputor pr resolverl y llegremos l siguiente fórmul VAR ( / ) / ( / ( ^ / ( / * ) ) )
40 Cpítulo 3 Vriles, Constntes y Operores Equivle lgerimente vr * Ejeriios Toos los siguientes ejeriios eerán esrrollrse utilizno ls regls e l ritméti enter. 1. 10 20 10 15 12 * Qué vlores quen en ls vriles, y? 2. 3 8 1 5 9 7 1 2 3 Qué vlores quen en ls vriles, y? 3. 10 5 10-5 - 5-5 5 * / 2 5 * / 2 5 * / 2 Qué vlores quen en ls vriles, y?
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 41 4. 5 5 5 Qué vlores quen en ls vriles, y? 5. 10 10 10 5 3 2 4 5 8 Qué vlores quen en ls vriles, y? 6. 10 1 4 5 Qué vlores quen en ls vriles, y? 7. 1 1 1 Qué vlores quen en ls vriles, y? 8. 10 50
42 Cpítulo 3 Vriles, Constntes y Operores 30 1 Qué vlores quen en ls vriles, y? 9. 1 2 3 * * Qué vlores quen en ls vriles, y? 10. 1 2 3 2 2 2 / 2 / 2 / 2 Qué vlores quen en ls vriles, y? Linelizr ls siguientes epresiones (no se olvie que linelizr signifi esriir un epresión lgeri en un sol líne). En uno e los siguientes ejeriios esriir el oren en que el omputor relizrí ls operiones. 11. 12.
L Eseni e l Lógi e Progrmión Omr Ivn Trejos Buritiá 43 13. 14. 15. 16. 17. * *
44 Cpítulo 3 Vriles, Constntes y Operores 18. 19. 20.