4 TEMA

 

Matematiniai informatikos pagrindai

 

 

Skaičiavimo sistemos

 

          Skaičiavimo sistema vadinamas skaičių vaizdavimo būdas ribotu kiekiu simbolių, turinčių tam tikras kiekybines reikšmes. Skiriamos pozicinė ir nepozicinė skaičiavimo sistemos. Pozicinėse sistemose kiekvienas skaičiaus skaitmuo turi atitinkamą svorį, kuris priklauso nuo skaitmens vietos (pozicijos), skaičių išreiškiančių skaitmenų (simbolių) sekoje. Ši skaitmens pozicija dar vadinama skiltimi.

          Pozicinėje skaičiavimo sistemoje bet kokį skaičių galima užrašyti taip:

 

An = am-1am-2 ... ai ... a0a-1a-2 ... a-k = am-1Nm-1 + am-2Nm-2 … + a-kN-k

                                                                                                                                                       

kur ai– i-tasis skaičiaus skaitmuo, k– skaitmenų kiekis trupmeninėje

skaičiaus dalyje, m– skaitmenų kiekis sveikojoje skaičiaus dalyje,

N – skaičiavimo sistemos pagrindas.

 

Skaičiavimo sistemos pagrindas N parodo, kiek kartų i –tosios skilties “svoris” didesnis už ( i-1) skiltį.

         

          10 - nė skaičiavimo sistema. Skaičiavimo sistema, kurios pagrindas 10, vadinama dešimtaine, o ja užrašytas skaičius – dešimtainiu. Mes įpratę prie dešimtainės skaičiavimo sistemos, kurioje vartojama dešimt skaitmenų: 0 , 1, ... , 9. Šie skaitmenys vadinami arabiškaisiais, nors iš tikrųjų sukurti Indijoje. Dešimtainė skaičiavimo sistema yra pozicinė, nes skaitmens reikšmė priklauso nuo jo vietos (pozicijos) skaičiuje. Pavyzdžiui, skaičių 1993 galima išreikšti tokia suma:

1993 =1 ×103 + 9 ×102 +9 ×101 + 3 ×100

 

          Šiuo atveju skaičiavimo sistemos pagrindas yra skaičius 10. Sumoje pirmojo iš dešinės dėmens pagrindo laipsnis yra mažiausias, todėl šią poziciją ( skiltį ) vadinsime pradine arba nuline. Toliau į kairę esančias skiltis vadinsime pagal pagrindo laipsnį: pirmoji, antroji ir t. t. Pozicinė sistema patogi tuo, kad ne ilgesniais kaip k skaitmenų užrašais galime nurodyti 10k skaičių, o tai pakankamai daug.

 

          N – nės skaičiavimo sistemos. Pozicinėje skaičiavimo sistemoje jos pagrindu gali būti ne tik skaičius 10, bet ir bet koks kitas natūrinis nedidelis skaičius N. Kompiuterijoje populiariausios yra trys pozicinės skaičiavimo sistemos:

ü             dvejetainė ( sistemos pagrindas 2, skaitmenys 0 ir 1 );

ü             aštuntainė ( pagrindas 8 , skaitmenys 0, 1, ..., 7 );

ü             šešioliktainė ( pagrindas 16, skaitmenys 0, 1, ..., 8, 9, A, B, C, D, E, F ) .

Bet kuria sistema užrašytą skaičių išreikšdami kaip sandaugų sumą, lengvai randame skaičiaus dešimtainį atitikmenį. Pvz.:

 

Ř      10112 = 1×23 + 0×22 + 1×21 + 1×20 = 1110

Ř      758 = 7×81 + 5×80 = 6110

Ř      14516 = 1×162 + 4×161 +5×160 = 32510

Ř      AF16 = 10×161 + 15×160 = 17510

 

Ryšys tarp 2 – 8 – 16 – nės skaičiavimo sistemų. Aštuntainė ir šešioliktainė skaičiavimo sistemos yra išvestinės iš dvejetainės, nes 16 = 24, 8 = 23, t.y. kiekvieną aštuntainį skaičių atitinka 3 dvejetainiai simboliai, o kiekvieną šešioliktainį skaičių atitinka 4 dvejetainiai simboliai ir atvirkščiai. Taigi, šiose sistemose pereiti iš vienos į kitą galimai tiesiogiai remiantis reikšmių lentele (1 lentelė). Pvz.:

 

1.     Iš dvejetainės skaičiavimo sistemos pervedant į aštuntainę:  

                                                                                       

                                                                                                

taigi 010 111 011 0102 = 27328

 

2.    Iš dvejetainės skaičiavimo sistemos į šešioliktainę:                       

                                                                                               

                                                                                               

