Informacijos kodavimas

Ženklai ir abėcėlės

Vienas didžiausių bendravimui skirtų žmonijos išradimų – abėcėlė. Jos sutartiniais ženklais (simboliais) galima išreikšti pranešimus. Ženklas gali būti ir sutartinis paveikslėlis – piktograma, ir egiptiečių hieroglifas, ir lietuvių ar kurios nors kitos kalbos raidė, ir skaitmuo. Taigi abėcėlių esama įvairiausių: nuo sutartinių kelio ženklų, rašto raidžių iki matematinių simbolių.

Kai siuntėjas perduoda pranešimą gavėjui, turi būti susitarta, kaip šis pranešimas bus išreikštas, kokiu būdu atvaizduotas.Seniausia žmonių bendravimo priemonė yra šnekamoji kalba. Čia informacija išreiškiama garsais. Iš garsų sudaromi žodžiai, iš žodžių – sakiniai. Žodžiu pasakyta informacija greitai pamirštama. Norėdami išsaugoti informaciją, žmonės sukūrė raštą — šnekamosios kalbos grafinę išraišką. Garsiniai signalai (garsai, žodžiai) paverčiami sutartiniais ženklais.Pirmykštis žmogus informaciją perteikdavo paveikslėliais – piktogramomis. Juos „perskaičius” buvo galima sužinoti apie tai, kas vyksta, vyko arba turėjo vykti.Ilgainiui piešiniai keitėsi, darėsi abstraktesni ir virto hieroglifais – supaprastintais, stilizuotais sutartiniais ženklais. Egiptiečių rašmenis „hieroglifais” pavadino senovės graikai: išvertus tai reiškia „šventi paveikslėliai”. Yra rasta hieroglifų, akmenyse iškaltų dar prieš trečiąjį tūkstantmetį iki Kristaus. Kai kurios Rytų tautos hieroglifus vartoja ir dabar. Čia vienas žodis arba viena sąvoka žymima vienu ženklu.Kalbėdami apie raštą, dažnai vartojame žodį „ženklas”. Tai labai plati sąvoka.Ženklas – kokio nors rinkinio elementas, turintis sutartinę reikšmę ir skirtas bendravimui, atliekantis komunikacijos funkciją.

pavyzdys. Kortų kaladės visos kortos suskirstytos į keturias grupes, kurios turi sutartinius ženklus.

Kaip atsirado fonetinė abėcėlė?Yra įvairiausių nuomonių. Vieni tvirtina, kad abėcėlę išrado egiptiečiai, o iš jų perėmė finikiečiai, kiti mano, jog abėcėlę išrado būtent finikiečiai, dar kiti – jog asiriečiai.

Šiaip ar taip, finikiečių išrastas fonetinis raštas buvo milžiniškas žmonijos žingsnis į priekį: vienas garsas užrašomas viena raide, nereikia nei piktogramų, nei hieroglifų. Raštas pasidarė nesudėtingas, prieinamas ne tik žyniui, bet ir kiekvienam žmogui.Finikiečių abėcėlę sudarė dvidešimt dvi raidės, kuriomis buvo užrašoma dvidešimt priebalsių ir du atsikvepiamieji garsai (ch, h). Finikiečiai rašė vien priebalsiais, vadinasi, jie užrašydavo ne visus žodžio garsus, o tik žodžio griaučius.Mums, kalbantiems indoeuropiečių kalba, šis finikiečių rašto principas nelabai suprantamas. Nepatiko vien priebalsių raštas ir senovės graikams, paėmusiems iš finikiečių rašto ženklus. Tuomet jie patobulino finikiečių raštą, sukurdami ženklus balsiams užrašyti.Pranešimai raštu paprastai sudaromi iš paskui vienas kitą einančių ženklų. Nėra svarbu, kaip jie išdėstyti: suskaidyti į trumpesnes ar ilgesnes eilutes, puslapius ir pan. Į pranešimus žodžiu galime žiūrėti ir kaip į garso ženklų – fonemų – seką. Kad galėtume fonemas užrašyti raštu, taip pat ir atvirkščiai, buvo sudaryti sutartiniai žymenys.Lotynų raštas susiformavo VII a. pr. Kr. iš etruskų vartoto graikų rašto. Lotynų abėcėlė turi 26 raides:

