Teleksov tečaj za začetnike - Teleksov tečaj za začetnike — Te' OSNOVE M'Mo: Zadnjič je po- govor tekel o višjih programskih jezikih. Nekaj smo jih našteli, spoznali smo pojme prevajanja in interpretiranja, ogledali smo si, kaj so podprogram, strukturirano programira- nje in programski moduli. Pri programiranju uporab- ljamo različne podatkovne strukture. Danes bomo omenili nekaj zanimivejših. Podatki v računalniku Vsi podatki v računalniku so zapisani v obliki binarnih števil. To pa še ne pomeni, da lahko uporabnik mani- pulira zgolj s števili. Upo- rablja lahko tudi znake (črke), nize znakov, polja, sezname, vrste, sklade itd. Če jih hočemo predstaviti, je to nekoliko bolj zaplete- no kot npr. predstaviti na- ravna ali-cela števila. Po- skusimo si na hitro ogledati nekaj osnovnih vrst podat- kov. Naravna števila (npr. 3, 124, 1095, ...) predstavi- mo . najbolj enostavno. Odvisno od dolžine raču- nalniške besede lahko. zapi- šemo v eno besedo različno velika največja števila. Če je beseda dolga 8 bitov, je največje možno naravno število 255. Na splošno ve- lja, da lahko v besedo, ki je dolga n bitov, zapišemo največje število 2 na poten- co n minus 1 (24sn—1). V primeru 8 bitov je to 2x48—1, to je 256—1—255. Za aa no . besedo " bi. bilo največje število 24x16—1 — 65536. Z osmimi biti lahko torej zapišemo kaj majhno število, s šestnaj- stimi že bistveno večje. Kaj če bi hoteli zapisati še večja števila, pa bi bila ra- čunalniška beseda pre- kratka?Tedaj lahko upo- rabimo dvojno besedo. Če imamo 16-bitno besedo in uporabimo dvojno na- tančnost, lahko zapišemo 'število v 32 bitov (štirje zlogi)in tako lahko zapiše- Ino največje ' število 2% 32— 1—4,294.967.296, kar pa je že . sila veliko število. Vendar mora pri takem zapisu program ve- deti, da število ni zapisano samo v eni besedi, ampak ' 26 v dveh. To programu po- vemo z definicijo podat- kovnega tipa. Do tu znamo zapisati samo naravna števila, to- rej negativnega števila sploh ne moremo zapisati. Pač. To so računalnikarji uredili tako, da so se do- menili, kako lahko zapiše- jo negativna števila: naj- višji: bit računalniške be- sede uporabijo za zapis predznaka. Program mora natanko vedeti, da je kak podatek definiran s pred- znakom, ker bi sicer pre- bral povsem napačno šte- vilko. Govorimo o kodira- nem podatku. Če je naj- višji bit enak 1 (npr. 1xxxxXxXx, kjer je xxxxxxXx binarni za- pis števila), je število ne- gativno, sicer (npr. 0xxxxxXXx) pa pozi- tivno. Negativna števila so zapisana v dvojiškem | komplementu, a to naj povemo le informativno. V osem bitov lahko zapi- šemo kot največje pozitiv- RAČUNALNIŠTVA Teleksov tečaj za začetnike — Teleksov tečaj za zače... no število s predzankom 4127 in najmanjše —128. Za šestnajst bitov bi bili ti vrednosti 432767. in —32768. Če uporabljamo zapis,z dvojno besedo, po- tem uporabimo za zapis predznaka le najvišji bit zgornje besede, medtem ko vsi drugi biti obeh be- sed pomenijo število. V računalniku lahko za- pišemo tudi decimalna števila, tako da jih binar- no kodiramo. To so po- tem binarno kodirana de- cimalna števila (angl. Bi- nary Coded Decimal — BCD). Pri kodiranju upo- rabimo za zapis ene deci- malne številke štiri bite. V štiri bite lahko zapišemo števila do 15. A vse vre- dnosti nad 9 so prepove- dane. Torej pomenijo vsaki štirje biti od najniž- jega navzgor po eno šte- vilko zapisa decimalnega števila. Npr. število 15 (DEC) bi zapisali z binar- nim kodiranjem kot 0001 0101, pri čemer pomeni Go o a a dei NA SAME 0001 enico in 0101 pe- tico. Na nekoliko bolj zaple- tene načine se da predsta- viti tudi števila z decimal- no vejico, fiksno ali plava- jočo, a se tokrat v podrob- . nosti ne bomo spuščali. Poglejmo: si raje, kakšni podatki so nam dostopni v programskem jeziku, pre- vajalnik pa naj skrbi, da jih bo stroj razumel. Najbolj enostaven po- datek je podatek Boolo- vega tipa, to je podatek »da« ali »ne«, 1 ali 0, »pravilno« ali »napačno« | (angl. true ali false). Pro- gram in programer se tako sporazumeta o kakem do- godku ali dejstvu, ki ga »true« potrdi, »false« pa Ovrže. Drugi enostaven podat- kovni tip je celoštevilska spremenljivka (angl. inte- ger), ki ima lahko npr. vrednosti —793, 0, 12573 itd. ) Nekateri jeziki definirajo »realna števila« (angl. Real), drugi »števila:z deci- malno vejico« (angl. Fixed- point ali Floating point — fiksna ali plavajoča vejica). Števila s plavajočo vejico so lahko predstavljena kot realna števila z decimalno vejico (npr. 3,749) ali pa so | zapisana v eksponentnem zapisu (npr. 3.1415E-2 po- meni isto kot 0.031415). Število za oznako "E pome- ni, za koliko mest se mora premakniti decimalna veji- ca glede na število, ki je zapisano pred E. Če E sledi A | negativno število, se vejica > | ASCIL American Standard Code premika levo, sicer desno. Zapisovanje znakov Naj bo dovolj o številih. Poglejmo, kako stroj zapi- suje znake. Ker stroj razu- me: le številke, moramo | znake kodirati vanje. Za kodiranje znakov obstaja več mednarodnih standar- | dov. Težave so zaradi ra- | zličnih narodov, ki uporab- | ljajo v svojih abecedah ra- zlične znake. (Omenimo najbolj razširjeni standard Kratica pomeni for Information Interchan- ge (ameriška standardna Piše: Tom Erjavec 8 koda za izmenjavo informa- cij). Obsega kode za 128 različnih znakov (tudi kon- trolne znake za upravljanje V/I naprav). V ASCII kodi 'bi denimo besedo TRAVA zapisali s številskim nizom v HEX zapisu: 5452415641. Od drugih razširjenih | kod velja omeniti še EBC- DIC kodo, ki obsega 256 znakov (s kontrolnimi znaki vred). Za iste znake upo- rabljata ASCII in EBCDIC povsem različne kode. V programih lahko zapi- sujemo iz znakov tudi cele besede, ali celo stavke. V ta namen moramo definirati polja znakov. Vsako tako polje vsebuje informacijo, koliko znakov je polje dol- go in koliko znakov od vseh možnih je zares zapolnjenih z besedilom. Tako lahko ra- čunalnik manipulira z bese- dili. V pomnilniku pa vsak znak zapisa zavzame. en zlog (osem bitov). Možnosti za zapis tek- stovnih polj v pomnilniku je več, a oglejmo si eno. V našem primeru bomo zapi- sali najprej definicijo tek- stovnega polja in s tem pri- hranili v- pomnilniku pro- stor za besedilo. Tekstovno polje imenujemo BESEDA in naj bo tako dolgo, da bomo lahko vanj zapisali besedo z 10 znaki: BESEDA. .TEXT(10) Takoj po definiranju bi bilo polje BESEDA v po- mnilniku videti takole (šte- vila so zapisana v HEX): OA 00 40 40 40 40 40 40 40 40 40 40 OA pomeni 10(DEC) in povezuje dolžino polja (10 znakov). Druga štvilka (00) pomeni dolžino podatka v polju. Ker v polju BESE- DA ni zapisano še nič, je dolžina podatka 0.40 (HEX) v EBCDIC kodi po- meni kodo za presledek. Torej je tekstovno polje 6b definiranju zapolnjeno s presledki. Če bi v polje BE- SEDA zapisali. besedo TRAVA, bi dobilo v po- mnilniku naslednjo obliko. |: (zapis je v HEX): č 0A 05 E3D9CI1ES5CI1. -| 40 40 40 40 40 0A še vedno pomeni dolžino polja (10). Dolžina podatkov pa se je. spremenila, saj polje ni več