taigi 0110 0000 1011 10102 = 60BA16

 

          Šioje lentelėje pateikti skaičiai nuo 0 iki 19 dešimtaine, aštuntaine, šešioliktaine ir dvejetaine sistema. Kiekvieno stulpelio viršuje užrašytas skaičiavimo sistemos pagrindas.

                                         Lentelė 1

A10

A8

A16

A2

0

0

0

0

1

1

1

1

2

2

2

10

3

3

3

11

4

4

4

100

5

5

5

101

6

6

6

110

7

7

7

111

8

10

8

1000

9

11

9

1001

10

12

A

1010

11

13

B

1011

12

14

C

1100

13

15

D

1101

14

16

E

1110

15

17

F

1111

16

20

10

10000

17

21

11

10001

18

22

12

10010

19

23

13

10011

 

          Aštuntaine ar šešioliktaine sistemomis patogu išreikšti ilgus dvejetainius kodus. Pavyzdžiui, baito turinį 11110110 patogiau užrašyti F6.

 

          Dešimtainio sveiko skaičiaus pervedimas į bet kurią kitą sistemą:

ü             Dešimtainį skaičių dalijame iš n (n – skaičiavimo sistemos į kurią pervedame pagrindas);

ü             Įsidėmime liekaną, o gautą dalmenį vėl daliname iš n;

ü             Įsidėmime liekaną, o gautą dalmenį vėl daliname iš n;

ü             Dalybą kartojame tol kol dalmuo pasidaro mažesnis už n;

ü             Šis dalmuo ir yra pirmasis iš kairės n-tainio skaičiaus skaitmuo;

ü                 Kiti skaitmenys yra dalybos liekanos, užrašytos atvirkščia tvarka, t.y. pirmoji liekana - paskutinysis skaičiaus skaitmuo (nulinė skiltis), antroji liekana priešpaskutinis skaičiaus skaitmuo (pirmoji skiltis ) ir t. t.

Pavyzdžiui, perveskime dešimtainį skaičių A10 = 387 į aštuntainę skaičiavimo sistemą:

 

          Patikrinimas:          6 x 82 + 0 x 81 + 3 x 80 = 38710
          Trupmeninio skaičiaus pervedimas į bet kurią kitą sistemą:

ü             Trupmeninis skaičius A pagrindu M pervedamas į skaičiavimo sistemą pagrindu N nuosekliai dauginant A iš pagrindo N;

ü             Po kiekvieno dauginimo sveikoji daugybos dalis priimama kaip atitinkamos skilties skaitmuo, o likusi trupmeninė dalis naudojama kitam dauginimui;

ü             Dauginimų skaičius apsprendžia skaičiaus skilčių kiekį N– tainėje sistemoje.

Pavyzdžiui, perveskime dešimtainę trupmeną  A10= 0.625 į dvejetainę, aštuntainę, šešioliktainę skaičiavimo sistemas:

 

 

         

          Nepozicinės skaičiavimo sistemos. Nepozicinėje skaičiavimo sistemoje kiekvienas simbolis reiškia atitinkamą skaičių nepriklausomai nuo simbolio vietos užraše. Ant namų fasadų, laikrodžių ciferblatuose, knygų skyrių numeracijoje, dar kai kur pasitaiko romėniškų skaičių. Romėniškoji skaičiavimo sistema nėra visai nepozicinė, nes tūkstančiai, šimtai užrašomi prieš dešimtis, vienetus, pora simbolių “vienetas prieš dešimtį” reiškia devynis, pora “dešimt prieš penkiasdešimt” reiškia keturiasdešimt ir pan. Tačiau pagrindinis principas yra nepozicinės sistemos, nes kiekvieną simbolį atitinka vienas skaičius:

ü             I - vienas;

ü             V - penki,;

ü             X - dešimt;

ü             L - penkiasdešimt;

ü             C - šimtas;

ü             D - penki šimtai;

ü             M - tūkstantis.

          Pavyzdžiui, 1984 = MCMLXXXIV. Su nepozicinės sistemos skaičiais žymiai sunkiau atlikti aritmetinius veiksmus, todėl nei romėniškoji, nei kita nepozicinė sistema plačiau nevartojama.

 

 

Informacijos kodavimas

 

          Kodavimo pavyzdys. Turistas draugui parašė laišką, kaip pasiekti stovyklavietę:

“Nuo savo namų eik tris kilometrus į šiaurę, prieisi upę. Pasroviui nuplauk du kilometrus ir pakrantės namelyje rasi dviratį. Juo važiuok keturis kilometrus į rytus ir pasieksi mūsų stovyklavietę.

1.    Keliavimo būdas: eiti, plaukti, važiuoti.

2.    Keliavimo kryptis: eiti ir važiuoti – šiaurė, rytai, pietūs, vakarai; plaukti – pasroviui ir prieš srovę. Viso 6 atvejai.