ABCDEFGHIJKLMNOPQRSTUXVWYZ

Dauguma Europos šalių vartoja lotynų abėcėlę, ant kai kurių raidžių uždedamos diakritinius ženklus specifiniams garsams išreikšti.

Diakritiniai ženklai – pridėtiniai garsinės kalbos ženklai, rašomi viršuje, apačioje ar šalia raidės ir keičiantys ar tikslinantys jos garsinę prasmę.

Lietuvių abėcėlėje su diakritiniais ženklais yra devynios specifinės raidės: ą, ę, į, ų, ė, ū, č, š, ž. Joje vartojami keturių rūšių diakritiniai ženklai: nosinė (ą, ę, į, ų), taškas viršuje (ė), brūkšnelis viršuje (ū) ir varnelė (č, š, ž).Dabar mūsų vartojamą lietuvių abėcėlę sudarė ir pateikė 1901 m. kalbininkas Jonas Jablonskis savo gramatikoje. Ją sudarė 32 raidės. Tai 23 visiškai nepakeistos ir jau minėtos 9 šiek tiek perdirbtos lotyniškos raidės, žyminčios lietuvių kalbai būdingus garsus.

Panašų raidžių skaičių turi ir daugelio kitų tautų abėcėlės: estų – 23, latvių – 33, lenkų – 32, rusų – 32, vokiečių – 29. Visi kurios nors kalbos žodžiai užrašomi tos kalbos abėcėlės raidėmis. Nors užrašytas raidėmis tas pats tekstas esti ilgesnis nei užrašytas hieroglifais, tačiau raidžių yra daug mažiau: jas lengviau įsiminti, jų forma paprastesnė. Todėl išmokti rašyti arba skaityti raidinį tekstą kur kas lengviau.Mes įpratę manyti, kad abėcėlė – tai lietuvių ar kurios nors kitos kalbos raidės. Informatikoje abėcėlė suprantama bendresne prasme.

Abėcėlė — tai ženklu, vartojamų pranešimams išreikšti, rinkinys.

Beje, dažnai abėcėle laikomas bet koks rinkinys, kuriame ženklai išdėstyti tam tikra tvarka, t. y. tiksliai žinoma, koks ženklas po kurio eina: tuomet sakoma — sutvarkyta abėcėlė. Tokios yra beveik visų kalbų abėcėlės.

pavyzdys. Dar viena mums labai gerai žinoma abėcėlė – tai skaitmenų rinkinys: 0 1 2 3 4 5 6 7 8 9Ji turi dešimt ženklų (skaitmenų). Jais užrašomi natūralieji skaičiai. Norint užrašyti neigiamus skaičius, ši abėcėlė papildoma minuso ženklu, o norint užrašyti dešimtaines trupmenas – kableliu.

Naujai išmokti terminai:Piktograma, hieroglifas, ženklas, fonema, abėcėlė, sutvarkyta abėcėlė, diakritinis ženklas

Informacijos kodavimasPerduodami pranešimai koduojami. Kodavimas – tai vienos abėcėlės ženklų keitimas kitos abėcėlės ženklais. Kodavimas reikalingas tam, kad pranešimas būtų perduodamas kuo tiksliau, kad jis būtų kuo mažiau iškraipomas, kad jį suprastų gavėjas ir kad būtų galima persiųsti pasirinktu mainų kanalu. Koduojant dvejetainiais simboliais (tai aktualu kompiuteriams), iš n dvejetainių simbolių galima sudaryti 2n skirtingų kombinacijų, t. y. galima užkoduoti abėcėlę, turinčią ne daugiau kaip 2n ženklų.

