Elemente de baza īn informatica
Cap.1. Definitii de baza
Informatia este un mesaj obiectiv (concret) care elimina nedeterminarile īn cunoastere.
Informatia variaza īn functie de contextul la care se refera.
Se poate vorbi despre:
- Natura informatiei, legata de domeniul la care se refera;
- Canalul (sau uneori suportul) informatiei, reprezentānd modalitatea de transmitere a informatiei.
Orice proces de transmitere a unei informatii presupune existenta a doi parteneri:
- un emitator de informatie;
- un receptor de informatie.
Informatica reprezinta un complex de discipline prin care se asigura prelucrarea rationala a informatiilor prin intermediul masinilor automate.
Ca urmare a dezvoltarii sale ca stiinta, informatica este divizata īn urmatoarele subdomenii:
- Arhitectura calculatoarelor, disciplina care se ocu 848b15i pa cu organizarea componentelor fizice (hardware) ale calculatoarelor;
- Sisteme de operare, disciplina care se ocu 848b15i pa cu organizarea programelor care controleaza resursele si actiunile calculatorului;
- Algoritmi si structuri de date, disciplina care se ocu 848b15i pa cu metodele de obtinere a aplicatiilor, reprezentarea informatiilor, optimizarea aplicatiilor;
- Limbaje de programare, disciplina care se ocu 848b15i pa cu regulile care guverneaza notatiile de reprezentare a algoritmilor si structurilor de date;
- Ingineria programarii, disciplina care se ocu 848b15i pa cu automatizarea si eficientizarea activitatilor de proiectare si realizare a aplicatiilor;
- Calcule numerice si simbolice, disciplina care se ocu 848b15i pa cu elaborarea de modele matematice destinate simularii obiectelor si fenomenelor reale;
- Sisteme de gestiune a bazelor de date, disciplina care se ocu 848b15i pa cu organizarea cantitatilor mari de date;
- Inteligenta artificiala, disciplina care se ocu 848b15i pa cu simularea comportamentelor inteligente;
- Animatie si robotica, disciplina care se ocu 848b15i pa cu generarea si prelucrarea imaginilor si, respectiv, actionarea robotilor.
Cap.2. Sisteme de numeratie.
Īn general se vorbeste despre un "sistem de numeratie īn baza q" ca despre un sistem care are urmatoarele caracteristici:
1. Foloseste un alfabet cu un numar de q simboluri diferite īntre ele, numite cifre, care formeaza un sir de numere consecutive;
2. Prima cifra din sir este 0;
3. Cifra cu valoarea cea mai mare este cu o unitate mai mica decāt baza sistemului, deci are valoarea q-1;
4. Īn functie de pozitia lor īn numarul N, cifrele se īnmultesc cu puteri crescatoare ale bazei q, obtināndu-se dezvoltarea numarului N dupa puterile bazei īn forma:
N(q) = an an-1 an-2 . a2 a1 a0 = an · qn + an-1 · qn-1 + an-2 · qn-2 + . + a2 · q2 + a1 · q1 + a0 · q0
Notatia N(q) arata ca numarul N este scris īn baza q.
Iata, mai jos, cāteva exemple de sisteme de numeratie:
Sistemul zecimal, foloseste alfabetul 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, baza fiind q=10.
De exemplu:
N(10) = 723(10) = 7 · 102 + 2 · 101 + 3 · 100 = 7 · 100 + 2 · 10 + 3 · 1
Sistemul binar, foloseste alfabetul 0, 1, baza fiind q=2.
De exemplu:
N(2) = 1011(2) = 1 · 23 + 0 · 22 + 1 · 21 + 1 · 20 = 8 + 0 + 2 + 1 = 11(10)
Sistemul binar este folosit la reprezentarea informatiei la nivelul de baza al calculatorului, acolo unde informatia este tradusa prin marimi care nu pot avea decāt doua valori (curentul circula sau nu circula, exista impuls electric sau nu exista, cāmpul magnetic are un sens sau sensul contrar, starea logica este adevarat sau fals).
El are avantajul de a reflecta īn modul cel mai direct corespondenta dintre valoarea numerica si starea datelor (informatiei) īn calculator. Are īnsa dezavantajul de a necesita la scrierea pe hārtie un spatiu cu atāt mai mare cu cāt valoarea reprezentata este mai mare.
Sistemul octal, foloseste alfabetul 0, 1, 2, 3, 4, 5, 6, 7, baza fiind q=8.
De exemplu:
N(8) = 125(8) = 1 · 82 + 2 · 81 + 5 · 80 = 64 + 16 + 5 = 85(10)
Sistemul hexazecimal, foloseste alfabetul 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, baza fiind q=16.
De exemplu:
N(16) = 2A3B(16) = 2 · 163 + 10 · 162 + 3 · 161 + 11 · 160 = 2 · 4096 + 10 · 256 +3 · 16 + 11 = = 10811(10)
Sistemul hexazecimal a fost conceput pentru a economisi spatiu de scriere la reprezentarea numerelor mari.
De asemenea, asa cum se va vedea īn continuare, īntre el si sistemul binar cu care se afla īntr-o relatie de multiplicitate, exista o corespondenta care se poate folosi la conversia dintr-un sistem īn altul.
Conversia din baza 2 īn baza 16
Acest tip de conversie este des folosit de catre programatorii care lucreaza direct cu adresele fizice de memorie pentru a converti valorile numerice dintr-un sistem īn altul.
Fie numarul binar:
1111(2) = 1 · 23 + 1 · 22 + 1 · 21 + 1 · 20 = 8 + 4 + 2 + 1 = 15(10)
Dar 15 este numarul cel mai mare reprezentabil printr-o singura cifra īn baza 16, aceasta cifra fiind F.
Asadar, o grupare de 4 cifre binare poate, folosind diferite combinatii de 0 si 1 sa reprezinte o cifra binara din sistemul hexazecimal.
Īn acest caz, pentru un numar oarecare īn baza 2, se poate defini o procedura de convertire la baza 16 dupa cum urmeaza:
- Se completeaza numarul binar la stānga cu zerouri pāna cānd se obtine un multiplu de 4 al numarului de cifre;
- Se separa grupe de cāte 4 cifre binare care se convertesc la forma hexazecimala.
De exemplu:
Fie numarul 101101. Etapele de convertire sunt:
- Completarea cu zerouri produce numarul 00101101;
- Separarea pe grupe de cāte 4 cifre binare produce grupele 0010, cu valoarea zecimala 2 si reprezentarea hexazecimala prin simbolul 2, si 1101 cu valoarea zecimala 13 si reprezentarea hexazecimala prin simbolul D.
Asadar numarul 101101(2) = 2D(16)
Īn practica informatica nu se mai foloseste notatia (2) pentru baza binara, dar pentru baza 16 se foloseste postfixarea cu litera H (de la hexazecimal).
Deci, se obisnuieste sa se scrie:
101101 = 2DH
Cap3. Reprezentarea informatiei īn calculator.
Forma cea mai simpla sub care se poate reprezenta informatia, forma numita informatie elementara, este evenimentul cu doua stari: Adevarat sau Fals.
Din punct de vedere electric aceasta corespunde situatiei unui comutator care se poate afla īntr una din situatiile din figura 1, si anume:
Īnchis (curentul circula), starea logica echivalenta fiind Adevarat;
Deschis (curentul nu circula), starea logica echivalenta fiind Fals.
Acestor doua stari logice li se asociaza valorile numerice:
pentru Adevarat, si
pentru Fals.
De aici rezulta ca sistemul binar ca sistem de numeratie, este sistemul care se potriveste cel mai bine nevoilor de reprezentare a informatiei īn calculator deoarece corespondenta dintre el si logica elementara binara este directa.
Informatia elementara se mai numeste si BIT (de la BInary digiT - cifra binara). Bit-ul poate avea starile 0 sau 1 si mai este denumit atom de informatie.
BYTE-ul (sau octetul) reprezinta o grupare de 8 biti si este o unitate de baza a masurarii cantitatii de informatie.
Multiplii byte-ului se obtin folosind ca factori de multiplicare:
210 = 1024 byte = 1 Kbyte
220 = 1024 Kbyte = 1 Mbyte
230 = 1024 Mbyte = 1 Gbyte
Īn concluzie, calculatorul este un ansamblu de circuite electronice si componente mecanice care poarta denumirea de parte fizica (HARDWARE - parte tare) dar si un set de programe (metode de prelucrare a informatiei) si de date care poarta denumirea de parte logica (SOFTWARE - parte moale).
Cap.4. Codificarea informatiei īn calculator.
Pentru codificarea informatiei īn calculator se foloseste codul ASCII (American Standard Code for Information Interchange - Codul american standard pentru interschimb de informatii). Acest cod este un cod pe 8 biti (sau pe un octet). El se īmparte īn doua sectiuni:
- Codul ASCII pentru caractere de baza. Acesta foloseste numai primii 7 biti realizānd 128 de caractere, dintre care:
= codurile 00H . 1FH (0 . 31) reprezinta caractere de control. De exemplu:
00H NUL;
07H BEL - avertizare sonora;
09H HT - caracterul TAB - tabulator orizontal;
0DH CR - caracterul Cariage Return - salt la īnceput de rānd;
10H DEL - caracterul Delete - stergerea caracterului curent;
08H BS - caracterul Back Space - stergerea caracterului anterior;
1BH ESC - caracterul Escape - abandonarea procedurii curente;
. etc.
= codurile 20H . 2FH, 3AH . 40H, 5BH . 60H, 7BH . 7FH - semne speciale;
= codurile 30H . 39H - cifrele 0 . 9;
= codurile 41H . 5AH - literele mari ale alfabetului latin;
= codurile 61H . 7AH - literele mici ale alfabetului latin;
- Codul ASCII pentru setul de caractere extins, foloseste toti cei 8 biti ai octetului realizānd alte 128 de caractere, si anume:
= 48 de caractere straine, cum ar fi:
= caracterele straine de limba engleza, provenite din alfabetele europene;
= simboluri monetare - cent, lira, yen, pesetas, franc;
= semne speciale de punctuatie;
= 48 de caractere pentru construirea de chenare (caractere semigrafice);
= 32 de caractere pentru grupul caracterelor stiintifice:
= litere grecesti;
= simboluri matematice speciale: integrala, ridicarea la patrat, radacina patrata.
Cap. 5. Reprezentarea datelor.
Data este informatia prelucrata de calculator. Ea este un model de reprezentare a informatiei accesibil unitatii de prelucrare a calculatorului.
Din punct de vedere logic, data poate fi reprezentata printr-un triplet de forma:
d=(i, v, a)
unde: d = data:
i = identificatorul datei;
v = valoarea datei;
a = atributele asociate datei.
Identificatorul datei este un simbol (nume) asociat datei pentru a o distinge de alte date si pentru a se putea face referiri la ea īn timpul procesului de prelucrarea a datelor. Īn cazul bazelor de date simple constānd dintr-o simpla enumerare a unor date din aceeasi familie (de acelasi tip), identificatorul poate fi subīnteles, confundāndu-se cu indicele numeric al datei īn baza. Necesitatea unui identificator (simplu sau compus) apare īn bazele de date complicate continānd date de naturi diferite si/sau cu structurare pe mai multe nivele, eventual cu apartenenta la diferite clase de apartenenta (sau cu proprietari diferiti).
Valoarea datei este proprietatea datei de a fi exprimabila īntr-un sistem de unitati de masura si īntr-un anumit domeniu de valori. Datele pot fi variabile (modificabile īn timpul executiei programului) sau constante (nemodificabile).
Atributele datei sunt proprietati ale datei care determina modul īn care ea poate fi tratata īn cursul procesului de prelucrare.
Ca exemple de atribute se pot mentiona:
- tipul datei:
= tip numeric (īntreg sau real);
= tip logic (valorile adevarat sau fals);
= tip alfanumeric (caractere sau siruri de caractere).
- precizia reprezentarii interne, este legata de capacitatea limitata de stocare a unei date de un anumit tip numeric. Astfel, pot exista:
= date numerice reale īn simpla precizie;
= date numerice reale īn dubla precizie (stocate īntr-o zona de memorie de lungime dubla).
Reprezentarea datelor alfanumerice (caractere)
Pentru reprezentarea datelor alfanumerice se foloseste codul ASCII.
De exemplu, caracterul A avānd codul hexazecimal 41H are codul binar 01000001 iar caracterul a are codul hexazecimal 61H sau īn binar 01100001. Toate aceste caractere necesita un singur octet pentru a fi reprezentate.
Reprezentarea numerelor
Īn functie de tipul lor, numerele pot fi reprezentate īn cadrul urmatoarelor conventii:
A. Reprezentarea numerelor īntregi fara semn. Aici se pot deosebi urmatoarele cazuri:
= Reprezentarea pe un singur octet. Īn acest sistem pot fi reprezentate numere īntre valorile binare 00000000 si 11111111 respectiv de la 00H pāna la FFH, adica īntre 0 si 255;
= Reprezentarea pe doi octeti, de la 0000H pāna la FFFFH, adica de la 0 la 65535.
B. Reprezentarea numerelor īntregi cu semn. Aici se deosebesc doua cazuri:
a. Reprezentarea prin marime si semn (reprezentare īn cod direct). Īn aceasta conventie se foloseste bitul de rang cel mai īnalt ca indicator de semn, cu semnificatiile:
0 - nu exista semn, adica numarul este pozitiv, si
1 - exista semn, adica numarul este negativ.
Folosind un singur octet (byte), bitul 7 este folosit ca indicator de semn iar bitii 6,5,.,1,0 sunt folositi pentru reprezentarea directa a valorii numarului.
De exemplu codul binar 11111111 reprezinta numarul -127
iar codul binar 01111111 reprezinta numarul +127
Dezavantajul acestui sistem este acela ca naste o ambiguitate si anume numarul 0 are doua reprezentari, adica 00000000 pentru + 0 si 10000000 pentru - 0.
Din acest motiv, cāt si din altele, apar dificultati la modelarea operatiilor matematice cu ajutorul circuitelor electronice, fiind necesare doua proceduri aritmetice diferite: una pentru adunare si alta pentru scadere, plus o procedura de identificare a semnului pentru a se lua decizia privind procedura aritmetica de aplicat.
De aceea se prefera o adoua varianta, si anume:
b. Reprezentarea numerelor negative īn cod complementar fata de 2.
Fie Nn un numar īntreg nenegativ reprezentat prin n cifre binare.
Complementul fata de 2 al lui Nn este :
De exemplu, fie numarul 10 si numarul -3. Ele se reprezinta astfel:
10 = 00001010 (reprezentare directa)
00000011
011111101 complementul fata de 2 al numarului 3
Īn acest caz, operatia 10 + (-3) este:
00001010 +
11111101
100000111
Se neglijeaza bitul de rangul 8 (al noualea bit, cel care a rezultat 1) si rezulta numarul binar 00000111 adica numarul zecimal 7. Se observa ca prin acest procedeu se foloseste o singura operatie de adunare directa, atāt la adunare cāt si la scadere.
Īn concluzie, cu ajutorul a n cifre binare se pot reprezenta numere īntregi N īn domeniul:
-2n-1 N 2n-1 - 1
Asadar:
- numerele īntregi cu semn reprezentabile pe 1 octet (pe 8 biti) se pot reprezenta īn intervalul:
N 28-1 - 1 = 127
- numerele īntregi cu semn reprezentabile pe 2 octeti (pe 16 biti) se pot reprezenta īn intervalul:
N 216-1 - 1 = 32767
- numerele īntregi cu semn reprezentabile pe 4 octeti (pe 32 biti) se pot reprezenta īn intervalul:
N 232-1 - 1 = 2147483647
C. Reprezentarea numerelor reale īn virgula mobila.
Aceasta reprezentare se inspira din reprezentarea numerelor zecimale īn notatie stiintifica.
De exemplu, īn notatie stiintifica, numarul 12.5 se poate scrie:
12.5 = 125 · 10-1 = + 125 E -1
La ultima forma de scriere se disting :
- un simbol pentru semnul numarului (+ sau minus);
- mantisa - īn acest caz 125;
- semnul exponentului (aici -);
- valoarea exponentului (aici 1).
Īn cazul unei reprezentari pe 4 octeti (32 de biti) se folosesc:
1 bit pentru semnul numarului, cu valoarea 0 pentru plus si 1 pentru minus;
1 bit pentru semnul exponentului;
7 biti pentru valoarea exponentului;
23 biti pentru mantisa.
Harta repartitiei bitilor īn cuprinsul cuvāntului (grupului) de 4 octeti este urmatoarea:
| |||||||||||||||||||||||||||||||
Semn numar |
Semn exponent |
Valoarea exponentului |
Valoarea mantisei |
Asadar, marimea numarului reprezentat īn virgula mobila si precizia reprezentarii lui depind de numaril de octeti pe care se face reprezentarea.
Ca si īn cazul numerelor īntregi, si la numerele īn virgula mobila exista posibilitatea stocarii pe lungimi extinse (dubla precizie).
D. Reprezentarea numerelor reale īn virgula fixa.
Am lasat intentionat la urma aceasta modalitate de reprezentare. Aici se presupune existenta imaginara a unei virgule care desparte numarul de biti folositi īn doua grupuri, unul pentru partea īntreaga si altul pentru cea fractionara. Pe lānga faptul ca acest mod de reprezentare creaza complicatii constructive, modelul de reprezentare variind la diferite calculatoare, domeniul de variatie al numerelor este mult mai restrāns iar precizia de reprezentare nu este nici pe departe satisfacatoare, si din acest motiv īn prezent nu mai este folosit.
Reprezentarea altor tipuri de date.
Imaginile si sunetele pot constitui si ele stocuri de date. Īn acest caz exista doua cai principiale de reprezentare:
A. Prin coduri de definitie, reprezentānd combinatii de caractere alfanumerice si coduri numerice.
De exemplu, īntr-o baza de date, o combinatie de valori numerice de forma:
frecventa (īn cicli/secunda), durata (īn milisecunde)
poate constitui codificarea unui sunet, ca mai jos:
care ar putea īnsemna definirea unui sunet cu frecventa de 1000 Hz cu o durata de 2 secunde
Pentru imagini, o combinatie de forma:
LINE 0, 0, 12, 5
ar putea semnifica trasarea unei linii īntre punctele de coordonate x=0, y=0 si x=12, y=5, pe un ecran pentru care, anterior, a fost stabilita o zona de lucru si o scara de reprezentare.
B. Prin digitizare, care īnseamna transformarea datelor de stocat īn succesiuni de biti codificate dupa anumite reguli.
De exemplu, pentru imagini este foarte frecvent folosit formatul de stocare BMP (BitMaP - harta de biti).
|