3.    Atstumas: tai tolydus dydis, tačiau priėmę, kad jis išreiškiamas sveikais skaičiais, galime naudoti diskrečius simbolius.

 - eiti pėsčiomis atitinkama kryptimi, simbolių skaičius atitinka kilometrų skaičių;

 

 

 

- plaukti pasroviui ir prieš srovę;

 

- važiuoti atitinkama kryptimi dviračiu.

 

Laišką sukurta kodavimo sistema (abėcėle) užrašysime taip:

 

 

 

Kito užkoduoto laiško turinys:

 

 

         

Bendru atveju pageidautina turėti universalią abėcėlę, kurios simboliais galima užkoduoti bet kokį, o ne vien specifinį pranešimą. Ji naudinga dar ir todėl, kad visi pranešimų siuntėjai ir gavėjai iš anksto žino visų simbolių prasmę.

          Universalumas pasiekiamas tada, kai abėcėlė ir kalba yra plačiai paplitusi, o kiekvieno abėcėlės ženklo prasmė nėra plati. Taigi, vienos abėcėlės simbolių išraiška kitos abėcėlės simboliais vadinama kodu, o atitikmenų užrašymas – kodavimu. Kodai gali būti fiksuoto arba kintamo ilgio. Pvz., Morzės kodai yra kintamo ilgio. Bet tada reikia papildomo simbolio - tarpo tarp kodų ar kodo pabaigos simbolio.

          Kompiuterijoje paplitęs fiksuoto ilgio kodas, turintis tik du simbolius 0 ir 1. Su vienu dvejetainiu simboliu galima užkoduoti tik dvi būsenas 0 ar 1, su dviem simboliais – keturias: 00 01 10 ir 11, su trimis – aštuonias: 000 001 010 011 100 101 110 111 ir t.t.

          Kuo ilgesnis kodas, tuo daugiau skirtingų kitos abėcėlės simbolių galima užkoduoti. Bendru atveju galimų užkoduoti atvejų (kitos abėcėlės simbolių) skaičius N yra lygus:

N = mk,

 

kur m – simbolių skaičius abėcėlėje, k – kodo ilgis (simbolių skaičius žodyje).

         

          Dvejetainio kodo atveju:                                                                       N = 2k

 

             Lentelė 2

k

1

2

3

4

5

6

7

8

9

10

2k

2

4

8

16

32

64

128

256

512

1024

 

          Dabar užkoduokime tą patį pranešimą, kaip rasti stovyklavietę, dvejetainiu 8 simbolių ilgio kodu.

1.   Kelionės būdai yra trys – galime skirti 2 bitus: 00 – eiti, 01 – plaukti, 10 – važiuoti dviračiu ir 11 – bus atsargoje ketvirtam būdui;

2.   Kelionės kryptys yra keturios, pakanka 2-jų bitų: 00 – šiaurė (pasroviui), 01 – rytai (prieš srovę), 10   pietūs, 11 – vakarai;

3.   Atstumams liko 4 simboliai, jei matuosime sveikais skaičiais, tai didžiausias atstumas bus galimas 16 km ( 24 = 16).

          Dvejetainis pranešimas bus:                00000011 01000010 10010100

          8 dvejetainių simbolių žodžiu galima užkoduoti 28 = 256 atvejus. To pakanka užkoduoti raides, dešimtainius skaitmenis, skyrybos ir daug kitų specialių ženklų, naudojamų kompiuterijoje. Tai taip vadinamas ASCII kodas. Dabar naudojamas ir dvigubai ilgesnis simbolių kodas, įgalinantis užkoduoti praktiškai visus pasaulyje naudojamus rašybos simbolius. Tai taip vadinamas UNICODE. Tų pačių dvejetainių simbolių seka gali reikšti ne tik raidę ar skaitmenį, bet ir skaičių, spalvą, jos intensyvumą, garso stiprumą ir kt.

 

 

Informacijos kiekis, jo matavimo vienetai

 

          Informacijos kiekis, kuris perduodamas vienu dvejetainės abėcėlės simboliu,  vadinamas bitu. Aštuoni simboliai (bitai) sudaro baitą.

 

Stambesni informacijos vienetai:

1 KB (kilobaitas)            = 210            = 1024 baitai;

1 MB (megabaitas)         = 220            = 1024 kilobaitai;

1 KB (gigabitas)             = 230            = 1024 megabaitai;

1 TB (terabaitas)            = 240           = 1024 gigabaitai.

 

 

Literatūra:

 

  1. V. Dagienė. INFORMATIKA. Trumpas informatikos kursas, L-la UAB “Gimtinė”, Vilnius, 2002
  2. Kompiuterika moksleiviams ir studentams / B. Burgis ir kt., Kaunas: Technologija.-1999
  3. http://www.maf.vu.lt/~ragaisis/InfIvadas/index.html