Kompiuteriu apdorojama informacija turi būti išreikštajam patogiu pavidalu. Konstruojant kompiuterį paaiškėjo, kad geriausiąjį sudaryti iš tokių elementų, kurie turėtų dvi būsenas. Pavyzdžiui: laidu teka elektros srovė – neteka; įmagnetintas plotelis – neįmagnetintas plotelis; aukšta įtampa – žema įtampa. Šias būsenas paprasčiausia žymėti vienetu ir nuliu (paprasčiau nė nesugalvosi).Taigi galime sakyti, kad kompiuteris turi abėcėlę, kuri susideda iš dviejų ženklų: 0 (nulio) ir 1 (vieneto).Dviejų ženklų abėcėlė vadinama dvejetaine.Kai kalbame apie konkrečią abėcėlę, jos ženklus galime vadinti simboliais. Pavyzdžiui, sakome, kad kompiuterio dvejetainę abėcėlę sudaro du simboliai: 0 ir 1. Simboliais labiausiai įprasta vadinti kompiuterio abėcėlės ženklus (rodomus ekrane ar spausdinamus).Dviejų ženklų abėcėlė vartojama ne tik kompiuteryje; ją galima aptikti daugelyje situacijų, pavyzdžiui:a) duodant sutikimą (linktelint galvą), neduodant sutikimo (papurtant galvą);b) nusakant lytį – vyras, moteris;c) ženklų pora – įjungta (ON), išjungta (OFF);d) algebriniai ženklai – pliusas (+), minusas (—);e) atsiskaitymo forma, pavyzdžiui, bilietas pažymėtas (taip), nepažymėtas (ne).Vienos abėcėlės ženklus galima išreikšti (užrašyti) kitos abėcėlės ženklais. Pavyzdžiui, lyties požymių abėcėlę (vyras, moteris) galima žymėti atitinkamais simboliais (kompiuterio abėcėle) 1, 0.

Taisyklės, nustatančios, kaip koduoti ženklus, vadinamos kodu. Vienos abėcėlės ženklų keitimas kitos abėcėlės ženklais vadinamas kodavimu.

Pamąstykime, kam reikalingas kodavimas, ar ne paprasčiau būtų bėjo.Pirma. Visai be kodavimo neišsiversime, nes būtina garsinę kalbą paversti rašytine – į tai galime žiūrėti kaip į tam tikrą kodavimą.Antra. Kalbėdami apie informacijos mainus, informacijos perdavimą, nurodėme, jog pranešimai turi būti išreiškiami taip, kad suprastų abu dalyviai: tiek siuntėjas, tiek gavėjas. Jeigu, pavyzdžiui, siunčiame pranešimą aklajam, tai turime jo tekstą užkoduoti akliesiems skirtu Brailio raštu.

Trečia. Kodavimas reikalingas norint kuo tiksliau perduoti pranešimą.pavyzdys. Tarkime, mums reikia pasiųsti žinutę norvegui, nemokančiam lietuvių kalbos. Darome įprastai: savo pranešimą rašome kuria nors abiem suprantama kalba, pavyzdžiui, vokiečių. Vadinasi, atliekame kodavimą: siuntėjas iš lietuvių kalbos perkoduoja į vokiečių, o gavėjas iš pastarosios perkoduos į norvegų. Suprantama, šis kodavimas labai sudėtingas: tai ne vienų ženklų perrašymas kitais ženklais, – čia kodavimas vyksta žodžių, fazių, sakinių sandaros lygmeniu. Tai vertimas iš vienos kalbos į kitą. Tačiau vis tiek tai yra kodavimas.

pavyzdys. Turbūt esate žaidę „sugedusį telefoną”: vienas vaikas pašnibžda antram į ausį kokį nors žodį, antrasis jį persako trečiajam ir t.t. Kol žodis pasiekia vaikų eilutės galą, dažniausiai pasikeičia tiek, kad jo nė atpažinti neįmanoma.

Taip atsitinka dėl kelių priežasčių: neišgirstame kai kurių garsų (aplink kas nors triukšmauja), neteisingai suprantame kai kuriuos artimus garsus (pavyzdžiui, „blynas” ir „plynas”), pasitaiko neįprastas, mums nežinomas žodis (todėl jį nesąmoningai bandome keisti mums žinomu) ir t.t.Jeigu žodžių raides užkoduotume skaičiais, pavyzdžiui, kad ir nusakančiais raidės vietą abėcėlėje, tai iškraipymas būtų gerokai mažesnis. Jei galvosime apie pranešimą perduodančius įtaisus, tai vėlgi turime prisitaikyti prie jų galimybių, vadinasi, vėl reikia koduoti. Pavyzdžiui, Morzės abėcėlė atsirado tuomet, kai buvo sukonstruotas telegrafo aparatas, kuris galėjo perduoti tik dviejų rūšių signalus: trumpus ir ilgus.Tas pat ir su kompiuteriais: jie sukonstruoti iš elementų, kurie gali turėti tik dvi būsenas. Taigi norėdami kurį nors pranešimą įrašyti į kompiuterį, turime jį užkoduoti. (Tik nemanykime, kad žmogus kompiuteriui savo pranešimą turi perrašyti nulių ir vienetų kalba… Taip niekas nedaro. Kadangi šis veiksmas gana paprastas, griežtai nusakomas taisyklėmis, tai galima jį automatizuoti -kodavimą atlieka pats kompiuteris.)

Koduoti labai paprasta, kai abi abėcėlės turi vienodą skaičių ženklų – tereikia suporuoti abiejų abėcėlių ženklus. Taigi vienu dvejetainės abėcėlės ženklu galima koduoti tik, pavyzdžiui, dvi raides turinčią abėcėle. Norint dvejetaine abėcėle koduoti abėcėlę, turinčią daugiau negu du ženklus, kiekvieną pastarosios ženklą tenka žymėti keliais dvejetainiais simboliais. Iš dviejų dvejetainių simbolių galima sudaryti keturias skirtingas kombinacijas:00 10 01 11Taigi dviem dvejetainiais simboliais galima koduoti abėcėle, turinčią ne daugiau kaip keturis ženklus. Pavyzdžiui, šitaip galima užkoduoti keturių aritmetinių operacijų ženklus:

x 10 + 01 : 11 – 00

Iš trijų dvejetainių simbolių galima sudaryti 8 kombinacijas:

000 010 100 110 001 011 101 111

pavyzdys. Pabandykime dvejetainiais ženklais užkoduoti šachmatų karaliaus ėjimo kryptis.Kiek dvejetainių ženklų tam prireiks? Pirmiausia suskaičiuojame galimus variantus – karaliaus ėjimų kryptis. Jų yra 8. Jei koduotume po du dvejetainius simbolius, tuomet žinome, kad galėsime užkoduoti tik keturias kryptis. Vadinasi, teks koduoti po tris dvejetainius simbolius – kaip tik galėsime užkoduoti 8 kryptis: 23 = 8.

Vertėtų pridurti, kad trimis dvejetainiais simboliais galėsime užkoduoti ir savaitės dienas: jų septynios, viena kodo kombinacija liks nepanaudota.Bendru atveju iš n dvejetainių ženklų galima sudaryti 2n skirtingų kombinacijų ir jais koduoti abėcėlę, turinčią ne daugiau kaip 2n ženklų.

Pateikiame keletą n ir 2n reikšmių:n 1 2 3 4 5 6 7 8 9 10 112n 2 4 8 16 32 64 128 256 512 1024 4096

Mes rašome lietuvių abėcėlės raidėmis. Taip ją pateikiame ir kompiuteriui. O kaip šią abėcėlę išreikšti dvejetainiais kodais?Kompiuterio klaviatūroje yra daugiau nei 100 simbolių. Tai didžiosios ir mažosios raidės, skaitmenys, skyrybos ženklai, specialūs simboliai. Šešiais dvejetainiais ženklais galima koduoti 64 ženklų abėcėlę, o septyniais – 128 (žr. aukščiau pateiktas reikšmes). Pirmuosiuose kompiuteriuose buvo pasirinktas septynženklis kodavimas, nes vartotojams pakako 128 ženklų.Šiuolaikiniuose kompiuteriuose vartojama daugiau nei 128 simboliai. Todėl vienam simboliui koduoti dažniausiai skiriami 8 dvejetainiai ženklai. Jais galima užkoduoti abėcėlę, turinčią 256 simbolius. Kol kas daugumai kompiuterių vartotojų šitiek simbolių pakanka. Taigi viena raidė ar bet kuris kitas ženklas koduojamas aštuoniais dvejetainiais simboliais, pavyzdžiui, A = {01000001}, a = {01100001}, B = {01000010}, b = {01100010}.

Kad būtų lengviau keistis informacija, priimami tarptautiniai bei nacionaliniai kodų standartai, kuriuose apibrėžiami raidžių ir kitų simbolių kodai. Jie paprastai surašomi į kodavimo lenteles. Kai simbolis koduojamas 8 dvejetainiais ženklais, tai iš viso galima užkoduoti 28 = 256 simbolius. Jų pakanka kelių valstybių raidėms koduoti. Todėl viena kodų lentelė sudaroma kelioms ar net keliolikai valstybių. Lietuviškos raidės yra koduojamos pagal ISO 8859-13 standartų lentelę. Joje taip pat yra anglų, danų, estų, lenkų, suomių, švedų raidės. Bene daugiausia kalbų įtraukta į ISO 8859-1 lentelę. Čia galima rasti airių, albanų, anglų, danų, fareriečių, islandų, ispanų, italų, kataloniečių, norvegų, olandų, portugalų, prancūzų, suomių, švedų, vokiečių kalbų raides.Lentelių langeliuose surašytos koduojamos raidės, skaitmenys, skyrybos ženklai ir kiti simboliai. Smulkiu šriftu apačioje užrašyti intervalo [0; 255] skaičiai yra tų simbolių dešimtainiai kodą.

Kiekviena kodų lentelė padalyta dvi dalis. Pirmoji dalis (stulpeliai nuo 0 iki 7) yra bendra visoms valstybėms. Ši lentelės dalis dar vadinama ASCII kodu.Kiekvienos dalies pirmieji 32 kodai (0-31 ir 128-159) yra skirti valdymo simboliams. Jie valdo teksto simbolių skaitymą bei rašymą. Pavyzdžiui, valdymo simbolis, kurio kodas yra 10, nurodo kompiuteriui, kad reikia spausdinti iš naujos eilutės. Valdymo simboliai tekstuose nerašomi. Todėl jie ir nepavaizduoti pateiktose kodų lentelėse.Kai vartojami 8 dvejetainiai ženklai, tuo pačiu kodu galima užkoduoti tik kelių kalbų raides. Pasaulyje kalbų daug. Būtų neblogai visų kalbų abėcėles koduoti vienodai. Todėl sudaromi 16 ar net 32 dvejetainių ženklų kodai.Naujai išmokti terminai:Simbolis, dvejetainė abėcėlė, kodavimas, kodas, ASCII kodas, tarptautiniai kodų standartai, Vakarų Europos kodas, Baltijos šalių kodas

PRATIMAI IR UŽDUOTYS1. Kiek reikia dvejetainių simbolių norint užkoduoti vieną: a) Zodiako ženklą; b) planetos ženklą; c) Mėnulio fazės ženklą; d) lošimo kauliuko šoną; e) mėnesio dieną; f) metų dieną; g) domino kauliuką?

2. Abėcėlė turi dvi raides: A ir B. Parašykite visus galimus žodžius iš dviejų raidžių, sudarytus naudojantis šios abėcėlės raidėmis.

3. Abėcėlė turi dvi raides: A ir B. Parašykite visus žodžius iš trijų raidžių, sudarytus naudojantis šios abėcėlės raidėmis.

4. Abėcėlė turi tris ženklus: A, D, O. Parašykite visus dviženklius žodžius, sudarytus iš šios abėcėlės ženklų.

5. Abėcėlė turi tris ženklus: A, D, O. Parašykite visus triženklius žodžius, sudarytus iš šios abėcėlės ženklų.

6. Tarkime, turime trijų ženklų abėcėlę. Kiek reikės panaudoti jos ženklų norint užkoduoti vieną: a) Zodiako ženklą; b) mėnesio dieną?

7. Kiek skirtingų kombinacijų galima sudaryti iš trijų ženklų abėcėlės? Įrodykite pavyzdžiais.