Sunteți pe pagina 1din 188

CZU 004(075.

3)
G 80

Elaborat conform curriculumului disciplinar n vigoare i aprobat prin Ordinul ministrului educaiei (nr. 211 din
11 aprilie 2012). Editat din sursele financiare ale Fondului Special pentru Manuale.

Comisia de experi: Teodora Gherman, dr. n pedagogie, confereniar, ef Catedr Tehnologii Informaionale
Aplicate, Academia de Administrare Public de pe lng Preedintele Republicii Moldova; Gheorghe Chistruga,
prof. c., grad did. superior, Liceul Teoretic Mihai Eminescu, Drochia; Mihai Chigai, prof. c., grad did. I,
Liceul Teoretic Caplani, rn. tefan-Vod

Recenzeni: Gheorghe Ciocanu, dr. habilitat n informatic, profesor universitar, Universitatea de Stat din Moldova;
Valeriu Cabac, dr. n fizic i matematic, confereniar universitar, Universitatea de Stat Alecu Russo, Bli;
Mihai leahtichi, dr. n psihologie i pedagogie, confereniar universitar, Universitatea Liber Internaional din
Moldova; Tatiana Cartaleanu, dr. n filologie, confereniar universitar, Universitatea Pedagogic de Stat Ion
Creang, Chiinu; Alexei Colbneac, Maestru n Arte, profesor universitar, Academia de Muzic, Teatru i
Arte Plastice, Chiinu

Redactor: Vasile Bahnaru


Corectori: Mariana Belenciuc, Oana Stoian
Redactor tehnic: Nina Duduciuc
Machetare computerizat: Anatol Andrichi
Copert: Vitaliu Pogola

ntreprinderea Editorial-Poligrafic tiina,


str. Academiei, nr. 3; MD-2028, Chiinu, Republica Moldova;
tel.: (+373 22) 73-96-16; fax: (+373 22) 73-96-27;
e-mail: prini@stiinta.asm.md

DIFUZARE:
M Societatea de Distribuie a Crii PRO-NOI
str. Alba-Iulia, nr. 23/1A; MD-2051, Chiinu;
tel.: (+373 22) 51-68-17, 51-57-49; fax: (+373 22) 50-15-81;
e-mail: info@pronoi.md; www.pronoi.md

Toate drepturile asupra acestei ediii aparin ntreprinderii Editorial-Poligrafice tiina.

Descrierea CIP a Camerei Naionale a Crii


Gremalschi, Anatol
Informatic: Man. pentru clasa a 10-a / Anatol Gremalschi, Iurie Mocanu, Ludmila Gremalschi;
Min. Educaiei al Rep. Moldova. Ch.: .E.P. tiina, 2012 (Tipogr. SEREBIA SRL). 188 p.
ISBN 978-9975-67-818-6
004(075.3)

Anatol Gremalschi, Iurie Mocanu,


Ludmila Gremalschi. 2007, 2012
ntreprinderea Editorial-Poligrafic
ISBN 978-9975-67-818-6 tiina. 2007, 2012
CUPRINS

Umanist

Pagina
Coninuturi

Real
Introducere 5

1. TIPURI DE DATE STRUCTURATE


1.1. Tipuri de date tablou (array) 7
1.2. Tipuri de date ir de caractere 14
1.3. Tipuri de date articol (record) 18
1.4. Instruciunea with 23
1.5. Tipuri de date mulime (set) 26
1.6. Generaliti despre fiiere 31
1.7. Fiiere secveniale 34
1.8. Fiiere text 38
Test de autoevaluare nr. 1 44

2. INFORMAIA
2.1. Cantitatea de informaie 46
2.2. Codificarea i decodificarea informaiei 49
2.3. Coduri frecvent utilizate 51
2.4. Informaia mesajelor continue 56
2.5. Cuantizarea imaginilor 60
2.6. Reprezentarea i transmiterea informaiei 62
Test de autoevaluare nr. 2 66

3. BAZELE ARITMETICE ALE TEHNICII DE CALCUL


3.1. Sisteme de numeraie 68
3.2. Conversiunea numerelor dintr-un sistem n altul 71
3.3. Conversiunea din binar n octal, hexazecimal i invers 73
3.4. Operaii aritmetice n binar 76
3.5. Reprezentarea numerelor naturale n calculator 78
3.6. Reprezentarea numerelor ntregi 79
3.7. Reprezentarea numerelor reale 82
Test de autoevaluare nr. 3 86

4. ALGEBRA BOOLEAN
4.1. Variabile i expresii logice 88
4.2. Funcii logice 91
4.3. Funcii logice frecvent utilizate 94
Test de autoevaluare nr. 4 96
Umanist

Pagina
Coninuturi

Real
5. CIRCUITE LOGICE
5.1. Circuite logice elementare 98
5.2. Clasificarea circuitelor logice 103
5.3. Sumatorul 103
5.4. Circuite combinaionale frecvent utilizate 107
5.5. Bistabilul RS 110
5.6. Circuite secveniale frecvent utilizate 113
5.7. Generatoare de impulsuri 116
Test de autoevaluare nr. 5 118

6. STRUCTURA I FUNCIONAREA CALCULATORULUI


6.1. Schema funcional a calculatorului 121
6.2. Formatul instruciunilor 123
6.3. Tipuri de instruciuni 126
6.4. Limbajul cod calculator i limbajul de asamblare 127
6.5. Resursele tehnice i resursele programate ale calculatorului 130
6.6. Memorii externe pe benzi i discuri magnetice 131
6.7. Memorii externe pe discuri optice 135
6.8. Vizualizatorul i tastatura 139
6.9. Imprimantele 141
6.10. Clasificarea calculatoarelor 144
6.11. Microprocesorul 145
Test de autoevaluare nr. 6 147

7. REELE DE CALCULATOARE
7.1. Introducere n reele 150
7.2. Tehnologii de cooperare n reea 153
7.3. Topologia i arhitectura reelelor 155
7.4. Reeaua Internet 158
7.5. Servicii Internet 163
Test de autoevaluare nr. 7 168

Rspunsuri la testele de autoevaluare 170

Bibliografie 187

4
INTRODUCERE

Impresionantele realizri n domeniul informaticii, crearea supercalculatoarelor i


a calculatoarelor personale, apariia ciberspaiului, a realitii virtuale i a Internetu-
lui presupun o cunoatere profund a principiilor de funcionare i a structurii calcula-
toarelor moderne. Din motive justificate, aceste principii au devenit o cluz demn
de toat ncrederea ntr-o lume aflat mereu n schimbare.
Manualul de fa are drept scop nsuirea de ctre elevi a cunotinelor necesare pen-
tru prelucrarea automat a informaiei cu ajutorul calculatoarelor numerice.
Capitolul 1 include un amplu material teoretic i practic referitor la definirea i pre-
lucrarea datelor structurate: a tablourilor, a irurilor de caractere, a articolelor, a muli-
milor i fiierelor. Snt prezentate metodele de creare i de prelucrare a fiierelor: asocie-
rea fiierelor PASCAL cu fiiere externe, scrierea i citirea componentelor unui fiier.
Capitolul 2 include expunerea unor cunotine fundamentale din teoria informaiei,
i anume: cantitatea de informaie din mesajele continue i discrete, codificarea i decodi-
ficarea informaiei, prezentarea informaiei n calculator.
n Capitolul 3 snt expuse cunotine fundamentale din domeniul aritmeticii sisteme-
lor de calcul: sisteme de numeraie i operaii aritmetice n sistemul binar, reprezentarea
numerelor naturale, numerelor ntregi i a numerelor reale n calculator.
Capitolul 4 include unele cunotine fundamentale din domeniul algebrei booleene.
Snt expuse noiunile de variabil, constant i funcii booleene, se examineaz funciile
logice frecvent utilizate.
n Capitolul 5 se studiaz circuitele logice ale unui calculator numeric: sumatorul,
comparatorul, codificatorul i decodificatorul, bistabilul, registrul, numrtorul, genera-
torul de impulsuri.
Structura i funcionarea calculatorului snt descrise n Capitolul 6. Materialul este
expus n aa mod nct structura unui calculator numeric poate fi neleas i nsuit
metodic, de la pori logice, dispozitive i uniti la sisteme de calcul. O atenie deosebit se
acord interdependenei dintre conceptele matematice i realizarea fizic a echipamente-
lor unui sistem de calcul, interconexiunilor dintre resursele tehnice i cele programate ale
calculatorului.
n Capitolul 7 se studiaz reelele de calculatoare. Snt expuse tehnologiile de coope-
rare n reea, topologia i arhitectura reelelor locale, regionale i globale. Pentru a facili-
ta explorarea ciberspaiului, acest capitol include cunotine fundamentale despre Inter-
net i serviciile din reea: transferul fiierelor, pota electronic, paginile Web.
Manualul este realizat n conformitate cu Curriculumul disciplinar de informatic pentru
nvmntul liceal, aprobat prin Ordinul Ministerului Educaiei al Republicii Moldova
nr. 244 din 27 aprilie 2010. Repartizarea materialului pe profiluri umanist i real
este reflectat n cuprinsul manualului.

5
6
Capitolul 1
TIPURI DE DATE STRUCTURATE

1.1. Tipuri de date tablou (array)


Mulimea de valori ale unui tip de date array este constituit din tablouri (tabe-
le). Tablourile snt formate dintr-un numr fixat de componente de acelai tip, denu-
mit tip de baz. Referirea componentelor se face cu ajutorul unui indice.
Un tip de date tablou se definete printr-o construcie de forma
type <Nume tip> = array [T1] of T2;
unde T1 este tipul indicelui care trebuie s fie ordinal, iar T2 este tipul componen-
telor (tipul de baz) care poate fi un tip oarecare.
Exemple:

1) type Vector = array [1..5] of real;


var x : Vector;

2) type Zi = (L, Ma, Mi, J, V, S, D);


Venit = array [Zi] of real;
var v : Venit;
z : Zi;

3) type Ora = 0..23;


Grade = -40..40;
Temperatura = array [Ora] of Grade;
var t : Temperatura;
h : Ora;

Structura datelor din exemplele n studiu este prezentat n figura 1.1.


Fiecare component a unei variabile de tip tablou poate fi specificat explicit,
prin numele variabilei urmat de indicele respectiv ncadrat de paranteze ptrate.
Exemple:
1) x[1], x[4];

2) v[L], v[Ma], v[J];

3) t[0], t[15], t[23];

4) v[z], t[h].

7
Fig. 1.1. Structura datelor de tip Vector, Venit i Temperatura

Asupra componentelor datelor de tip tablou se pot efectua toate operaiile


admise de tipul de baz respectiv. Programul ce urmeaz afieaz pe ecran suma
componentelor variabilei x de tip Vector. Valorile componentelor x[1], x[2], ...,
x[5] se citesc de la tastatur.

Program P77;
{ Suma componentelor variabilei x de tip Vector }
type Vector = array [1..5] of real;
var x : Vector;
i : integer;
s : real;
begin
writeln(Dati 5 numere:);
for i:=1 to 5 do readln(x [i]);
writeln(Ati introdus:);
for i:=1 to 5 do writeln(x [i]);
s:=0;
for i:=1 to 5 do s:=s+x [i];
writeln(Suma=, s);
readln;
end.

Pentru a extinde aria de aplicare a unui program, se recomand ca numrul


de componente ale datelor de tip array s fie specificate prin constante.
De exemplu, programul P77 poate fi modificat pentru a nsuma n numere
reale, n100:

8
Program P78;
{ Extinderea domeniului de aplicare a programului P77 }
const nmax = 100;
type Vector = array [1..nmax] of real;
var x : Vector;
n : 1..nmax;
i : integer;
s : real;
begin
write(n=); readln(n);
writeln(Dati , n, numere:);
for i:=1 to n do readln(x [i]);
writeln(Ati introdus:);
for i:=1 to n do writeln(x [i]);
s:=0;
for i:=1 to n do
s:=s+x[i];
writeln(Suma=, s);
readln;
end.

Tablourile bidimensionale se definesc cu ajutorul construciei


type <Nume tip> = array [T1, T2] of T3;
unde T1 i T2 specific tipul indicilor, iar T3 tipul componentelor.
Pentru exemplificare, n figura1.2 este prezentat structura datelor tipului:
Matrice = array [1..3, 1..4] of real

Fig. 1.2. Structura datelor de tip Matrice

Componentele unei variabile de tip tablou bidimensional se specific explicit


prin numele variabilei urmat de indicii respectivi separai prin virgul i nca-
drai de paranteze ptrate.
De exemplu, n prezena declaraiei
var m : Matrice;

9
notaia m[1,1] specific componenta din linia 1, coloana 1 (vezi fig.1.2); notaia
m[1,2] specific componenta din linia 1, coloana 2; notaia m[i,j] specific
componenta din linia i, coloana j.
Programul ce urmeaz afieaz pe ecran suma componentelor variabilei m de
tip Matrice. Valorile componentelor m[1,1], m[1,2], ..., m[3,4] se citesc de la
tastatur.

Program P79;
{ Suma componentelor variabilei m de tip Matrice }
type Matrice = array [1..3, 1..4] of real;
var m : Matrice;
i, j : integer;
s : real;
begin
writeln(Dati componentele m[i,j]:);
for i:=1 to 3 do
for j:=1 to 4 do
begin
write(m[, i, ,, j, ]=);
readln(m[i,j]);
end;
writeln(Ati introdus:);
for i:=1 to 3 do
begin
for j:=1 to 4 do write(m[i,j]);
writeln;
end;
s:=0;
for i:=1 to 3 do
for j:=1 to 4 do
s:=s+m[i,j];
writeln(Suma=, s);
readln;
end.

n general, un tip tablou n-dimensional (n=1, 2, 3 etc.) se definete cu


ajutorul diagramelor sintactice din Bigura 1.3. Atributul packed (mpachetat)
indic cerina de optimizare a spaiului de memorie pentru elementele tipului
array. Menionm c n majoritatea compilatoarelor actuale utilizarea acestui
atribut nu are niciun efect, ntruct optimizarea se efectueaz n mod automat.
Fiind date dou variabile de tip tablou de acelai tip, numele variabilelor pot
aprea ntr-o instruciune de atribuire. Aceast atribuire nseamn copierea tu-
turor componentelor din membrul drept n cel stng.
De exemplu, n prezena declaraiilor
var a, b : Matrice;

10
Fig. 1.3. Diagrama sintactic <Tip tablou>

instruciunea
a:=b
este corect.
n exemplele de mai sus tipul de baz (tipul componentelor) a fost de fiecare
dat un tip simplu. Deoarece tipul de baz poate fi, n general, un tip arbitrar,
devine posibil definirea tablourilor cu componente de tip structurat. Conside-
rm acum un exemplu n care tipul de baz este el nsui un tip array:

Type Linie = array [1..4] of real;


Tabel = array [1..3] of Linie;
var L : Linie;
T : Tabel;
x : real;

Variabila T este format din 3 componente: T[1], T[2] i T[3] de tipul


Linie. Variabila L este format din 4 componente: L[1], L[2], L[3] i L[4] de
tipul real.
Prin urmare, atribuirile
L[1]:=x; x:=L[3]; T[2]:=L; L:=T[1]
snt corecte.
Elementele variabilei T pot fi specificate prin T[i][j] sau prescurtat T[i,j].
Aici i indic numrul componentei de tip Linie n cadrul variabilei T, iar j
numrul componentei de tip real n cadrul componentei T[i] de tip Linie.
Subliniem faptul c declaraiile de forma
array [T1, T2 ] of T3
i
array [T1] of array [T2] of T3

11
definesc tipuri distincte de date. Prima declaraie definete tablouri bidimensio-
nale cu componente de tipul T3. A doua declaraie definete tablouri unidimensi-
onale cu componente de tipul array[T2] of T3.
n programele PASCAL tablourile se utilizeaz pentru a grupa sub un singur
nume mai multe variabile cu caracteristici identice.

ntrebri i exerciii
Precizai tipul indicilor i tipul componentelor din urmtoarele declaraii:
type P = array [1..5] of integer;
Culoare = (Galben, Verde, Albastru, Violet);
R = array [Culoare] of real;
S = array [Culoare, 1..3] of boolean;
T = array [boolean] of Culoare;
Reprezentai structura datelor de tipul P, R, S i T pe un desen (fig.1.1 i 1.2).
Indicai pe diagrama sintactic din figura1.3 drumurile care corespund decla-
raiilor din exerciiul 1.
Scriei formulele metalingvistice care corespund diagramei sintactice <Tip ta-
blou> din figura1.3.
Se consider declaraiile:
type Vector = array [1..5] of real;
var x, y : Vector;
Scriei expresia aritmetic a crei valoare este:
a) suma primelor trei componente ale variabilei x;
b) suma tuturor componentelor variabilei y;
c) produsul tuturor componentelor variabilei x;
d) valoarea absolut a componentei a treia a variabilei y;
e) suma primelor componente ale variabilelor x i y.
Se consider declaraiile
type Zi = (L, Ma, Mi, J, V, S, D);
Venit = array [Zi] of real;
var v : Venit;
Componentele variabilei v reprezint venitul zilnic al unei ntreprinderi. Ela-
borai un program care:
a) calculeaz venitul sptmnal al ntreprinderii;
b) calculeaz media venitului zilnic;
c) indic ziua n care s-a obinut cel mai mare venit;
d) indic ziua cu venitul cel mai mic.
Se consider declaraiile
type Ora = 0..23;
Grade = -40..40;
Temperatura = array [Ora] of Grade;
var t : Temperatura;

12
Componentele variabilei t reprezint temperaturile msurate din or n or pe
parcursul a 24 de ore. Elaborai un program care:
a) calculeaz temperatura medie;
b) indic maximul i minimul temperaturii;
c) indic ora (orele) la care s-a nregistrat temperatura maxim;
d) indic ora (orele) la care s-a nregistrat temperatura minim.
Se consider declaraiile

type Oras = (Chisinau, Orhei, Balti, Tighina, Tiraspol);


Zi = (L, Ma, Mi, J, V, S, D);
Consum = array [Oras, Zi] of real;
var C : Consum;
r : Oras;
z : Zi;

Componenta C[r,z] a variabilei C reprezint consumul de energie electric a


oraului r n ziua z. Elaborai un program care:
a) calculeaz energia electric consumat de fiecare ora pe parcursul unei sp-
tmni;
b) calculeaz energia electric consumat zilnic de oraele n studiu;
c) indic oraul cu un consum sptmnal maxim;
d) indic oraul cu un consum sptmnal minim;
e) indic ziua n care oraele consum cea mai mult energie electric;
f) indic ziua n care oraul consum cea mai puin energie electric.
Se consider declaraiile

type Vector = array [1..5] of real;


Matrice = array [1..3, 1..4] of real;
Linie = array [1..4] of real;
Tabel = array [1..3] of Linie;
var V : Vector;
M : Matrice;
L : Linie;
T : Tabel;
x : real;
i : integer;

Care dintre atribuirile ce urmeaz snt corecte?


a) T[3]:=T[1]; h) i:=M[1,2];

b) M:=T; i) x:=V[4];

c) L:=V; j) L[3]:=V[4];

d) L[3]:=x; k) T[1]:=4;

e) x:=i; l) T[2]:=V;

f) i:=x; m) L:=T[3];

g) L[3]:=i; n) T[1,2]:=M[1,2];

13
o) T[1,2]:=M[1,2]; s) x:=M[1];

p) M[1]:=4; t) L:=M[1];

q) M[1,3]:=L[2]; u) V[5]:=M[3,4];

r) x:=T[1][2]; v) L:=M[3,4].

Utiliznd un tip de date tablou, elaborai un program care realizeaz algoritmul


lui Eratostene pentru calcularea numerelor prime mai mici dect un numr
natural dat n (n200).

1.2. Tipuri de date ir de caractere


n limbajul-standard tipul de date ir de caractere reprezint un caz special al
tipului array i se definete printr-o construcie de forma
<Nume tip> ::= packed array [1..n] of char;
Mulimea de valori ale tipului de date n studiu este format din toate irurile
ce conin exact n caractere.
Exemplu:

Program P80;
{ Siruri de caractere de lungime constanta }
type Nume = packed array [1..8] of char;
Prenume = packed array [1..5] of char;
var N : Nume;
P : Prenume;
begin
N:=Munteanu;
P:=Mihai;
writeln(N);
writeln(P);
readln;
end.

Rezultatul afiat pe ecran:


Munteanu
Mihai
ntruct irurile de lungime diferit aparin unor tipuri distincte de date, n
cadrul programului P80 nu snt admise atribuiri de genul:
N:= Olaru;
P:= Ion.

14
n astfel de cazuri, programatorul va completa datele respective cu spaiul pn
la numrul stabilit de caractere n, de exemplu:
N:= Olaru ;
P:= Ion .
Valorile unei variabile v de tip packed array [1..n] of char pot fi
introduse de la tastatur numai prin citirea separat a componentelor respective:
read(v[1]); read(v[2]); ...; read(v[n]).
n schimb, o astfel de valoare poate fi afiat n totalitatea ei printr-un singur
apel write(v) sau writeln(v).
Subliniem faptul c irurile de caractere de tip packed array [1..n] of
char conin exact n caractere, adic snt iruri de lungime constant. Evi-
dent, lungimea lor nu poate fi modificat pe parcursul derulrii programului
respectiv. Acest fapt complic elaborarea programelor destinate prelucrrii unor
iruri arbitrare de caractere.
Pentru a elimina acest neajuns, versiunile actuale ale limbajului permit utili-
zarea irurilor de caractere de lungime variabil. n Turbo PASCAL un tip de
date ir de caractere de lungime variabil se declar printr-o construcie de
forma:
type <Nume tip> = string;
sau
type <Nume tip> = string [nmax];
unde nmax este lungimea maxim pe care o pot avea irurile respective. n
lipsa parametrului nmax lungimea maxim se stabilete implicit, n mod obi-
nuit 255 de caractere.
Asupra irurilor de tip string se poate efectua operaia de concatenare (jux-
tapunere), notat prin semnul +. Lungimea curent a unei valori v de tip string
poate fi aflat cu ajutorul funciei predefinite length(v) care returneaz o va-
loare de tip integer. Indiferent de lungime, toate irurile de caractere de tip
string snt compatibile.
Exemplu:

Program P81;
{ Siruri de caractere de lungime variabila }
type Nume = string [8];
Prenume = string [5];
NumePrenume = string;
var N : Nume;
P : Prenume;
NP : NumePrenume;
L : integer;

15
begin
N:=Munteanu; L:=length(N); writeln(N, L:4);
P:=Mihai; L:=length(P); writeln(P, L:4);
NP:=N+ +P; L:=length(NP); writeln(NP, L:4);
N:=Olaru; L:=length(N); writeln(N, L:4);
P:=Ion; L:=length(P); writeln(P, L:4);
NP:=N+ +P; L:=length(NP); writeln(NP, L:4);
readln;
end.

Rezultatele afiate pe ecran:


Munteanu 8
Mihai 5
Munteanu Mihai 14
Olaru 5
Ion 3
Olaru Ion 9
Se observ c pe parcursul derulrii programului n studiu lungimea irurilor
de caractere N, P i NP se schimb.
Asupra irurilor de caractere snt admise operaiile relaionale <, <=, =, >=, >,
<>. irurile se compar component cu component de la stnga la dreapta n
conformitate cu ordonarea caracterelor n tipul de date char. Ambii operanzi
trebuie s fie de tip packed array [1..n] of char cu acelai numr de
componente sau de tip string. Evident, operanzii de tip string pot avea lun-
gimi arbitrare.
De exemplu, rezultatul operaiei
AC < BA
este true, iar rezultatul operaiei
AAAAC < AAAAB
este false.
O variabil de tip ir de caractere poate fi folosit fie n totalitatea ei, fie par-
ial, prin referirea unui caracter din ir.
De exemplu, pentru P=Mihai avem P[1]=M, P[2]=i, P[3]=h .a.m.d.
Dup executarea secvenei de instruciuni
P[1]:=P;
P[2]:=e;
P[3]:=t;
P[4]:=r;
P[5]:=u
variabila P va avea valoarea Petru.

16
Programul ce urmeaz citete de la tastatur iruri arbitrare de caractere i
afieaz pe ecran numrul de spaii n irul respectiv. Derularea programului se
termin dup introducerea irului Sfirsit.

Program P82;
{ Numarul de spatii intr-un sir de caractere }
var S : string;
i, j : integer;
begin
writeln(Dati siruri de caractere:);
repeat
readln(S);
i:=0;
for j:=1 to length(S) do
if S[j]= then i:=i+1;
writeln(Numarul de spatii=, i);
until S=Sfirsit;
end.

ntrebri i exerciii
Cum se definete un tip de date ir de caractere?
Ce operaii pot fi efectuate asupra irurilor de caractere?
Comentai urmtorul program:

Program P83;
{ Eroare }
var S : packed array [1..5] of char;
begin
S:=12345;
writeln(S);
S:=Sfat;
writeln(S);
end.

Elaborai un program care:


a) determin numrul de apariii ale caracterului A ntr-un ir;
b) substituie caracterul A prin caracterul *;
c) radiaz din ir caracterul B;
d) determin numrul de apariii ale silabei MA ntr-un ir;
e) substituie silabele MA prin silaba TA;
f) radiaz din ir silaba TO.
Precizai rezultatul operaiilor relaionale:
a) B < A; c) BAAAA < AAAAA;

b) BB > AA; d) CCCCD > CCCCA;

17
e) A A = AA; h) Aa > aA;

f) BB < B B; i) 123 = 321;

g) A = a; j) 12345 > 12345.


Se consider iruri de caractere formate din literele mari ale alfabetului latin i spaii.
Elaborai un program care afieaz irurile n studiu dup urmtoarele reguli:
fiecare liter de la A pn la Y se nlocuiete prin urmtoarea liter din alfabet;
fiecare liter Z se nlocuiete prin litera A;
fiecare spaiu se nlocuiete prin -.
Elaborai un program care descifreaz irurile cifrate conform regulilor din exer-
ciiul 6.
Se consider m, m 100 iruri de caractere formate din literele mici ale alfabe-
tului latin. Elaborai un program care afieaz pe ecran irurile n studiu n
ordine alfabetic.
irul S este compus din cteva propoziii, fiecare terminndu-se cu punct, semn
de exclamare sau semnul ntrebrii. Elaborai un program care afieaz pe ecran
numrul de propoziii din irul n studiu.

1.3. Tipuri de date articol (record)


Mulimea de valori ale unui tip de date record este constituit din articole
(nregistrri). Articolele snt formate din componente, denumite cmpuri. Spre
deosebire de componentele unui tablou, cmpurile pot fi de tipuri diferite. Fieca-
re cmp are un nume (identificator de cmp).
Un tip de date articol se definete printr-o structur de forma

type <Nume tip> = record


<Nume cmp 1> : T1;
<Nume cmp 2> : T2;
...
<Nume cmp n> : Tn;
end;

unde T1, T2, .., Tn specific tipul cmpurilor respective. Tipul unui nume de cmp
este arbitrar, astfel un cmp poate s fie la rndul lui tot de tip articol. Prin urma-
re, se pot defini tipuri imbricate.
Exemple:

1) type Elev = record


Nume : string;
Prenume : string;
NotaMedie : real;
end;
var E1, E2 : Elev;

18
2) type Punct = record
x : real; { coordonata x }
y : real; { coordonata y }
end;
var P1, P2 : Punct;

3) type Triunghi = record


A : Punct; { virful A }
B : Punct; { virful B }
C : Punct; { virful C }
end;
var T1, T2, T3 : Triunghi;

Structura datelor din exemplele n studiu este prezentat n figura1.4.


Fiind date dou variabile de tip articol de acelai tip, numele variabilelor pot
aprea ntr-o instruciune de atribuire. Aceast atribuire nseamn copierea tu-
turor cmpurilor din membrul drept n membrul stng. De exemplu, pentru tipu-
rile de date i variabilele declarate mai sus instruciunile
E1:=E2;
T2:=T3;
P2:=P1
snt corecte.
Fiecare component a unei variabile de tip record poate fi specificat expli-
cit, prin numele variabilei i denumirile de cmpuri, separate prin puncte.
Exemple:

1) E1.Nume, E1.Prenume, E1.NotaMedie;

2) E2.Nume, E2.Prenume, E2.NotaMedie;

Fig. 1.4. Structura datelor de tip Elev, Punct i Triunghi

19
3) P1.x, P1.y, P2.x, P2.y;

4) T1.A, T1.B, T1.C, T2.A, T2.B, T2.C;

5) T1.A.x, T1.A.y, T2.B.x, T2.B.y.

Evident, componenta E1.Nume este de tip string; componenta P1.x este de


tip real; componenta T1.A este de tip Punct; componenta T1.A.x este de tip
real .a.m.d.
Asupra componentelor datelor de tip articol se pot efectua toate operaiile
admise de tipul cmpului respectiv. Programul ce urmeaz compar notele medii
a doi elevi i afieaz pe ecran numele i prenumele elevului cu nota medie mai
bun. Se consider c elevii au note medii diferite.

Program P84;
{ Date de tipul Elev }
type Elev = record
Nume : string;
Prenume : string;
NotaMedie : real;
end;
var E1, E2, E3 : Elev;
begin
writeln(Dati datele primului elev:);
write(Numele:); readln(E1.Nume);
write(Prenumele:); readln(E1.Prenume);
write(Nota medie:); readln(E1.NotaMedie);

writeln(Dati datele elevului al doilea:);


write(Numele:); readln(E2.Nume);
write(Prenumele:); readln(E2.Prenume);
write(Nota medie:); readln(E2.NotaMedie);

if E1.NotaMedie > E2.NotaMedie then E3:=E1 else E3:=E2;

writeln(Elevul cu media mai buna:);


writeln(E3.Nume, , E3.Prenume, :, E3.NotaMedie : 5:2);
readln;
end.

Orice tip de date record poate servi ca tip de baz pentru formarea altor
tipuri structurate.
Exemplu:

type ListaElevilor = array [1..40] of Elev;


var LE : ListaElevilor;

20
Evident, notaia LE[i] specific elevul i din list; notaia LE[i].Nume speci-
fic numele acestui elev .a.m.d. Programul ce urmeaz citete de la tastatur
datele referitoare la n elevi i afieaz pe ecran numele, prenumele i nota medie
a celui mai bun elev. Se consider c elevii au note medii diferite.

Program P85;
{ Tablou cu componente de tipul Elev }
type Elev = record
Nume : string;
Prenume : string;
NotaMedie : real;
end;
ListaElev = array [1..40] of Elev;
var E : Elev;
LE : ListaElev;
n : 1..40;
i : integer;
begin
write(n=); readln(n);
for i:=1 to n do
begin
writeln(Dati datele elevului , i);
write(Numele: ); readln(LE[i].Nume);
write(Prenumele: );
readln(LE[i].Prenume);
write(Nota Medie: );
readln(LE[i].NotaMedie);
end;
E.NotaMedie:=0;
for i:=1 to n do
if LE[i].NotaMedie > E.NotaMedie then E:=LE[i];
writeln(Cel mai bun elev:);
writeln(E.Nume, , E.Prenume, :, E.NotaMedie : 5:2);
readln;
end.

n general, un tip de date articol se definete cu ajutorul diagramelor sintacti-


ce din figura1.5. n completare la articolele cu un numr fix de cmpuri, limbajul
PASCAL permite utilizarea articolelor cu variante. Aceste tipuri de date se stu-
diaz n cursurile avansate de informatic.

ntrebri i exerciii
Care este mulimea de valori ale unui tip de date articol?
Indicai pe diagrama sintactic din figura 1.5 drumurile care corespund defini-
iilor tipurilor de date articol din programele P84 i P85.

21
Fig. 1.5. Diagrama sintactic <Tip articol>

Scriei formulele metalingvistice pentru diagrama sintactic din figura1.5.


Se consider urmtoarele tipuri de date
type Data = record
Ziua : 1..31;
Luna : 1..12;
Anul : integer;
end;
Persoana = record
NumePrenume : string;
DataNasterii : Data;
end;
ListaPersoane = array [1..50] of Persoana;

Elaborai un program care citete de pe tastatur datele referitoare la n persoa-


ne (n50) i afieaz pe ecran:
a) persoanele nscute n ziua z a lunii;
b) persoanele nscute n luna l a anului;
c) persoanele nscute n anul a;
d) persoanele nscute pe data z.l.a;
e) persoana cea mai n vrst;
f) persoana cea mai tnr;
g) vrsta fiecrei persoane n ani, luni, zile;
h) lista persoanelor care au mai mult de v ani;
i) lista persoanelor n ordine alfabetic;
j) lista persoanelor ordonat conform datei naterii;
k) lista persoanelor de aceeai vrst (nscui n acelai an).
Se consider n puncte (n30) pe un plan euclidian. Fiecare punct i este definit
prin coordonatele sale. Distana dintre punctele i i j se calculeaz dup formula
.
Elaborai un program care afieaz pe ecran punctele distana dintre care este
maxim.
Aria triunghiului este dat de formula lui Heron
,

22
unde p este semiperimetrul, iar a, b i c snt lungimile laturilor respective.
Utiliznd tipurile de date Punct i Triunghi din paragraful n studiu, elabo-
rai un program care citete de la tastatur informaiile referitoare la n triun-
ghiuri (n10) i afieaz pe ecran:
a) aria fiecrui triunghi;
b) coordonatele vrfurilor triunghiului cu aria maxim;
c) coordonatele vrfurilor triunghiului cu aria minim;
d) informaiile referitoare la fiecare triunghi n ordinea creterii ariilor.

1.4. Instruciunea with


Componentele unei variabile de tip articol se specific explicit prin numele
variabilei i denumirile de cmpuri, separate prin puncte.
De exemplu, n prezena declaraiilor
type Angajat = record
NumePrenume : string;
ZileLucrate : 1..31;
PlataPeZi : real;
PlataPeLuna : real;
end;
var A : Angajat;
componentele variabilei A se specific prin A.NumePrenume, A.ZileLucrate,
A.PlataPeZi i A.PlataPeLuna.
ntruct numele A al variabilei de tip articol se repet de mai multe ori, acest
mod de referire a componentelor este, n anumite situaii, incomod. Repetrile
obositoare pot fi evitate cu ajutorul instruciunii with (cu).
Sintaxa instruciunii n studiu este:
<Instruciune with> ::= with <Variabil> {,<Variabil>} do <Instruciune>
Diagrama sintactic este prezentat n figura 1.6.
n interiorul unei instruciuni with componentele uneia sau a mai multe varia-
bile de tip articol pot fi referite folosind numai numele cmpurilor respective.
Exemplu:
with A do PlataPeLuna:=PlataPeZi*ZileLucrate

Fig. 1.6. Diagrama sintactic a instruciunii with

23
Aceast instruciune este echivalent cu urmtoarea:
A.PlataPeLuna:=A.PlataPeZi*A.ZileLucrate
Utilizarea instruciunii with necesit o atenie sporit din partea programato-
rului, care este obligat s specifice univoc componentele variabilelor de tip arti-
col. n interiorul unei instruciuni with, la ntlnirea unui identificator, prima
dat se testeaz dac el poate fi interpretat ca un nume de cmp al articolului
respectiv. Dac da, identificatorul va fi interpretat ca atare, chiar dac n acel
moment este accesibil i o variabil avnd acelai nume.
Exemplu:

type Punct = record


x : real;
y : real;
end;
Segment = record
A : Punct;
B : Punct;
end;
var P : Punct;
S : Segment;
x : integer;

n cazul nostru identificatorul x poate s reprezinte fie variabila x de tip


integer, fie cmpul P.x al articolului P.
n instruciunea
x:=1
identificatorul x se refer la variabila x de tip integer.
n instruciunea
with P do x:=1
identificatorul x se refer la cmpul P.x al variabilei de tip articol P.
ntruct variabila de tip articol S nu conine niciun cmp cu numele S.x, n
instruciunea
with S do x:=1
identificatorul x va fi interpretat ca variabila x de tip integer.
O instruciune de forma
with v1, v2, ..., vn do <Instruciune>,
unde v1, v2, ..., vn snt variabile de tip articol, este echivalent cu instruciunea

with v1 do
with v2 do

24
{...}
with vn do <Instruciune>.

Evident, componentele variabilelor v1, v2, ..., vn trebuie specificate univoc prin
denumirile cmpurilor respective.
De exemplu, pentru variabilele P i S, declarate mai sus, putem scrie:

with P, S do
begin
x:=1.0; { referire la P.x }
y:=1.0;
A.x:=0; { referire la S.A.x }
A.y:=0;
B.x:=2.0; { referire la S.B.x }
B.y:=2.0;
end;

n mod obinuit, instruciunea with se utilizeaz numai n cazurile n care se


ajunge la o reducere semnificativ a textului unui program.

ntrebri i exerciii
Indicai pe diagrama sintactic din figura 1.6 drumurile care corespund in-
struciunilor with din exemplele paragrafului n studiu.
Care este destinaia instruciunii with?
Utiliznd instruciunea with, excludei din programele P84 i P85 din paragra-
ful precedent repetrile de genul

E1.Nume, E1.Prenume, ...,


LE[i].Nume, LE[i].Prenume.

Se consider urmtoarele tipuri de date:

type Angajat = record


NumePrenume : string;
ZileLucrate : 1..31;
PlataPeZi : real;
PlataPeLuna : real;
end;
ListaDePlata = array [1..50] of Angajat;

Plata pe lun a fiecrui angajat se calculeaz nmulind plata pe zi cu numrul


de zile lucrate. Elaborai un program care:
a) calculeaz plata pe lun a fiecrui angajat;
b) calculeaz salariul mediu al angajailor inclui n list;
c) afieaz pe ecran datele despre angajaii cu plata lunar maxim;
d) afieaz lista angajailor ordonat alfabetic;
e) afieaz lista angajailor n ordinea creterii plilor pe zi;

25
f) ordoneaz lista angajailor n ordinea creterii plilor pe lun;
g) afieaz lista angajailor n ordinea creterii numrului de zile lucrate.
Un cerc poate fi definit prin coordonatele x, y i raza r. Elaborai un program care
citete de la tastatur datele referitoare la n cercuri (n50) i afieaz pe ecran:
a) coordonatele centrului i raza cercului cu aria maxim;
b) numrul de cercuri incluse n cercul cu raza maxim i coordonatele centre-
lor respective;
c) coordonatele centrului i raza cercului cu aria minim;
d) numrul de cercuri n care este inclus cercul cu raza minim i coordonatele
centrelor respective.

1.5. Tipuri de date mulime (set)


Un tip de date mulime (set) se definete n raport cu un tip de baz care
trebuie s fie ordinal:
<Tip mulime> ::= [packed] set of <Tip>
Valorile unui tip de date set snt mulimi formate din valorile tipului de baz.
Dac tipul de baz are n valori, tipul mulime va avea 2n valori. n implementri-
le limbajului valoarea lui n este limitat, de regul n256.
n PASCAL o mulime poate fi specificat enumerndu-i-se elementele ntre
parantezele ptrate [ i ], care in locul acoladelor din matematic.
Notaia [] reprezint mulimea vid.
Exemple:
type Indice = 1..10;
Zi = (L, Ma, Mi, J, V, S, D);
MultimeIndicii = set of Indice;
ZileDePrezenta = set of Zi;
var MI : MultimeIndicii;
ZP : ZileDePrezenta;

Tipul ordinal Indice are n=10 valori: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.


Tipul MultimeIndicii are 210 =1 024 de valori, i anume:
[], [1], [2], ..., [1, 2], [1, 3], ...,
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
Prin urmare, variabila MI poate s aib oricare din aceste valori, de exemplu:
MI:= [1, 3].
Tipul ordinal Zi are n=7 valori: L, Ma, Mi, J, V, S, D. Tipul ZileDe-
Prezenta are 27=128 de valori, i anume:
[], [L], [Ma], [Mi], ..., [L, Ma], [L, Mi], ...,
[L, Ma, Mi, J, V, S, D].

26
Variabila ZP poate s aib oricare dintre aceste valori, de exemplu,

ZP:= [L, Ma, Mi, V]

O valoare de tip mulime poate fi specificat printr-un constructor (genera-


tor) de mulime. Diagrama sintactic a unitii gramaticale <Constructor muli-
me> este prezentat n figura 1.7.

Fig. 1.7. Diagrama sintactic <Constructor mulime>

Un constructor conine specificarea elementelor mulimii, separate prin virgu-


le i incluse ntre paranteze ptrate. Un element poate s fie o valoare concret a
tipului de baz sau un interval de forma:

<Expresie>..<Expresie>.

Valorile expresiilor n studiu precizeaz limitele inferioare i superioare ale


intervalului.
Exemple :

1) [];

2) [1, 2, 3, 8];

3) [1..4, 8..10];

4) [i-k..i+k];

5) [L, Ma, V..D].

Asupra valorilor unui tip de date mulime se pot efectua operaiile uzuale:
+ reuniunea;
* intersecia;
- diferena,
rezultatul fiind de tip mulime i operaiile relaionale:
= egalitatea;
<> inegalitatea;

27
<=, >= incluziunea;
in apartenena,
rezultatul fiind de tip boolean.
Programul ce urmeaz afieaz pe ecran rezultatele operaiilor +, * i -, efec-
tuate asupra valorilor de tip MultimeIndicii.

Program P86;
{ Date de tip MultimeIndicii }
type Indice = 1..10;
MultimeIndicii = set of Indice;
var A, B, C : MultimeIndicii;
i : integer;
begin
A:= [1..5, 8]; { A contine 1, 2, 3, 4, 5, 8 }
B:= [1..3, 9, 10]; { B contine 1, 2, 3, 9, 10 }
C:= []; { C este o multime vida }

C:=A+B; { C contine 1, 2, 3, 4, 5, 8, 9, 10 }
writeln(Reuniune);
for i:=1 to 10 do
if i in C then write(i:3);
writeln;

C:=A*B; { C contine 1, 2, 3 }
writeln(Intersectie);
for i:=1 to 10 do
if i in C then write(i:3);
writeln;

C:=A-B; { C contine 4, 5, 8 }
writeln(Diferenta);
for i:=1 to 10 do
if i in C then write(i:3);
writeln;
readln;
end.

Spre deosebire de tablouri i articole, componentele crora pot fi referite di-


rect, respectiv prin indicii i denumiri de cmpuri, elementele unei mulimi nu
pot fi referite. Se admite numai verificarea apartenenei elementului la o muli-
me (operaia relaional in). n pofida acestui fapt, utilizarea tipurilor de date
mulime mrete viteza de execuie i mbuntete lizibilitatea programelor
PASCAL. De exemplu, instruciunea:
if (c=A) or (c=E) or (c=I) or (c=O) or (c=U) then ...

28
poate fi nlocuit cu o instruciune mai simpl:

if c in [A,E,I,O,U] then ...

Un alt exemplu sugestiv este utilizarea tipurilor de date mulime n calcularea


numerelor prime mai mici dect un numr natural dat n. Pentru aceasta se folo-
sete algoritmul Ciurul (sita) lui Eratostene:
1) n sit se depun numerele 2, 3, 4, ..., n;
2) din sit se extrage cel mai mic numr i;
3) numrul extras se include n mulimea numerelor prime;
4) din sit se elimin toi multiplii m ai numrului i;
5) procesul se ncheie cnd sita s-a golit.

Program P87;
{ Ciurul (sita) lui Eratostene }
const n = 50;
type MultimeDeNumere = set of 1..n;
var Sita, NumerePrime : MultimeDeNumere;
i, m : integer;
begin
{1} Sita:= [2..n];
NumerePrime:=[];
i:=2;
repeat
{2} while not (i in Sita) do i:=succ(i);
{3} NumerePrime:=NumerePrime+[i];
write(i:4);
m:=i;
{4} while m<=n do
begin Sita:=Sita-[m]; m:=m+i; end;
{5} until Sita=[];
writeln;
readln;
end.

Corespondena dintre punctele algoritmului i instruciunile care le exprim


este indicat n comentariile din partea stng a liniilor de program.

ntrebri i exerciii
Enumerai valorile posibile ale variabilelor din declaraiile ce urmeaz:

var V : set of A..C;


S : set of (A, B, C);
I : set of 1..2;
J : set of 1..2;

29
Comentai urmtorul program :

Program P88;
{ Eroare }
type Multime = set of integer;
var M : Multime;
i : integer;
begin
M:=[1, 8, 13];
for i:=1 to MaxInt do
if i in M then writeln(i);
end.

Se consider urmtoarele declaraii:

type Culoare = (Galben, Verde, Albastru, Violet);


Nuanta = set of Culoare;
var NT : Nuanta;

Care snt valorile posibile ale variabilei NT?


Scriei formula metalingvistic care corespunde diagramei sintactice <Construc-
tor mulime> din figura 1.7.
Se consider tipul de date MultimeIndicii din paragraful n studiu. Precizai
mulimile specificate de constructorii ce urmeaz:
a) []; f) [4..3];

b) [1..10]; g) [1..3, 7..6, 9];

c) [1..3, 9..10]; h) [4-2..7+1];

d) [1+1, 4..7, 9]; i) [7-5..4+4];

e) [3, 7..9]; j) [6, 9, 1..2].


Elaborai un program care afieaz pe ecran toate submulimile mulimii {1, 2, 3, 4}.
Elaborai un program care afieaz pe ecran toate submulimile mulimii
{A, B, C, D}.
Se d un ir de caractere n care cuvintele snt separate fie prin spaiu, fie prin
caracterele punct, virgul, punct i virgul, semnul exclamrii i semnul ntre-
brii. Elaborai un program care afieaz pe ecran cuvintele irului de caracte-
re citit de la tastatur.
Se d un ir de caractere. Elaborai un program care afieaz pe ecran num-
rul de vocale din ir.
Elaborai un program care citete de la tastatur dou iruri de caractere i
afieaz pe ecran:
a) caracterele care se ntlnesc cel puin n unul dintre iruri;
b) caracterele care apar n ambele iruri;
c) caracterele care apar n primul i nu apar n irul al doilea.
Scriei un program care verific dac numele unei persoane este introdus co-
rect (numele este un ir de caractere ce nu conine cifre).

30
n implementrile actuale ale limbajului numrul valorilor tipului de baz al
unui tip mulime este limitat, obinuit n256. n consecin, programul P87 nu
poate calcula numere prime mai mari dect n. Elaborai un program pentru
calcularea numerelor prime din intervalul 8, ..., 10 000.
Indicaie: Sita din algoritmul lui Eratostene poate fi reprezentat printr-un
tablou, componentele cruia snt mulimi.

1.6. Generaliti despre fiiere


Prin fiier se nelege o structur de date care const dintr-o secven de com-
ponente. Fiecare component din secven are acelai tip, denumit tip de baz.
Numrul componentelor din secven nu este fixat, ns sfritul secvenei este
indicat de un simbol special, notat EOF (End of File sfrit de fiier). Fiierul
care nu conine nicio component se numete fiier vid.
Un tip de date fiier se definete printr-o declaraie de forma:

<Tip fiier> ::= [packed] file of <Tip>;

unde <Tip> este tipul de baz. Tipul de baz este un tip arbitrar, exceptnd tipul
fiier (nu exist fiier de fiiere).
Exemple:

1) type FisierNumere = file of integer;


var FN : FisierNumere;
n : integer;

2) type FisierCaractere = file of char;


var FC : FisierCaractere;
c : char;

3) type Elev = record


Nume : string;
Prenume : string;
NotaMedie : real;
end;
FisierElevi = file of Elev;
var FE : FisierElevi;
E : Elev;

Structura datelor n studiu este prezentat n figura 1.8. Subliniem faptul c


elementul EOF, care indic sfritul secvenei, nu este o component a fiierului.
Variabilele FN, FC, FE .a. de tip fiier se numesc fiiere logice, fiiere PASCAL
sau, pur i simplu, fiiere. Spre deosebire de celelalte tipuri de date, valorile cro-
ra se pstreaz n memoria intern a calculatorului, datele fiierelor PASCAL se
pstreaz pe suporturile de informaie ale echipamentelor periferice (discuri i
benzi magnetice, discuri optice, hrtia imprimantei sau a dispozitivului de citit

31
Fig. 1.8. Structura datelor de tip FisierNume, FisierCaractere i FisierElevi

documente .a.). Informaia pe suporturile n studiu este organizat n form de


fiiere externe n conformitate cu cerinele sistemului de operare. Prin urma-
re, nainte de a fi utilizat, o variabil fiier trebuie asociat cu un fiier extern.
Metodele de asociere snt specifice implementrii limbajului i sistemului de ope-
rare al calculatorului-gazd.
n limbajul-standard asocierea se realizeaz prin includerea variabilelor de
tip fiier ca argumente n antetul de program.
n Turbo PASCAL asocierea unei variabile de tip fiier f cu un fiier extern se
realizeaz prin apelul de procedur

assign(f, s);

unde s este o expresie de tip string care specific calea de acces i numele fiie-
rului extern.
Exemple:

1) assign(FN, A:\REZULTAT\R.DAT)

fiierul FN se asociaz cu fiierul extern R.DAT din directorul REZULTAT de


pe discul A.

2) assign(FC, C:\A.CHR)

fiierul FC se asociaz cu fiierul A.CHR din directorul-rdcin al discului C.

3) write(Dati un nume de fisier:);


readln(str);
assign(FE, str);

fiierul FE se asociaz cu un fiier extern numele cruia este citit de la tas-


tatur i depus n variabila de tip string str.
Dup executarea instruciunii assign(f, s) toate operaiile referitoare la fi-
ierul PASCAL f se vor efectua asupra fiierului extern s.
32
Cele mai uzuale operaii asupra unui fiier snt citirea i scrierea unei compo-
nente.
Citirea unei componente se realizeaz printr-un apel de forma

read( f, v),

unde v este o variabil declarat cu tipul de baz al fiierului f.


Scrierea unei componente se realizeaz printr-un apel de forma:

write( f, e),

unde e este o expresie asociat cu tipul de baz al fiierului f.


Exemple:

1) read(FN, n);

2) write(FC, c);

3) read(FE, E).

Dup tipul operaiilor permise asupra componentelor, fiierele se clasific n:


fiiere de intrare (este permis numai citirea);
fiiere de ieire (este permis numai scrierea);
fiiere de actualizare (snt permise att scrierea, ct i citirea).
Dup modul de acces la componente, fiierele se clasific n:
fiiere cu acces secvenial sau secveniale (accesul la componenta i este per-
mis dup ce s-a citit/scris componenta i1);
fiiere cu acces aleatoriu sau direct (orice component se poate referi direct
prin numrul ei de ordine i n fiier).
Menionm c n limbajul-standard snt permise numai fiiere secveniale de
intrare sau ieire.
Tipul fiierului (de intrare, ieire sau de actualizare) i modul de acces (secvenial
sau direct) se stabilesc printr-o operaie de validare, numit deschidere a fiieru-
lui. Pentru aceasta, n limbajul-standard se utilizeaz urmtoarele proceduri:
reset( f) pregtete un fiier existent pentru citire;
rewrite( f) creeaz un fiier vid i l pregtete pentru scriere.
Cnd prelucrarea componentelor se termin, fiierul trebuie nchis. La nchi-
derea unui fiier sistemul de operare nscrie elementul EOF, nregistreaz fiie-
rul extern nou-creat n directorul respectiv .a.m.d.
n limbajul-standard se consider c fiierele vor fi nchise implicit la termi-
narea execuiei programului respectiv. n Turbo PASCAL fiierul f ce nchide prin
apelul de procedur close( f).
n concluzie, prezentm ordinea n care trebuie apelate procedurile destinate
prelucrrii datelor de tip fiier:
1) assign( f, s) asocierea fiierului PASCAL f cu fiierul externs;
2) reset( f)/rewrite( f ) deschiderea fiierului f pentru citire/scriere;
3) read( f, v)/write( f, e) citirea/scrierea unei componente a fiierului f;
4) close( f) nchiderea fiierului f.

33
Dup nchiderea fiierului, variabila f poate fi asociat cu un alt fiier ex-
tern.
ntruct valorile variabilelor de tip fiier se pstreaz pe suporturile externe de
informaie, n PASCAL atribuirile de fiiere snt interzise.

ntrebri i exerciii
Explicai termenii fiier PASCAL, fiier extern.
Unde se pstreaz datele unui fiier PASCAL? Care este destinaia procedurii
assign?
Reprezentai pe un desen structura urmtoarelor tipuri de date:

a) type Tabel = array [1..5, 1..10] of real;


FisierTabele = file of Tabel;

b) type Multime = set of A..C;


FisierMultimi = file of Multime;

c) type Punct = record x, y:real end;


Segment = record A, B:Punct end;
FisierSegmente = file of Segment;

Pentru ce snt necesare operaiile de deschidere i nchidere a fiierelor? Cum


se realizeaz aceste operaii?
Explicai destinaia procedurilor read i write. Ce tip trebuie s aib variabila
v ntr-un apel de forma read(f, v)? Ce tip trebuie s aib expresia e ntr-un apel
de forma write(f, e)?
Cum se clasific fiierele n funcie de operaiile permise i modul de acces?
Variabilele A i B snt introduse prin declaraia

var A, B : file of integer;

Este oare corect instruciunea

A:=B
Argumentai rspunsul.

1.7. Fiiere secveniale


Fie definiiile PASCAL

type FT = file of T;
var f : FT; v : T;

prin care au fost introduse tipul fiier FT cu tipul de baz T, variabila de tip fiier
f i variabila v de tipul T.

34
Pentru a deschide un fiier secvenial de ieire, se apeleaz procedura
rewrite(f). n continuare n fiier se nscriu componentele respective. O com-
ponent se nscrie printr-un apel de forma
write(f, e),
unde e este o expresie de tipul T. O instruciune de forma
write(f, e1, e2, ..., en)
este echivalent cu secvena de instruciuni
write(f, e1) ; write(f, e2); ...; write(f, en).
Dup nscrierea ultimei componente fiierul trebuie nchis.
Exemplu:
Program P89;
{ Crearea unui fisier cu componente de tipul Elev }
type Elev = record
Nume : string;
Prenume : string;
NotaMedie : real;
end;
FisierElevi = file of Elev;
var FE : FisierElevi;
E : Elev;
str : string;
i, n : integer;
begin
write(Dati numele fisierului de creat: );
readln(str);

assign(FE, str); { asociaza FE cu numele din str }


rewrite(FE); { deschide FE pentru scriere }

write(Dati numarul de elevi: ); readln(n);

for i:=1 to n do
begin
writeln(Dati datele elevului , i);

{ citeste cimpurile variabilei E de la tastatura }


write(Numele: ); readln(E.Nume);
write(Prenumele: ); readln(E.Prenume);
write(Nota medie: ); readln(E.NotaMedie);

{ scrie valoarea variabilei E in fisierul FE }

35
write(FE, E);
end;
close(FE); { inchide fisierul FE }
readln;
end.
Pentru a deschide un fiier secvenial de intrare, se apeleaz procedura
reset(f). Componenta curent se citete din fiier printr-un apel de forma:
read(f, v).
O instruciune de forma
read(f, v1, v2, ..., vn)
este echivalent cu secvena de instruciuni
read(f, v1); read (f, v2); ..., read (f, vn).
Sfritul de fiier este semnalizat de funcia boolean eof(f) care ia valoarea
true dup citirea ultimei componente.
Exemplu:
Program P90;
{ Citirea unui fisier cu componente de tipul Elev }
type Elev = record
Nume : string;
Prenume : string;
NotaMedie : real;
end;
FisierElevi = file of Elev;
var FE : FisierElevi;
E : Elev;
str : string;
begin
write(Dati numele fisierului de citit: );
readln(str);

assign(FE, str); { asociaza FE cu numele din str }


reset(FE); { deschide fisierul FE pentru citire }

while not eof(FE) do


begin
{ citeste E din fiierul FE }
read(FE, E);
{ afiseaza E pe ecran }
writeln(E.Nume, , E.Prenume, :,
E.NotaMedie : 5:2);
end;

36
close(FE); { inchide fisierul FE }
readln;
end.

Subliniem faptul c numrul de componente ale unui fiier nu este cunoscut


din declaraia tipului respectiv. Teoretic, ntr-un fiier secvenial de ieire poate
fi nscris un numr infinit de componente. Practic, numrul componentelor este
limitat de capacitatea de memorare a suportului extern de informaie. Citirea
consecutiv a componentelor unui fiier secvenial de intrare se ncheie cnd se
ajunge la elementul EOF.

ntrebri i exerciii
Cte componente poate avea un fiier? n ce ordine se scriu/citesc componentele
unui fiier secvenial?
Se consider urmtoarele tipuri de date:

type Data = record


Ziua : 1..31;
Luna : 1..12;
Anul : integer;
end;
Persoana = record
NumePrenume : string;
DataNasterii : Data;
end;
FisierPersoane = file of Persoana;

Elaborai un program care citete de la tastatur datele referitoare la n persoa-


ne i le nscrie ntr-un fiier. Creai fiierele FILE1.PRS, FILE2.PRS, FILE3.PRS
care trebuie s conin datele referitoare, respectiv, la 2, 7 i 10 persoane.
Elaborai un program care citete fiiere create de programul din exerciiul
precedent i afieaz pe ecran:
a) toate persoanele din fiier;
b) persoanele nscute n anul a;
c) persoanele nscute pe data z.l.a;
d) persoana cea mai n vrst;
e) persoana cea mai tnr.
Elaborai un program care afieaz pe ecran media aritmetic a numerelor n-
scrise ntr-un fiier de tipul file of real.
ntr-un fiier de tipul file of char snt nscrise caractere arbitrare. Elabo-
rai un program care afieaz pe ecran numrul vocalelor din fiier.
Comentai urmtorul program:

Program P91;
{ Eroare }
type FisierNumere = file of integer;

37
var FN : FisierNumere;
i : integer;
r : real;
s : string;
begin
Writeln(Dati numele fisierului de creat: );
readln(s);
assign(FN, s);
rewrite(FN);
i:=1;
write(FN, i);
i:=10;
write(FN, i);
r:=20;
write(FN, r);
close(FN);
end.

1.8. Fiiere text


E cunoscut faptul c datele fiierelor PASCAL se pstreaz pe suporturi-
le externe de informaie. n cazul fiierelor definite prin declaraii de forma
file of T componentele de tip T snt reprezentate pe suporturile respective n
forma intern, i anume, prin secvene de cifre binare. Acest mod de reprezen-
tare a datelor este convenabil n cazul memoriilor externe (discurile i benzile
magnetice, discurile optice .a.). n cazul echipamentelor de intrareieire
(tastatura, ecranul, imprimanta etc.) datele respective trebuie reprezentate n
forma extern, i anume, prin secvene de caractere.
Pentru a facilita interaciunea ntre om i sistemul de calcul, n PASCAL
informaia destinat utilizatorului se reprezint n form de fiiere text. Un fi-
ier text este format dintr-o secven de caractere divizat n linii (fig. 1.9). Lungi-
mea liniilor este variabil. Sfritul fiecrei linii este indicat de un element
special, notat EOL (End Of Line sfrit de linie). ntruct lungimea liniilor este

Fig. 1.9. Structura unui fiier text

38
variabil, poziia unei linii n cadrul fiierului nu poate fi calculat din timp. n
consecin, accesul la componentele fiierelor text este secvenial.
Un fiier text se definete printr-o declaraie de forma:

var f : text;

tipul predefinit text fiind cunoscut oricrui program PASCAL. Subliniem faptul
c tipurile text i file of char snt distincte, ntruct fiierul file of char
nu include elemente EOL (fig. 1.8).
Fiierele text pot fi prelucrate cu ajutorul procedurilor cunoscute, aplicabile
oricrui tip de fiiere: assign, reset, rewrite, read, write, close. n comple-
tare, limbajul include proceduri speciale, destinate prelucrrii elementelor EOL:
writeln(f) nscrie n fiier elementul EOL (sfrit de linie);
readln(f) trece la linia urmtoare.
Sfritul de linie este semnalat de funcia boolean eoln(f) care ia valoarea
true dup citirea ultimului caracter din linie.
O instruciune de forma

writeln(f, e1, e2, ..., en)

este echivalent cu secvena de instruciuni

write(f, e1, e2, ..., en); writeln(f).

O instruciune de forma

readln(f, v1, v2, ..., vn)

este echivalent cu secvena de instruciuni

read(f, v1, v2, ..., vn); readln(f).

Pentru introducerea i extragerea datelor, de regul, se utilizeaz fiierele


text predefinite Input i Output. Fiierul Input este destinat numai pentru
operaii de citire i este asociat cu fiierul de intrare al sistemului de operare
(de regul, tastatura). Fiierul Output este destinat numai pentru operaii de
scriere i este asociat cu fiierul-standard de ieire al sistemului de operare (de
regul ecranul). Aceste fiiere snt deschise i nchise automat la nceputul i,
respectiv, la sfritul execuiei programului. Dac numele fiierului nu este spe-
cificat n lista parametrilor unui apel de subalgoritm, se presupune c fiierul
text implicit este Input sau Output, n funcie de natura subalgoritmului. De
exemplu, read(c)este echivalent cu read(Input,c), iar write(c) este echi-
valent cu write(Output,c).
Pentru exemplificare prezentm programul P93 care creeaz pe discul curent
fiierul text FILE.TXT. Liniile fiierului snt introduse de la tastatur (fiierul
Input). Sfritul liniei se indic prin acionarea tastei <ENTER>, iar sfritul
fiierului prin acionarea tastelor <CTRL+Z >, <ENTER>.

39
Program P93;
{ Crearea fisierului text FILE.TXT }
var F : text;
c : char;
begin
assign(F, FILE.TXT); { asociaza F cu FILE.TXT }
rewrite(F); { deschide fisierul F pentru scriere }
while not eof do { eof(Input) }
begin
while not eoln do { eoln(Input) }
begin
read(c); { citeste c din Input }
write(F, c); { scrie c in F }
end;
writeln(F); { scrie EOL in F }
readln; { trece la linia urmatoare din Input }
end;
close(F); { inchide F }
end.

Programul ce urmeaz afieaz coninutul fiierului FILE.TXT pe ecran.

Program P94;
{ Citirea fisierului text FILE.TXT }
var F : text;
c : char;
begin
assign(F, FILE.TXT); { asociaza F cu FILE.TXT }
reset(F); { deschide F pentru citire }
while not eof(F) do
begin
while not eoln(F) do
begin
read(F, c); { citeste c din F }
write(c); { scrie c in Output }
end;
readln(F); { trece la linia urmatoare din F }
writeln; { scrie EOL in Output }
end;
close(F); { inchide F }
readln;
end.

Explorarea caracter cu caracter a fiierelor text este greoaie n situaia


cnd secvenele de caractere din text trebuie interpretate ca formnd date de
tip integer, real, boolean, ir de caractere. Conversiunea ntre forma extern

40
i reprezentarea intern a acestor tipuri ar cdea n sarcina programatorului. n
consecin, procedurile de citire/nscriere snt extinse n felul urmtor.
n cazul fiierelor text variabila v dintr-un apel read(f, v) poate fi de tipul
integer, real, char sau ir de caractere. La citire secvena de caractere care
reprezint variabila v va fi transformat n reprezentarea intern.
Expresia e dintr-un apel write(f, e) poate fi urmat de specificatori de for-
mat. Valoarea expresiei poate fi de tipul integer, real, boolean, char sau ir
de caractere. La scriere valoarea respectiv este transformat din reprezentarea
intern ntr-o secven de caractere.
Secvenele de caractere citite/scrise de procedurile read/write se conformea-
z sintaxei constantelor de tipul variabilei/expresiei v/e.
Pentru exemplificare prezentm programul P95 care citete de la tastatur
cte trei numere reale a, b, c pe care le scrie n fiierul IN.TXT. Apoi citind aceste
trei numere, reprezentnd laturile unui triunghi, scrie n fiierul OUT.TXT nume-
rele a, b i c, semiperimetrul p i aria triunghiului s. n continuare, coninutul
fiierului OUT.TXT este afiat pe ecran.

Program P95;
{ Prelucrarea fisierelor IN.TXT si OUT.TXT }
var F, G : text;
a, b, c, p, s : real;
str : string;
begin
assign(F, IN.TXT); { asociaza F cu IN.TXT }
rewrite(F); { deschide F pentru scriere }

writeln(Dati numerele reale a, b, c:);


while not eof do
begin
readln(a, b, c); { citeste a, b, c de la tastatura }
writeln(F, a:8:2, b:8:2, c:8:2); { scrie a, b, c, in F }
end;
close(F); { inchide F }

reset(F); { deschide F pentru citire }


assign(G, OUT.TXT); { asociaza G cu OUT.TXT }
rewrite(G); { deschide G pentru scriere }

while not eof(F) do


begin
readln(F, a, b, c); { citeste a, b, c din F }
write(G, a:8:2, b:8:2, c:8:2); { scrie a, b, c in G }
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));

41
writeln(G, p:15:2, s:15:4); { scrie p, s in G }
end;

close(F); { inchide F }
close(G); { inchide G }

reset(G); { deschide G pentru citire }


while not eof(G) do
begin
readln(G, str); { citeste str din G }
writeln(str); { afiseaza str pe ecran }
end;
close(G); { inchide G }
readln;
end.

Pentru datele de intrare


1 1 1 <ENTER>
3 4 6 <ENTER>
<CTRL+Z ><ENTER>
programul P95 afieaz pe ecran:
1.00 1.00 1.00 1.50 0.4330
3.00 4.00 6.00 6.50 5.3327

ntrebri i exerciii
Care este diferena dintre un fiier text i un fiier file of char?
Explicai semnificaia elementelor EOL i EOF.
Care este diferena dintre procedurile read i readln? Dar dintre procedurile
write i writeln?
Lansai n execuie urmtorul program:

Program P96;
{ Asocierea fisierului FN cu consola }
type FisierNumere = file of integer;
var FN : FisierNumere;
i : integer;
begin
assign(FN, CON);
rewrite(FN);
i:=1;
write(FN, i);
i:=2;
write(FN, i);

42
i:=3;
write(FN, i);
close(FN);
readln;
end.

Explicai rezultatele afiate pe ecran.


Elaborai un program care afieaz pe ecran coninutul oricrui fiier text.
Elaborai un program care afieaz pe ecran numrul de vocale dintr-un fiier text.
Datele de intrare ale unui program snt nmagazinate ntr-un fiier text. Fieca-
re linie a fiierului conine dou numere ntregi i trei numere reale separate
prin spaii. Elaborai un program care afieaz suma numerelor ntregi i suma
numerelor reale din fiecare linie pe ecran.
Datele de intrare ale unui program snt nmagazinate ntr-un fiier text. Fieca-
re linie a fiierului conine trei numere reale separate prin spaiu i unul din
cuvintele ADMIS, RESPINS. Elaborai un program care:
a) afieaz coninutul fiierului n studiu pe ecran;
b) creeaz o copie de rezerv a fiierului;
c) creeaz un fiier text liniile cruia conin media celor trei numere reale din
liniile respective ale fiierului de intrare;
d) afieaz pe ecran liniile fiierului de intrare, precedate de numerele de ordine
1, 2, 3 .a.m.d.
Fiecare linie a unui fiier text conine urmtoarele date, separate prin spaii:
numrul de ordine (integer);
numele (un string ce nu conine spaii);
prenumele (un string ce nu conine spaii);
nota la disciplina 1 (real);
nota la disciplina 2 (real);
nota la disciplina 3 (real).
Elaborai un program care:
a) creeaz o copie de rezerv a fiierului n studiu;
b) afieaz coninutul fiierului pe ecran;
c) creeaz un fiier text liniile cruia conin urmtoarele date separate prin
spaii:
numrul de ordine (integer);
numele (string);
prenumele (string);
nota medie (real).
Fiierul creat n punctul c trebuie afiat pe ecran.

43
Test de autoevaluare nr. 1
1. Se consider declaraiile

type Obiect = ( Istoria, Geografia, Matematica,


Informatica, Fizica);
Nota = 1..10;
SituatiaScolara = array [Obiect] of Nota;

Reprezentai pe un desen structura datelor de tipul SituatiaScolara.


2. Precizai tipul indicilor i tipul componentelor tipului de dat OrarulLectiilor din
declaraiile ce urmeaz:

type ZiDeScoala = (L, Ma, Mi, J, V, S);


Lectie = 1..6;
Obiect = (LimbaRomana, LimbaModerna, Istoria,
Geografia, Matematica,Informatica, Fizica,
Chimia);
OrarulLectiilor = array [ZiDeScoala, Lectie] of Obiect;

3. Se consider declaraiile:

type Tablou = array [1..10] of integer;


var x, y : Tablou;

Scriei expresia aritmetic a crei valoare este:


a) suma primelor patru componente ale variabilei x;
b) suma ultimelor patru componente ale variabilei y;
c) valoarea absolut a componentei a treia a variabilei x;
d) valoarea absolut a componentei a asea a variabilei y;
e) suma primei componente a variabilei x i a ultimei componente a variabilei y.
4. Se consider n (n50) numere ntregi a1, a2, a3, ..., an. Elaborai un program PASCAL care
citete numerele respective de la tastatur i le afieaz pe ecran n ordinea invers citirii: an, ...,
a3, a2, a1.
5. Ce operaii pot fi efectuate asupra irurilor de caractere de tip string? Precizai tipul
rezultatelor acestor operaii.
6. Elaborai un program PASCAL care afieaz pe ecran n ordine invers irul de carac-
tere citit de la tastatur. De exemplu, irul soare va fi afiat la ecran ca eraos.
7. Reprezentai pe un desen structura datelor de tipul Data i Persoana din declaraiile
ce urmeaz:

type Data = record


Ziua : 1..31;
Luna : 1..12;
Anul : integer;
end;
Persoana = record
NumePrenume : string;
DataNasterii : Data;
end;

44
8. Se consider urmtoarele tipuri de date:

type Angajat = record


NumePrenume : string;
Salariu : real;
end;
ListaDePlata = array[1..100] of Angajat;

Elaborai un program care citete de la tastatur datele despre n (n100) angajai i afi-
eaz pe ecran informaiile despre angajatul (angajaii) care au cel mai mare salariu.
9. Care este destinaia instruciunii with?
10. Enumerai valorile posibile ale variabilelor din declaraiile ce urmeaz:

var V : set of X..Z;


I : set of 8..9;

11. Se consider iruri de caractere formate din literele mari ale alfabetului latin. Elaborai
un program care afieaz pe ecran numrul de vocale din irul de caractere S citit de la
tastatur.
12. Unde se pstreaz datele fiierelor PASCAL? Care este destinaia procedurii assign?
13. Cum se clasific fiierele n funcie de operaiile permise i modul de acces?
14. Se consider urmtoarele tipuri de date:

type Angajat = record


NumePrenume : string;
Salariu : real;
end;
FisierAngajati = file of Angajat;

Elaborai un program care creeaz fiierul SALARII.DAT i nscrie n acest fiier datele
referitoare la n angajai. Datele respective se citesc de la tastatur.
15. Elaborai un program PASCAL care afieaz pe ecran coninutul fiierului SALARII.DAT
creat n itemul precedent.
16. Datele de intrare ale unui program snt nmagazinate n fiierul text REZULTAT.TXT.
Fiecare linie a fiierului conine cte dou numere reale separate prin spaiu i unul din cuvin-
tele BUN, DEFECT. Elaborai un program care:
a) creeaz fiierul text MEDIA.TXT liniile cruia conin media celor dou numere reale i
cuvintele BUN sau DEFECT din liniile respective ale fiierului de intrare;
b) afieaz pe ecran liniile fiierului creat.

45
Capitolul 2
INFORMAIA

2.1. Cantitatea de informaie


Sensul uzual al cuvntului informaie tire, comunicare verbal, scris sau
transmis prin alte metode despre anumite fapte, evenimente, activiti etc. se
concretizeaz ntr-un compartiment special al matematicii, denumit teoria in-
formaiei. Conform acestei teorii, sursa de informaie se descrie printr-o va-
riabil S care poate lua valori dintr-o mulime finit de elemente distincte {s1, s2,
..., sn}. Se consider c valorile curente ale variabilei S nu snt cunoscute din timp.
E cunoscut numai mulimea {s1, s2, ..., sn}, denumit mulimea mesajelor po-
sibile.
De exemplu, semaforul de circulaie poate fi reprezentat ca o surs de infor-
maie, mulimea de mesaje posibile ale cruia este {verde, galben, rou}. Apara-
tul de telegrafiat reprezint o surs de informaie, mulimea de mesaje posibile
ale cruia include literele A, B, C, ..., Z, cifrele 0, 1, 2, ..., 9 i semnele de punctua-
ie. Mesajele posibile ale tastaturii snt: Este acionat tasta A, Este acionat
tasta B, ..., Este acionat tasta F1, Este acionat tasta F2 , ..., Snt acionate
concomitent tastele CTRL i BREAK etc.
Mesajele se transmit de la surs ctre destinatar printr-un mediu fizic, numit
canal de transmisie (fig. 2.1). De exemplu, mesajele telegrafice se transmit prin
fir, mesajele radio prin eter, mesajele tastaturii printr-un set de conductori. Per-
turbaiile (zgomotele) din mediul fizic amintit pot altera mesajele transmise.

Fig. 2.1. Schema general a unui sistem de transmisie a informaiei

Evident, valoarea curent a variabilei S devine cunoscut destinatarului numai


dup recepionarea mesajului respectiv.
Cantitatea de informaie I ce este coninut ntr-un mesaj emis de surs se
determin din relaia:

46
I = loga n,
unde n este numrul de mesaje posibile ale sursei. Valoarea concret a constantei
a se stabilete prin alegerea unitii de msur a cantitii de informaie.
De obicei, ca unitate de msur se utilizeaz bitul.
Un bit este cantitatea de informaie din mesajul unei surse cu numai
dou mesaje posibile.
Prin urmare, ca i n cazul altor mrimi (lungimea, masa, temperatura etc.),
cantitatea de informaie se msoar prin compararea cu etalonul. ntruct pen-
tru sursa-etalon n = 2, din ecuaia:
loga 2 = 1 (bit)
obinem a = 2. n consecin, cantitatea de informaie I, msurat n bii, se
determin din relaia:
I = log2 n (bit).
n tabelul 2.1 snt prezentate valorile frecvent utilizate ale funciei log2 n.

Tabelul 2.1
Valorile funciei log2n

n log2 n n log2 n
1 0,000 21 4,392
2 1,000 22 4,459
3 1,585 23 4,524
4 2,000 24 4,585
5 2,322 25 4,644
6 2,585 26 4,700
7 2,807 27 4,755
8 3,000 28 4,807
9 3,170 29 4,858
10 3,322 30 4,907
11 3,459 31 4,954
12 3,585 32 5,000
13 3,700 33 5,044
14 3,807 34 5,087
15 3,907 35 5,129
16 4,000 36 5,170
17 4,087 37 5,209
18 4,170 38 5,248
19 4,248 39 5,285
20 4,322 40 5,322

47
S analizm cteva exemple. Cantitatea de informaie a unui mesaj de semafor
este de
I = log2 3 1,585 bii.
Cantitatea de informaie a unei litere a alfabetului latin {A, B, C, ..., Z}, n = 26,
este de
I = log2 26 4,700 bii.
Cantitatea de informaie a unei litere a alfabetului grec {A, B, , , ..., },
n = 24, este de
I = log2 24 4,585 bii.
Dac se cunoate cantitatea de informaie I ce este coninut ntr-un mesaj,
cantitatea total de informaie emis de surs se determin din relaia:
V = N I,
unde N este numrul de mesaje transmise.
Cantitile mari de informaie se exprim prin multiplii unui bit:
1 Kilobit (Kbit) = 210 = 1 024 bii (103 bii);
1 Megabit (Mbit) = 220 = 1 048 576 bii (106 bii);
1 Gigabit (Gbit) = 230 109 bii;
1 Terabit (Tbit) = 240 1012 bii;
1 Petabit (Pbit) = 250 1015 bii.

ntrebri i exerciii
Cum se definete o surs de informaie? Dai cteva exemple.
Care este destinaia canalului de transmisie?
Cum se determin cantitatea de informaie dintr-un mesaj? Dar din N mesaje?
Care este unitatea de msur a informaiei i ce semnificaie are ea?
Determinai cantitatea de informaie ntr-un mesaj al surselor cu urmtoarele
mesaje posibile:
a) literele mari i mici ale alfabetului latin;
b) literele mari i mici ale alfabetului grec;
c) literele mari i mici ale alfabetului romn;
d) cifrele zecimale 0, 1, 2, ..., 9;
e) cifrele 0, 1, 2, ..., 9, semnele +, , , / i parantezele ( );
f) indicaiile numerice de forma hh:mm (hh ora, mm minutele) ale unui ceas
electronic;
g) indicaiile numerice de forma hh:mm:ss (ss secundele) ale unui ceas electronic;
h) indicaiile numerice de forma zz.ll.aa (zz ziua, ll luna, aa anul) ale unui
calendar electronic.
Pentru fiecare dintre sursele indicate n exerciiul 5 determinai cantitatea de
informaie ce este coninut n 1 000 de mesaje emise de surs.
Elaborai un program care calculeaz cantitatea de informaie din N mesaje
emise de o surs cu n mesaje posibile.

48
2.2. Codificarea i decodificarea informaiei
Se numete semn un element al unei mulimi finite de obiecte ce se pot distin-
ge. O mulime de semne ordonate liniar se numete alfabet.
Prezentm n continuare unele dintre nenumratele alfabete folosite de oameni:
a) alfabetul cifrelor zecimale: 0, 1, 2, ..., 9;
b) alfabetul literelor latine mari: A, B, C, ..., Z;
c) mulimea semnelor zodiacului;
d) mulimea fazelor lunii.
O importan deosebit o au alfabetele de numai dou semne. Aceste alfabete
se numesc alfabete binare, iar semnele respective semne binare.
Prezentm cteva exemple de alfabete binare:
a) cifrele {0, 1};
b) perechea de culori {rou, galben};
c) perechea de stri {nchis, deschis};
d) perechea de rspunsuri {da, nu};
e) perechea de tensiuni {0V, 2V};
f) perechea de stri {magnetizat, nemagnetizat};
g) perechea de semne {+, } etc.
S-a convenit ca semnele unui alfabet binar s fie reprezentate prin cifrele {0, 1},
denumite cifre binare (binary digit).
Un ir finit din m semne, dintre care unele se pot repeta, formeaz un cuvnt,
m reprezentnd lungimea cuvntului. Cuvintele formate din semne binare se
numesc cuvinte binare. Evident, cuvintele pot avea lungime variabil sau con-
stant. n ultimul caz ele se numesc cuvinte m-poziionale. n continuare pre-
zentm unele mulimi de cuvinte cu lungime constant:
1-poziionale: {0, 1};
2-poziionale: {00, 01, 10, 11};
3-poziionale: {000, 001, 010, 011, 100, 101, 110, 111};
4-poziionale: {0000, 0001, ..., 1110, 1111}.
Se observ c cuvintele (m + 1)-poziionale se formeaz cte dou din cuvintele
m-poziionale prin adugarea cifrelor binare 0 i 1. Prin urmare, mulimea cu-
vintelor m-poziionale include 2m cuvinte distincte.
Cuvintele binare se utilizeaz pentru reprezentarea, transmiterea, pstrarea
i prelucrarea mesajelor s1, s2, ..., sn ale sursei de informaie (fig. 2.2).

Fig. 2.2. Codificarea i decodificarea mesajelor


n sistemele de transmisie a informaiei

49
Regula de transBormare a mesajelor n cuvinte se numete cod, iar ope-
raia respectiv codiBicare. Operaia invers codiBicrii se numete
decodiBicare. Dispozitivele tehnice care realizeaz operaiile n cauz
se numesc, respectiv, codiBicator i decodiBicator.
Cel mai simplu este codul n care mesajelor posibile s1, s2, ..., sn le corespund
cuvinte binare de lungime constant m. Acest cod denumit cod m-poziional
poate fi definit cu ajutorul unui tabel. n figura 2.3 snt prezentate tabelele res-
pective pentru surse cu n = 2, 3, 4, ..., 8 mesaje posibile.

n=2, m=1 n=3, m=2 n=4, m=2


s1 0 s1 00 s1 00
s2 1 s2 01 s2 01
s3 10 s3 10
s4 11

n=5, m=3 n=6, m=3 n=7, m=3 n=8, m=3


s1 000 s1 000 s1 000 s1 000
s2 001 s2 001 s2 001 s2 001
s3 010 s3 010 s3 010 s3 010
s4 011 s4 011 s4 011 s4 011
s5 100 s5 100 s5 100 s5 100
s6 101 s6 101 s6 101
s7 110 s7 110
s8 111

Fig. 2.3. Coduri de cuvinte cu lungime constant (coduri m-poziionale)

Operaiile de codificare i decodificare constau n extragerea datelor necesare


din tabel. Evident, decodificarea va fi univoc numai atunci cnd cuvintele bina-
re incluse n tabel snt distincte. Acest lucru este posibil dac lungimea m a cu-
vintelor de cod satisface inegalitatea
2m n.
Dup logaritmare obinem:
m log2 n.
ntruct expresia log2 n exprim cantitatea de informaie, se poate afirma:
Lungimea cuvintelor unui cod poziional trebuie s Bie mai mare sau
egal cu cantitatea de inBormaie a unui mesaj.
De exemplu, lungimea cuvintelor pentru codificarea literelor mari ale alfabe-
tului latin {A, B, C, ...Z}, n = 26, se determin din relaia
m log2 26 4,700.
Stabilind m = 5, putem forma cuvintele binare ale codului 5-poziional:
A 00000
B 00001
C 00010

50
D 00011
E 00100
...
Z 11001.
Un astfel de cod a fost propus de filosoful i omul de stat englez Francis Bacon
nc n anul 1580.
Algoritmii de elaborare a codurilor cu cuvinte de lungime variabil snt
mult mai complicai i se studiaz n cursurile avansate de informatic.

ntrebri i exerciii
Ce este un alfabet? Dai exemple de alfabete binare.
Cum se reprezint semnele oricrui alfabet binar?
Explicai cum pot fi formate cuvintele binare (m+1)-poziionale. Care este nu-
mrul cuvintelor binare m-poziionale distincte?
Care este destinaia unui cod? Cum se definete codul m-poziional?
Cum se efectueaz codificarea i decodificarea mesajelor n cazurile cnd codul
este definit printr-un tabel?
Codificai mesajele s3, s4 i s6 ale unei surse cu 7 mesaje posibile. Utilizai codul
3-poziional din figura 2.3.
Decodificai mesajele 100, 000 i 010, reprezentate n codul 3-poziional din
figura 2.3, n = 5.
Cum se determin numrul de semne binare necesare pentru formarea cuvin-
telor de lungime constant ale unui cod?
Utiliznd codul 3-poziional din figura 2.3, n = 6, codificai irul de mesaje s1, s2,
s6, s5, s3, s6, s3, s2, s1.
Cum influeneaz cantitatea de informaie a unui mesaj asupra lungimii cuvin-
telor de cod?
Explicai sensul termenilor cantitate de informaie i informaie.
Elaborai un program care codific i decodific literele alfabetului latin. Se va
utiliza codul propus de Francis Bacon.
Elaborai un program care alctuiete tabelul unui cod m-poziional pentru o
surs cu n mesaje posibile.

2.3. Coduri frecvent utilizate


Orice cod, utilizat pentru reprezentarea, transmiterea, pstrarea i prelucra-
rea informaiei, trebuie s fie econom i insensibil la perturbaii, iar echipamen-
tele respective de codificare i decodificare s fie simple. Pe parcursul dezvolt-
rii tehnicii de calcul au fost elaborate mai multe coduri. Aceste coduri se clasific
n coduri numerice i coduri alfanumerice.
Codurile numerice ofer posibilitatea reprezentrii cifrelor {0, 1, 2, ..., 9}
prin cuvinte binare 4-poziionale. Exemple de coduri numerice snt prezentate n
tabelul 2.2.

51
Tabelul 2.2
Coduri numerice
Denumirea codului
Cifra
Direct Gray Aiken Exces 3
0 0000 0000 0000 0011
1 0001 0001 0001 0100
2 0010 0011 0010 0101
3 0011 0010 0011 0110
4 0100 0110 0100 0111
5 0101 0111 1011 1000
6 0110 0101 1100 1001
7 0111 0100 1101 1010
8 1000 1100 1110 1011
9 1001 1101 1111 1100

Codurile alfanumerice reprezint prin cuvinte binare cifrele 0, 1, 2, ..., 9,


literele mari i mici ale alfabetului, semnele de punctuaie, semnele operaiilor
aritmetice etc. n tabelul 2.3 este prezentat codul ASCII (American Standard
Code Bor InBormation Interchange), inventat n anul 1968.
Tabelul 2.3
Codul ASCII
Cuvnt Echivalent Cuvnt Echivalent
Simbol Simbol
binar zecimal binar zecimal
Spaiu 0100000 32 P 1010000 80
! 0100001 33 Q 1010001 81
" 0100010 34 R 1010010 82
# 0100011 35 S 1010011 83
$ 0100100 36 T 1010100 84
% 0100101 37 U 1010101 85
& 0100110 38 V 1010110 86
' 0100111 39 W 1010111 87
( 0101000 40 X 1011000 88
) 0101001 41 Y 1011001 89
* 0101010 42 Z 1011010 90
+ 0101011 43 [ 1011011 91
, 0101100 44 \ 1011100 92
- 0101101 45 ] 1011101 93
. 0101110 46 ^ 1011110 94
/ 0101111 47 _ 1011111 95

52
Cuvnt Echivalent Cuvnt Echivalent
Simbol Simbol
binar zecimal binar zecimal
0 0110000 48 1100000 96
1 0110001 49 a 1100001 97
2 0110010 50 b 1100010 98
3 0110011 51 c 1100011 99
4 0110100 52 d 1100101 100
5 0110101 53 e 1100101 101
6 0110110 54 f 1100110 102
7 0110111 55 g 1100111 103
8 0111000 56 h 1101000 104
9 0111001 57 i 1101001 105
: 0111010 58 j 1101010 106
; 0111011 59 k 1101011 107
< 0111100 60 l 1101100 108
= 0111101 61 m 1101101 109
> 0111110 62 n 1101110 110
? 0111111 63 o 1101111 111
@ 1000000 64 p 1110000 112
A 1000001 65 q 1110001 113
B 1000010 66 r 1110010 114
C 1000011 67 s 1110011 115
D 1000100 68 t 1110100 116
E 1000101 69 u 1110101 117
F 1000110 70 v 1110110 118
G 1000111 71 w 1110111 119
H 1001000 72 x 1111000 120
I 1001001 73 y 1111001 121
J 1001010 74 z 1111010 122
K 1001011 75 { 1111011 123
L 1001100 76 | 1111100 124
M 1001101 77 } 1111101 125
N 1001110 78 ~ 1111110 126
O 1001111 79 Del 1111111 127

Acest cod este 7-poziional i include 27 = 128 de simboluri. Primele 32 de sim-


boluri (cuvintele binare 0000000, 0000001, 0000010, , 0011111) specific deta-
liile tehnice ale transmisiunilor de informaii i nu au fost incluse n tabel. Cuvin-
tele binare 0100000, 0100001, 0100010, , 1111110 reprezint caracterele impri-

53
mabile din textele n limba englez. Cuvntul 1111111 reprezint caracterul neim-
primabil Delete (Anulare).
Codificarea mesajelor se realizeaz prin nlocuirea simbolurilor cu cuvintele
binare respective. De exemplu, cuvntul START se reprezint n codul ASCII
prin urmtoarea secven de cuvinte binare:
1010011 1010100 1000001 1010010 1010100.
Evident, decodificarea se va realiza n ordine invers. De exemplu, secvena
de cuvinte binare
1010011 1010100 1001111 1010000
reprezint n codul ASCII cuvntul STOP.
De regul, limbajele de programare opereaz nu cu cuvintele binare propriu-
zise, dar cu echivalentele lor zecimale. n programele PASCAL echivalentele zeci-
male ale caracterelor pot fi aflate cu ajutorul funciei predefinite ord. De exemplu:
ord(S)=83; ord(T)=84; ord(A)=65; ord(R)=82
etc. Funcia predefinit chr returneaz caracterul care corespunde echivalentu-
lui zecimal indicat. Astfel,
chr(83)=S; chr(84)=T; chr(65)=A; chr(82)=R.
Orientat la textele engleze, codul ASCII nu include literele cu semne diacritice i
caracterele grafice speciale ntlnite n diferite limbi europene i n lucrrile tiinifice.
De aceea pentru calculatoarele moderne s-au elaborat versiuni dedicate ale codului
ASCII, denumite coduri ASCII extinse. Codurile extinse snt 8-poziionale i includ
28 = 256 de simboluri. Structura codurilor respective este prezentat n tabelul 2.4.
Partea 1 a fiecrui cod extins include simbolurile de la 0 la 127 oferite de
codul ASCII. Partea a 2-a este specific fiecrei ri i include simbolurile de la
128 la 255. Aceste simboluri snt utilizate pentru reprezentarea literelor alfabe-
telor naionale, precum i a caracterelor tiinifice frecvent utilizate. Pentru exem-
plificare, n tabelul 2.4 snt prezentate codurile literelor , , , , , , , , ,
din alfabetul limbii romne propuse n anul 1992 de firma TISH (Chiinu). Este
firesc ca utilizarea codurilor extinse s asigure prelucrarea informaiilor prezen-
tate n diferite limbi.
Un alt exemplu de cod alfanumeric este codul binar 8-poziional EBCDIC
(Extended Binary Coded Data Interchange Code), care se utilizeaz pe calcula-
toarele mari.
Menionm c extinderea domeniului de aplicare a codurilor 8-poziionale a favori-
zat utilizarea octetului i a multiplilor lui pentru msurarea cantitii de informaie:
1 octet = 23 = 8 bii; 1 Gigaoctet = 230 109 octei;
1 Kilooctet = 210 103 octei; 1 Teraoctet = 240 1012 octei;
1 Megaoctet = 220 106 octei; 1 Petaoctet = 250 1015 octei.
n literatura de specialitate octetul este notat prin B (byte), iar multiplii res-
pectivi prin KB, MB, GB, TB i PB.

54
Tabelul 2.4
Structura codurilor ASCII extinse
Cuvnt Echivalent
Simbol Observaii
binar zecimal
Spaiu 00100000 32
! 00100001 33
" 00100010 34
# 00100011 35 Partea 1:
simbolurile codului ASCII
} 01111101 125
~ 01111110 126
Del 01111111 127
10000000 128
10000001 129
10000010 130

/ 11110000 240
11110001 241
11110010 242
11110011 243
11110100 244
11110101 245 Partea a 2-a:
11110110 246 simboluri specifice limbilor naionale;
11110111 247 caractere grafice;
11111000 248 caractere tiinifice
11111001 249
11111010 250
11111011 251
11111100 252
11111101 253
~ 11111110 254
11111111 255

ntrebri i exerciii
Cte mesaje posibile pot fi codificate cu ajutorul unui cod m-poziional?
Determinai codurile admise de sistemul de operare cu care lucrai dvs.
Codificai n codul Gray urmtoarele iruri de cifre zecimale: 123, 461, 952, 783, 472.
Decodificai mesajele reprezentate n codul Aiken:
a) 0011 1111 0100 b) 1110 0010 1101

55
c) 1111 0000 0100 e) 0011 1100 1111
d) 0010 0001 1011 f) 1111 1101 0000

Codificai n codul ASCII expresiile:


a) A+B d) NEXT I
b) FOR I=1 TO N e) PAUSE
c) PRINT A$ f) PROGRAM

Decodificai mesajele reprezentate n codul ASCII:


a) 1000010 1100101 1100111 1101001 1101110;
b) 1010011 1110100 1101111 1110000;
c) 1000101 1101110 1100100;
d) 1101001 0111010 0111101 0110001 0111011.

Elaborai un program care afieaz pe ecran codurile urmtoarelor caractere,


introduse de la tastatur:
a) cifrele zecimale 0, 1, 2, ..., 9;
b) literele latine mari A, B, C, ..., Z;
c) literele latine mici a, b, c, ..., z;
d) semnele operaiilor aritmetice;
e) caracterele speciale ;, <, =, >, ?, [, ], {, }, /, \.

2.4. Informaia mesajelor continue


Sursele de informaie studiate pn n prezent se definesc printr-o variabil S,
care poate lua valori dintr-o mulime finit de elemente distincte {s1, s2, ..., sn},
denumit mulimea mesajelor posibile. Practica ne demonstreaz c nu toate
sursele de informaie pot fi definite direct n acest mod. Drept exemplu vom re-
marca termometrele cu mercur sau alcool, vitezometrele automobilelor, micro-
foanele, camerele de luat vederi etc. Astfel de surse pot fi definite printr-o varia-
bil S (temperatura, viteza momentan, tensiunea la bornele de ieire ale micro-
fonului etc.) care poate lua orice valoare ntr-un anumit interval [smin, smax].
Sursele de informaie care snt definite printr-o variabil S ce ia valori
dintr-o mulime finit de elemente distincte se numesc surse cu mesaje discrete.
Sursele care se definesc printr-o variabil S ce poate lua orice valori ntr-un anu-
mit interval se numesc surse cu mesaje continue.
Ca i n cazul surselor discrete, mesajele continue se produc n timp. Prin
urmare, S este o funcie de timp, S = S(t). n scopul evalurii cantitii de infor-
maie n mesajele continue, vom analiza valorile funciei S(t) numai n momente-
le de timp t1, t2, ..., tm (fig. 2.4). Valorile date, notate prin S(t1), S(t2), ..., S(tm), se
numesc eantioane (din francez echantillion cantitate mic luat dintr-un
produs pentru a determina calitatea lui).
56
Fig. 2.4. Discretizarea mesajelor continue: a mesaj continuu; b mesaj discretizat
n timp (eantionat); c mesaj eantionat i discretizat n valoare (cuantificat)

De obicei, momentele de timp t1, t2, ..., tm se definesc conform relaiei:


ti = ti-1 + t.
Mrimea t se numete perioada de eantionare. Valoarea concret a pe-
rioadei de eantionare t este determinat de viteza cu care S(t) variaz n timp.
De exemplu, n meteorologie schimbrile de temperatur se produc pe par-
curs de ore i t = 1 h, iar n tehnica prelucrrii semnalelor sonore t = 5 105 s.
Operaia de transBormare a mesajelor continue n eantioane se nu-
mete discretizare n timp sau eantionare.
57
Evident, pn la recepia mesajului continuu, valorile concrete ale eantioane-
lor S(t1), S(t2), ..., S(tm) snt necunoscute destinatarului. Se cunoate numai inter-
valul [smin, smax] n care poate lua valori arbitrare orice eantion. n scopul evalu-
rii cantitii de informaie dintr-un eantion, vom rotunji valoarea S(ti) la una din
valorile prestabilite s1, s2, ..., sn (Big. 2.4).
Valorile prestabilite s1, s2, ..., sn se numesc cuante, iar operaia de transforma-
re a valorilor curente ale mesajelor continue n cuante se numete discretizare
n valoare sau cuantificare.
De obicei,
s1 = smin, s2 = smin + s, ..., si = si1 + s, ..., sn = smax.
Mrimea s reprezint pasul sau intervalul de cuantificare. Valoarea con-
cret a intervalului de cuantificare depinde de natura fizic a sursei de informa-
ie, precizia de msurare, puterea de rezoluie a destinatarului etc.
De exemplu, pentru un termometru medical smin = 34o, smax = 42o i s = 0,1o. n
meteorologie smin = 60o, smax = +60o, s = 1o. Pentru vitezometrul unui automobil
smin = 0, smax = 150 km/h, s = 5 km/h.
Numrul eantioanelor m i numrul cuantelor n se determin din urmtoa-
rele relaii (fig. 2.4 b i c):

unde T este durata mesajului continuu.


ntruct cuantele s1, s2, ..., sn pot fi considerate mesaje discrete, cantitatea de
informaie ntr-un eantion

iar cantitatea de informaie ntr-un mesaj continuu:

De exemplu, pentru termometrul medical

iar pentru vitezometrul automobilului

Cantitatea de informaie dintr-o nregistrare audio, pentru care n = 256, t =


= 5 105 s i T = 45 min. este

58
Dac precizia de msurare i puterea de rezoluie a destinatarului cresc, pe-
rioada de eantionare t i pasul de cuantificare s pot fi micorate. n consecin-
, va crete i cantitatea de informaie dintr-un mesaj continuu.
Informaia mesajelor continue poate fi reprezentat printr-un set de cuvinte
binare. Pentru aceasta, cuantele s1, s2, ..., sn se codific exact la fel ca i oricare
alte mesaje discrete. De exemplu, indicaiile unui termometru medical (I 6,34 bii)
pot fi codificate cu un cod 7-poziional. Cel mai frecvent se utilizeaz codurile
numerice directe (tab. 2.2), cuvntul de cod reprezentnd numrul cuantei res-
pective. n unele aplicaii se utilizeaz codul Gray, care este insensibil la pertur-
baii.
Dispozitivul care transform mesajul continuu aplicat la intrare ntr-o succe-
siune de cuvinte de cod se numete convertor analog-numeric. Operaia in-
vers, i anume transformarea cuvintelor de cod aplicate la intrare n valorile
cuantelor respective, se efectueaz cu ajutorul convertoarelor numeric-ana-
logice. Utilizarea convertoarelor este necesar n cazurile n care informaia de
procesat este reprezentat prin mesaje continue: controlul proceselor tehnologi-
ce, dirijarea obiectelor aflate n micare, monitorizarea parametrilor fiziologici
n medicin, filtrarea i mixajul semnalelor audio etc.

ntrebri i exerciii
Care este diferena dintre sursele cu mesaje discrete i sursele cu mesaje continue?
Dai cteva exemple de surse cu mesaje continue. Concretizai intervalul n care
ia valori variabila ce definete sursa.
Explicai cum se efectueaz operaia de eantionare. Cum se alege perioada de
eantionare?
Explicai cum se efectueaz operaia de cuantificare. Cum se alege pasul de
cuantificare?
Cum influeneaz valorile perioadei de eantionare i ale pasului de cuantifica-
re cantitatea de informaie extras dintr-un mesaj continuu?
Altimetrul cu impulsuri al unui avion poate msura nlimi de la 100 m pn la
20 km. Eroarea de msurare nu depete 1 m. Pentru a efectua o msurare
snt necesare 103 s. Determinai cantitatea de informaie furnizat de altime-
tru timp de 5 ore de zbor.
Temperatura din interiorul unui reactor chimic se nregistreaz pe o band de
hrtie milimetric. Pe axa absciselor se indic timpul (1 mm reprezint o or),
iar pe axa ordonatelor temperatura (1 mm reprezint 10oC). Ct informaie
conine o nregistrare efectuat timp de 30 de zile, dac temperatura poate
varia de la 80 pn la 1000oC ?
Pentru nregistrarea sunetului se utilizeaz microfoane, tensiunea de ieire a
crora variaz de la 0 pn la 100 V. Aparatul de nregistrare nu distinge ten-
siunile valorile crora difer cu mai puin de 0,1 V. Pentru a asigura o
reproducere fidel, n fiecare secund se iau 40 000 de eantioane. Ct infor-
maie va furniza microfonul dat timp de 3 ore?
Care este destinaia convertoarelor analog-numerice i numeric-analogice?

59
Elaborai un program care introduce de la tastatur valorile curente ale ean-
tioanelor i afieaz pe ecran codurile cuantelor corespunztoare.
Elaborai un program care simuleaz funcionarea unui convertor nume-
ric-analog.

2.5. Cuantizarea imaginilor


Imagine se numete reprezentarea unui obiect, executat pe o suprafa prin
aciunea direct a utilizatorului sau prin intermediul unui echipament. Cu titlul
de exemplu amintim desenele, fotografiile, imaginile formate de diverse sisteme
optice, optico-mecanice sau optico-electronice: microscopul, telescopul, aparatele
cinematografice, televiziunea etc.
Pentru a evalua cantitatea de informaie, imaginea este mprit n microzo-
ne, numite de cele mai multe ori puncte sau pixeli. Descompunerea imaginii n
puncte se realizeaz cu ajutorul unui rastru (de la cuvntul latin raster grebl).
Rastrul reprezint o suprafa plan, n general dreptunghiular, pe care snt
trasate dou seturi de linii paralele, perpendiculare ntre ele (fig. 2.5). Densitatea
liniilor i, respectiv, densitatea punctelor caracterizeaz puterea de rezoluie a
echipamentelor pentru reproducerea sau formarea imaginilor.

Fig. 2.5. Descompunerea imaginii n microzone

De exemplu, pentru ilustraiile de gazet se folosesc rastre cu rezoluia 2430


linii/cm (576900 de puncte pe 1 cm2 ), iar pentru reproducerea tablourilor ras-
tre cu 5460 linii/cm. Rastrul vizualizatorului, adic desenul pe care-l formeaz
fasciculul de electroni pe ecranul tubului catodic, poate include 640 480, 800
600, 720 400, ..., 1024 1 024 de puncte.
Descompunerea imaginii n puncte (microzone) reprezint o procedu-
r de discretizare n spaiu.

60
n cazul imaginilor monocrome (alb-negru), fiecare microzon se descrie prin
luminana (strlucirea) sa, care n general este o mrime continu. Aceast mri-
me poate fi discretizat n valoare (cuantificat). Numrul cuantelor n va caracte-
riza puterea de rezoluie a echipamentelor pentru reproducerea sau formarea ima-
ginilor. Prin urmare, cantitatea de informaie a unei imagini monocrome:
I = mx my log2 n,
unde mx i my reprezint numrul de microzone ale rastrului respectiv pe orizon-
tal i vertical (fig. 2.5).
ntruct culorile pot fi redate prin suprapunerea a trei reprezentri ale acele-
iai imagini n rou, verde i albastru, cantitatea de informaie dintr-o imagine
color se determin din relaia:
I = 3 mx my log2 n.
Imaginile obiectelor n micare se discretizeaz n timp, de obicei 24 (cine-
matograful) sau 25 (televizorul) de cadre pe secund. Prin urmare, cantitatea de
informaie a unui film cu durata T se determin din relaia:
V = T f I,
unde f este frecvena cadrelor, iar I cantitatea de informaie dintr-un singur cadru.
De exemplu, n televiziune mx my = 625, n = 32 i f = 25 de cadre pe secund.
Un cadru color va conine:
I = 3 625 625 log2 32 5,6 Mbii.
Un film color cu durata de 1,5 ore va conine:
V = 1,5 3 600 25 I 791 Gbii.

Setul de cuvinte binare care reprezint inBormaia microzonelor se


numete imagine numeric. Operaia de transBormare a imaginii
ntr-un set de cuvinte binare se numete cuantizarea imaginii.
Imaginile preluate de camerele video se cuantizeaz cu ajutorul convertoare-
lor analog-numerice. Imaginile de pe hrtie pot fi cuantizate cu ajutorul unui dis-
pozitiv special, numit scaner. Acest dispozitiv conine celule fotosensibile, con-
vertoare analog-numerice i mecanisme de avansare a hrtiei.
Imaginile numerice se transform n imagini propriu-zise cu ajutorul convertoa-
relor numeric-analogice i al echipamentelor de formare a rastrului: tubul catodic i
sistemul de baleere n vizualizatoare, matricea de ace n imprimantele mecanice etc.

ntrebri i exerciii
Numii operaiile necesare pentru a cuantiza imaginea.
Care este destinaia rastrului? Din care considerente se alege densitatea linii-
lor unui rastru?
Cum se evalueaz cantitatea de informaie dintr-o imagine monocrom?
Cum pot fi redate culorile unei imagini multicolore? Cum se evalueaz cantita-
tea de informaie dintr-o imagine color?

61
Evaluai cantitatea de informaie dintr-o fotografie de ziar cu dimensiunile
10 10 cm, redat cu ajutorul unui rastru ce conine 24 de puncte/cm. Fiecare
punct poate avea urmtoarele nuane: alb, gri-deschis, gri-nchis, negru.
Ct informaie conine o fotografie color cu dimensiunile 20 20 cm, reprodus
cu ajutorul unui rastru ce conine 60 de puncte/cm? Pot fi redate pn la 256 de
niveluri de luminan ale punctelor respective.
Rastrul unei camere de luat vederi este format din 1024 1024 de puncte. Pot fi
redate pn la 64 de niveluri de luminan ale punctelor respective. Ct infor-
maie va conine un film video cu durata de 3 ore?
Imaginea numeric conine cte un cuvnt binar pentru fiecare punct al rastru-
lui unui vizualizator. Cte niveluri de luminan pot fi redate pe ecran dac
cuvintele imaginii numerice snt 3-poziionale? 5-poziionale? 8-poziionale?

2.6. Reprezentarea i transmiterea informaiei


Obiectul material folosit pentru pstrarea, transmiterea sau prelucrarea in-
formaiei se numete purttor de informaie. Deosebim purttori statici i
purttori dinamici de informaie.
Purttorii statici se utilizeaz pentru pstrarea informaiei sau, cu alte
cuvinte, pentru transmiterea ei n timp. Informaia nregistrat pe un purttor
static poate fi citit n scopul prelucrrii sau utilizrii ulterioare. Primii purt-
tori statici folosii de omenire au fost pietrele, plcile de lut ars, papirusul. Un alt
purttor static de informaie l constituie hrtia. Mesajele nregistrate pe hrtie
sub form de manuscrise, desene sau texte tiprite pot fi pstrate un timp foarte
ndelungat. n calculatoare, ca purttori statici, se utilizeaz:
hrtia pentru imprimantele mecanice, cu jet de cerneal, laser etc.;
straturile active ale benzilor, ale discurilor magnetice;
mediile reflectoare ale discurilor optice etc.
Transmiterea informaiei n spaiu se realizeaz cu ajutorul purttorilor
dinamici. n calitate de purttori dinamici tehnica actual folosete:
unde acustice n gaze (aer) sau lichide;
tensiuni i cureni electrici;
unde electromagnetice etc.
ntruct transmiterea informaiei se produce n spaiu i timp, cel puin o
mrime fizic a purttorului de informaie trebuie s se schimbe.
Se numete semnal variaia mrimii Bizice ce asigur transmiterea me-
sajelor. Caracteristica semnalului folosit pentru reprezentarea (descrie-
rea) mesajelor se numete parametru informaional al semnalului.
De exemplu, n transmisiunile radio i TV, n calitate de purttori se utilizea-
z undele electromagnetice. Amplitudinea sau frecvena acestor unde poate va-
ria n timp (fig. 2.6). n primul caz, parametrul informaional l constituie ampli-
tudinea oscilaiilor, iar n al doilea frecvena lor.
n calculatoarele electronice n calitate de purttor de informaie se folose-
te, de obicei, curentul electric, tensiunea i intensitatea curentului fiind para-

62
Fig. 2.6. Parametrii informaionali ai undelor electromagnetice:
a amplitudinea; b frecvena

metrii informaionali ai semnalului. Semnalele respective au formele prezenta-


te n figura 2.7. n cazul nivelurilor de tensiune, unei valori a tensiunii i se
asociaz cifra binar 0, iar alteia cifra binar 1. Cifrele binare 0 i 1 pot fi de
asemenea asociate, respectiv, cu absen sau prezen de impuls sau cu impuls
negativ i impuls pozitiv.
Semnalul se numete discret, dac parametrul inBormaional respec-
tiv poate lua numai un numr Binit de valori. Semnalul se numete
continuu dac parametrul inBormaional poate lua orice valoare ntr-un
anumit interval.

Fig. 2.7. Semnale utilizate n tehnica de calcul

63
De exemplu, semnalele din Bigura 2.6 snt semnale continue, iar semnalele
din Bigura 2.7 snt semnale discrete. Evident, semnalele discrete i continue snt
forme de reprezentare a mesajelor respective.
Orice sistem tehnic utilizeaz acele semnale care-i asigur o realizare ct
mai bun a funciilor pentru care a fost conceput. Calculatoarele actuale utili-
zeaz niveluri de tensiune, reelele telefonice cureni electrici, iar radioul i
televiziunea unde electromagnetice etc. Practica demonstreaz c semnalele
continue pot fi transmise la distane mult mai mari dect cele discrete. Prin
urmare, pentru a asigura legtura ntre calculatoarele aflate la distan, la
emisie semnalele discrete vor fi transformate n semnale continue. La recepie
se va realiza transformarea invers: semnalul continuu va fi transformat
ntr-un semnal discret.
Operaia prin care parametrul inBormaional al semnalului continuu se
modific n Buncie de valorile semnalului discret se numete modulare.
Dispozitivul tehnic care realizeaz operaia n cauz se numete modulator.
Pentru exemplificare, n Bigura 2.8 snt prezentate operaiile de modulare n am-
plitudine i frecven.
Operaia de extragere a semnalului discret dintr-un semnal continuu
n Buncie de procedeul de modulare adoptat se numete demodulare.
Dispozitivul tehnic care realizeaz operaia respectiv se numete demodu-
lator.

Fig. 2.8. Modularea semnalelor continue

64
Fig. 2.9. Schema detaliat a unui sistem de transmisie a informaiei

Schema detaliat a sistemului de transmisie a informaiei este prezentat n


Bigura 2.9.
Amintim destinaia componentelor sistemului examinat:
codificatorul transform mesajele emise de surs n cuvinte binare;
modulatorul transform semnalele discrete ce reprezint cuvintele binare
n semnale continue;
mediul fizic reprezint conductorii, fibrele optice, eterul etc. prin care se
propag semnalele continue;
demodulatorul transform semnalele continue n semnale discrete;
decodificatorul transform cuvintele binare n mesaje.
Evident, n cazul utilizrii codurilor corectoare i a codurilor detectoare de
erori, sistemul de transmisie va fi insensibil la perturbaii.
Caracteristica principal a oricrui sistem de transmisie a informaiei este
capacitatea de transmisie, exprimat n bii pe secund. Capacitatea de trans-
misie depinde de caracteristicile fizice ale componentelor sistemului, metodele de
modulare-demodulare, caracteristicile statistice ale perturbaiilor. De exemplu,
capacitatea de transmisie a unui canal telefonic este de circa 34 Kbit/s; capacita-
tea unui canal radio, cu unde centimetrice circa 1 Gbit/s; capacitatea unui canal
optic 1 Tbit/s.

ntrebri i exerciii
Care este deosebirea dintre purttorii statici i purttorii dinamici de informaie?
Determinai tipul urmtorilor purttori de informaie:
a) cartele perforate;
b) unde ultrasonore;
c) benzi perforate;
d) unde acustice;
e) pelicule fotosensibile;

65
B) unde gravitaionale;
g) hrtie fotografic.
Numii parametrii informaionali ai semnalelor emise de urmtoarele surse:
a) microfonul;
b) staia de radio, unde lungi, medii sau scurte;
c) instrumentul muzical;
d) staia de radio, unde ultrascurte;
e) camera de luat vederi.
Descriei purttorii de informaie i semnalele utilizate n calculatoarele actuale.
Explicai operaiile de modulare i demodulare a semnalelor.
Care este destinaia modulatorului? Dar a demodulatorului?
n figura 2.8 snt redate semnalele continue ce reprezint cuvntul binar 1001101.
n codul ASCII (tab. 2.3) acestui cuvnt i corespunde simbolul M. Redai pe un
desen semnalele continue ce corespund urmtoarelor simboluri:
a) >; e) <;
b) r; f) K;
c) W; g) a;
d) 9; h) @.

De ce depinde capacitatea de transmisie a canalului? n ce uniti se msoar ea?


Cum influeneaz perturbaiile asupra capacitii de transmisie a canalului?

Test de autoevaluare nr. 2


1. Scriei mulimea cuvintelor 3-poziionale formate din cifrele binare {0, 1}.
2. n codul propus de filosoful englez Francis Bacon literele mari ale alfabetului latin se
reprezint astfel:
A 00000, B 00001, C 00010, D 00011, ..., Z 11001.
Decodificai, utiliznd codul Bacon, cuvintele binare 00010, 00000, 00010, 00001. Codifi-
cai, utiliznd acelai cod, cuvntul BAC.
3. Se consider o surs de informaie, mulimea de mesaje posibile ale creia este format
din literele mari i mici ale alfabetului latin S = {A, B, C, ..., Z, a, b, c, ..., z}. Determinai
lungimea minim m a cuvintelor binare ce vor asigura codificarea i decodificarea univoc a
mesajelor.
4. Determinai lungimea minim m a cuvintelor binare ce vor asigura codificarea i decodi-
ficarea univoc a mesajelor numerice ale unui calendar electronic. Mesajele respective au
forma zz.ll.aa, unde zz reprezint ziua, ll luna, iar aa anul (ultimele dou cifre).
5. Ct informaie se conine ntr-un simbol al codului ASCII extins?
6. Considernd c textul va fi reprezentat n codul ASCII extins, determinai cantitatea de
informaie ntr-o dictare scris timp de 10 min. de un elev, care este capabil s scrie circa 200
de caractere pe minut.

66
7. Elaborai un program PASCAL care afieaz pe ecran codurile caracterelor citite de la
tastatur.
8. Elaborai un program PASCAL care afieaz pe ecran caracterele ce corespund coduri-
lor citite de la tastatur.
9. Calculai ct informaie conine o fotografie color cu dimensiunile 10 10 cm, reprodu-
s cu ajutorul unui rastru ce conine 30 de puncte/cm. Pot fi redate pn la 128 de niveluri de
luminan ale punctelor respective.
10. Selectai din lista ce urmeaz purttorii statici de informaie:

a) cartela perforat; e) unda electromagnetic;


b) unda ultrasonor; f) cartela magnetic;
c) banda magnetic; g) curentul electric;

d) pelicula fotosensibil; h) hrtia pentru imprimant.

11*. Termometrul medical asigur msurarea temperaturilor din intervalul 3442o cu o


precizie de 0,1o. Pe parcursul unei zile temperatura pacientului a fost msurat de 3 ori.
Ct informaie conin rezultatele acestor msurri?
12*. Calculai ct informaie conine o nregistrare audio cu perioada de eantionare t =
= 3 105 s, durata de T = 30 min. i numrul de cuante n = 128.
13*. Indicai corespondena ntre noiunile din coloana stng i definiiile din coloana dreapt:
(a) o tire, o comunicare verbal sau scris;
(1) cod;
(b) o mulime de numere binare;
(2) semnal; (c) o mulime ordonat de semne;

(3) informaie; (d) un anumit numr de bii;


(e) regula de transformare a mesajelor n cuvinte binare;
(4) alfabet;
(f) variaia mrimii fizice ce asigur transmiterea mesajelor.

14*. Indicai corespondena ntre denumirile componentelor (coloana din stnga) ale unui
sistem de transmisie a informaiei i destinaia acestora (coloana din dreapta):
(a) transform semnale continue n semnale discrete;
(1) codificatorul;
(b) transform secvenele sonore n cuvinte binare;
(2) modulatorul; (c) transform mesajele emise de surs n cuvinte binare;

(3) demodulatorul; (d) transform imaginile grafice n cuvinte binare;


(e) transform cuvintele binare n mesaje;
(4) decodificatorul;
(f) transform semnalele discrete n semnale continue.

*
Numai pentru profilul real.

67
Capitolul 3
BAZELE ARITMETICE ALE TEHNICII
DE CALCUL

3.1. Sisteme de numeraie


n calculatoarele digitale informaia de orice categorie este reprezentat, sto-
cat i prelucrat n form numeric. Numerele se reprezint prin simboluri ele-
mentare denumite cifre.
Totalitatea regulilor de reprezentare a numerelor, mpreun cu muli-
mea cifrelor poart denumirea de sistem de numeraie. Numrul cifre-
lor definete baza sistemului de numeraie.
Prezentm cteva exemple de sisteme de numeraie:
sistemul zecimal este un sistem de numeraie n baza 10, numrul de cifre
utilizate fiind 10, respectiv, 0, 1, 2, ..., 9;
sistemul binar este un sistem de numeraie n baza 2, numrul de cifre
utilizate este 2, adic 0 i 1. Cifrele respective se numesc cifre binare sau bii;
sistemul ternar este un sistem de numeraie n baza 3, numrul de cifre
utilizate fiind 3, respectiv, 0, 1 i 2;
sistemul octal este un sistem de numeraie n baza 8, coninnd 8 cifre: 0, 1,
2, ..., 7;
sistemul hexazecimal este un sistem de numeraie n baza 16 i conine
16 cifre: 0, 1, 2, ..., 9, A (zece), B (unsprezece), C (doisprezece), D (treisprezece),
E (paisprezece), F (cincisprezece).
n tabelul 3.1 snt date reprezentrile unora i acelorai numere n diferite baze.
Tabelul 3.1
Reprezentarea unor numere n diferite baze
Hexa- Hexa-
Zecimal Binar Octal zecimal Zecimal Binar Octal zecimal
0 0 0 0 7 111 7 7
1 1 1 1 8 1000 10 8
2 10 2 2 9 1001 11 9
3 11 3 3 10 1010 12 A
4 100 4 4 11 1011 13 B
5 101 5 5 12 1100 14 C
6 110 6 6 13 1101 15 D

68
Hexa- Hexa-
Zecimal Binar Octal zecimal Zecimal Binar Octal zecimal
14 1110 16 E 50 110010 62 32
15 1111 17 F ... ... ... ...
16 10000 20 10 60 111100 74 3C
17 10001 21 11 ... ... ... ...
18 10010 22 12 70 1000110 106 46
19 10011 23 13 ... ... ... ...
20 10100 24 14 80 1010000 120 50
... ... ... ... ... ... ... ...
30 11110 36 1E 90 1011010 132 5A
... ... ... ... ... ... ... ...
40 101000 50 28 100 1100100 144 64
... ... ... ... ... ... ... ...

Regula de reprezentare a numerelor n sistemul zecimal rezult din ur-


mtorul exemplu:
(3856,43)10 = 3 103 + 8102 + 5101 + 6100 + 4 101 + 3102.
Se observ c n aceast reprezentare semnificaia (valoarea) fiecrei cifre de-
pinde de poziia pe care o ocup n numr. De exemplu, cifra 3 se ntlnete de 2
ori: prima dat are semnificaia 3000, iar a doua oar semnificaia 0,03.
Sistemele n care semnificaia cifrelor depinde de poziia ocupat n
cadrul numerelor se numesc sisteme de numeraie poziionale.
Presupunem c numrul N are partea ntreag format din n+1 cifre, iar par-
tea fracionar din m cifre:
N = cncn1 ... c1c 0 ,c1c2 ... cm .
Valoarea acestui numr se evalueaz n funcie de baza sistemului:
(N )b = cnbn + cn1bn1 + ... + c1b1 + c0b0 + c1b1 + c2b2 + ... + cmbm.
Efectund calculele respective, se va realiza conversiunea numrului (N)b
din baza b n sistemul zecimal.
De exemplu,
(101,1)10 = 1102 + 0101 +1100 + 1101 = 101,1;
(101,1)2 = 122 + 021 +120 + 121 = 5,5;
(101,1)3 = 132 + 031 +130 + 131 = 10,333...;
(101,1)8 = 182 + 081 +180 + 181 = 65,125;
(101,1)16 = 1162 + 0161 +1160 + 1161 = 257,0625.

69
Formal, sistemul zecimal nu prezint niciun avantaj deosebit fa de alte siste-
me de numeraie. Se presupune c acest sistem a fost adoptat nc din cele mai
vechi timpuri datorit faptului c procesul de numrare a folosit ca instrumente
iniiale degetele minilor.
Un calculator poate fi prevzut s funcioneze n orice sistem de numeraie.
Pe parcursul dezvoltrii tehnicii de calcul, s-a stabilit c cel mai avantajos este
sistemul binar. Acest sistem a fost preferat din urmtoarele motive:
simplitatea regulilor pentru operaiile aritmetice i logice;
materializarea fizic a cifrelor n procesul prelucrrii sau stocrii numerelor
se face mai uor pentru dou simboluri dect pentru zece: perforatneperforat,
contact nchiscontact deschis, prezen sau absen de curent etc.;
circuitele care trebuie s diferenieze numai ntre dou stri snt mai sigure
n funcionare dect cele care trebuie s diferenieze ntre zece stri.
Menionm c n procesul dezvoltrii civilizaiei umane au fost create i sis-
teme de numeraie nepoziionale. Drept exemplu poate servi sistemul ro-
man, care utilizeaz cifrele I, V, X, L, C, D, M. ntruct regulile de reprezentare
a numerelor i de efectuare a operaiilor aritmetice snt foarte complicate, siste-
mele nepoziionale au o utilizare foarte restrns.

ntrebri i exerciii
Cum se definete un sistem de numeraie?
Care este deosebirea dintre sistemele de numeraie poziionale i nepoziionale?
Dai exemple de sisteme de numeraie poziionale. Cum se definete baza siste-
mului de numeraie?
Evaluai numrul (101,1)b scris n urmtoarele sisteme de numeraie:
b = 4, 5, 6, 7, 9, 11, 12, 13, 14 i 15.
Evaluai numerele ce urmeaz:
a) (328)9; i) (1010,01)3; q) (341,02)8;
b) (516)7; j) (201,12)4; r) (ABCD)16;
c) (1010,01)2; k) (341,02)6; s) (328)16;
d) (201,12)3; l) (1111)16; t) (516)16;
e) (341,02)5; m) (328)11; u) (1010,01)16;
f) (FFFF)16; n) (516)9; v) (201,12)16;
g) (328)10; o) (1010,01)8; w) (341,02)12;
h) (516)8; p) (201,12)8; x) (F001)16.

Care factori au contribuit la utilizarea n tehnica de calcul a sistemului binar?


Elaborai un program PASCAL care evalueaz numerele scrise n baza b, b10.
Elaborai un program care evalueaz numerele scrise n baza b, 10b36.

70
3.2. Conversiunea numerelor dintr-un sistem n altul
Conversiunea numrului (N)b n echivalentul su zecimal se efectueaz con-
form formulei din paragraful precedent:
(N )b = cnbn + cn1bn1 + ... + c1b1 + c0b0 + c1b1 + c2b2 + ... + cmbm.
Conversiunea numrului zecimal (N)10 n echivalentul su n baza b se efectu-
eaz conform urmtoarelor reguli:
se mparte la baza respectiv partea ntreag i cturile obinute dup fieca-
re mprire, pn se obine ctul zero; rezultatul conversiunii prii ntregi este
constituit din resturile obinute, considerate n ordinea invers de apariie;
se nmulete cu baza partea fracionar, apoi toate prile fracionare obi-
nute din produsul anterior, pn cnd partea fracionar a unui produs este zero
sau pn la obinerea unui numr de cifre fracionare dorit; rezultatul conversi-
unii prii fracionare este constituit din prile ntregi ale produselor, conside-
rate n ordinea apariiei.
S analizm cteva exemple.
1) S se transforme numrul zecimal 53,40625 n echivalentul su binar.
53 : 2 = 26 + 1/2;
26 : 2 = 13 + 0/2;
13 : 2 = 6 + 1/2;
6 : 2 = 3 + 0/2;
3 : 2 = 1 + 1/2;
1 : 2 = 0 + 1/2.
Prin urmare, partea ntreag a numrului binar va fi 110101.
0,40625 2 = 0,8125;
0,8125 2 = 1,625;
0,625 2 = 1,25;
0,25 2 = 0,5;
0,5 2 = 1,0.
Partea fracionar a numrului binar va fi 01101. Prin urmare,
(53,40625)10 = (110101,01101)2.
2) S se transforme numrul 23,7 din sistemul zecimal n sistemul binar.
23 : 2 = 11 + 1/2;
11 : 2 = 5 + 1/2;
5 : 2 = 2 + 1/2;
2 : 2 = 1 + 0/2;
1 : 2 = 0 + 1/2;

0,7 2 = 1,4;
0,4 2 = 0,8;

71
0,8 2 = 1,6;
0,6 2 = 1,2;
0,2 2 = 0,4;
0,4 2 = 0,8;
...
Se observ c operaia poate fi continuat la infinit, adic nu exist o conver-
siune exact a numrului analizat. Prin urmare,
(23,7)10 = (10111,101100...)2.
3) S se efectueze conversiunea numrului 1996,0625 din sistemul zecimal n
sistemul octal.
1996 : 8 = 249 + 4/8;
249 : 8 = 31 + 1/8;
31 : 8 = 3 + 7/8;
3 : 8 = 0 + 3/8;

0,0625 8 = 0,5;
0,5 8 = 4.
Prin urmare,
(1996,0625)10 = (3714,04)8.
4) S se transforme numrul 2914,25 din sistemul zecimal n sistemul hexazecimal.
2914 : 16 = 182 + 2/16;
182 : 16 = 11 + 6/16;
11 : 16 = 0 + 11/16;

0,25 16 = 4.
Prin urmare,
(2914,25)10 = (B62,4)16.

ntrebri i exerciii
Cum se efectueaz conversiunea unui numr dintr-un sistem cu baza b n siste-
mul zecimal?
Transformai n sistemul zecimal numerele ce urmeaz:
a) (100001,01111)2; e) (AAA,BBB)16; i) (124,521)7;
b) (328,678)9; f) (EE,00F)16; j) (4231,124)5;
c) (100,100)16; g) (1221,1112)3; k) (50,505050)6;
d) (10,01)16; h) (1321,1312)4; l) (7777,001)8.

72
Cum se efectueaz conversiunea unui numr zecimal n echivalentul su n
baza b?
Transformai n sistemul binar numerele zecimale ce urmeaz:
a) 13,889; e) 93,447; i) 58,749;
b) 38,668; f) 70,212; j) 4,345;
c) 53,536; g) 8,347; k) 3,156;
d) 29,261; h) 39,764; l) 91,428.
Verificai rezultatele efectund conversiunea binar-zecimal.
Transformai n sistemul octal numerele zecimale ce urmeaz:
a) 358,932; e) 886,526; i) 795,128;
b) 479,093; f) 971,258; j) 680,895;
c) 591,241; g) 515,914; k) 256,453;
d) 649,113; h) 347,607; l) 838,261.
Verificai rezultatele efectund conversiunea octal-zecimal.
Transformai n sistemul hexazecimal numerele zecimale ce urmeaz:
a) 1424,699; e) 5818,961; i) 4985,995;
b) 3517,315; f) 9336,491; j) 9721,678;
c) 9607,201; g) 3442,722; k) 5292,837;
d) 8974,664; h) 4521,449; l) 2734,592.
Verificai rezultatele, efectund conversiunea hexazecimal-zecimal.
Elaborai un program care transform numerele zecimale n echivalentele res-
pective din sistemul de numeraie n baza b, b<10.
Elaborai un program pentru transformarea numerelor zecimale n numere din
sistemul n baza b, 10<b36.

3.3. Conversiunea din binar n octal, hexazecimal


i invers
ntruct 8 = 23, conversiunea binar-octal i octal-binar se poate face
direct. Orice cifr octal se reprezint prin 3 cifre binare:
0 = 000; 4 = 100;
1 = 001; 5 = 101;
2 = 010; 6 = 110;
3 = 011; 7 = 111.

73
Dac este dat un numr octal, pentru conversiunea lui n binar se va scrie
fiecare cifr octal prin 3 cifre binare.
Exemple:
(247,315)8 = (010 100 111, 011 001 101)2;
(512,07)8 = (101 001 010, 000 111)2;
(3,146)8 = (011, 001 100 110)2.
Dac este considerat un numr binar, pentru conversiunea lui n octal se vor
grupa cte 3 cifre binare pornind de la poziia virgulei spre stnga pentru partea
ntreag, respectiv dreapta pentru partea fracionar, aflnd corespondentul n
octal. Pentru completarea unui grup de trei cifre binare, zerourile din faa num-
rului, respectiv dup ultima cifr a prii fracionare, nu modific semnificaia
numrului.
Exemple:
(11,011101)2 = (011,011 101)2 = (3,35)8;
(10,11011)2 = (010,110 110)2 = (2,66)8;
(1001,01011)2 = (001 001,010 110)2 = (11,26)8.
n mod similar se procedeaz i n cazul sistemului hexazecimal, baza cruia
este 16 = 24. Orice cifr hexazecimal se reprezint prin 4 cifre binare:
0 = 0000; 8 = 1000;
1 = 0001; 9 = 1001;
2 = 0010; A = 1010;
3 = 0011; B = 1011;
4 = 0100; C = 1100;
5 = 0101; D = 1101;
6 = 0110; E = 1110;
7 = 0111; F = 1111.
Exemple:
(6AF3,B2)16 = (0110 1010 1111 0011, 1011 0010)2;
(6F1,3CA)16 = (0110 1111 0001, 0011 1100 1010)2;
(11,01101)2 = (0011, 0110 1000)2 = (3,68)16;
(10001,01011)2 = (0001 0001, 0101 1000)2 = (11,58)16.

74
ntrebri i exerciii
Cum se efectueaz conversiunea octal-binar i binar-octal?
Transformai n sistemul binar numerele octale ce urmeaz:
a) 15,006; e) 21,626; i) 42,322;
b) 13,06; f) 6,3415; j) 44,523;
c) 43,15; g) 771,25; k) 32,271;
d) 10,01; h) 12,121; l) 73,536.

Transformai n sistemul octal numerele binare ce urmeaz:


a) 1,1; e) 1101,1; i) 10110,001011;
b) 101,10101; f) 1,000001; j) 11111,0010001;
c) 1111,000101; g) 11110001,101; k) 11001,00101;
d) 10101110,1001; h) 0,00001; l) 1011,0001011.

Elaborai un program pentru conversiunea binar-octal i octal-binar.


Cum se efectueaz conversiunea hexazecimal-binar i binar-hexazecimal?
Transformai n sistemul binar numerele hexazecimale ce urmeaz:
a) FFF,AAA; e) 3,1AB; i) C,DC1;
b) F,1A; f) AABB,0000F; j) 942,14A;
c) 1,009; g) 81,91A; k) CAA,B;
d) 0,00F; h) 10,01; l) DAD,ABA.

Transformai n sistemul hexazecimal numerele binare ce urmeaz:


a) 1001011101,01101; e) 1011101,011; i) 1011,0101;
b) 111,01; f) 11,001011101; j) 11001,0110;
c) 1,1; g) 11110,01111; k) 0,00001;
d) 10101110111,00101; h) 111011,0010000; l) 101,01011.

Elaborai un program pentru conversiunea binar-hexazecimal i hexazecimal-


binar.
Transformai n sistemul hexazecimal numerele octale ce urmeaz:
a) 13,146; e) 451,35; i) 644,031;
b) 613,12; f) 12,357; j) 5,4312;
c) 541,723; g) 53,627; k) 675,542;
d) 104,527; h) 572,004; l) 372,271.

75
Transformai n sistemul octal numerele hexazecimale ce urmeaz:
a) AA; e) 15F,6A1; i) BBB;
b) A2B,1F; B) 3,281; j) AF,31B;
c) F,3A; g) 9,AF; k) 2C,ACB;
d) FFFF; h) 3,418F; l) A1B,39E.

Elaborai un program pentru conversiunea octal-hexazecimal i hexazecimal-


octal.

3.4. Operaii aritmetice n binar


Operaiile aritmetice cu numerele binare snt foarte simple. Regulile de opera-
re n sistemul binar snt prezentate n tabelele 3.2, 3.3 i 3.4.
Exemple:
Tabelul 3.2 Tabelul 3.3 Tabelul 3.4
Adunarea binar Scderea binar nmulirea binar
0+0=0 00=0 000=0
0+1=1 10=1 001=0
1+0=1 11=0 100=0
1 + 1 = 10 10 1 = 1 101=1

Exemple:
1) Se propune adunarea n binar a numerelor zecimale 29 i 43:
(29)10 = (11101)2;
(43)10 = (101011)2;
11101
+
101011
1001000
VeriBicare: (1001000)2 = (72)10, rezultatul este corect, ntruct (29)10 + (43)10 =
= (72)10.
2) Se propune scderea n binar a numrului zecimal 37 din numrul zeci-
mal 46:
(37)10 = (100101)2;
(46)10 = (101110)2;
101110
100101
1001
VeriBicare: (1001)2 = (9)10, rezultatul este corect, ntruct (46)10 (37)10 = (9)10.

76
3) Se propune nmulirea n binar a numerelor zecimale 3,25 i 7,125:
(3,25)10 = (11,01)2;
(7,125)10 = (111,001)2;
11,01

111,001
1101
0000
0000
1101
1101
1101
10111,00101
VeriBicare: (10111,00101)2 = (23,15625)10, rezultatul este corect, ntruct (3,25)10
(7,125)10 = (23,15625)10.
4) Se propune mprirea n binar a numrului zecimal 211 la numrul zeci-
mal 3:
(211)10 = (11010011)2;
(3)10 = (11)2;
11010011 11
11 1000110
00100
11
11
11
01
Deci 11010011 : 11=1000110, rest 1.
VeriBicare: (1000110)2 = (70)10, rezultatul este corect, ntruct (211)10 : (3)10 =
= (70)10 + (1)10.
Menionm c att la nmulire, ct i la mprire, fixarea virgulei care despar-
te partea ntreag de cea fracionar se face la fel ca i n sistemul de numeraie
zecimal.

ntrebri i exerciii
Cum se execut operaiile aritmetice n sistemul binar?
Calculai n sistemul binar:
a) 34 + 251; d) 14 8; g) 2015 + 1995;
b) 68 7; e) 63 : 3; h) 28,5 + 0,75;
c) 1512 + 620; f) 1996 51; i) 63,125 4,125;

77
j) 3,0625 2,125; n) 32 : 2; r) 401 4;
k) 0,5 0,5; o) 32 : 16; s) 32 : 4;
l) 1 : 0,5; p) 401 8; t) 401 2;
m) 40 : 0,125; q) 32 : 8; u) 933 : 3.
Numerele analizate snt scrise n sistemul zecimal.
Elaborai un program pentru adunarea i scderea numerelor binare.
Elaborai un program pentru nmulirea i mprirea numerelor binare.

3.5. Reprezentarea numerelor naturale n calculator


Calculatoarele actuale utilizeaz sistemul de numeraie binar. Reprezentarea
numerelor naturale N = {0, 1, 2, ...} se realizeaz pe un numr fix de poziii bina-
re, de regul, 8, 16, 32 sau 64 (fig. 3.1 ).

Fig. 3.1. Reprezentarea numerelor naturale pe n poziii binare

n poziiile 0, 1, ..., n1 snt nscrise cifrele binare ale numrului natural


reprezentat n sistemul de numeraie binar. Alinierea numerelor binare se rea-
lizeaz la dreapta, eventualele zerouri nesemnificative snt plasate n faa nu-
mrului binar.
Drept exemplu, n figura 3.2 este redat reprezentarea numrului natural
1039 = (10000001111)2
pe un numr de 16 poziii binare.

Fig. 3.2. Reprezentarea numrului natural 1039 pe 16 poziii binare


Numrul maxim ce poate fi reprezentat pe n poziii binare (fig. 3.3 ) este
1 20 + 1 21 + 1 22 + ... + 1 2n1 = 2n 1.

78
Fig. 3.3. Reprezentarea numrului natural maxim pe n poziii binare

Prin urmare, pe n poziii binare pot fi reprezentate numere naturale din inter-
valul [0; 2n1].

ntrebri i exerciii
Cum se reprezint numerele naturale n calculator?
Reprezentai numerele naturale 3, 112, 191, 204, 255 pe 8 poziii binare.
Reprezentai numerele naturale 3, 255, 1024, 2048, 4096, 65535 pe 16 poziii binare.
Calculai numerele naturale maxime ce pot fi reprezentate pe 4, 8, 12, 16, 24, 32
i 64 de poziii binare.

3.6. Reprezentarea numerelor ntregi


n calculator nu exist posibilitatea introducerii directe a semnelor + i , ata-
ate numerelor pozitive i negative. Din acest motiv, reprezentarea semnului nu-
mrului x se face cu ajutorul unei cifre binare, denumit cifr-semn, aezat n
poziia n1 (fig. 3.4):

Fig. 3.4. Reprezentarea numerelor ntregi pe n poziii binare

Numerele cu semn se reprezint cel mai des nu n sistemul binar direct, ci


ntr-un sistem binar codificat care ofer anumite avantaje n executarea opera-
iilor aritmetice cu numere algebrice. Din acest punct de vedere, se cunosc trei
moduri de reprezentare, denumite coduri binare pentru numere algebrice.
Codul direct (codul mrime i semn). Scrierea unui numr n acest cod este
foarte simpl: n cifra-semn se scrie 0, dac numrul este pozitiv, i 1, dac el este
negativ; n partea de valoare se nscrie numrul n sistemul binar obinuit.

79
Drept exemplu, n figura 3.5 snt redate reprezentrile numerelor +52 i 52 pe
8 poziii binare.

Fig. 3.5. Reprezentarea numerelor +52 i 52 n cod direct

n codul direct, pe n poziii binare se pot reprezenta numere ntregi pozitive i


negative N, astfel nct:
(2n1 1) N (2n1 1).
Menionm c n codul direct exist dou reprezentri binare pentru numrul 0:
00...0 i 10...0. Codul direct este rar utilizat n calculatoare, deoarece necesit algo-
ritmi complicai de executare a operaiilor aritmetice i verificare a rezultatelor.
Codul invers. Pentru numerele pozitive scrierea n cod invers este identic cu
cea din codul direct. Dac numrul este negativ, el se scrie mai nti ca i cum ar fi
pozitiv, apoi se inverseaz fiecare cifr binar, adic 1 devine 0 i 0 devine 1.
n figura 3.6 snt redate reprezentrile numerelor +52 i 52 n cod invers pe
8 poziii binare.
Se poate uor constata c intervalul numerelor ntregi N care se pot reprezen-
ta n cod invers este acelai ca i pentru reprezentarea n cod direct, iar numrul
0 are dou reprezentri binare: 00...0 i 11...1.

Fig. 3.6. Reprezentarea numerelor +52 i 52 n cod invers

80
Codul complementar. n acest cod numerele pozitive au aceeai reprezentare
ca i n codul direct i codul invers. Dac numrul este negativ, el se scrie mai nti n
codul invers, apoi se adun 1 la cifra cea mai puin semnificativ (poziia binar 0).
Drept exemplu, n figura 3.7 snt redate reprezentrile numerelor +52 i 52
n cod complementar.

Fig. 3.7. Reprezentarea numerelor +52 i 52 n cod complementar

Codul complementar este utilizat n marea majoritate a calculatoarelor datori-


t facilitilor pe care le ofer la efectuarea operaiilor aritmetice i uurinei cu
care se face verificarea rezultatelor. n acest cod pe n poziii binare pot fi repre-
zentate numere ntregi din intervalul [2n1, 2n1 1].

ntrebri i exerciii
Cum pot fi reprezentate n calculator numerele ntregi? Explicai cum se scriu
numerele negative n cod direct, cod invers i cod complementar.
Reprezentai n cod direct pe 8 poziii binare:
a) +12; d) 12; g) +21;
b) 21; e) 64; h) 68;
c) +68; f) +105; i) 112.

Reprezentai n cod invers pe 8 poziii binare:


a) +10; d) 10; g) +65;
b) 65; e) +101; h) 101;
c) +112; f) 112; i) 105.

81
Reprezentai n cod complementar pe 8 poziii binare:
a) +40; e) 40; i) +16;
b) +27; f) 27; j) +101;
c) +109; g) 109; k) +111;
d) 16; h) 101; l) 111.
Elaborai un program care afieaz pe ecran reprezentrile n cod direct, cod
invers i cod complementar ale numerelor ntregi introduse de la tastatur pen-
tru n = 8, 16 i 32.
Cum se reprezint numrul 0 n cod direct, cod invers i cod complementar?
Cte reprezentri are numrul 0 n codurile examinate?
Determinai numrul maxim ce poate fi reprezentat pe n poziii binare n cod
direct, cod invers i cod complementar.

3.7. Reprezentarea numerelor reale


Numerele reale se reprezint n calculator sub form fracionar prin interme-
diul reprezentrii n virgul fix sau n virgul mobil (virgul flotant).
Reprezentarea n virgul fix. n acest caz se consider c toate numerele
au virgula plasat n aceeai poziie, chiar dac acest lucru nu corespunde formei
externe de reprezentare. Procesul de translatare din forma extern n forma in-
tern i invers se realizeaz cu ajutorul unor coeficieni de scalare alei n mod
corespunztor de programator.
De obicei, se consider c virgula este plasat imediat dup poziia cifrei-semn,
caz n care numerele snt fracii pure (fig. 3.8).

Fig. 3.8. Reprezentarea numerelor reale n virgul fix

Virgula nsi nu este materializat fizic n calculator. Din figura 3.8 rezult c
pe n poziii binare pot fi reprezentate numere reale, valoarea absolut a crora este
0,00...0 |x| 0,111
sau, n sistemul zecimal,
0 |x| 1 2(n1).

82
Ca i n cazul numerelor ntregi, numerele subunitare cu semn pot fi reprezen-
tate, cu unele modificri, n cod direct, cod invers sau cod complementar.
Drept exemplu, n figura 3.9 este redat reprezentarea numerelor
+ 0,9375 = + 15/16 = (0,1111)2,
0,9375 = 15/16 = (0,1111)2
n virgul fix pe 8 poziii binare n cod direct.

Fig. 3.9. Reprezentarea numerelor +0,9375 i 0,9375 n virgul fix n cod direct

Avantajul principal al reprezentrii n virgul fix const n faptul c operaii-


le aritmetice cu numere reale pot fi efectuate de dispozitivul aritmetic destinat
operrii cu numere ntregi.
Reprezentarea n virgul mobil. Operaiile n virgul fix snt comode
pentru circuitele omogene de date, cnd toate numerele reale snt subunitare. ns
aceast reprezentare este ineficient n calculele tiinifice, unde se lucreaz si-
multan cu numere foarte mari i numere foarte mici al cror ordin de mrime
adesea este imprevizibil. Pentru astfel de probleme se utilizeaz reprezentarea n
virgul mobil.
Numerele reprezentate n virgul mobil pot fi numere ntregi sau fracionare
a cror valoare este dat de relaia:
x = M bE,
unde b este valoarea bazei, M este un numr subunitar numit mantis, iar E
este un exponent. n calculatoarele actuale se utilizeaz b = 2 sau 16.
Numrul reprezentat n virgul mobil este normalizat dac prima cifr dup
virgul a mantisei este diferit de zero.
Exemple:
1) Numrul 23 se va exprima n virgul mobil astfel:
23 = (10111)2 = 0,1011125,
unde M = 0,10111, b = 2, E = 5.

83
2) Numrul 4,9375 se scrie n virgul mobil n felul urmtor:
4,9375 = (100,1111)2 = 0,100111123,
M = 0,1001111, b = 2, E = 3.
3) Numrul 0,375 se scrie n virgul mobil dup cum urmeaz:
0,375 = ( 0,011)2 = 0,1121,
M = 0,11, b = 2, E = 1.
Se observ c poziia real a virgulei n cadrul numrului depinde de valoarea
exponentului, adic virgula este mobil (flotant).
Exist mai multe variante de reprezentare a mantisei i a exponentului pe n
poziii binare. n figura 3.10 este redat reprezentarea n virgul mobil n for-
matul exponent-mantis.

Fig. 3.10. Reprezentarea n virgul mobil, formatul exponent-mantis

Numrul poziiilor binare nE alocate exponentului determin domeniul de m-


rime al numerelor care pot fi reprezentate, n timp ce numrul biilor pentru
mantis nM determin precizia de exprimare a numrului. n calculatoarele ac-
tuale nE = 6...15 i nM = 24...64, fapt ce permite reprezentarea numerelor ntr-un
domeniu foarte larg al ordinului de mrime.
n figura 3.11 este redat reprezentarea numerelor n formatul caracteris-
tic-mantis.

Fig. 3.11. Reprezentarea n virgul mobil, formatul caracteristic-mantis

Caracteristica C constituie o form de exprimare a exponentului E i se deter-


min din relaia
C = E + K.

84
n calculatoarele personale
nc 1
K=2 1,
unde nC este numrul de poziii binare alocate caracteristicii. n aceast repre-
zentare caracteristica, spre deosebire de exponent, nu poate lua valori negative,
fapt ce simplific structura dispozitivelor aritmetice.
n particular, pentru n = 8, caracteristica este calculat astfel:
C = E + 127,
indicnd practic semnul exponentului:
dac C 127, atunci E 0;
dac C < 127, atunci E < 0.
n tabelul 3.5 snt prezentate formatele caracteristic-mantis, utilizate n
majoritatea calculatoarelor personale.
Tabelul 3.5
Formatele caracteristic-mantis n calculatoarele personale
Denumirea Precizia mantisei, Domeniul de mri-
n nC nM
formatului cifre zecimale me al numerelor
Simpl precizie 32 8 23 6 sau 7 1037...1038
Dubl precizie 64 11 52 15 sau 16 10307...10308
Precizie extins 80 15 64 19 104932...104932

ntruct conform condiiei de normalizare, prima cifr a mantisei ntotdeauna


este cifra 1, acest bit poate s se reprezinte (s ocupe o poziie) sau nu n memoria
calculatorului. n cazul n care nu se reprezint, acest bit se numete bit ascuns.
Accentum c tehnica bitului ascuns se refer doar la reprezentarea numerelor n
memoria calculatorului, nu i la operaiile efectuate de dispozitivul aritmetic.

ntrebri i exerciii
Care este deosebirea dintre reprezentarea n virgul fix i reprezentarea n
virgul mobil?
Reprezentai n virgula fix pe 8 poziii binare n cod direct:
a) +0,875; e) 0,875; i) +0,125;
b) 0,125; f) +0,3; j) 0,3;
c) +0,4; g) 0,4; k) +0,15625;
d) 0,15625; h) +0,21875; l) 0,21875.

Care snt avantajele i dezavantajele reprezentrii n virgul fix?


Cum se reprezint numerele reale n virgula mobil? Care numere reprezenta-
te n virgul mobil respect condiia de normalizare?
Cum se efectueaz normalizarea numerelor reprezentate n virgul mobil?

85
Exprimai n virgul mobil urmtoarele numere:
a) +1,5; e) 1,5; i) 0,0625;
b) +0,0625; f) +3,25; j) +2,7;
c) 3,25; g) 32,87; k) 2,7;
d) 6,25; h) +6,25; l) 0,147.

De ce depinde precizia i domeniul de mrime ale numerelor reprezentate n


virgul mobil?
Care este deosebirea dintre formatele exponent-mantis i caracteristic-manti-
s? Cum se calculeaz caracteristicile numerelor reprezentate n virgul mobil?
Calculai caracteristicile numerelor din exerciiul 6. Se consider c nC = 8.
Explicai termenul bit ascuns. Care snt avantajele acestei reprezentri?
Cum se reprezint numerele naturale, ntregi i reale n calculatorul la care lu-
crai dvs.? Determinai numrul de poziii binare alocate fiecrei reprezentri.

Test de autoevaluare nr. 3


1. Transformai n sistemul zecimal numerele ce urmeaz:
a) (821)9; b) (1011,121)3; c) (341,52)7.

2. n care dintre sistemele de numeraie a), b), c), d) scrierea numrului 284,6 este incorec-
t? Argumentai rspunsul.
a) zecimal; c) binar;
b) octal; d) hexazecimal.

3. Elaborai un program PASCAL care transform n sistemul zecimal numerele scrise n


baza b, b < 10. Baza b se citete de la tastatur.
4. Transformai n sistemul binar numerele ce urmeaz:
a) (13,889)10; b) (73,542)8; c) (A8,74F)16.

5. Transformai n sistemul octal numerele ce urmeaz:


a) (9758,93)10; b) (1011011011,01011101)2; c) (DA86,B1)16.

6. Transformai n sistemul hexazecimal numerele ce urmeaz:


a) (9471,8362) 10; b) (10110111011011,0101001101)2; c) (425,376)8.

7. Scriei numerele (1000001111)2, (132)8, (BB)16, (222221)4 n ordine descresctoare.


8. Printre numerele de mai jos exist i numere egale. Scriei egalitile respective, de
exemplu, (1010)2 = (12)8 .
a) (1010)8; c) (723)8; e) (21)10;
b) (1D3)16; d) (25)8; f) (A)16.

86
9. Elaborai un program PASCAL pentru conversiunea octal-binar.
10. Calculai n sistemul binar:
a) 110001101 + 10111010; c) 111011 101;
b) 1101001010 101101001; d) 101011100 : 110.

11. Reprezentai pe 8 poziii binare numrul natural 125.


12. Reprezentai pe 8 poziii binare n cod complementar numrul ntreg 91.
13. Cuvintele binare de mai jos reprezint numere ntregi scrise n cod invers pe 8 poziii
binare. Scriei aceste numere n sistemul zecimal.
a) 11111110; b) 00111111; c) 11011000.

14. Reprezentai n virgula fix pe 8 poziii binare n cod direct numrul 0,75.
15. Exprimai n virgul mobil urmtoarele numere:
a) +21,125; b) 73,25; c) 0,09375.

16. Cutia neagr transform numerele zecimale n numere scrise n baza b. Determinai
aceast baz i numrul x de la ieirea din cutia neagr n cazul al doilea.

17. Cuvintele binare de mai jos reprezint numere ntregi scrise n cod complementar pe 8
poziii binare. Scriei aceste numere n sistemul zecimal.
a) 11100110; b) 00101101; c) 11111000.

18. Precizai intervalul numerelor ntregi N care se pot reprezenta n cod complementar pe
n poziii binare:
a) n = 4; b) n = 8; c) n = 16.

19. Cuvintele binare de mai jos reprezint numere subunitare n virgul fix scrise n cod
direct pe 4 poziii binare. Scriei aceste numere n sistemul zecimal.
a) 1011; b) 0001; c) 1100.

20. Scriei n sistemul zecimal cel mai mic (A) i cel mai mare (B) numere ce pot fi repre-
zentate n virgul fix n cod direct pe 8 poziii binare.
21. Cuvintele binare de mai jos reprezint numere reale n virgul mobil, baza b = 2,
formatul exponent-mantis, scrise n cod direct. Exponentul ocup nE = 2, iar mantisa nM = 4
poziii binare. Scriei aceste numere n sistemul zecimal.
a) 11111110; b) 00111111; c) 11011000.

22. Reprezentai n virgil mobil, baza b = 2, formatul exponent-mantis, n cod direct


numrul 2,75. Exponentul ocup nE = 2, iar mantisa nM = 4 poziii binare.
23. Scriei n sistemul zecimal cel mai mic (A) i cel mai mare (B) numere ce pot fi repre-
zentate n virgul mobil, baza b = 2, formatul exponent-mantis, cod direct. Exponentul ocu-
p nE = 2, iar mantisa nM = 4 poziii binare.

87
Capitolul 4
ALGEBRA BOOLEAN

4.1. Variabile i expresii logice


Algebra boolean sau algebra logic este un compartiment al matematicii n
care legile gndirii obiectul de studiu al logicii clasice snt studiate cu ajutorul
metodelor simbolice. Denumirea aceasta a fost dat n onoarea matematicianului
englez George Boole, care n lucrarea The Laws of Thought (Legile gndirii),
publicat n 1853, a pus bazele acestei algebre. Muli ani algebra boolean a fost
considerat drept o simpl curiozitate matematic, fr a i se gsi o utilizare
ntr-un anumit domeniu al tiinelor aplicate. Ea a revenit n actualitate odat cu
apariia centralelor telefonice automate i a calculatoarelor numerice.
Din punct de vedere formal, algebra boolean poate fi definit printr-o muli-
me a elementelor {0, 1}, o mulime a operatorilor elementari {, &, M} i printr-un
set de postulate. Prin urmare, n algebra boolean orice variabil nu poate avea
dect una din cele dou valori posibile, notate simbolic prin 0 i 1, alte valori
neavnd nicio semnificaie.
Variabilele algebrei booleene se noteaz prin x, y, z, x1, x2, ... cu sau fr
indicii, iar elementele 0 i 1 se numesc constante logice.
Operatorii elementari ai algebrei booleene au urmtoarele denumiri:
negaia (inversia, operaia logic NU);
& conjuncia (produsul logic, operaia logic I);
M disjuncia (suma logic, operaia logic SAU).
Operatorii elementari se definesc cu ajutorul unor tabele speciale, numite ta-
bele de adevr.
Tabelul de adevr este un tabel care include toate combinaiile posibi-
le ale valorilor variabilelor fa de care este definit operatorul i re-
zultatul operaiei respective.
n figura 4.1 snt prezentate tabelele de adevr ale negaiei, conjunciei i dis-
junciei.

x x y x&y x y xMy
0 1 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1

Fig. 4.1. Tabelele de adevr ale operatorilor elementari

88
Menionm c n algebra boolean negaia se indic printr-o linie orizontal
amplasat deasupra variabilei respective.
ntruct variabila x poate avea numai valoarea 0 sau 1, tabelul de adevr al
negaiei conine dou rnduri. n cazurile conjunciei i disjunciei tabelele de ade-
vr conin patru rnduri, cte un rnd pentru fiecare din combinaiile posibile 00,
01, 10 i 11 ale variabilelor x i y.
Variabilele i constantele logice, reunite cu ajutorul operatorilor , & i M for-
meaz expresii logice, de exemplu:
1) x & y M z; 4) 1 & x M y;
2) x M y & z; 5) 0 M x M y.
3) & y M z; 6) 1 M 0.
Valorile expresiilor logice pot fi calculate utiliznd tabelele de adevr ale opera-
torilor elementari. Pentru evaluarea expresiilor se stabilete urmtoarea priori-
tate a operaiilor logice:
1) negaia;
2) conjuncia;
3) disjuncia.
De exemplu, n expresia
xMy&z
mai nti se execut operaia &, iar dup aceea operaia M. n expresia
x&yM
se execut negaia, n continuare conjuncia i, n sfrit, disjuncia.
Ordinea executrii operaiilor logice poate fi schimbat cu ajutorul paranteze-
lor ( i ). Evident, n primul rnd, se execut operaiile dintre paranteze.
De exemplu, n cazul expresiei logice
x M y & M z
se execut negaia, conjuncia i disjunciile respective, iar n cazul expresiei
(x M y) & (M z)
dup negaie se vor executa disjunciile i, pe urm, conjuncia.
Pentru a sistematiza calculele, evaluarea expresiilor logice se efectueaz n
tabele speciale, numite tabele de adevr ale expresiilor logice.
Tabelul de adevr al expresiei logice include toate combinaiile posibi-
le ale valorilor variabilelor din expresia examinat i rezultatele ope-
raiilor logice n ordinea calculrii lor.
De exemplu, n figura 4.2 este reprezentat tabelul de adevr al expresiei,
& y M z,
iar n figura 4.3 tabelul de adevr al expresiei
x & y M z.

89
x y z &y &ywz
0 0 0 1 0 0
0 0 1 1 0 1
0 1 0 1 1 1
0 1 1 1 1 1
1 0 0 0 0 0
1 0 1 0 0 1
1 1 0 0 0 0
1 1 1 0 0 1
Fig. 4.2. Tabelul de adevr al expresiei logice & y M z

x y z x&y x&ywz x&ywz


     
     
     
     
     
     
     
     
Fig. 4.3. Tabelul de adevr al expresiei logice x & y M z

Menionm c, pentru a simplifica notaiile, se admite ca simbolul operatorului


& s fie omis din expresiile logice. De exemplu, expresiile logice
& y M z,
(x M y) & ( M z)
pot fi scrise i n forma:
y M z,
(x M y)(M z).

ntrebri i exerciii
Ce valori poate avea o variabil logic?
Care snt operatorii elementari ai algebrei booleene i cum se definesc ei?
Memorizai tabelele de adevr ale negaiei, conjunciei i disjunciei.
Cum se formeaz expresiile logice? Care este prioritatea operaiilor logice?
Explicai rolul parantezelor din componena expresiilor logice.
Alctuii tabelele de adevr ale urmtoarelor expresii logice:
a) y; c) M y;
b) ; d) x M y;

90
e) ; j) x M y M z;
f) x; k) xy M z;
g) xy; l) x (y M z);
h) M x; m) M y M z;
i) xyz; n) (y M z).
Elaborai un program PASCAL care introduce valorile logice ale variabilelor x,
y, z i afieaz valorile uneia dintre expresiile ce urmeaz:
a) ; f) x M y M z;
b) xy g) xy M z;
c) x M y; h) x M y M z;
d) (x M y) z; i) x M xy;
e) xy M z; j) M y M z.

Elaborai un program PASCAL care afieaz tabelele de adevr ale conjunciei


i disjunciei.
Elaborai un algoritm repetitiv care formeaz toate combinaiile posibile ale
valorilor variabilelor x, y i z. Afiai combinaiile respective pe ecran.
Pentru fiecare dintre expresiile logice ce urmeaz elaborai cte un program
PASCAL care alctuiete tabelul de adevr respectiv:
a) x M ; f) y;
b) x; g) x M y M z;
c) x M y; h) xyz;
d) xy; i) (x M y)( M y);
e) M y; j) (x M y)(x M ).

4.2. Funcii logice


Noiunea de funcie logic sau funcie boolean se definete n acelai
mod ca i n cazul algebrei clasice.
Vom nota prin x1, x2, ..., xn un grup arbitrar de variabile booleene, unde n = 1, 2,
3, ... . ntruct fiecare variabil boolean poate avea numai valorile 0 sau 1, num-
rul tuturor combinaiilor posibile ale valorilor variabilelor x1, x2, ..., xn este de 2n.
Firete, pentru n = 1 avem 2 combinaii (0 i 1); pentru n = 2 snt 22 = 4 combi-
naii (00, 01, 10 i 11); pentru n = 3 exist 23 = 8 combinaii (000, 001, 010, 011,
100, 101, 110 i 111) etc.

91
Funcia logic de n variabile y = f (x1, x2, ..., xn) este o aplicaie care pune
n coresponden fiecrei combinaii de valori ale variabilelor x1, x2, ...,
xn valoarea 0 sau 1 a variabilei y.
Variabilele x1, x2, ..., xn se numesc variabile independente sau argumente,
iar variabila y variabil dependent sau funcie de argumente x1, x2, ..., xn.
Prin urmare, domeniul de definiie al funciei y = f (x1, x2, ..., xn) este muli-
mea tuturor combinaiilor posibile
0 0 ... 0
0 0 ... 1
...
1 1 ... 1
ale valorilor argumentelor x1, x2, ..., xn, n total 2n combinaii, iar domeniul valo-
rilor funciei logice este mulimea {0, 1}.
Ca i n cazul algebrei clasice, funciile logice pot fi definite prin tabele, for-
mule i metode grafice.
Tabelul de adevr al funciei logice y = f (x1, x2, ..., xn) este un tabel care
include toate combinaiile posibile ale valorilor argumentelor x1, x2, ...,
xn i valorile corespunztoare ale variabilei dependente y.
De exemplu, n figura 4.4 este prezentat tabelul de adevr al unei funcii logi-
ce de 3 variabile.
x1 x2 x 3 y
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0
Fig. 4.4. Tabelul de adevr al unei funcii logice de trei variabile

Tabelul include 23 = 8 rnduri i are 2 coloane: prima pentru combinaiile posi-


bile ale valorilor argumentelor x1, x2, x3 i a doua pentru valorile corespunztoare
ale variabilei dependente y. Conform tabelului analizat, combinaiei x1 = 0, x2 = 0,
x3 = 0 i corespunde valoarea y = f (0,0,0) = 1; combinaiei x1 = 0, x2 = 0, x3 = 1
valoarea y = f (0,0,1) = 0 etc.
Definirea funciei logice prin formule se face atribuind variabilei depen-
dente y valorile expresiilor logice ce conin argumentele x1, x2, ..., xn.
De exemplu,
1) y = x; 3) y = 1x2 M x3;
2) y = x1x2; 4) y = x1x2 M x3.

92
Natural, cunoscnd formula unei funcii logice, poate fi calculat tabelul ei de
adevr. De exemplu, tabelul de adevr al funciei
y = x1x2 M x3
va fi cel prezentat n figura 4.4. Ca s ne convingem de acest fapt, e suficient s
calculm tabelul de adevr al expresiei logice
x1x2 M x3
prezentat, prin alte notaii, n figura 4.3 din paragraful 4.1.
Exist mai multe metode grafice de definire a funciilor logice. Aceste
metode se bazeaz pe diagramele utilizate n teoria mulimilor i se studiaz n
cursurile avansate de informatic.

ntrebri i exerciii
Formulai definiia noiunii funcie logic.
Care snt domeniul de definiie i domeniul de valori ale unei funcii logice?
Prin ce metode poate fi definit o funcie logic de n variabile?
Cum se alctuiete tabelul de adevr al unei funcii de n variabile? Cte rnduri
conine acest tabel?
Cum poate fi alctuit tabelul de adevr al unei funcii logice atunci cnd se
cunoate formula ei?
Funcia logic de 3 variabile y = f (x1, x2, x3) este definit prin tabelul de adevr din
Bigura 4.4. Numii combinaiile valorilor argumentelor x1, x2, x3 pentru care funcia
dat are valoarea y = 1. Numii combinaiile respective pentru valoarea funciei y = 0.
Alctuii tabelele de adevr ale urmtoarelor funcii logice:
a) y = x; f) y = x1 M x2;
b) y = ; g) y = x1x2x3;
c) y = x1x2; h) y = x1(x2 M 3);
d) y = x1 M x2; i) y = 1 M x2 x3;
e) y = x1x2; j) y = x 1 M x2 x 3 .

Elaborai un program PASCAL care introduce valorile logice ale variabilelor x1,
x2, x3, x4 i afieaz valorile uneia dintre funciile ce urmeaz:
a) y = x1x2 M x3x4; g) y = x12 M x34;
b) y = (x1 M x2)(x3 M x4); h) y = 1x2 M 3x4;
c) y = x1x2x3x4; i) y = 12 M 34;
d) y = x1 M x2 M x3 M x4; j) y = x1x2x3x4 M 2x3x4;
e) y = x1x2 M x3x4; k) y = x1 M x2 x3 M x4;
f) y = (x1 M x2)(x3 M x4); l) y = x1 M x2 M x3 M 1234.

93
Elaborai un program PASCAL care alctuiete tabelul de adevr al uneia dintre
funciile ce urmeaz:
a) y = x; h) y = 12;
b) y = ; i) y = x1x2x3;
c) y = x1x2; j) y = 1 M 2 M 3;
d) y = x1 M x2; k) y = x1 M x2 M x3;
e) y = x1x2; l) y = 123;
f) y = 1 M 2; m) y = x1 M x2 M 1234;
g) y = x1 M x2; n) y = x1(x2 M 3 M 4).

4.3. Funcii logice frecvent utilizate


S admitem n variabile independente x1, x2, ..., xn. Apare ntrebarea, cte funcii
logice de n variabile exist n algebra boolean? Numrul funciilor logice po-
sibile poate fi determinat prin urmtoarele raionamente.
ntruct orice funcie logic poate fi definit cu ajutorul tabelului de adevr,
numrul funciilor posibile de n variabile coincide cu numrul tabelelor distincte
de adevr.
Pentru a defini o funcie logic, n coloana y a tabelului de adevr se indic
valorile funciei 0 sau 1 pentru fiecare dintre cele 2n combinaii ale valorilor
argumentelor. ntruct tabelul de adevr are 2n rnduri, exist
n
m = 22
funcii logice de n variabile. Funciile respective se noteaz prin yj , j = 0, 1, ..., m 1.
1
De exemplu, n cazul n care n = 1, exist m = 22 = 22 = 4 funcii logice, repre-
zentate n figura 4.5.

x y0 y1 y2 y3
0 0 1 0 1
1 0 0 1 1
Fig. 4.5. Funcii logice de o singur variabil

Evident,
y0 = f (x) = 0;
y1 = f (x) = ;
y2 = f (x) = x;
y3 = f (x) = 1.
Funciile y0 i y3 se numesc funcia constanta 0 i, respectiv, constanta 1.
Funcia y1 este funcia logic NU sau negaia, iar funcia y2 se numete func-
ia de repetare.

94
Pentru n = 2 exist
2
m = 22 = 24 = 16
funcii logice, reprezentate n figura 4.6.

x1 x2 y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15


0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Fig. 4.6. Funcii logice de dou variabile

Funciile y0 i y15 snt funciile deja cunoscute, constanta 0 i, respectiv, con-


stanta 1:
y0 = f (x1, x2) = 0;
y15 = f (x1, x2) = 1.
Funcia y8 poate fi scris n forma:
y8 = f (x1, x2) = x1x2.
n mod firesc, funcia y8 va avea denumirea funcia logic I sau conjuncia.
Funcia y14 poate fi scris n forma:
y14 = f (x1, x2) = x1 M x2.
Prin urmare, funcia y14 va avea denumirea funcia logic SAU sau disjuncia.
Funciile logice NU, I, SAU, induse de operatorii elementari, respec-
tiv, , &, w se numesc funcii logice elementare.
Din figura 4.6 se observ c
y1 = x1 M x2.
Funcia dat se numete funcia logic SAU-NU.
n mod similar, funcia y7 poate fi exprimat n forma
y7 = f (x1, x2) = x1x2.
Funcia n cauz se numete funcia logic I-NU.
Funcia
y9 = f (x1, x2) = 12 M x1x2
are valoarea 1 numai cnd x1 = x2 = 0 sau x1 = x2 = 1. Aceast funcie se numete
funcia logic COINCIDEN sau echivalen i se noteaz prin simbolul .
Analiznd tabelul din figura 4.6, mai observm c
y3 = f (x1, x2) = 1 (negaia variabilei x1);
y12 = f (x1, x2) = x1 (repetarea variabilei x1);
y5 = f (x1, x2) = 2 (negaia variabilei x2);
y10 = f (x1, x2) = x2 (repetarea variabilei x2).
Pentru a fi mai uor memorizate, n figura 4.7 snt prezentate tabelele de ade-
vr ale funciilor logice NU, I, SAU, I-NU, SAU-NU i COINCIDEN.

95
NU I SAU
x x1 x2 x 1x 2 x1 x2 x 1 M x2
0 1 0 0 0 0 0 0
1 0 0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1

I-NU SAU-NU COINCIDEN


x 1 x2 x 1x 2 x1 x 2 x1 M x 2 x 1 x2 x 1 / x2
0 0 1 0 0 1 0 0 1
0 1 1 0 1 0 0 1 0
1 0 1 1 0 0 1 0 0
1 1 0 1 1 0 1 1 1

Fig. 4.7. Funciile logice frecvent utilizate

n mod similar pot fi studiate funciile logice de 3 variabile, numrul crora


3 4
este de m = 22 = 28 = 256; funciile de 4 variabile, numrul crora este de m = 22 =
=216 = 65 536 etc. Se observ c, dei este finit, numrul funciilor booleene posi-
bile este enorm. S-a demonstrat ns c orice funcie logic de n variabile,
n 2, poate fi exprimat printr-o formul care include numai operatorii
elementari , &, w. Aceast proprietate faciliteaz realizarea tehnic a dispozi-
tivelor destinate calculrii funciilor logice cu un numr arbitrar de argumente.

ntrebri i exerciii
Determinai numrul funciilor logice de 5 i de 6 variabile.
Numii funciile logice elementare i alctuii tabelele respective de adevr.
Memorizai tabelele de adevr ale funciilor logice frecvent utilizate NU, I,
SAU, I-NU, SAU-NU i COINCIDEN.
Elaborai un program care va afia pe ecran tabelul de adevr al uneia dintre
funciile logice y0, y1, y2, y3 de 2 variabile.
Elaborai un program care va afia pe ecran tabelul de adevr al uneia dintre
funciile logice yj de n variabile.

Test de autoevaluare nr. 4


1. Alctuii tabelul de adevr al expresiei logice x M y.
2. Care dintre expresiile logice ce urmeaz snt egale? Amintim c dou expresii logice snt
egale dac valorile lor coincid pentru toate combinaiile posibile ale valorilor variabilelor respective.
a) ( M )(x M y); c) (x M y) M xy;
b) xy M xy; d) x M y.

96
3. Scriei toate combinaiile posibile de valori ale variabilelor x, y, z pentru care valoarea
expresiei xy M este egal cu 1.
4. Elaborai un program PASCAL care citete de la tastatur valorile variabilelor logice x, y,
z i afieaz pe ecran valoarea expresiei x M z.
5. Elaborai un program PASCAL care afieaz pe ecran tabelul de adevr al expresiei
M z.
6. Indicai domeniul de definiie i domeniul de valori ale funciei logice y = x1(x2 M 3).
7. Alctuii tabelul de adevr al funciei logice y = x1(2 M x3).
8. Elaborai un program PASCAL care citete de la tastatur valorile variabilelor logice
x1, x2, x3 i afieaz pe ecran valoarea funciei y = x1(2 M 3).
9. Elaborai un program PASCAL care afieaz pe ecran tabelul de adevr al funciei logi-
ce y = 1(x2 M x3).
10. Determinai numrul funciilor logice de 5 variabile.
11. Alctuii tabelele de adevr ale funciilor logice I-NU i SAU-NU.
12. Care dintre funciile logice ce urmeaz snt egale? Amintim c dou funcii logice snt
egale dac valorile lor coincid pentru toate combinaiile posibile ale valorilor variabilelor inde-
pendente.
a) y = x1 M x2; c) y = 12;
b) y = x1x2; d) y = 1 M 2.
13. Funcia logic de trei variabile y = f (x1, x2, x3) este definit cu ajutorul urmtorului tabel
de adevr:

x1 x2 x3 y
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Selectai din expresiile ce urmeaz formula care, de asemenea, definete aceast funcie:
a) y = x1 M x2 M x3; c) y = x1x2x3;
b) y = x1 M x2 M x3; d) y = 1 M 2 M 3.

97
Capitolul 5
CIRCUITE LOGICE

5.1. Circuite logice elementare


Circuitul logic este un dispozitiv destinat calculrii funciilor logice. Pentru
a realiza circuitele logice, e necesar ca valorile binare 0 i 1 ale argumentelor i
funciilor respective s fie reprezentate prin valorile unor mrimi fizice, de exemplu:
presiune, temperatur, tensiune sau curent electric, flux luminos etc. n funcie
de mrimile fizice utilizate, deosebim dispozitive logice mecanice, pneumatice,
hidraulice, electromecanice, electronice, optice etc. n dispozitivele hidraulice i
pneumatice valorile logice 0 sau 1 pot fi reprezentate prin valorile mici i, respec-
tiv, mari ale presiunii fluidului, n dispozitivele electromecanice i electronice
prin prezena sau absena curentului electric, prin niveluri de tensiune etc.
Pentru o nelegere clar a principiilor de funcionare a dispozitivelor logice,
vom studia mai nti circuitele cu contacte. Componentele de baz ale acestor
circuite snt elementele de comutare contactele electrice normal deschise i
contactele electrice normal nchise.
n cazul contactelor normal deschise, circuitul electric este deschis dac
contactele nu snt acionate i nchis la acionarea lor. n cazul contactelor
normal nchise, circuitul electric este nchis dac contactele nu snt acionate
i deschis la acionarea lor (fig. 5.1).

Neacionate Acionate
Contacte
normal deschise
Contacte normal
nchise

Fig. 5.1. Contacte normal deschise i normal nchise

De exemplu, contactele unui ntreruptor electric uzual snt contacte normal


deschise, iar contactele butonului de pauz al magnetofonului snt contacte nor-
mal nchise.
n circuitele cu contacte, valorile logice ale argumentelor snt reprezentate
prin strile contactelor electrice respective. Valorii logice 1 i corespunde starea
contactul este acionat, iar valorii logice 0 i corespunde starea contactul este
neacionat.

98
Circuitul electric care realizeaz funcia logic NU i simbolul utilizat snt
prezentate n figura 5.2.

Fig. 5.2. Circuit cu contacte pentru realizarea


funciei logice NU (a) i simbolul utilizat (b)

Argumentul x este materializat prin contactul normal nchis, iar valorile va-
riabilei dependente y snt reprezentate prin strile becului electric: stins (valoa-
rea logic 0) sau aprins (valoarea logic 1). Se observ c becul va fi aprins (y=1),
dac contactul normal nchis nu este acionat (x=0).
Funcia logic I se realizeaz prin conectarea n serie a contactelor electri-
ce. Circuitul electric care realizeaz funcia I de dou variabile i simbolul utili-
zat snt prezentate n figura 5.3.

Fig. 5.3. Circuit cu contacte pentru realizarea


funciei logice I (a) i simbolul utilizat (b)

Variabilele x1 i x2 snt materializate prin cele dou contacte normal deschise,


iar valorile variabilei y prin bec. Se observ c becul va fi aprins (y=1), numai
dac ambele contacte normal deschise snt acionate (x1=1 i x2=1).
Funcia logic SAU se realizeaz prin conectarea n paralel a contactelor
electrice. Circuitul respectiv este prezentat n figura 5.4.

99
Fig. 5.4. Circuite cu contacte pentru realizarea
funciei logice SAU (a) i simbolul utilizat (b)

Se constat c becul va fi aprins (y=1), dac cel puin unul dintre cele dou
contacte normal deschise este acionat ( x1=1 sau x2=1).
ntruct viteza de nchidere-deschidere a contactelor electrice este foarte mic,
n calculatoarele moderne valorile 0, 1 snt reprezentate prin niveluri de tensiu-
ne, iar ca element de comutare se utilizeaz tranzistorul.
Tranzistorul este un dispozitiv electronic format n sau pe suprafaa unui
monocristal semiconductor. Tehnologiile avansate permit fabricarea a 106 107 de
tranzistoare pe o suprafa de 1 cm2 al monocristalului.
n regim de comutaie, tranzistorul poate fi considerat ca un ntreruptor obi-
nuit, care ntr-o stare conduce curentul (este nchis), iar n alta nu (este deschis).
Spre deosebire ns de ntreruptorul obinuit, nchiderea sau deschiderea tran-
zistorului se realizeaz cu ajutorul curentului electric.
Exist mai multe tipuri de tranzistoare. n figura 5.5 este prezentat tranzisto-
rul n-p-n (abrevierea se refer la structura intern a tranzistorului) i schemele
echivalente n regim de comutaie.

Fig. 5.5. Tranzistorul n-p-n

100
Tranzistorul n-p-n are trei terminale: emitorul E, baza B i colectorul C. n
regim de comutaie, emitorul i colectorul pot fi considerai drept contacte care se
nchid sau se deschid cu ajutorul unei tensiuni aplicate la baz. Menionm c
tranzistoarele moderne permit efectuarea a 106 109 nchiderideschideri pe se-
cund. Ca i n cazul contactelor electrice studiate mai sus, utilizarea diferitor
tipuri de tranzistoare i conectarea lor n serie sau n paralel permite realizarea
funciilor logice NU, I, SAU.
Circuitele destinate calculrii funciilor logice frecvent utilizate se
numesc circuite logice elementare sau pori logice.
Simbolurile utilizate pentru notarea porilor logice snt reprezentate n figura 5.6.

Fig. 5.6. Simbolurile porilor logice

E cunoscut faptul c orice funcie logic poate fi exprimat printr-o formul


care include numai simbolurile operatorilor elementari , &, . Prin urmare, ori-
ce funcie logic cu un numr arbitrar de argumente poate fi materiali-
zat prin conectarea porilor logice NU, I, SAU. De exemplu, funcia
y = x1x2 2x3
poate fi realizat cu ajutorul urmtoarelor pori logice:
o poart NU pentru calcularea 2;
dou pori logice I pentru calcularea conjunciilor x1x2 i 2x3;
o poart SAU pentru calcularea disjunciei x1x2 2x;
Schema circuitului logic pentru calcularea funciei respective este prezentat
n figura 5.7.

ntrebri i exerciii
Cum pot fi reprezentate valorile binare 0 i 1?
Cum funcioneaz contactele normal deschise i contactele normal nchise?
Care este reprezentarea valorilor binare 0 i 1 n circuitele cu contacte?

101
Fig. 5.7. Circuitul logic pentru realizarea funciei y = x1x2 2x3

Utiliznd trusa din laboratorul de fizic, montai circuitele din figurile 5.2, 5.3
i 5.4. Verificai tabelele de adevr ale funciilor realizate de circuitele n cauz.
Cum se realizeaz funciile NU, I, SAU n cazul circuitelor cu contacte electrice?
Care este rolul elementelor de comutare la realizarea circuitelor logice?
Care este rolul tranzistorului n calculatoarele moderne?
Memorizai simbolurile porilor logice. Explicai cum se utilizeaz porile logice
la realizarea funciilor logice arbitrare.
Utiliznd porile NU, I, SAU, elaborai circuitele logice pentru calcularea ur-
mtoarelor funcii:
a) y = x1x2x3; i) y = x1x2 x2x3;
b) y = x1 x2 x3; j) y = (x1 x2) (x2 x3);
c) y = 1x2x3; k) y = x1x2 1x3 x3x4;
d) y = 1 x2 x3; l) y = 1x2 1x3 x2x3;
e) y = x1x2 x3x4; m) y = 1x2 x12;
f) y = (x1 x2) (x3 x4); n) y = x1x2 12;
g) y = x1x2; o) y = x1(x2 x3 x4);
h) y = x1 x2; p) y = x1 x2x3x4.
Releul electromagnetic este un dispozitiv cu care se comand nchiderea sau
deschiderea contactelor electrice. Contactele respective snt acionate de un
electromagnet. Cum poate fi utilizat releul pentru realizarea funciilor logice
NU, I, SAU?
Cu piesele din trusa de fizic asamblai un releu electromagnetic i verificai
soluiile propuse de dvs.
Reprezentnd valorile binare ale variabilelor de ieire prin prezena (valoarea
1) sau absena (valoarea 0) a fluidului, elaborai circuitele hidraulice pentru
realizarea funciilor logice NU, I, SAU. Montai instalaiile respective utili-
znd robinetele i furtunurile din trusa de chimie. Verificai tabelele de adevr
ale funciilor logice realizate.

102
5.2. Clasificarea circuitelor logice
Circuitele logice se clasific n dou categorii: circuite combinaionale i circui-
te secveniale.
ntr-un circuit combinaional valorile variabilelor de ieire snt determina-
te n orice moment de combinaia valorilor variabilelor de intrare conform funcii-
lor logice ale circuitului. ntr-un circuit secvenial valorile variabilelor de ieire
depind nu numai de combinaiile valorilor variabilelor de intrare, dar i de conse-
cutivitatea aplicrii lor. Altfel spus, circuitele combinaionale reprezint circuite
logice lipsite de elemente de memorie, iar circuitele secveniale includ i elemen-
tele de memorie binar. Prin urmare, un circuit combinaional realizeaz o prelu-
crare numeric a informaiei, care poate fi n ntregime exprimat printr-un grup
de funcii logice n care nu intervine parametrul timp.
Schema-bloc a unui circuit combinaional este prezentat n figura 5.8.

Fig. 5.8. Schema-bloc a unui circuit logic combinaional:


a detaliat; b generalizat

Circuitul are n variabile de intrare: X = < x1, x2, ..., xn >, i m variabile de ieire:
Y = < y1, y2, ..., ym >. Conexiunile destinate transmiterii valorilor unui grup de
variabile se reprezint prin linii duble. Dac e necesar, numrul de variabile se
indic lng o bar care ntretaie linia dubl a grupului de variabile. De exemplu,
n figura 5.8 b se indic c grupul X include n variabile, iar grupul Y m variabile.
Din punctul de vedere al teoriei informaiei, circuitul combinaional reprezin-
t un convertor de cod: la intrrile X se aplic combinaiile admise de primul cod,
din care se face conversiunea, iar la ieirile Y apar combinaiile corespunztoare
n cel de al doilea cod, n care se face conversiunea.
De exemplu, primul cod poate fi codul EBCDIC, iar al doilea codul ASCII.

5.3. Sumatorul
Una dintre principalele sarcini ale unui calculator n momentul prelucrrii in-
formaiei const n efectuarea operaiilor aritmetice elementare i, n special, adu-
narea i scderea. Dispozitivele n care au loc aceste operaii au la baz circuite cu
ajutorul crora se efectueaz adunarea, respectiv scderea a dou cifre binare.
103
Semisumatorul este un circuit combinaional destinat adunrii a dou cifre
binare. Tabelul de adevr care pune n eviden funcionarea unui semisumator
rezult din regula de adunare a dou cifre binare i este prezentat n figura 5.9.
Aici a i b reprezint cele dou cifre binare care se adun, s cifra-sum a rangu-
lui respectiv, iar t cifra de transport ctre rangul urmtor.

a b s t
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Fig. 5.9. Tabelul de adevr pentru adunarea
a dou cifre binare

Pentru a elabora o schem posibil a semisumatorului, exprimm funciile de


ieire s i t:
s = b a;
t = ab.
Schema care realizeaz funciile s, t i simbolul utilizat snt prezentate n figura 5.10.

Fig. 5.10. Schema semisumatorului (1) i simbolul utilizat (2)

S lum dou numere binare


A = an1 an2 ... aj ... a0
i
B = bn1 bn2 ... bj ... b0,
unde aj i bj reprezint cifrele binare din rangul (poziia) j. La nsumarea cifrelor
aj i bj din rangul j trebuie s se ia n considerare i cifra de transport tj1 de la
rangul inferior j1:

104
tj1
an1 an2 ... aj ... a0
+
bn1 bn2 ... bj ... b0.
Se obine astfel un circuit combinaional care calculeaz suma tj1 + aj + bj,
denumit sumator elementar.
Sumatorul elementar poate fi realizat prin conectarea n cascad a dou semi-
sumatoare SS1 i SS2 (fig. 5.11).

Fig. 5.11. Schema sumatorului elementar (1) i simbolul utilizat (2)

Semisumatorul SS1 calculeaz suma (aj + bj), iar semisumatorul SS2 nsumeaz
transportul tj1 cu suma (aj + bj) calculat de primul semisumator. Transportul tj
ctre rangul superior j +1 se calculeaz de poarta logic SAU, care reunete trans-
porturile intermediare de la ieirile respective ale semisumatoarelor SS1 i SS2.
Suma numerelor binare A i B se calculeaz cu ajutorul unui circuit combinai-
onal denumit sumator. Un sumator poate fi realizat prin conectarea a n suma-
toare elementare (fig.5.12).
Sumatorul elementar SM0 corespunztor cifrei celei mai puin semnificative
poate fi nlocuit cu un semisumator, deoarece pentru aceast poziie nu exist un
transport de la rangul precedent. Transportul de la ieirea sumatorului SMn1 al
rangului cel mai semnificativ este folosit pentru a indica depirea capacitii
sumatorului de n bii.
Din analiza figurilor 5.10, 5.11 i 5.12 rezult c un dispozitiv complex suma-
torul de n bii este realizat prin reunirea a unor dispozitive mult mai simple, adic
a n sumatoare elementare. Fiecare sumator elementar, la rndul lui, este realizat
prin reunirea a cte dou semisumatoare i o poart logic SAU.
Metoda de elaborare a dispozitivelor complexe (de exemplu, sumatorul) prin reu-
nirea mai multor dispozitive identice mai simple (sumatorul elementar) poart de-
numirea de metod de proiectare ierarhic. Conform acestei metode, compo-
nentele calculatorului se caracterizeaz prin niveluri de ierarhie, de exemplu:
nivelul 1 tranzistoare;
nivelul 2 pori logice;
nivelul 3 semisumatoare, sumatoare elementare etc.;
nivelul 4 sumatoare, scztoare etc.;
nivelul 5 uniti aritmetice, uniti de comand etc.

105
Fig. 5.12. Schema sumatorului (1) i simbolul utilizat (2)

Componentele de un nivel ierarhic inferior snt utilizate n calitate de cubu-


oare elementare pentru realizarea componentelor de un nivel ierarhic superior.
Teoretic, dispozitivele unui calculator numeric pot fi elaborate i fr aplicarea
metodei de proiectare ierarhic. De exemplu, n cazul sumatorului elementar uti-
lizarea semisumatorului nu este obligatorie. E suficient s alctuim tabelul de
adevr al sumatorului elementar, s exprimm funciile de ieire prin formule i
s reunim porile logice respective.
n cazul nivelurilor ierarhice superioare, neaplicarea metodei de proiectare
ierarhic face imposibil elaborarea dispozitivelor complexe. De exemplu, n ca-
zul unui sumator de n bii, tabelul respectiv de adevr ar conine 22n rnduri.
Pentru n = 16 obinem 2216 = 232 109 rnduri. Evident, formulele funciilor de
ieire ale sumatorului de 16 bii practic nu mai pot fi scrise. Prin urmare, sntem
nevoii s aplicm metoda de proiectare ierarhic i s realizm sumatorul printr-o
reunire de n sumatoare elementare.

106
Aplicnd metoda de proiectare ierarhic, ntr-un mod similar pot fi elaborate
circuitele combinaionale destinate scderii numerelor binare: semiscztorul,
scztorul elementar i scztorul.

ntrebri i exerciii
Care este destinaia semisumatorului? Dar a sumatorului elementar? i n fine
a sumatorului de n bii?
Alctuii tabelul de adevr al sumatorului elementar. Tabelul va conine cinci
colonie: trei pentru intrrile aj, bj, tj1 i dou pentru ieirile sj, tj .
Elaborai un program PASCAL care simuleaz funcionarea sumatorului ele-
mentar. Cifrele binare aj, bj i cifra de transport tj1 de la rangul inferior se
citesc de la tastatur, iar cifra-sum sj i cifra de transport tj ctre rangul supe-
rior se afieaz pe ecran.
Explicai esena metodei de proiectare ierarhic a dispozitivelor unui calcula-
tor numeric. Este oare obligatorie aplicarea acestei metode? Argumentai rs-
punsul dvs.
Cte pori logice NU, I, SAU va conine un sumator de 16 bii? Dar de 32 de bii?
Semiscztorul este un circuit combinaional destinat scderii a dou cifre bi-
nare. Circuitul respectiv are intrrile a, b i ieirile d, i. Prin termenul d se ne-
lege diferena ab, iar prin termenul i mprumutul de la cifra de rang imediat
superior. Alctuii tabelul de adevr i elaborai schema semiscztorului.
Scztorul elementar este un circuit combinaional capabil de a calcula dife-
rena dj i mprumutul ij ctre rangul imediat superior, dac se introduc la in-
trare desczutul aj, scztorul bj i mprumutul ij1 de la rangul anterior. Apli-
cnd metoda de proiectare ierarhic, elaborai schema scztorului elementar.
Aplicnd metoda de proiectare ierarhic, elaborai schema unui scztor de n bii.
Cte pori logice NU, I, SAU va conine un scztor de 16 bii? Dar de 32 de bii?
Este oare obligatorie aplicarea metodei de proiectare ierarhic n cazul elabor-
rii unui scztor de n bii? Argumentai rspunsul dvs.

5.4. Circuite combinaionale frecvent utilizate


Circuitele combinaionale frecvent utilizate snt prezentate n figura 5.13.
Sumatorul este un circuit combinaional destinat adunrii a dou numere
binare. Tabelul de adevr i schema sumatorului au fost studiate n paragraful
precedent.
Comparatorul este un circuit combinaional care compar numerele binare A i
B, indicnd prin cele trei ieiri una dintre situaiile posibile: A < B, A > B sau A = B.
Codificatorul este un circuit combinaional care efectueaz conversiunea me-
sajelor s1, s2, ..., sn n cuvintele binare din codul respectiv. Se consider c fiecare
dintre mesajele si este reprezentat prin valorile x1 = 0, ..., xi = 1, ..., xn = 0 aplicate la
intrarea codificatorului, iar cuvntul de cod prin variabilele de ieire y1, y2, ..., ym.

107
Fig. 5.13. Circuite combinaionale frecvent utilizate:
a sumatorul; b comparatorul; c codificatorul; d decodificatorul;
e multiplexorul; f demultiplexorul

De exemplu, variabilele x1, x2, x3, ... pot reprezenta starea tastelor <A>, <B>,
<C>, ... ale tastaturii. Codificatorul respectiv va furniza la ieire cuvntul de cod
ASCII corespunztor tastei acionate.
Decodificatorul este un circuit combinaional care genereaz semnalul logic 1
pe o ieire distinct pentru fiecare combinaie a valorilor variabilelor de intrare.
Cu alte cuvinte, decodificatorul efectueaz operaia invers a unui codificator.
Decodificatoarele snt utilizate pentru a determina operaiile pe care trebuie
s le execute procesorul, pentru selectarea unitilor de intrare-ieire, sintetiza-
rea simbolurilor etc.
Multiplexorul este un circuit combinaional destinat selectrii fluxurilor de
date. n figura 5.13 e este prezentat un multiplexor care transmite la ieire biii
numrului binar A (u = 0) sau B (u = 1). n calculatoarele moderne multiplexoare-
le se utilizeaz pentru transferul informaiei de la mai multe surse la un singur
destinatar.
Demultiplexorul distribuie fluxul de date de la intrarea X la una dintre iei-
rile Y (u = 0) sau Z (u = 1). Drept exemplu, amintim transferul informaiei de la o
singur surs la mai muli destinatari.

ntrebri i exerciii
Explicai destinaia circuitelor combinaionale frecvent utilizate: sumatorul,
comparatorul, codificatorul, decodificatorul, multiplexorul i demultiplexorul.
Alctuii tabelul de adevr al unui comparator de 2 bii.

108
Cte intrri i cte ieiri poate avea un codificator? Cte intrri i cte ieiri poate
avea un decodificator?
Pe panoul de comand al imprimantei snt montate butoanele ON LINE (funci-
onare sub controlul unitii centrale), OFF LINE (funcionare autonom), LINE
FEED (avans de linie) i FORM FEED (avans de pagin). Alctuii tabelul de
adevr al codificatorului care furnizeaz la ieire urmtoarele combinaii binare:
00 ON LINE;
01 OFF LINE;
10 LINE FEED;
11 FORM FEED.

Pe panoul de comand al imprimantei snt montate becurile (diodele luminis-


cente) indicatoare READY (disponibil), PAPER (lipsa de hrtie), TEST (regi-
mul de testare) i LOAD (regimul de ncrcare a informaiei). Alctuii tabelul
de adevr al decodificatorului care aprinde becurile n cauz. Strile respective
snt codificate prin urmtoarele combinaii binare:
00 READY;
01 PAPER;
10 TEST;
11 LOAD.

Tastatura calculatorului include tastele funcionale <F1>, <F2>, ..., <F12>. Al-
ctuii tabelul de adevr al codificatorului care va furniza la ieire numrul
binar corespunztor tastei funcionale acionate.
Unitile de intrare-ieire ale unui calculator au urmtoarele adrese:
0000 tastatura;
0001 vizualizatorul;
0010 imprimanta mecanic;
0011 imprimanta cu jet de cerneal;
0100 imprimanta laser;
0101 unitatea de disc flexibil A;
0110 unitatea de disc flexibil B;
0111 unitatea de disc rigid C;
1000 unitatea de disc rigid D.
Alctuii tabelul de adevr al decodificatorului care va selecta unitatea indicat
de adresa respectiv.
Operaiile aritmetice ale unui calculator ipotetic snt codificate dup cum ur-
meaz:

109
adunarea 000;
scderea 001;
nmulirea 010;
mprirea 011;
compararea 100.
Alctuii tabelul de adevr al decodificatorului operaiilor aritmetice.
Alctuii tabelul de adevr al multiplexorului cu 2 linii de intrare.

5.5. Bistabilul 45
E cunoscut faptul c ntr-un circuit secvenial valorile variabilelor de ieire
depind nu numai de combinaiile valorilor variabilelor de intrare, dar i de con-
secutivitatea aplicrii lor. Cu alte cuvinte, circuitul secvenial memorizeaz
informaii referitoare la combinaiile aplicate la intrri n momentele precedente.
Acest lucru este posibil datorit faptului c circuitele secveniale snt alctuite
din circuite combinaionale i elemente de memorie binar.
Elementul de memorie binar este un circuit cu dou stri distincte,
destinat pentru a pstra o informaie dintr-un singur bit. Circuitul
respectiv are denumirea de bistabil.
n figura 5.14 este prezentat schema circuitului bistabil de baz realizat cu
pori logice SAU-NU, denumit bistabil asincron RS.
Circuitul are dou intrri notate cu R i S i dou ieiri notate cu Q i . Se
observ c semnalele de ieire Q i snt aplicate la intrrile porilor SAU-NU.
Conexiunile respective snt numite reacii. Tocmai datorit acestor conexiuni,
circuitul dat are dou stri distincte i, prin urmare, asigur memorarea unui bit
de informaie.

Fig. 5.14. Schema bistabilului asincron RS (a) i simbolul utilizat (b)

110
ntr-adevr, admitem c semnalele de intrare R = S = 0, iar ieirile Q = 1, = 0.
Datorit reaciei, valoarea Q = 1 impune ieirea = 0. La rndul ei, tot datorit reaciei,
valoarea = 0 confirm ieirea = 1. Exact la fel, n cazul n care ieirile Q = 0, = 1,
datorit reaciei, valoarea = 1 impune ieirea Q = 0. Prin urmare, valorile de intrare
R = S = 0 nu schimb starea bistabilului, acesta pstrnd cifra binar memorat.
S-a convenit ca strii Q = 1, = 0 s-i corespund cifra binar 1, iar strii Q = 0,
= 1 cifra binar 0. Ieirea Q este numit ieire direct sau ieire adevrat, iar
ieirea ieire invers sau ieire negat. Starea bistabilului este indicat de iei-
rea direct Q.
S examinm cazul n care R = 0, S = 1. Presupunem c bistabilul se afl n
starea 0, adic Q = 0 i = 1. n acest caz, valoarea S = 1 va impune = 0, care,
la rndul ei, prin reacie, va asigura Q = 1. Prin urmare, bistabilul trece n starea
1 (Q = 1, = 0). Aceast stare, dup cum s-a stabilit anterior, se va pstra i dup
trecerea semnalului S de la valoarea 1 la valoarea 0. Intrarea S, care asigur
fixarea bistabilului n starea 1, poart denumirea de intrare de setare.
n mod similar se poate constata c n cazul n care bistabilul se afl n starea
1 (Q = 1, = 0), iar S = 0, i R = 1, bistabilul va trece n starea 0 (Q = 0, = 1).
Aceast stare se va pstra i dup trecerea semnalului R de la valoarea 1 la valoa-
rea 0. Intrarea R, care asigur stabilirea bistabilului n starea 0, poart denumi-
rea de intrare de resetare.
Combinaia de intrare R = 1 i S = 1 impune valorile de ieire Q = 0 i = 0.
Valorilor de ieire Q = = 0 nu le corespunde nicio stare distinct a bistabilului.
Prin urmare, pentru bistabilul RS combinaia de intrare R = S = 1 este o combi-
naie interzis.
Regimurile de funcionare a bistabilului n cauz snt totalizate n tabelul 5.1.

Tabelul 5.1
Regimurile de funcionare ale bistabilului asincron RS
Intrri Regim de
Ieirea Q
R S funcionare
0 0 pstrare bit bit memorat
0 1 setare 1
1 0 resetare 0
1 1 interzis

Adjectivul asincron din denumirea bistabilului RS concretizeaz modul de in-


fluen a semnalelor de comand R i S asupra strii bistabilului. Din analiza
circuitului prezentat n figura 5.14 rezult c semnalele de comand, aplicate la
intrrile R i S n momente arbitrare, pot schimba starea bistabilului.
Circuitele secveniale n care starea circuitului poate fi schimbat de
semnalele de comand n momente arbitrare de timp se numesc circui-
te asincrone.
Un calculator modern conine zeci de mii de bistabile. Schimbarea strii lor n
momente arbitrare, greu de controlat, poate fi cauza unor erori de funcionare. Pen-

111
tru a evita o funcionare greit, s-a convenit ca aceast comportare a circuitelor
secveniale s fie determinat n baza valorilor semnalelor de comand aplicate la
intrri n momente discrete, bine determinate n timp. Aceste momente snt indica-
te cu ajutorul unor impulsuri speciale, numite semnale de sincronizare.
Circuitele secveniale n care starea circuitului poate fi schimbat de
semnalele de comand numai n momentele indicate de semnalele de
sincronizare se numesc circuite sincrone.
De obicei, semnalul de sincronizare se noteaz prin litera C (din englez Clock
ceas) i este furnizat de un dispozitiv special, numit ceas de sistem.
n figura 5.15 este prezentat schema unui bistabil sincron denumit bistabil
sincron RS.

Fig. 5.15. Schema bistabilului sincron RS (a) i simbolul utilizat (b)

Schema dat include bistabilul asincron RS (fig. 5.14) i dou pori logice I
care permit aplicarea semnalelor de comand la intrrile bistabilului asincron
numai n cazul n care semnalul de sincronizare C are valoarea 1.

ntrebri i exerciii
Prin ce se deosebesc circuitele combinaionale i circuitele secveniale?
Care este destinaia circuitului bistabil?
Cum funcioneaz un circuit bistabil cu pori logice SAU-NU? Care este desti-
naia reaciilor?
Explicai regimurile de funcionare a bistabilului asincron RS. De ce combina-
ia R = S = 1 nu poate fi aplicat la intrrile bistabilului examinat?
Prin ce se deosebesc circuitele secveniale asincrone i circuitele secveniale
sincrone?
Explicai cum funcioneaz bistabilul sincron RS. Care este destinaia porilor
logice I din componena acestui bistabil?

112
Fig. 5.16. Schema bistabilului asincron (a) i simbolul utilizat (b)

n figura 5.16 este prezentat schema circuitului bistabil de baz realizat cu


pori logice I-NU, denumit bistabil asincron .
Circuitul are urmtoarele regimuri de funcionare:
pstrare bit ( = 1, = 1);
setare ( = 1, = 0);
resetare ( = 0, = 1).
Explicai cum funcioneaz bistabilul examinat. De ce combinaia de intrare
= 0, = 0 este o combinaie interzis?
Utiliznd bistabilul asincron , elaborai schema bistabilului sincron .
Desenai schema detaliat (la nivelul porilor logice I, SAU-NU) a bistabilului
sincron RS. Pentru aceasta decalcai schemele respective din figurile 5.14a i 5.15a.
Desenai schema detaliat (la nivelul porilor logice I, I-NU) a bistabilului
sincron .

5.6. Circuite secveniale frecvent utilizate


Registrul (fig. 5.17a) este un dispozitiv numeric destinat pstrrii temporare
a unui numr binar,
D = dn1 ...d1d0.
Registrul este constituit din bistabile la care snt ataate circuite combinaio-
nale care permit nscrierea, citirea sau transferul informaiei. nscrierea informa-
iei n registru se efectueaz prin aplicarea la intrarea W (Write nscrie) a im-
pulsului respectiv. Deoarece fiecare bistabil poate memora un singur bit, capa-
citatea n a unui registru este dat de numrul bistabilelor.
n anumite aplicaii, de exemplu: nmulirea i mprirea numerelor binare,
scrierea sau citirea datelor pe disc, transmiterea datelor prin firele telefonice etc.,
apare necesitatea deplasrii n stnga sau n dreapta a informaiei memorate ntr-un
registru. n acest scop se utilizeaz registrele de deplasare (fig. 5.17 b, c).

113
Fig. 5.17. Circuite secveniale frecvent utilizate:
a registrul; b registru de deplasare de la dreapta spre stnga; c registru
de deplasare de la stnga spre dreapta; d numrtor direct; e numrtor invers

Succesiunea strilor unui registru de deplasare de la dreapta spre stn-


ga este dat n figura 5.18.
Timpul d3 d2 d1 d0
iniial 0 1 0 1
t1 1 0 1 0
t2 0 1 0 0
t3 1 0 0 0
t4 0 0 0 0
t5 0 0 0 0
... ...

Fig. 5.18. Succesiunea strilor unui registru de deplasare


de la dreapta spre stnga

Se consider c starea iniial a registrului este 0101, iar impulsurile snt apli-
cate la intrarea C n momentele de timp t1, t2, t3 etc. Firete, registrul n cauz
calculeaz produsul D 2.
n mod similar, un registru de deplasare de la stnga spre dreapta va
calcula ctul D : 2.
Numrtoarele snt circuite secveniale care nregistreaz numrul de im-
pulsuri aplicat la intrare. Numrtoarele se clasific dup urmtoarele criterii:
modul de codificare a informaiei (binar, binar-zecimal etc.);
modul de modificare a strilor numrtorului (numrtoare directe, inverse
i reversibile).
n general, numrtoarele snt realizate prin asocierea circuitelor bistabile cu
circuite combinaionale care determin modul corect n care numrtoarele ur-
meaz s-i modifice starea la fiecare nou impuls sosit la intrare.

114
Un numrtor binar nregistreaz succesiunea impulsurilor aplicate la in-
trare n sistemul de numeraie binar. Capacitatea de numrare a numrtoru-
lui binar depinde de numrul bistabilelor. Considernd pentru fiecare numr o
stare distinct, rezult c acesta poate numra n gama 0 la 2n1, n fiind numrul
bistabilelor.
n figura 5.17d este prezentat numrtorul binar direct , iar n figura 5.19
tabelul succesiunii strilor unui numrtor binar direct de 3 bii.

Timpul d2 d1 d0
iniial 0 0 0
t1 0 0 1
t2 0 1 0
t3 0 1 1
t4 1 0 0
t5 1 0 1
t6 1 1 0
t7 1 1 1
t8 0 0 0
t9 0 0 1
... ...

Fig. 5.19. Succesiunea strilor


unui numrtor binar direct de trei bii

Numrtoarele care i schimb starea conform tabelului din figura 5.19 snt
denumite directe, deoarece coninutul numrtorului crete cu o unitate, la fie-
care nou impuls sosit la intrarea +1. Dac ntr-un numrtor se introduce iniial
un numr i la fiecare impuls aplicat la intrarea 1 coninutul su scade cu o
unitate, se obine un numrtor invers (fig. 5.17e).

ntrebri i exerciii
Care este destinaia registrului? De ce depinde capacitatea unui registru?
n registrul de deplasare de la dreapta spre stnga (fig. 5.17b) este ncrcat
numrul binar 1001. Care va fi coninutul registrului dup aplicarea la intra-
rea C a unui impuls? Dar a dou impulsuri?
n registrul de deplasare de la stnga spre dreapta este ncrcat unul dintre
urmtoarele cuvinte binare:
a) 00000; f) 00001;
b) 10000; g) 10001;
c) 01000; h) 01010;
d) 00100; i) 01100;
e) 00010; j) 00110.

115
Care va fi coninutul registrului dup aplicarea la intrarea C a dou impulsuri
consecutive?
Elaborai un program PASCAL care simuleaz funcionarea unui registru de
deplasare de la stnga spre dreapta de n bii.
Care este destinaia numrtoarelor? Cum se schimb strile unui numrtor
direct? Dar ale unui numrtor invers?
Un numrtor direct de 4 bii se afl iniial n una dintre urmtoarele stri:
a) 0000; f) 1010;
b) 0010; g) 1100;
c) 0100; h) 1111;
d) 1000; i) 0101;
e) 1001; j) 0110.
Care va fi starea numrtorului dup aplicarea a 5 impulsuri de intrare? Dar a
8 impulsuri?
Un numrtor invers de 4 bii se afl n starea iniial 1001. Care va fi starea
numrtorului dup aplicarea a m impulsuri de intrare? Numrul m poate avea
valorile 1, 4, 5, 8, 11, 17.
Elaborai un program PASCAL care simuleaz funcionarea unui numrtor
direct de n bii.

5.7. Generatoare de impulsuri


Impulsurile se utilizeaz n echipamentele numerice pentru a asigura funcio-
narea secvenial a acestora. De obicei, generatoarele de impulsuri se realizeaz
pe baza porilor logice i a elementelor de ntrziere.
Elementul de ntrziere reprezint un circuit electronic care realizeaz funcia
logic de repetare y = x, ns semnalul de ieire y repet semnalul de intrare x cu
o ntrziere de uniti de timp.
Din cursul de fizic e cunoscut faptul c viteza de propagare a semnalelor este
finit. Prin urmare, orice conductor poate fi tratat ca un element de ntrziere. Pen-
tru a mri inertitatea circuitelor electronice i pentru a realiza ntrzieri semnifi-
cative, n componena lor se includ condensatoare i rezistoare. n acest caz ntrzie-
rea este determinat de capacitatea i rezistena componentelor respective.
n figura 5.20 snt prezentate simbolul i diagramele n timp ale elementului
de ntrziere.
Schema unui generator de impulsuri periodice realizat pe baza unui ele-
ment de ntrziere i a porii logice I-NU este prezentat n figura 5.21. n starea
iniial x = 0 i y = 1, iar la ieirea elementului de ntrziere se menine valoarea
logic 1. Cnd la intrare se aplic semnalul de pornire x = 1, ieirea devine egal
cu 0 (fig. 5.22). n continuare, valoarea logic 0, dup o ntrziere , este aplicat
la a doua intrare a porii logice I-NU. Astfel, ieirea y devine egal cu 1. Valoa-

116
Fig. 5.20. Simbolul (a) i diagramele n timp (b) ale elementului de ntrziere

rea logic 1, dup o ntrziere , va fi din nou aplicat la intrarea porii logice I-NU,
impunnd la ieire valoarea y = 0 etc.
Prin urmare, la ieirea y a generatorului se va forma o succesiune de impulsuri
cu durata . Procesul de generare poate fi ntrerupt prin aplicarea la intrare a
semnalului de oprire x = 0.

Fig. 5.21. Schema (a) i simbolul generatorului de impulsuri periodice (b)

Fig. 5.22. Diagramele n timp ale generatorului de impulsuri periodice

117
ntrebri i exerciii
Care este destinaia elementului de ntrziere? Desenai diagramele n timp ale
elementului examinat.
Explicai cum funcioneaz generatorul de impulsuri periodice. De ce depinde
durata impulsurilor?
nlocuii poarta logic I-NU din componena generatorului de impulsuri pe-
riodice prezentat n figura 5.21 printr-o poart logic SAU-NU. Explicai cum
va funciona circuitul respectiv. Desenai diagramele n timp ale generatoru-
lui obinut.
E cunoscut faptul c variaiile mrimilor fizice nu pot avea loc instantaneu.
Prin urmare, orice poart logic are o ntrziere , denumit ntrziere para-
zitar, valoarea concret a creia depinde de particularitile circuitului res-
pectiv.
Excludei din schema prezentat n figura 5.21 elementul de ntrziere, apli-
cnd semnalul de la ieirea porii logice I-NU direct la intrarea ei. Explicai
cum va funciona circuitul obinut. De ce depinde durata impulsurilor la ieirea
porii logice? Desenai diagramele respective n timp.
Circuitul secvenial const dintr-o poart logic NU, semnalul de ieire al cre-
ia este aplicat direct la intrarea ei. Cum va funciona acest circuit?

Test de autoevaluare nr. 5


1. Desenai schema circuitului logic pentru calcularea funciei y = 1x2 x1x3.
2. La intrrile circuitului logic de mai jos snt aplicate valorile x1 = 1, x2 = 0 i x3 = 1. Desenai
schema n caiet i indicai pe desen valorile semnalelor de la intrrile i ieirile fiecrei pori
logice.

3. Scriei funcia logic realizat de circuitul din itemul 2.


4. Elaborai un program PASCAL care simuleaz funcionarea semisumatorului. Cifre-
le binare a i b se citesc de la tastatur, iar cifra-sum s i cifra de transport t se afieaz
pe ecran.

118
5. Cte pori logice NU, I, SAU va conine un sumator de 8 bii? Argumentai rspunsul.
6. Elaborai un program PASCAL care simuleaz funcionarea sumatorului de 8 bii.
Numerele binare A i B se citesc de la tastatur, iar suma S i cifra de depire t se
afieaz pe ecran.
7. Indicai corespondena ntre denumirile circuitelor combinaionale frecvent utilizate
(coloana din stnga) i destinaia acestora (coloana din dreapta):
(a) efectueaz conversiunea mesajelor n cuvinte binare;
(1) sumatorul; (b) efectueaz conversiunea semnalelor;
(2) comparatorul; (c) distribuie fluxurile de date;
(3) codificatorul; (d) efectueaz conversiunea cuvintelor binare n mesaje;
(4) decodificatorul; (e) calculeaz suma a dou numere binare;
(5) multiplexorul; (f) selecteaz obiectele unei imagini;
(6) demultiplexorul. (g) compar dou numere binare;
(h) selecteaz fluxurile de date.

8. Pe panoul de comand al unui joc electronic snt montate becurile (diodele luminiscen-
te) indicatoare SUS, JOS, STNGA i DREAPTA. Alctuii tabelul de adevr al decodificatoru-
lui care aprinde becurile n cauz. Comenzile respective snt codificate prin urmtoarele com-
binaii binare:
00 SUS;
01 JOS;
10 STNGA;
11 DREAPTA.

9. Cunoscnd valorile variabilelor de intrare R = 0 i S = 1, determinai valorile funciilor


Q i la ieirea bistabilului de mai jos.

10. Desenai schema detaliat (la nivelul porilor logice I, I-NU) a bistabilului sincron .

119
11. Indicai corespondena ntre denumirile circuitelor secveniale frecvent utilizate (coloa-
na din stnga) i destinaia acestora (coloana din dreapta):
(a) deplaseaz cuvntul binar
de la stnga la dreapta;
(b) transform cuvintele binare n caractere;
(1) bistabilul;
(c) adun cte o unitate la coninutul su;
(2) registrul;
(d) memoreaz o cifr binar;
(3) registrul de deplasare
de la dreapta spre stnga; (e) adun dou numere binare, reprezentate
n cod invers;
(4) registrul de deplasare
de la stnga spre dreapta; (f) scade cte o unitate din coninutul su;
(5) numrtorul direct; (g) deplaseaz cuvntul binar
de la dreapta la stnga;
(6) numrtorul invers.
(h) scade numerele binare, reprezentate
n cod direct;
(i) memoreaz un cuvnt binar.
12. n registrul de deplasare de la stnga spre dreapta este ncrcat cuvntul binar 10011011.
Care va fi coninutul registrului dup aplicarea la intrarea C a trei impulsuri consecutive?
13. n registrul de deplasare de la dreapta spre stnga este ncrcat cuvntul binar 11011101.
Care va fi coninutul registrului dup aplicarea la intrarea C a patru impulsuri consecutive?
14. Elaborai un program PASCAL care simuleaz funcionarea unui registru de deplasare
de la dreapta spre stnga. Coninutul iniial al registrului R i numrul de impulsuri de intrare m
se citesc de la tastatur, iar rezultatul deplasrii se afieaz pe ecran.
15. Un numrtor direct de 8 bii se afl n starea iniial 10001101. Care va fi starea
numrtorului dup aplicarea a 6 impulsuri de intrare?
16. Un numrtor invers de 8 bii se afl n starea iniial 10101110. Care va fi starea
numrtorului dup aplicarea a 5 impulsuri de intrare?
17. Elaborai un program PASCAL care simuleaz funcionarea unui numrtor direct.
Coninutul iniial al numrtorului A i numrul de impulsuri de intrare m se citesc de la tasta-
tur, iar coninutul final al numrtorului se afieaz pe ecran.

120
Capitolul 6
STRUCTURA I FUNCIONAREA
CALCULATORULUI

6.1. Schema funcional a calculatorului


Schema funcional a calculatorului numeric este prezentat n figura 6.1.
Conform acestei scheme, calculatorul numeric conine urmtoarele uniti
funcionale:
o unitate de memorie pentru a nmagazina datele iniiale, intermediare i
finale ale problemei, precum i instruciunile care indic secvena calculelor;
un dispozitiv aritmetic i logic necesar efecturii operaiilor aritmetice i logice
elementare;
unul sau mai multe dispozitive de intrare, respectiv, ieire, necesare comuni-
crii din exterior cu calculatorul;
un dispozitiv central de comand i control care genereaz o succesiune de
semnale de comand necesare executrii secveniale a instruciunilor.
Dispozitivul aritmetic i logic i dispozitivul central de comand formeaz uni-
tatea central de prelucrare a informaiei sau, mai pe scurt, procesorul.
Memoria calculatoarelor moderne este organizat n dou niveluri, i anume:
o unitate de memorie intern cu o vitez mare de lucru i una sau mai multe
uniti de memorie extern cu o vitez mai redus, ns cu o capacitate mult mai
mare dect cea a memoriei interne.

Fig. 6.1. Schema funcional a calculatorului

121
Memoria intern (numit uneori memorie principal, central sau operati-
v) pstreaz programul n curs de executare i datele folosite de acesta, prezena
ei fiind o condiie esenial pentru funcionarea calculatorului.
Memoria extern are rolul de a pstra cantiti mari de informaie i progra-
me folosite frecvent pentru a putea fi aduse ntr-un interval de timp mic n memo-
ria intern. n prezent ca memorii externe snt utilizate unitile cu discuri sau
benzi magnetice, unitile cu discuri optice etc.
Unitile de memorie extern i dispozitivele de intrare-ieire snt numite
echipamente periferice.
Pentru a asigura o interaciune eficient a procesorului, a memoriei interne i
a echipamentelor periferice, n cazul calculatoarelor personale schema funciona-
l se realizeaz fizic conform schemei-bloc prezentate n figura 6.2.

Fig. 6.2. Schema-bloc a unui calculator personal

Din analiza figurii 6.2 rezult c toate calculatoarele moderne au o confi-


guraie modular. Fiecare modl, i anume controlerul, imprimantele, uni-
tile de disc magnetic etc., funcioneaz i, n consecin, pot fi incluse sau
excluse din componena calculatorului independent unul de altul. Prin urma-
re, configuraia calculatorului poate fi modificat n funcie de destinaia sis-
temului de calcul.
De exemplu, un sistem editorial va include mai multe tipuri de imprimante:
mecanice pentru textele n curs de prelucrare, laser sau color pentru paginile
machetate deja, cititoare de desene i fotografii (scanere) etc. Un sistem destinat
gestionrii rapide a unui volum mare de date va include mai multe discuri mag-
netice, iar un calculator utilizat pentru montarea filmelor video va fi dotat cu
camere de luat vederi i vizualizatoare de o rezoluie adecvat, cu tastaturi simi-
lare pupitrului regizoral etc.

122
ntrebri i exerciii
Numii unitile funcionale ale calculatorului i explicai destinaia lor.
Care este rolul memoriei interne? Cum se realizeaz memoria extern a calcu-
latoarelor moderne?
Numii echipamentele periferice pe care le cunoatei dvs.
Numii componentele unui calculator personal i explicai destinaia lor.
Care este structura i cum interacioneaz componentele unui calculator?
Cum poate fi modificat configuraia unui sistem de calcul? Care snt avantaje-
le configuraiei modulare a calculatorului?
Desenai schema-bloc a calculatorului cu care lucrai dvs. Care componente
snt obligatorii i care opionale pentru funcionarea calculatorului?
Cum poate fi conectat la un calculator personal o unitate suplimentar de disc
magnetic? O imprimant laser? Un cititor de documente? O camer de luat
vederi?

6.2. Formatul instruciunilor


Pentru a rezolva o problem, calculatorul trebuie s cunoasc n fiecare moment
att operaia pe care urmeaz s o execute, ct i datele care particip n operaie.
Aceste operaii snt comunicate calculatorului prin intermediul instruciunilor.
Instruciunea calculatorului reprezint o succesiune de cifre binare
prin care se indic procesorului operaia de executat i amplasamen-
tul (locul) operanzilor.
Succesiunea binar respectiv, denumit uneori i cuvnt instruciune, este
mprit n cmpuri, fiecare cmp avnd o semnificaie precis. Numrul i sem-
nificaia cmpurilor poart denumirea de formatul instruciunii. n figura 6.3
snt prezentate formatele utilizate n calculatoarele moderne.

Fig. 6.3. Formatul instruciunilor cu trei (a), dou (b) i o singur adres (c)

123
n general, pentru executarea unei operaii este necesar ca instruciunea s coni-
n trei adrese (fig. 6.3a). Primele dou adrese snt folosite pentru obinerea celor doi
operanzi asupra crora se va efectua operaia specificat de cmpul Codul instruciu-
nii. Rezultatul operaiei va fi depus pe adresa specificat de cmpul Adres rezultat.
S analizm un exemplu. Presupunem c operaiile aritmetice i logice snt
codificate dup cum urmeaz (pentru simplitate vom utiliza echivalentele zeci-
male ale cmpurilor binare respective):
01 adunarea;
02 scderea;
03 operaia logic I;
04 operaia logic SAU.
Instruciunea
01 100 110 215
va impune procesorul s adune numerele din locaiile 100 i 110 i s depun
suma obinut n locaia 215.
Instruciunea
02 100 110 215
comunic procesorului c din numrul nscris n locaia 100 se scade numrul din
locaia 110. Rezultatul obinut va fi depus n locaia 215.
n mod similar, instruciunea
03 200 300 100
specific operaia logic I asupra biilor cuvintelor din locaiile 200 i 300. Rezul-
tatul operaiei va fi depus n locaia 100.
Se observ c ntr-o instruciune nu se specific valoarea operanzilor, ci
adresele locaiilor n care pot fi gsii operanzii respectivi. Acest fapt permite
utilizarea unuia i aceluiai program pentru prelucrarea oricror date iniiale.
Faptul c instruciunile lucreaz cu adrese al cror coninut trebuie prelucrat, i
nu cu nsui coninutul, constituie un principiu fundamental al calculatoarelor
numerice, care permite ca un program s fie elaborat i introdus n calculator
independent de datele concrete asupra crora se aplic.
n formatul cu trei adrese (fig. 6.3a), adresele snt specificate explicit. Pen-
tru o reprezentare mai compact a instruciunilor se utilizeaz specificarea
implicit a unor adrese. n acest caz, cuvntul instruciune nu conine un cmp
special pentru adresa implicit.
Dac rezultatul obinut n urma executrii unei instruciuni se depune pe adresa
unuia dintre operanzi, formatul respectiv va avea numai dou adrese (fig. 6.3b). Prin
urmare, adresa rezultatului este specificat implicit. De exemplu, instruciunea
01 100 110
va impune procesorul s adune numerele din locaiile 100 i 110 i s depun
suma obinut n locaia 100. Evident, dup nscrierea sumei, numrul iniial din
locaia 100 va fi suprimat.

124
S-a constatat c formatul cu dou adrese, n prezent cel mai rspndit, permi-
te scrierea de programe avnd un numr de instruciuni comparabil cu cel obi-
nut atunci cnd s-ar utiliza mai multe adrese.
Formatul cu o singur adres (fig. 6.3c) se utilizeaz n calculatoarele proce-
sorul crora include un registru special, denumit acumulator. n acumulator se
pstreaz primul operand i se depune rezultatul executrii operaiei respective.
Prin urmare, adresa primului operand i adresa rezultatului snt specificate im-
plicit. De exemplu, instruciunea cu o singur adres
01 100
va aduna numrul din acumulator cu numrul din locaia 100, iar suma obinut va
fi depus n acumulator. Respectiv, numrul iniial din acumulator va fi suprimat.
Instruciunile cu o singur adres snt eficiente din punctul de vedere al lun-
gimii cuvntului i al rapiditii calculatorului. Totui un program scris cu in-
struciuni avnd o singur adres va conine mai multe instruciuni dect n ca-
zul n care se folosesc instruciuni cu dou sau trei adrese.
Menionm c toate calculatoarele moderne pot avea instruciuni de diferite
formate. Informaia referitoare la formatul fiecrei instruciuni se indic n cm-
pul Codul instruciunii.

ntrebri i exerciii
Enumerai formatele instruciunilor utilizate n calculatoarele moderne. Expli-
cai modul de specificare implicit a unor adrese.
Explicai semnificaia cmpurilor instruciunilor cu trei sau dou adrese.
Cum se specific adresele operanzilor i ale rezultatului n cazul instruciunilor
cu o singur adres?
Explicai cum vor fi executate urmtoarele instruciuni cu trei adrese:
a) 01 200 201 202; c) 03 100 150 250;
b) 04 202 201 200; d) 02 250 300 310.
Operaiile aritmetice i logice snt codificate ca i n exemplul din paragraful
de fa.
Care va fi coninutul locaiei 100 dup executarea instruciunii
01 200 300 100,
dac n locaiile 200 i 300 snt nscrise numerele 17 i, respectiv, 31?
Explicai cum vor fi executate urmtoarele instruciuni cu dou adrese:
a) 01 200 201; c) 03 100 150;
b) 04 202 201; d) 02 250 300.
Care va fi coninutul locaiei 200 dup executarea instruciunii
01 200 100,
dac n locaiile 100 i 200 snt nscrise numerele 18 i, respectiv, 32?

125
Explicai cum vor fi executate urmtoarele instruciuni cu o singur adres:
a) 01 100; c) 02 400;
b) 03 200; d) 04 150.
Care va fi coninutul acumulatorului dup executarea instruciunii
01 100,
dac iniial n locaia 100 era nscris numrul 12, iar n acumulator numrul 26?
Care snt avantajele i dezavantajele formatelor cu trei, dou sau cu o singur
adres?

6.3. Tipuri de instruciuni


Instruciunile unui calculator se mpart n patru grupe:
instruciuni operaionale, care efectueaz operaii aritmetice i logice asupra
datelor specificate prin operanzi;
instruciuni de transfer, care deplaseaz informaia ntre registre i/sau loca-
ii fr a modifica informaia transferat;
instruciuni de salt, care n urma verificrii unor condiii, modific analiza i
execuia secvenial a instruciunilor din program;
instruciuni de intrare-ieire care permit comunicarea calculatorului cu ex-
teriorul.
Instruciunile operaionale prelucreaz datele pstrate n locaiile memo-
riei interne i n registrele procesorului. Cele mai cunoscute instruciuni ale aces-
tei grupe snt cele care efectueaz operaiile aritmetice de baz: adunarea, scde-
rea, nmulirea i mprirea.
Instruciunile logice de tipul I, SAU, NU snt instruciuni operaionale care
acioneaz asupra poziiilor individuale ale informaiei binare. n categoria in-
struciunilor operaionale ntlnim i instruciuni de tipul: terge coninutul unei
locaii sau al unui registru, complementeaz coninutul unei locaii, crete cu o
unitate coninutul unui registru etc. n fine, n categoria instruciunilor operaio-
nale snt incluse instruciunile de deplasare a informaiei, n care partea de adre-
s a instruciunii conine un numr ntreg, care specific numrul poziiilor cu
care se face deplasarea.
Instruciunile de transfer deplaseaz informaia dintre locaiile memoriei
interne, ntre registre sau ntre locaii i registre fr a altera coninutul informa-
iei transferate. Instruciunea trebuie s specifice explicit sau implicit adresa-
surs i adresa de destinaie a transferului. n timpul transferului i dup trans-
fer, informaia din surs rmne neschimbat. Cele mai uzuale instruciuni ale
acestei grupe snt cele prin care coninutul unei locaii trece ntr-un anumit regis-
tru, registrul acumulator, precum i instruciunea de transfer invers: dintr-un
registru ntr-o locaie a memoriei interne.
Instruciunile de salt se utilizeaz pentru modificarea ordinii de execuie a
instruciunilor. n mod normal, instruciunile unui program snt analizate i execu-

126
tate n mod secvenial, n ordinea n care snt aezate n memorie. Aceast ordine
poate fi schimbat cu ajutorul instruciunilor de salt condiionat sau necondiionat.
Instruciunile de salt condiionat permit alegerea continurii programului pe o
anumit ramur, n funcie de o condiie de test realizat. Folosirea instruciuni-
lor de salt condiionat dau posibilitate utilizatorului s introduc decizii logice n
procesul execuiei programului.
O instruciune de salt necondiionat conine, n partea de adres, adresa in-
struciunii care va fi executat n continuare.
Instruciunile de intrare-ieire permit comunicarea calculatorului cu echi-
pamentele periferice. Echipamentul cu care se va efectua operaia de intrare-iei-
re se specific n partea de adres a instruciunii. De regul, instruciunile de
acest tip conin att informaii legate de natura schimbului de date, adic introdu-
cerea sau extragerea lor, ct i comenzi necesare funcionrii corecte a periferiei.
Tot n aceste instruciuni se specific i registrele sau locaiile n care vor fi depu-
se sau din care vor fi luate datele respective.

ntrebri i exerciii
Cum se clasific instruciunile unui calculator? Care este destinaia instruciu-
nilor din fiecare grup?
Dai cteva exemple de instruciuni operaionale. Estimai numrul instruciu-
nilor operaionale posibile.
Care este destinaia instruciunilor de transfer? Estimai numrul instruciu-
nilor posibile de transfer.
Cnd i cum se utilizeaz instruciunile de salt? Care condiii de test pot fi ana-
lizate de aceste instruciuni?
Care este destinaia instruciunilor de intrare-ieire? Ce informaii conin aces-
te instruciuni?

6.4. Limbajul cod calculator i limbajul de asamblare


Pentru a rezolva o problem, n memoria calculatorului trebuie s fie ncr-
cate programul respectiv i datele de prelucrat. Instruciunile programului i
datele de prelucrat se nmagazineaz n memoria intern sub forma unor suc-
cesiuni de cifre binare pe care dispozitivul central de comand le poate extrage
i interpreta.
Programele reprezentate n form de succesiuni binare direct execu-
tabile de calculator se numesc programe n limbaj cod calculator sau
programe n limbaj main.
Pentru utilizator programul n cod calculator poate fi prezentat n form de
iruri de cifre binare sau, mai compact, de cifre octale, zecimale sau hexazecima-
le organizate pe locaii ale memoriei.

127
Elaborarea programelor n limbaj cod calculator este un lucru extenuant i ine-
ficient. Pentru a simplifica procesul de elaborare a programelor, s-a convenit ca
instruciunile s fie scrise ntr-un limbaj simbolic, denumit limbaj de asambla-
re. n acest limbaj codurile instruciunilor se reprezint printr-un grup de caracte-
re, astfel ales nct s sugereze ct mai bine natura operaiei. Acest grup de caracte-
re, de regul trei, este cunoscut sub numele mnemonica instruciunii.
De exemplu, codurile instruciunilor calculatorului ipotetic din paragraful pre-
cedent pot fi notate simbolic conform tabelului 6.1.
Tabelul 6.1
Mnemonica instruciunilor
Cod
Mnemonica Semnificaia
instruciune
01 INC ncarc acumulatorul
02 MEM Memoreaz acumulatorul
03 ADU Adunare
04 SCD Scdere
05 SLT Salt necondiionat
06 SLTC Salt condiionat
07 STP Stop

Adresele locaiilor memoriei interne pot fi specificate prin denumiri simbolice


alese de utilizator, denumiri care sugereaz semnificaia coninutului locaiilor
respective.
De exemplu, locaia 185, n care se va pstra numrul x, poate fi notat prin X,
locaia 213 pentru numrul y se va nota prin Y, locaia 200, n care va fi depus
suma x + y, se va nota prin S. n limbajul de asamblare fragmentul de program
pentru adunarea numerelor x i y va avea forma:
INC X
ADU Y
MEM S.
n general, exist o coresponden direct ntre scrierea instruciunii n limba-
jul de asamblare i scrierea n limbajul cod calculator, ceea ce face uoar transla-
tarea (traducerea) limbajului de asamblare n limbajul cod calculator.
Translatarea const n nlocuirea mnemonicii instruciunii i a adreselor
simbolice prin irurile binare respective. Aceast nlocuire este fcut de
un program special, denumit program de asamblare sau asamblor.
Limbajele cod calculator i de asamblare snt limbaje dependente de cal-
culator. Aceast dependen const n faptul c formatul, codurile i mnemo-
nica instruciunilor exprim structura intern a calculatorului. Programele ela-
borate n aceste limbaje snt cele mai scurte i rapide, ns procesul de progra-
mare necesit un mare volum de munc. Simplificarea procesului de programa-
re se asigur prin utilizarea limbajelor independente de calculator (FORTRAN,

128
BASIC, PASCAL, C etc.), n care operaiile de prelucrare i tipurile de date nu
snt legate de echipamentele calculatorului. ns, cu regret, detaarea utilizato-
rului de structura intern a calculatorului diminueaz eficacitatea programelor
respective.

ntrebri i exerciii
Care este diferena dintre limbajul cod calculator i limbajul de asamblare?
Cum se exprim codurile instruciunilor i adresele locaiilor ntr-un limbaj de
asamblare?
Care este destinaia i cum se realizeaz translatarea programelor scrise ntr-un
limbaj de asamblare?
Se consider c denumirea simbolic X semnific locaia 100, denumirea Y
locaia 101, iar denumirea S locaia 102. Exprimai n limbajul de asamblare
(vezi tabelul 6.1) urmtoarele programe:
a) 01 100 b) 01 100 c) 01 101
04 101 02 100 04 100
02 102 03 100 02 102
02 100

d) 01 101 e) 01 100 f) 01 100


03 101 02 101 02 102
03 101 03 101 01 101
03 101 02 100 02 100
02 102
Care va fi coninutul locaiilor 100, 101 i 102 pn i dup execuia fiecrui
program?
Se consider c denumirile simbolice X, Y i S specific, respectiv, locaiile 100,
200 i 300. Translatai urmtoarele programe scrise n limbajul de asamblare:
a) INC X b) INC X c) INC Y
SCD Y INC X ADU X
MEM S SLTC S MEM S
INC Y STP STP

d) INC Y e) INC X f) INC X


ADU Y MEM S MEM S
ADU Y INC Y INC Y
ADU Y MEM X MEM X
MEM S INC X INC S
Explicai cum va fi executat fiecare program.
Care este diferena dintre limbajele dependente i limbajele independente de
calculator? Care snt avantajele i dezavantajele fiecrui limbaj?

129
6.5. Resursele tehnice i resursele programate
ale calculatorului
Numrul total al instruciunilor unui calculator depinde, n primul rnd, de
capacitatea lui. n cazul unui sistem mare de calcul acest numr poate depi
1000, pe cnd la calculatoarele foarte mici el nu este mai mare dect 100. O anumi-
t operaie poate fi efectuat la unele calculatoare cu o singur instruciune, pe
cnd aceeai operaie, n alte calculatoare, pentru care nu exist o instruciune
specific, este efectuat cu ajutorul unei succesiuni de alte instruciuni existente.
Operaiile efectuate intern de ctre componentele electronice ale calculatoru-
lui snt cunoscute ca operaii implementate prin echipamente, pe cnd opera-
iile efectuate cu ajutorul unei secvene de instruciuni snt cunoscute ca opera-
ii implementate prin program. De exemplu, operaia de extragere a rdci-
nii ptrate ntr-un anumit calculator poate fi efectuat prin echipament electro-
nic, n alt calculator printr-un subprogram. Delimitarea dintre implementa-
rea prin echipamente i program depinde de calculator. n figura 6.4 este prezen-
tat o astfel de delimitare n cazul unui calculator cu posibiliti medii.

Fig. 6.4. Delimitarea ntre implementarea prin echipamente i prin program

Operaiile implementate prin echipamente se efectueaz prin execuia unei sin-


gure instruciuni, pe cnd o operaie implementat prin program necesit execuia
mai multor instruciuni. Prin urmare, operaiile implementate prin echipamente
se efectueaz mai rapid, ns calculatorul respectiv este mai complex i, n conse-
cin, mai scump. Din contra, operaiile implementate prin program se efectueaz
mai lent, ns calculatoarele respective snt mai simple i, evident, mai ieftine.
Din analiza principiilor de funcionare a procesorului rezult c toate echipa-
mentele unui calculator devin inutile n absena programelor care guverneaz
efectuarea operaiilor necesare pentru rezolvarea unei probleme. Exact n acelai
mod, programele snt fr niciun folos n absena echipamentelor numerice res-

130
pective. Prin urmare, utilizarea tehnicii de calcul este posibil numai n prezena
att a echipamentelor, denumite resurse tehnice, ct i a programelor respective,
denumite resurse programate.
Resursele tehnice ale unui sistem de calcul modern includ procesorul, me-
moria intern, unitile de memorie extern, echipamentele de intrare-ieire etc.
Resursele programate vor include subprogramele care realizeaz operaiile
implementate prin program, programele care simplific accesul la unitile de
intrare-ieire, asambloarele, editoarele de texte, compilatoarele limbajelor algo-
ritmice i, evident, programele elaborate de fiecare utilizator.
Menionm c n literatura de specialitate resursele tehnice uneori snt denu-
mite prin cuvntul englez hardware (produse de metal), iar resursele programa-
te prin cuvntul software (produse moi). Respectiv, implementarea prin echi-
pamente se numete implementare prin hardware, iar implementare prin pro-
gram implementare prin software.

ntrebri i exerciii
De ce depinde numrul total al instruciunilor unui calculator?
Cum se efectueaz operaiile n cazurile implementrii prin echipamente i n
cele ale implementrii prin program?
Analiznd repertoriul instruciunilor calculatorului la care lucrai dvs., deter-
minai cum snt implementate urmtoarele operaii:
nmulirea i mprirea numerelor binare;
adunarea i scderea numerelor cu virgul mobil;
nmulirea i mprirea numerelor cu virgul mobil;
extragerea rdcinii ptrate;
calcularea funciilor trigonometrice.
Care snt avantajele i dezavantajele implementrii prin echipamente? Dar ale
implementrii prin program?
Numii resursele tehnice i resursele programate ale unui sistem de calcul. Care
snt resursele respective n cazul calculatorului la care lucrai dvs.?

6.6. Memorii externe pe benzi i discuri magnetice


Principiul de funcionare a memoriilor examinate const n nregistrarea in-
formaiei pe un strat magnetic, aflat n micare. Stratul magnetic este depus pe
un suport neutru, acesta fiind, de regul, o band de material plastic sau un disc
de aluminiu. n calitate de strat magnetic se folosete mai frecvent oxidul de fier
sau pelicule metalice subiri de cobalt-nichel cu depunere n vid.
nregistrarea sau citirea informaiei se efectueaz cu ajutorul unui cap magne-
tic, reprezentat n figura 6.5.
Capul const dintr-un miez, de regul din tole (foie) de permalloy foarte sub-
iri (0,05 mm) i o nfurare.

131
Fig. 6.5. Cap magnetic pentru nscrierea i citirea informaiei

ntr-un strat magnetic nenregistrat, cmpurile magnetice ale particulelor


de oxid de fier snt orientate haotic, anulndu-se reciproc. Pentru a nregis-
tra cifra binar 0 sau 1, prin nfurarea capului magnetic se trece impulsul
respectiv de curent. Impulsul care traverseaz nfurarea creeaz n ntre-
fier un cmp magnetic intens care magnetizeaz stratul aflat n momentul
actual sub cap. Direcia de magnetizare, deci informaia binar nscris, de-
pinde de direcia curentului n nfurarea capului magnetic. n figura 6.6
este prezentat un exemplu de nregistrare a informaiei binare 101101 pe un
strat magnetic aflat n micare.
Distana b determin lungimea poriunii necesare pentru a memora o cifr bi-
nar. Valoarea lui b depinde de viteza de micare a suportului, de proprietile
fizice ale stratului magnetic, de elementele constructive ale capului magnetic etc.
Numrul de elemente de memorie binar pe unitatea de lungime a
suportului se numete densitatea de nregistrare a informaiei.
n cazul nregistrrilor magnetice densitatea este dat de mrimea 1/b. Valo-
rile practice variaz dup tipul dispozitivului de memorare i firma constructoa-
re, fiind de ordinul sutelor i miilor de bii pe milimetru de lungime a suportului.
n timpul operaiei de citire cmpul magnetic al particulelor de oxid de fier,
trecnd prin dreptul ntrefierului (fig. 6.5), induce n nfurarea capului magne-
tic un semnal de ordinul 103 voli. Acest semnal este amplificat i transformat n
semnal-standard care reprezint cifra binar respectiv 0 sau 1.
n marea lor majoritate memoriile externe pe band magnetic reprezint
echipamente periferice autonome care transfer informaia spre/de la memoria in-
tern dup receptarea comenzilor corespunztoare de la procesorul calculatorului.
O unitate de memorie pe band magnetic (fig. 6.7) include mecanismul de antre-
nare a benzii, dispozitivul de scriere-citire i circuitele de comand aferente.

132
Fig. 6.6. Starea stratului magnetic pn (a) i dup nregistrare (b)

O operaie de citire sau scriere se realizeaz n timpul deplasrii benzii. ntre


dou operaii succesive banda este oprit. Evident, informaiile nregistrate pot
fi citite numai n ordinea amplasrii lor fizice pe band. Datorit acestui fapt,
unitile de band magnetic snt denumite uniti de memorie extern cu ac-
ces secvenial.
Timpul necesar pentru selectarea unei informaii din multitudinea
datelor memorate pe un suport se numete timp de acces.
Timpul de acces al unitii de band magnetic depinde de viteza benzii i de
locul amplasrii informaiei de citit: la nceputul, la sfritul sau la mijlocul ben-
zii. n cazul informaiilor nregistrate la sfritul benzii, timpul de acces este de
ordinul minutelor.
Capacitatea de memorare a unei benzi magnetice depinde de densitatea
nregistrrii, numrul de piste, lungimea benzii i are valori de ordinul 108 octei.

Fig. 6.7. Unitate de band magnetic

133
Din cauza timpului mare de acces i capacitatea de memorie relativ mic,
benzile magnetice se utilizeaz, n general, numai pentru arhivarea informaiei.
Unitatea de discuri magnetice reprezint la etapa actual cea mai rspn-
dit memorie extern a calculatoarelor numerice. Suportul informaiei este for-
mat dintr-un pachet de discuri, care poate fi fix sau amovibil, rotit cu o vitez de
ordinul miilor de turaii pe minut. Discurile snt acoperite cu un strat de material
feromagnetic. Informaia este nregistrat pe ambele fee de-a lungul unor piste
concentrice. Pentru aceasta fiecare fa este explorat n plan orizontal de ctre
un cap magnetic mobil (fig. 6.8).

Fig. 6.8. Unitate de discuri cu capete mobile

Capetele snt montate pe un bra extensibil i acionate de un mecanism pen-


tru a ajunge n dreptul pistei selectate.Toate capetele unei uniti de memorie cu
discuri snt poziionate simultan.
Timpul de acces al unitii de discuri se compune din timpul necesar depla-
srii ansamblului de capete magnetice de pe cilindrul curent pe cilindrul indicat
i din timpul necesar ca sectorul respectiv al discului s ajung n dreptul capului
magnetic. n practic se utilizeaz timpul mediu de acces, care pentru unitile
de disc moderne este de ordinul 103 secunde.
Amintim c n calculatoarele de performan se utilizeaz uniti de discuri cu
capete magnetice fixe cte un cap magnetic pentru fiecare pist. Aceste uniti
asigur un timp de acces de ordinul 104 secunde, ns snt foarte scumpe.
Pentru schimbul de informaii ntre calculatoare se utilizeaz discuri singulare
din material plastic, denumite discuri flexibile sau dischete. Aceste discuri snt
ncorporate ntr-o caset din plastic sau n plicuri speciale. Organizarea fizic a

134
informaiei este aceeai ca i n cazul pachetelor de discuri, ns unitile respecti-
ve snt mult mai simple i, evident, mai ieftine. Pentru a le deosebi de discurile
flexibile, discurile convenionale ale calculatoarelor personale snt denumite dis-
curi rigide, hard diskuri sau wincestere.
Capacitatea de memorare a discurilor magnetice depinde de numrul de supra-
fee ale pachetului, numrul de cilindri i densitatea de nregistrare. La momentul
actual este obinut capacitatea de ordinul 1012 octei pentru un pachet de discuri.

ntrebri i exerciii
Cum snt reprezentate cifrele binare 0 i 1 n nregistrrile magnetice?
Care este destinaia capului magnetic?
De ce depinde densitatea de nregistrare magnetic a informaiei?
Cum se citete informaia nregistrat pe un strat magnetic?
Explicai cum funcioneaz unitatea de memorie pe band magnetic din figura 6.7.
De ce depinde capacitatea de memorare a unei benzi magnetice?
O band magnetic are lungimea de 750 de metri. nregistrarea informaiei se
efectueaz pe 8 piste plus pista bitului de paritate. Capacitatea de memorare a
benzii este 47 Megaoctei. Determinai densitatea de nregistrare.
Viteza benzii magnetice este 2 m/s. n rola debitoare (Big. 6.7) snt 750 m de
band. Determinai timpul de acces la informaia de la mijlocul benzii.
Cum funcioneaz o unitate de discuri cu capete mobile?
Cum este organizat informaia pe un pachet de discuri magnetice?
Care este diferena dintre memoriile externe cu acces direct i acces secvenial?
De ce depinde timpul de acces al unitii de discuri magnetice?
Determinai capacitatea discului flexibil cu care lucrai dvs.
Pentru unitatea de disc rigid cu care lucrai dvs. determinai:
capacitatea discului;
timpul mediu de acces.

6.7. Memorii externe pe discuri optice


Principiul de funcionare a memoriilor pe discuri optice const n nregistra-
rea informaiei pe un strat reflectorizant aflat n micare. Stratul reflectorizant din
aluminiu, aur sau argint este depus pe un suport transparent din mas plastic.
n funcie de modul de scriere i citire a informaiei, deosebim:
1) Discuri optice numai pentru citire. Informaia pe astfel de discuri se n-
scrie de fabricant i nu poate fi modificat de utilizator. Abrevierea englez a
acestor discuri este CD-ROM (Compact Disc Read Only Memory).
2) Discuri optice inscriptibile. Informaia pe astfel de discuri se nscrie de
utilizator o singur dat, n continuare discul fiind disponibil numai pentru citire.
Abrevierea englez a acestor discuri este CD-R (Compact Disc Recordable).

135
3) Discuri optice reinscriptibile. Discurile n cauz permit mai multe cicluri
de scriere/tergere a informaiei. Abrevierea acestor discuri este CD-RW (Com-
pact Disc ReWritable).
Pentru a asigura compatibilitatea unitilor de citire, formatul datelor i di-
mensiunile discurilor optice snt standardizate. n figura 6.9 este reprezentat
structura discului optic numai pentru citire destinat publicului larg.

Fig. 6.9. Structura discului optic CD-ROM: a poziionarea pistelor


pe disc; b seciune a discului perpendicular pe piste

nregistrarea cifrelor binare pe astfel de discuri const dintr-o succesiune de


adncituri (n limba englez pit) realizate pe una dintre suprafeele discului. Aces-
te adncituri snt desprite de mici pauze i snt plasate pe suprafaa discului sub
forma unei piste n spiral.
Dimensiunile adnciturilor snt de ordinul unui micron (1 micron = 103 mili-
metri), distana dintre spire este de 1,6 microni, lungimea spiralei fiind de 5 300
de metri. Discul conine 20 000 de piste (spire) pe care se afl circa 6 109 adnci-
turi. Capacitatea de memorare a discului este de 640 Megaoctei.
Citirea discului optic se realizeaz cu ajutorul unui fascicul de lumin care, dup
ce se reflect de suprafaa activ, este interceptat de o celul fotosensibil (fig. 6.10).
Parcurgnd pistele respective, fasciculul laser este reflectat cnd stratul reflec-
torizant se afl n punctul de focalizare i nereflectat n caz contrar. Cu alte
cuvinte, adnciturile de pe suprafaa activ a discului optic schimb (moduleaz)
intensitatea fasciculului reflectat. n consecin, la ieirea celulei fotosensibile se

136
Fig. 6.10. Citirea discurilor optice

formeaz un semnal care red succesiunea de cifre binare 0, 1 nregistrat pe disc


la etapa fabricrii.
n unitile de disc optic moderne sursa de lumin laserul i celula fotosensibi-
l fotodioda se realizeaz ntr-un dispozitiv integral, denumit cap optic de citi-
re. Viteza unghiular a discului este de 200600 de turaii pe minut, iar viteza
liniar este de 1,4 m/s. n pofida vitezelor foarte mari, discul optic practic nu se
uzeaz, ntruct ntre capul optic i disc nu exist un contact mecanic direct. Prin
urmare, durata de exploatare a unui disc CD-ROM este determinat de calitatea
stratului reflectorizant i a stratului de protecie. n cazul utilizrii aluminiului,
din cauza oxidrii, stratul reflectorizant se ntunec, reducnd astfel viaa unui disc
optic la 1015 ani. n cazul unui strat reflectorizant din aur numai o aciune violen-
t care ar distruge stratul protector ar putea afecta calitatea unui disc optic.
De regul, discurile optice CD-ROM se utilizeaz pentru tirajarea sistemelor
de operare, mediilor de programare, enciclopediilor, jocurilor electronice i a altor
informaii destinate unui numr foarte mare de utilizatori.
Structura discurilor optice inscriptibile i reinscriptibile este redat
n figura 6.11.
Din figur se observ c discurile examinate conin un strat special, denumit
strat de nregistrare. n cazul discurilor inscriptibile acest strat este format
dintr-un material organic cyanin sau phtalocyanin care se ntunec la nclzire.

Fig. 6.11. Structura discurilor optice inscriptibile i reinscriptibile

137
nregistrarea informaiei se realizeaz cu ajutorul unui fascicul laser foarte pu-
ternic care nnegrete poriunile respective ale stratului de nregistrare.
La citire, poriunile ntunecate blocheaz trecerea fasciculului laser spre stra-
tul reflectorizant, modificnd astfel intensitatea luminii captate de celula fotosen-
sibil (fig. 6.10). ntruct fasciculul laser folosit la citire este foarte slab, discul
inscriptibil poate fi citit de mai multe ori fr a distruge informaia nregistrat.
n cazul discurilor reinscriptibile materialul din care este format stratul de
nregistrare devine din nou transparent dac este nclzit pn la o temperatur
special, denumit temperatur critic. Evident, dup tergere, pe discul rein-
scriptibil pot fi nscrise date binare noi. Discurile moderne CD-RW suport pn la
10 000 de cicluri de scriere/tergere.
Neajunsul comun al discurilor inscriptibile i reinscriptibile este faptul c ele
snt mult mai sensibile la temperatur, durata lor de exploatare fiind mai mic
dect a discurilor CD-ROM. Aceste discuri snt i mai scumpe, ntruct pentru o
citire sigur stratul reflectorizant este realizat din aur sau argint.
De obicei, discurile optice CD-R i CD-RW se utilizeaz pentru difuzarea infor-
maiilor operative unui cerc bine determinat de utilizatori baze de date, pachete
specializate de programe, rapoartele unor congrese importante, tablourile unei
expoziii, documente multimedia etc.
Menionm faptul c realizrile tehnologice din ultimul deceniu au condus la
apariia discurilor optice de tipul DVD (Digital Versatile Disc Disc Digital Mul-
tifuncional). Capacitatea unui disc DVD este de aproape apte ori mai mare dect
a unui disc de tipul CD.

ntrebri i exerciii
Cum snt reprezentate cifrele binare 0, 1 n nregistrrile optice?
Care este capacitatea de memorare a unui disc optic?
Cum se nregistreaz informaia pe un disc optic CD-ROM ?
De ce depinde capacitatea de memorare a unui disc optic?
E cunoscut faptul c lungimea spiralei pe care se nregistreaz informaia unui
disc optic este de 5300 m. Capacitatea de memorare a discului este de 640 Mega-
octei. Determinai densitatea de nregistrare a informaiei pe discul optic.
Care este domeniul de utilizare a discurilor CD-ROM ?
De ce depinde timpul de acces la informaiile de pe un disc optic?
Viteza liniar a discului optic este de 1,4 m/s. Cunoscnd densitatea de nregis-
trare a informaiei d = 128 Koctei/m, determinai viteza de transmisie a
datelor de la unitatea de disc la unitatea central. Amintim c viteza de trans-
misie a datelor se msoar n bii, Kbii sau Mbii pe secund.
Pe cele 20 000 de piste (spire) ale unui disc optic snt nregistrai circa 640 de
Megaoctei. Ct informaie conine o singur pist a discului optic?
Pe un disc CD-ROM snt nregistrate n form binar circa 74 de minute de
muzic. Determinai ct informaie va conine un cntec cu durata de 4 minute
i 30 de secunde. Cte piste va ocupa cntecul respectiv?

138
Cum se citete informaia de pe un disc optic? Care este destinaia capului optic
de citire?
Explicai destinaia straturilor unui disc optic inscriptibil. Cum se realizeaz
nregistrarea informaiei pe discul n cauz?
De ce depinde durata de exploatare a unui disc CD-ROM ? Dar a discurilor
CD-R i CD-RW ?
Cum se nregistreaz i se terge informaia de pe un disc optic reinscriptibil?
Care este domeniul de utilizare a discurilor CD-R i CD-RW ?
Aflai parametrii tehnici ai unitii de disc optic cu care este dotat calculatorul
dvs. Memorizai regulile de exploatare a discurilor i a unitilor de memorie
extern pe discuri optice.

6.8. Vizualizatorul i tastatura


Vizualizatorul este un dispozitiv de ieire prin intermediul cruia informaia
este prezentat utilizatorului pe ecranul unui tub catodic. Schema funcional a
vizualizatorului este prezentat n figura 6.12.

Fig. 6.12. Schema funcional a vizualizatorului

Ca i n cazul televizoarelor pentru publicul larg, imaginea pe ecranul tubului


catodic se formeaz din puncte. Punctele snt activate de un fascicul de electroni.
Culoarea i luminana fiecrui punct este controlat de semnale video, aplicate la
intrrile corespunztoare ale tubului catodic. Parcurgerea punctelor ntr-o ordine
prestabilit, de regul, pe linii de la stnga la dreapta i de sus n jos, este asigura-
t de dispozitivul de deflexie.
Fiecrui punct al ecranului i corespunde o locaie n memoria video a vizuali-
zatorului. Locaiile conin informaii referitoare la culoarea i luminana puncte-
lor respective. Dispozitivul de comand citete locaiile memoriei video n ordinea
parcurgerii punctelor de pe ecran. Coninutul fiecrei locaii este interpretat drept
o instruciune referitoare la modul de activare a punctului care i corespunde.
Semnalele video, necesare pentru comanda fasciculului de electroni, snt forma-
te de convertoare numeric-analogice.
Memoria video a vizualizatorului este ncrcat de unitatea central a calcu-
latorului. n orice moment, calculatorul poate modifica coninutul acestei memo-

139
rii. n consecin, se va schimba i imaginea afiat pe ecran. Imaginile pot fi
animate prin modificarea coninutului memoriei video la frecvene utilizate n
cinematografie.
Vizualizatorul poate funciona n unul dintre cele dou regimuri: alfanume-
ric sau grafic.
n regim alfanumeric ecranul este mprit n zone convenionale, numite
zone-caracter. De regul, aceste zone formeaz 25 de linii cu 80 de caractere pe
linie. n fiecare zon poate fi afiat un singur caracter dintr-un set de 256 de
caractere. Setul de caractere este constituit din literele mari i mici ale alfabetu-
lui latin, cifrele zecimale, simbolurile matematice, semnele de punctuaie i unele
caractere semigrafice, utilizate la afiarea pe ecran a tabelelor, diagramelor, che-
narelor etc. Fiecare zon-caracter poate avea o culoare pentru caracter i alt
culoare pentru fundal, ceea ce i permite utilizatorului s afieze pe ecran texte cu
litere de diferite culori.
n regim grafic utilizatorul poate controla afiarea pe ecran a fiecrui punct.
Numrul de puncte pe orizontal i vertical determin rezoluia vizualizatoru-
lui. De exemplu, expresia rezoluia 640200 nseamn c vizualizatorul are 640
de puncte pe orizontal i 200 pe vertical.
Exist mai multe norme internaionale care reglementeaz rezoluia i num-
rul de culori ale vizualizatoarelor. Aceste caracteristici snt recunoscute i respec-
tate de firmele productoare.
De exemplu, n cazul calculatoarelor personale cele mai rspndite snt norme-
le denumite EGA, VGA i SVGA. Norma EGA stipuleaz c vizualizatorul are o
rezoluie de 640350 de puncte, permind reprezentarea a 64 de culori.
Norma VGA, pstrnd compatibilitatea cu EGA, ofer ca faciliti suplimenta-
re rezoluia 640480 de puncte i 256 de culori distincte.
n scopul mbuntirii calitii imaginii redate, norma SVGA adaug rezolu-
ia suplimentar de 1024768 de puncte.
Menionm c realizrile tehnologice din ultimii ani au permis nlocuirea tu-
burilor catodice cu ecrane plate, fapt ce asigur o reducere substanial a dimen-
siunilor vizualizatorului i o mbuntire semnificativ a rezoluiei imaginilor
afiate. Astfel de vizualizatoare se caracterizeaz printr-un consum redus de energie
i rezoluii de 19201200 de puncte.
Tastatura este un dispozitiv de intrare care transform acionarea unei taste
ntr-un cuvnt binar, accesibil echipamentelor calculatorului.
Partea electronic a unei tastaturi const dintr-un codificator. La intrrile co-
dificatorului se aplic semnalele logice provenite de la taste. La ieire se furnizea-
z cuvintele unui cod binar, de obicei standard (ISO, ACSII etc.). Unele tipuri de
tastaturi pot fi prevzute cu un generator audio, care la acionarea tastelor pro-
duce un sunet specific.
La noi, ca i n rile anglofone, cea mai rspndit este tastatura de tipul
QWERTY, denumirea creia provine de la amplasarea caracterelor Q, W, E, R, T
i Y n rndul de sus al tastelor alfanumerice. n rile francofone se utilizeaz
tastatura AZERTY, n Germania QWERTZ etc.
Dei locul amplasrii tastelor i numrul lor pot s difere, destinaia tastelor
este aceeai.
140
Tastatura dispune de urmtoarele grupe de taste: alfanumerice, funcionale i
speciale. Grupul de taste alfanumerice include tastele cifrelor zecimale, tastele
caracterelor alfabetului englez, tastele simbolurilor matematice i ale semnelor
de punctuaie. Grupul de taste funcionale include tastele <F1>, <F2>, ... ,<F12>.
Tastele respective nu au o destinaie prestabilit i semnificaia lor este definit
de programul care deruleaz pe calculator. Tastele speciale se utilizeaz pentru
poziionarea cursorului vizualizatorului, pentru introducerea n calculator a unor
cuvinte binare care nu au taste proprii etc.
n calculatoarele de performan, vizualizatorul i tastatura pot forma un echi-
pament periferic unitar, denumit consol. Consola utilizat de operator pentru
dirijarea proceselor de calcul se numete monitor.

ntrebri i exerciii
Explicai cum funcioneaz vizualizatorul. Care este destinaia prilor compo-
nente ale unui vizualizator?
Cum poate fi schimbat imaginea afiat pe ecranul unui vizualizator? Cum
pot fi animate imaginile de pe ecran?
Prin ce se deosebesc regimurile de funcionare a vizualizatorului?
Care snt indicii principali de calitate ai unui vizualizator?
Determinai tipul vizualizatorului la care lucrai dvs. Aflai rezoluia i num-
rul de culori disponibile.
Care snt prile componente ale unei tastaturi? Cum se determin tipul tastaturii?
Numii grupurile de taste i destinaia lor.

6.9. Imprimantele
Imprimantele snt dispozitive de ieire care furnizeaz rezultatele sub forma
unui document tiprit. n funcie de tehnica de tiprire utilizat, imprimantele
se pot clasifica n:
imprimante mecanice, n care tiprirea se face prin acionarea unor ciocna-
e sau ace;
imprimantele laser, n care tiprirea se face folosind metode electrostatice ca
la mainile de copiat;
imprimantele cu jet de cerneal;
imprimantele termice, funcionarea crora se bazeaz pe utilizarea unei hr-
tii speciale care i schimb culoarea n funcie de temperatur.
Principiul de funcionare a imprimantei matriciale cu ace este prezentat
n figura 6.13.
Capul de imprimare conine un grup de ace metalice subiri care la momentul
potrivit lovesc prin band tuat n foaia de hrtie. Configuraia celor ce lovesc n
fiecare moment i avansarea capului de-a lungul liniei de imprimat determin
imaginile tiprite.

141
Fig. 6.13. Principiul de funcionare a imprimantei matriciale cu ace

Imprimantele matriciale pot funciona n regim grafic i regim alfanumeric.


n regim grafic, calculatorul comand tiprirea pe hrtie a fiecrui punct apar-
te. Evident, din puncte pot fi formate orice imagini: grafice, desene tehnice, carac-
tere cu configuraii concepute de utilizator. Imprimarea informaiei n regim gra-
fic este lent din cauza deplasrilor multiple ale capului de imprimare i a carac-
terului discontinuu al avansului de hrtie cu pai foarte mici.
n regim alfanumeric, calculatorul transmite imprimantei numai codurile
caracterelor de tiprit. Fiecrui cod i corespunde o imagine din puncte care se
pstreaz ntr-o memorie special a imprimantei. Imaginile respective snt tipri-
te prin una sau, cel mult, dou-trei treceri ale capului de imprimare.
Imprimarea n regim alfanumeric este mult mai rapid, ns pot fi tiprite numai
caractere, imaginile crora au fost, n prealabil, nmagazinate n memoria impriman-
tei. Imprimantele matriciale simple au cteva seturi de caractere, nscrise ntr-o me-
morie permanent. Imprimantele matriciale mai performante permit ncrcarea prin
program a mai multe seturi de caractere cu configuraii concepute de utilizator.
E cazul s subliniem c cu ct numrul celor din capul de imprimare este mai
mare, cu att calitatea imprimrii este mai bun. n prezent se utilizeaz impri-
mante cu 9 sau cu 24 de ace. Calitatea imprimrii poate fi mbuntit prin tip-
rirea repetat (de 2-4 ori) a aceluiai caracter pe acelai loc. Viteza de tiprire a
imprimantelor mecanice cu ace este de 150500 de caractere pe minut.
Principiul de funcionare a imprimantelor laser este prezentat n figura 6.14.
Elementul principal al acestei imprimante este un tambur acoperit cu un strat
semiconductor care i poate schimba proprietile electrice sub aciunea luminii.
Mai nti, suprafaa tamburului se electrizeaz. Cu ajutorul razelor laser pe su-
prafaa electrizat a tamburului se proiecteaz punctele imaginii de tiprit. n-
truct sectoarele care au fost luminate i schimb conductibilitatea, sarcinile elec-
trice respective se neutralizeaz. Prin urmare, pe suprafaa tamburului se for-
meaz o imagine electric ascuns. Developarea imaginii se efectueaz cu ajuto-
rul unor particule de pulbere colorat, atrase de sectoarele electrizate ale tambu-
rului. Imaginile de pe tambur se transfer pe hrtie i se fixeaz prin topirea
particulelor de pulbere.

142
Fig. 6.14. Principiul de funcionare a imprimantei laser

n continuare, toate sarcinile electrice de pe suprafaa tamburului snt neutra-


lizate, iar resturile de pulbere snt curate.
Imprimantele laser snt cele mai bune dintre imprimantele moderne. Textele i
grafica tiprite la aceste imprimante nu se deosebesc de cele tipografice. Viteza de
tiprire este de 5-15 pagini pe minut.
Imprimantele cu jet de cerneal formeaz punctele unei imagini din pic-
turi microscopice pulverizate pe hrtie de nite ajutaje speciale. Ele asigur o ca-
litate foarte bun a tiparului i snt utilizate pentru imprimarea color. Aceste
imprimante snt mai scumpe dect imprimantele cu ace i necesit o ngrijire teh-
nic deosebit.
Imprimantele termice utilizeaz o matrice de ace a cror nclzire selectiv
este determinat n funcie de caracterul ce urmeaz a fi tiprit. Viteza de impri-
mare este relativ mic, circa 300 de rnduri pe minut, ns avantajul principal
const n dimensiunile reduse ale imprimantei.

ntrebri i exerciii
Cum se clasific imprimantele n funcie de tehnica de tiprire?
Care snt prile componente ale unei imprimante?
Care este principiul de funcionare a imprimantei matriciale cu ace? Cum func-
ioneaz aceast imprimant?
Explicai cum funcioneaz o imprimant laser. Care este avantajul principal al
acestei imprimante?
Determinai tipul imprimantei cu care lucrai dvs. Aflai parametrii tehnici ai
imprimantei: setul de caractere, regimurile de funcionare, capacitatea memo-
riei-tampon, viteza de imprimare.

143
6.10. Clasificarea calculatoarelor
Caracteristica general a unui calculator include urmtoarele date:
viteza de operare;
capacitatea memoriei interne;
componena, capacitatea i timpul de acces ale unitilor de memorie extern;
componena i parametrii tehnici respectivi ai echipamentelor periferice;
parametrii de mas i gabarit;
costul.
n funcie de aceste date, calculatoarele moderne se clasific n 4 categorii:
supercalculatoare;
calculatoare mari (macrocalculatoare);
minicalculatoare;
microcalculatoare (calculatoare personale).
Supercalculatoarele pot executa peste 10 15 (1000 bilioane) de operaii pe
secund, iar preul lor depete 20 de milioane de dolari. Cercetri i proiectri n
industria supercalculatoarelor se realizeaz n SUA i Japonia de firmele IBM,
Gray Research, Fujitsu ETA Systems, Sutherland etc. Supercalculatoare se utili-
zeaz n prelucrri extrem de complexe ale datelor n aeronautic, fizica nuclea-
r, astronautic, seismologie, prognoza meteo etc.
Calculatoarele mari (n englez mainframe dulapul principal ) pot execu-
ta sute de bilioane de operaii pe secund (1 bilion = 1012), preul variind ntre 20
de mii i cteva milioane de dolari. Schema-bloc a calculatoarelor date este prezen-
tat n figura 6.2. De regul, calculatoarele mari includ zeci de uniti de disc
magnetic i imprimante, sute de console aflate la diferite distane de unitatea
central. Aceste calculatoare se utilizeaz n cadrul unor mari centre de calcul i
funcioneaz n regim non-stop. Principalele firme productoare de calculatoare
mari snt IBM, Hitachi, Amdahl, Fujitsu etc.
Minicalculatoarele efectuau sute de milioane de operaii pe secund, iar preul
lor nu depea 200300 mii de dolari. Echipamentele periferice ale unui minicalculator
includeau cteva discuri magnetice, una sau dou imprimante, mai multe console. Mi-
nicalculatoarele erau mai uor de utilizat i operat dect calculatoarele mari i se utili-
zau n proiectarea asistat de calculator, n automatizri industriale, pentru prelucra-
rea datelor n experimentele tiinifice etc. Dintre firmele ce produceau minicalculatoa-
re vom remarca IBM, Wang, Texas Instruments, Data General, DEC, Hewlett-Packard
etc. n prezent minicalculatoarele au fost nlocuite de calculatoarele personale.
Microcalculatoarele, denumite i calculatoare personale, snt realizate la
preuri sczute ntre 100 i 15 000 de dolari i asigur o vitez de calcul de
ordinul miliardelor de operaii pe secund. Schema-bloc a unui calculator perso-
nal este prezentat n figura 6.2.
De obicei, echipamentele periferice ale unui microcalculator includ o unitate de disc
rigid, o unitate de disc flexibil, o unitate de disc optic, o imprimant i o consol. Struc-
tura modular i gruparea tuturor echipamentelor n jurul unei magistrale permite con-
figurarea microcalculatorului n funcie de necesitile individuale ale fiecrui utilizator.
Corporaii care produc microcalculatoare exist n foarte multe ri, ns lideri
mondiali, unanim recunoscui, snt firmele IBM, Apple, Hewlett-Packard, Dell etc.

144
ntrebri i exerciii
Numii parametrii mai semnificativi ai unui calculator. Determinai parametrii
respectivi ai calculatorului cu care lucrai dvs.
Cum se clasific calculatoarele n funcie de parametrii tehnici i economici?
Dai o caracteristic succint a fiecrei categorii de calculatoare: supercalcula-
toare, calculatoare mari, minicalculatoare i microcalculatoare.
Folosind un server de cutare, gsii n Internet informaii detaliate despre
principalii productori de calculatoare personale.

6.11. Microprocesorul
Microprocesorul este un circuit integrat care implementeaz funciile uni-
tii centrale de prelucrare a informaiei, i anume extragerea i executarea
instruciunilor.
De regul, un microprocesor conine un dispozitiv aritmetic i altul de coman-
d, un grup de registre, destinate pstrrii temporale a datelor frecvent utilizate,
magistralele i circuitele de comand aferente (Big. 6.15).

Fig. 6.15. Schema funcional a unui microprocesor

Microprocesorul interacioneaz cu unitile de memorie i echipamentele pe-


riferice prin intermediul a trei magistrale: Date, Adrese i Comenzi. Traficul de
informaii prin magistrale este controlat de circuitul Comand de magistral.
Extragerea i executarea instruciunilor are loc sub controlul dispozitivului cen-
tral de comand. Pentru aceasta, prin magistrala de adrese se indic adresa loca-
iei memoriei interne, iar prin magistrala de comenzi se transmit semnalele necesare
de scriere sau citire. Datele citite sau scrise se transmit prin magistrala de date.
Microprocesoarele se apreciaz dup urmtorii parametri:
lungimea cuvntului;
frecvena ceasului de sistem;
capacitatea magistralelor.
145
Lungimea cuvntului reprezint numrul de bii ai succesiunilor binare care
pot fi memorizate n registre i prelucrate de dispozitivul aritmetic al microprocesoru-
lui. Microprocesoarele moderne au lungimea cuvntului de 32, 64 i mai muli bii.
Frecvena ceasului de sistem reprezint numrul de impulsuri pe secund
pe care le produce generatorul de impulsuri de tact din componena dispozitivului
de comand. Frecvena ceasului de sistem se msoar n Megahertz (1 MHz =
= 106 Hz). ntruct impulsurile de tact sincronizeaz executarea microoperaiilor
n toate dispozitivele microprocesorului, frecvena ceasului de sistem caracteri-
zeaz rapiditatea microprocesorului.
Capacitatea magistralei reprezint numrul de bii ai succesiunilor binare
transmise prin magistral. De obicei, capacitatea magistralei de date este egal
sau mai mare dect lungimea cuvntului microprocesorului. n caz contrar, pentru a
transmite un cuvnt, snt necesare mai multe cicluri ale magistralei de date.
Capacitatea magistralei de adrese determin spaiul de adrese care pot fi
accesate direct de microprocesor. Astfel, un microprocesor avnd capacitatea magistra-
lei de adrese de 16 bii poate accesa 216 locaii ale memoriei interne, iar un microproce-
sor cu capacitatea magistralei de adrese de 32 de bii poate accesa direct 232 locaii.
n ansamblu, lungimea cuvntului, frecvena ceasului de sistem i capacitatea
magistralelor determin capacitatea de prelucrare a microprocesorului, care
se msoar n Mips Megainstruciuni pe secund. Pentru exemplificare, n ta-
belul 6.2 snt prezentate caracteristicile principale ale microprocesoarelor din fa-
milia Intel.
Tipul microprocesorului i frecvena ceasului de sistem al calculatorului perso-
nal cu care lucrai dvs. poate fi aflat cu ajutorul meniului contextual al pictogra-
mei My computer. Amintim c acest meniu se afieaz pe ecran cu ajutorul unui
clic-dreapta pe pictograma respectiv.
Tabelul 6.2
Caracteristicile principale
ale microprocesoarelor din familia Intel
Micro- Lungime Frecven, Capacitate de
procesor cuvnt, bit MHz prelucrare, Mips
Pentium I 32 200 200
Pentium II 32 300 400
Pentium III 32 1400 1200
Pentium 4 32 3800 2500
Pentium D 64 3400 4000

ntrebri i exerciii
Explicai destinaia echipamentelor din componena unui microprocesor (fig. 6.15).
Care snt parametrii principali ai unui microprocesor? Explicai semnificaia
fiecrui parametru.
Determinai tipul i parametrii principali ai microprocesorului din componen-
a calculatorului personal cu care lucrai dvs.

146
Test de autoevaluare nr. 6
1. Indicai corespondena dintre denumirile unitilor funcionale ale calculatorului (coloa-
na din stnga) i destinaia acestora (coloana din dreapta):
(a) efectuarea operaiilor aritmetice
i logice elementare;
(b) colorarea imaginilor i memorarea lor
pe discuri optice;
(c) extragerea datelor din calculator;

(1) dispozitivul de intrare; (d) furnizarea semnalelor de comand


necesare executrii secveniale
(2) memoria; a instruciunilor;
(3) dispozitivul aritmetic (e) introducerea documentelor n calculator
i logic; i corectarea greelilor gramaticale;
(4) dispozitivul de ieire; (f) nmagazinarea datelor iniiale, intermediare
(5) dispozitivul central i finale ale problemei, precum i a instruci-
de comand; unilor care indic secvena calculelor;

(6) procesorul. (g) prelucrarea automat a informaiei


conform programului nmagazinat
n memorie;
(h) efectuarea calculelor aritmetice
i afiarea rezultatelor la ecran;
(i) introducerea datelor din mediul exterior
n calculator.
2. Numii cel puin cinci echipamente periferice pe care le cunoatei dvs.
3. Care dintre afirmaiile ce urmeaz snt adevrate:
a) un calculator poate fi conceput fr ca s aib o unitate de memorie extern;
b) memoria intern este un dispozitiv periferic;
c) memoria extern este mai lent dect memoria intern;
d) unitatea de disc magnetic este o memorie intern;
e) un calculator poate fi conceput fr ca s aib o unitate de memorie intern;
f) memoria extern este un dispozitiv periferic?
4*. Numii destinaia magistralei din componena calculatorului personal.
5*. Desenai schema-bloc a calculatorului personal. Care componente snt obligatorii i
care opionale pentru funcionarea calculatorului?
6*. Este cunoscut faptul c instruciunile cu trei adrese conin urmtoarele cmpuri:
Codul instruciunii, Adres operand 1, Adres operand 2 i Adres rezultat. Explicai
destinaia fiecrui cmp.

* Numai pentru profilul real.

147
7*. Explicai cum vor fi executate urmtoarele instruciuni cu trei adrese:

a) 01 101 153 342;

b) 04 508 391 216;

c) 03 751 852 031;

d) 02 450 709 011.


Operaiile aritmetice i logice snt codificate n felul urmtor: 01 adunarea; 02 scde-
rea; 03 nmulirea; 04 mprirea.
8*. Indicai tipul instruciunilor ce urmeaz (operaionale, de transfer, de salt sau de
intrare-ieire):
a) adunarea a dou numere;
b) scrierea unui ir de octei pe discul magnetic;
c) deplasarea unui cuvnt binar de la dreapta spre stnga;
d) citirea unui ir de octei de pe discul optic;
e) compararea a dou numere i transferul controlului n funcie de rezultatul comparrii;
f) nmulirea a dou numere;
g) ncrcarea n registrul procesorului a unui numr din memoria intern.
9*. Se consider c denumirea simbolic X semnific locaia 205, denumirea Y locaia
421, iar denumirea S locaia 783. Exprimai n limbajul de asamblare (vezi tabelul 6.1) urm-
torul program:
01 205
02 783
04 421
03 205.

10*. Se consider c denumirile simbolice X, Y i S specific, respectiv, locaiile 971, 583


i 461. Translatai urmtoarele programe scrise n limbajul de asamblare (vezi tabelul 6.1):
INC Y
MEM S
INC X
MEM Y
INC S

11. Indicai tipul resurselor ce urmeaz (tehnice sau programate):


a) procesorul;
b) editorul de texte;
c) aplicaia de calcul tabelar;
d) imprimanta;
e) aplicaia de pot electronic;
f) tastatura;
g) sistemul de operare;
h) vizualizatorul.
12. Care este diferena dintre memoriile externe cu acces direct i acces secvenial?

148
13. Care dintre afirmaiile ce urmeaz snt adevrate:
a) unitatea de memorie de band magnetic asigur accesul direct la nregistrri;
b) timpul de acces al unitii de band magnetic este mai mare ca cel al unitii de
discuri magnetice;
c) unitatea de memorie de discuri magnetice asigur accesul secvenial la nregistrri;
d) pe o band magnetic nregistrrile snt grupate pe cilindri;
e) timpul de acces al unitii de disc rigid este mai mic ca cel al unitii de disc flexibil?
14. Care dintre urmtoarele afirmaii snt adevrate:
a) toate discurile optice au dezavantajul c odat ce au fost scrise nu mai pot fi rescrise;
b) n general, discurile magnetice rigide au capaciti de stocare mai mari dect ale discu-
rilor optice;
c) capacitatea de stocare a unui disc optic depinde de viteza cu care el se rotete;
d) un disc magnetic flexibil are o capacitate de stocare mai mare dect un disc optic;
e) numrul ciclurilor de scriere/tergere a discurilor optice reinscriptibile nu poate depi o
anumit limit?
15*. Viteza liniar a discului optic este de 5,6 m/s, iar densitatea de nregistrare a informa-
iei este de 512 Koctei/m. Determinai viteza de transmisie a datelor de la unitatea de disc
optic la unitatea central.
16. Alegei din lista ce urmeaz parametrii ce caracterizeaz un vizualizator:
a) rezoluia;
b) numrul de pagini ce pot fi afiate ntr-o secund;
c) diagonala ecranului;
d) numrul de culori pe care le poate afia;
e) viteza de imprimare.
17. Alegei din lista ce urmeaz parametrii ce caracterizeaz o imprimant:
a) rezoluia;
b) numrul de culori pe care le poate imprima;
c) diagonala imprimantei;
d) numrul de instruciuni pe secund;
e) viteza de imprimare.
18. Indicai parametrii de baz ce caracterizeaz un calculator.
19*. Indicai parametrii de baz ai microprocesorului.

149
Capitolul 7
REELE DE CALCULATOARE

7.1. Introducere n reele


Odat cu extinderea domeniilor de aplicare a calculatoarelor, a crescut i nu-
mrul utilizatorilor ce doreau s aib acces la mijloace eficiente de prelucrare i
stocare a unor informaii comune.
De exemplu, n cazul proiectrii unei cldiri, mai muli specialiti arhitectul,
inginerul, pompierul etc. doresc s aib acces i s introduc, dac e necesar, mo-
dificri n desenele tehnice ale construciei n curs de elaborare. n cazul unei
companii de transporturi aeriene biletele la una i aceeai curs pot fi vndute de
mai multe agenii aflate n orae diferite.
Soluia iniial la astfel de probleme a constituit-o conectarea la un calculator
central, de mare capacitate, a mai multe terminale (fig. 7.1).

Fig. 7.1. Sistem centralizat de calcul

De regul, un terminal const dintr-un vizualizator, o tastatur i, dac e ne-


cesar, o imprimant. Neajunsul principal al unui sistem centralizat de prelucrare
a datelor este fiabilitatea redus i utilizarea ineficient a resurselor de calcul.
Cu timpul, a aprut tendina de trecere de la sistemele centralizate la instala-
rea de calculatoare la fiecare utilizator i asigurarea unor legturi de comunicaie
eficient ntre ele (fig. 7.2).
Numim reea de calculatoare o mulime de calculatoare ce pot schim-
ba informaii prin intermediul unei structuri de comunicaie.
Calculatoarele unei reele se conecteaz la structura de comunicaie prin in-
termediul unor uniti de intrare-ieire dedicate, numite adaptoare de reea.

150
Fig. 7.2. Reea de calculatoare

Evident, n cadrul unei reele fiecare calculator, mai exact, fiecare adaptor de
reea, are o adres unic, denumit adres de reea.
De exemplu, o reea de calculatoare poate fi construit utiliznd ca structur de
comunicaie reeaua existent de telefoane. n acest caz, adaptorul de reea va
include un modulator pentru conversiunea semnalelor digitale furnizate de calcula-
tor n semnale telefonice i un demodulator pentru operaia invers. Dispozitivul
respectiv poart denumirea de modem (modulator-demodulator). Adresa de reea
este dat de numrul de telefon al postului la care este conectat modemul.
n general, o structur de comunicaie este format din linii de transmisie a
semnalelor. Aceste linii pot fi:
cabluri cu fire torsadate;
cabluri coaxiale;
cabluri optice;
linii cu microunde (terestre sau prin satelit).
Cablurile cu fire torsadate snt asemntoare celor telefonice i asigur o
capacitate de transmisie de pn la 1 Mbit/s. Cablurile coaxiale, asemntoare
celor din reelele de televiziune prin cablu, asigur o capacitate de transmisie de
pn la 1 Gbit/s. Cablul optic const din fibre de sticl sau din plastic transpa-
rent, acoperite cu un nveli de protecie. Semnalul optic, emis de o surs laser, se
propag prin fibr i este recepionat de o celul fotosensibil. Capacitatea de
transmisie a unui cablu optic poate ajunge la valoarea de 1 Tbit/s.
Liniile cu microunde snt formate din staii de retransmisie ce opereaz n
banda de unde centimetrice. Pe Pmnt aceste staii se amplaseaz n raza vizibi-
litii directe a antenelor, la o distan de 4050 de kilometri una de alta. n cazul
liniilor cosmice staiile respective se amplaseaz pe satelii. Capacitatea de trans-
misie a liniilor cu microunde este de ordinul 10 Gbii/s.
n funcie de aria de rspndire a calculatoarelor dintr-o reea, exist urm-
toarele tipuri de reele:
reele locale;
reele regionale;
reele globale.

151
n reelele locale calculatoarele au o arie mic de rspndire (pn la 2 km) i
deservesc o singur instituie. Reelele locale snt formate, de regul, din calcula-
toarele care se afl n aceeai cldire sau ntr-un grup de cldiri. De obicei, ca linii
de transmisie se utilizeaz cablurile cu fire torsadate i cablurile coaxiale.
Reelele regionale acoper aria unui ora sau a unui sector. Liniile de comu-
nicaie se realizeaz prin cabluri coaxiale sau staii mici de transmisie/recepie,
denumite radiomodemuri.
Reelele globale acoper suprafaa unei ri, suprafaa unui continent sau
chiar suprafaa mai multor continente. Ca linii de transmisie se utilizeaz cablu-
rile optice i liniile cu microunde (terestre sau prin satelit).
Avantajul principal al reelelor const n partajarea sau, cu alte cuvine, utili-
zarea n comun a datelor, a programelor i a calculatoarelor din reea.
De exemplu, n cazul unei reele locale pot fi partajate fiierele, discurile de capa-
citate mare, imprimantele, cititoarele de desene i alte periferice. Evident, fiind acce-
sibile pentru mai muli utilizatori, echipamentele periferice respective vor fi utilizate
mai eficient. Totodat, specialitii instituiei n cauz pot lucra n echip asupra unor
proiecte comune: bugetul anual, planul de vnzri, actualizarea bazelor de date etc.
n cazul reelelor globale, colective de cercettori din diferite ri pot efectua calcu-
le complexe pe un supercalculator unic n lume sau analiza n comun rezultatele unui
experiment tiinific foarte costisitor. Pe baza reelelor examinate snt create diverse
servicii: transferul de fiiere, pota electronic, difuzarea noutilor, conversaii pe
grupuri de interese, jocuri electronice, publicitate, transferul banilor etc.

ntrebri i exerciii
Numii factorii care au contribuit la apariia reelelor de calculatoare.
Care snt neajunsurile sistemelor centralizate de calcul?
Numii componentele principale ale unei reele de calculatoare.
Explicai destinaia structurii de comunicaie.
Care snt funciile adaptorului de reea? Cum se identific calculatoarele din com-
ponena unei reele? Determinai tipul adaptorului de reea cu care lucrai dvs.
Din ce este format o structur de comunicaie?
Care este destinaia unui modem? Dar a unui radiomodem?
Numii capacitile de transmisie a urmtoarelor linii de comunicaie:
cablu cu fire torsadate;
cablu coaxial;
cablu optic;
linie cu microunde.
Estimai durata de transmisie a unui film video (800 Gbii) prin liniile de co-
municaie pe care le cunoatei dvs.
Determinai tipul liniilor de comunicaie din structura reelelor cu care lucrai dvs.
Cum se clasific reelele n funcie de aria de rspndire?
Determinai tipul reelei (local, regional sau global) cu care lucrai dvs.
Care snt avantajele reelelor de calculatoare? Ce servicii ofer o reea de calcu-
latoare?

152
7.2. Tehnologii de cooperare n reea
Resursele unei reele de calculatoare snt echipamentele periferice, liniile de
comunicaie, calculatoarele propriu-zise, fiierele, bazele de date, programele exe-
cutabile etc. Utilizarea eficient a acestor resurse presupune lucrul n comun sau,
cu alte cuvinte, cooperarea calculatoarelor i programelor ce ruleaz pe ele.
Numim tehnologie de cooperare modul cum este organizat funciona-
rea n comun a calculatoarelor i programelor din reea.
Cel mai frecvent n reelele de calculatoare se utilizeaz tehnologiile client-
server i egal-la-egal.
n tehnologia client-server o resurs comun, de exemplu, imprimanta co-
lor sau discul de mare capacitate, este gestionat de un calculator dedicat, denu-
mit server. Calculatorul care dorete s aib acces la aceste resurse se numete
client. Pentru a utiliza resursele respective, orice client trimite serverului o cere-
re. Serverul analizeaz cererile primite i, n funcie de statutul fiecrui client, le
accept sau le respinge (fig. 7.3).

Fig. 7.3. Modelul client-server

Evident, calculatorul care gestioneaz fiiere comune se va numi server de


fiiere, iar cel care gestioneaz imprimantele server de imprimare.
Calculatorul care gestioneaz liniile de comunicaie, alte resurse comune i,
posibil, asigur accesul la reele externe, se numete server de reea. De regul,
anume pe acest calculator ruleaz i sistemul de operare al reelei. Celelalte calcu-
latoare din reea au caracteristici mai modeste i se numesc staii de lucru.
Avantajele principale ale tehnologiei client-server snt:
utilizarea eficient a echipamentelor scumpe;
distribuirea raional a lucrrilor ntre calculatoare n funcie de puterea lor;
protecia sporit a datelor importante, ele fiind pstrate numai pe servere.
Cu regret, tehnologiile client-server snt complicate i necesit calculatoare
performante.
n tehnologia egal-la-egal funciile tuturor calculatoarelor din reea snt
identice. Fiecare calculator din reea funcioneaz att ca server, ct i ca staie
de lucru, oferind pentru uzul public resursele de care dispune, n mod curent,
unele fiiere de pe discul fix, unitatea de disc optic, imprimanta etc. Fiind sim-
pl, tehnologia dat se folosete n reelele locale mici. n cazul reelelor mari,
tehnologia egal-la-egal nu permite protecia sigur a datelor.

153
n mod similar, tehnologiile client-server se aplic i pentru organizarea lucru-
lui n comun a dou sau a mai multe programe.
Programul n curs de execuie care ofer servicii se numete program
server, iar programele care apeleaz la aceste servicii se numesc pro-
grame client.
De exemplu, un program server ce gestioneaz o baz de date execut urm-
toarele funcii:
asigur protecia i securitatea datelor;
recepioneaz i, dac clientul are autorizaiile respective, execut cererile
de modificare a datelor;
recepioneaz cererile de citire a datelor i, n funcie de statutul clientului,
permite sau interzice accesul la datele respective;
completeaz un registru n care nscrie toate operaiile efectuate n baza de date.
Programul client asigur interaciunea utilizatorului cu baza de date i reali-
zeaz urmtoarele funcii:
ofer utilizatorului o interfa simpl i comod;
verific i editeaz datele introduse de utilizator;
adreseaz cereri programului server;
afieaz informaiile primite din baza de date.
Programele server i programele client pot rula pe un singur calculator sau pe
calculatoare diferite. n ultimul caz, prelucrarea de date este distribuit. Trans-
ferul de date ntre programul client i programul server se realizeaz prin struc-
tura de comunicaie (fig. 7.2). Calculatorul pe care ruleaz un program server se
numete gazd (n englez host).
De obicei, n reelele locale programul client se execut pe staiile de lucru, iar
programele server ruleaz pe serverul de reea. n cazul reelelor regionale sau
globale pe fiecare calculator performant ruleaz mai multe programe server ce
ofer diverse servicii programelor client de pe alte calculatoare.

ntrebri i exerciii
Explicai termenul tehnologii de cooperare n reea. Ce tehnologii de cooperare
n reea cunoatei?
Cum este organizat funcionarea calculatoarelor din reea n cazul tehnologiei
client-server?
Care snt avantajele i dezavantajele tehnologiei client-server?
Explicai destinaia serverelor de reea, a serverului de fiiere, a serverului de
imprimare i a staiei de lucru.
Cum este organizat funcionarea calculatoarelor din reea n cazul tehnologiei
egal-la-egal? Care snt avantajele i dezavantajele acestei tehnologii?
Determinai tehnologiile de cooperare realizate n reeaua cu care lucrai dvs.
Exist oare n reea un server de fiiere i/sau un server de imprimare?
Exist n reeaua cu care lucrai dvs. un server de reea? Argumentai rspunsul.
Este oare realizat n reeaua cu care lucrai dvs. tehnologia egal-la-egal? Argu-
mentai rspunsul.

154
Cum interacioneaz programele n curs de execuie n cazul tehnologiei client-
server?
Numii funciile unui program server i ale unui program client.
Explicai termenul calculator-gazd.
O companie de transporturi aeriene a deschis agenii de vnzare a biletelor n
mai multe orae din ar. Datele despre toate rutele aeriene i locurile disponi-
bile se pstreaz n calculatorul din sediul central al companiei.
Care tehnologii de reea ar asigura lucrul eficient al ageniilor de vnzare a
biletelor? Snt oare necesare programe server i programe client? Ce funcii ar
realiza aceste programe?
Jocurile electronice colective presupun existena a 5-10 calculatoare reunite n
reea. n astfel de jocuri fiecare lupt contra tuturor. Calculatoarele respective
ofer pentru uzul public o partiie de pe discul fix.
Ce tehnologie de reea ar asigura lucrul n comun al calculatoarelor?
Elaborai o tehnologie de cooperare n reea pentru calculatoarele din:
a) depozitele unei firme;
b) slile de expoziie ale unui muzeu;
c) slile de lectur ale unei biblioteci;
d) casele unui magazin care accept carduri bancare;
e) sistemul de eliberare a banilor lichizi prin intermediul automatelor bancare;
B) sistemul de verificare operativ a numerelor de nmatriculare a automobilelor
(fiecare echipaj de poliie este dotat cu un microcalculator i un radiomodem);
g) laboratorul de informatic.

7.3. Topologia i arhitectura reelelor


Structura de comunicaie a unei reele (fig. 7.2) asigur transferul de date n-
tre calculatoare. De obicei, datele de transmis snt grupate n pachete.
Un pachet de date conine urmtoarele informaii:
adresa destinatarului;
datele propriu-zise;
informaii de control;
adresa expeditorului.
Se observ c pachetul de date poate fi tratat ca un plic obinuit care circul
ntr-un sistem tradiional de pot. Drumul parcurs de un pachet de date depinde
de topologia reelei.
Numim topologie a reelei configuraia geometric a legturilor ntre
calculatoare.
Topologiile concrete ale reelelor actuale snt formate prin utilizarea structuri-
lor de baz: stea, inel, magistral, distribuit etc. (fig. 7.4).
n cazul topologiei stea legtura ntre dou calculatoare Ci, Cj ale reelei are
loc prin intermediul calculatorului central C1. Din acest motiv, calculatorul C1,
denumit calculator principal, are un rol important n funcionarea reelei, efec-
tund dispecerizarea pachetelor de date. Evident, defectarea calculatorului prin-

155
Fig. 7.4. Topologii de reea:
a stea; b inel; c magistral; d distribuit

cipal ntrerupe funcionarea ntregii reele. Prin urmare, calculatorul principal


trebuie s fie foarte fiabil.
n topologia inel legturile ntre calculatoare formeaz o bucl nchis. Pa-
chetul expediat de calculatorul Ci este transmis calculatorului Ci+1, care la rndul
su l transmite calculatorului Ci+2 etc. pn cnd pachetul ajunge la calculatorul
destinatar Cj. ntruct defectarea oricrui calculator ntrerupe funcionarea ntre-
gii reele, toate calculatoarele C1, C2, ..., Cn trebuie s fie foarte fiabile.
n topologia magistral exist un singur canal de comunicaie la care snt
conectate toate calculatoarele. Fiecare calculator spioneaz magistrala i inter-
cepteaz pachetele adresate lui. Orice calculator Ci poate expedia un pachet nu-
mai atunci cnd magistrala este liber.
Reelele bazate pe topologia de tip magistral snt foarte fiabile, ntruct comu-
nicarea ntre calculatoarele Ci, Cj va avea loc chiar i n cazul n care toate celelal-
te calculatoare nu funcioneaz.
n topologiile distribuite ntre fiecare pereche de calculatoare exist mai mul-
te ci de transmisie a datelor. De exemplu, un pachet de date expediat de calculato-
rul C1 calculatorului Cn (fig. 7.4d) poate ajunge la destinaie pe drumul C1 C2 C5
Cn, iar altul pe drumul C1 C4 Cn. Evident, reeaua rmne funcional chiar
dac unul sau mai multe calculatoare i linii de comunicaie nu funcioneaz.
De regul, topologiile de tip stea, inel sau magistral se utilizeaz n cazul
reelelor locale. Reelele regionale i cele globale au o topologie distribuit. Inte-
grarea reelelor locale n reele regionale i reele globale se face conform topolo-
giilor de baz din figura 7.4, fiecare nod C1, C2, ..., Cn reprezentnd o subreea. Prin
urmare, ajungem la o structur ierarhic cu o diversitate de legturi.
Setul de reguli pentru gestionarea schimbului de date ntr-o reea este
numit protocol de comunicaie sau, pur i simplu, protocol.

156
Un protocol definete modul de adresare a calculatoarelor, lungimea i com-
ponena pachetelor de date, algoritmul de depistare i corectare a erorilor, modul
de conectare fizic a adaptoarelor i cablurilor de reea etc. La apariia primelor
reele de calculatoare fiecare productor de echipamente de calcul avea propriile
sale protocoale de comunicaie, ceea ce fcea imposibil interconectarea calcula-
toarelor de proveniene diferite. Acest neajuns a fost nlturat prin standardiza-
rea protocoalelor. Amintim c standardul reprezint un document n care se re-
glementeaz calitatea, caracteristicile, forma etc. ale unui produs. Standardele
internaionale snt elaborate de ctre Organizaia Internaional pentru Stan-
dardizare (ISO International Standards Organisation). Un alt organism inter-
naional care joac un rol important n standardizarea n domeniile electronicii i
tehnicii de calcul este Institutul Inginerilor Electricieni i Electroniti (IEEE
Institute of Electrical and Electronics Engineers).
Numim arhitectur a reelei modul n care este conceput reeaua: topo-
logia, protocoalele de comunicaie, tehnologiile de cooperare n reea.
n continuare prezentm cele mai rspndite arhitecturi de reele.
Ethernet (reea n eter) reele locale realizate n conformitate cu standardul
IEEE 802.3. Utilizeaz o magistral din cablu cu fire torsadate, cablu coaxial sau
cablu cu fibre optice. Viteza de transmisie a datelor ajunge la 100 Mbii/s. Arhi-
tectura a fost elaborat de firmele XEROX, Intel i DEC.
TokenRing (inel cu jeton) reele locale realizate n conformitate cu standar-
dul IEEE 802.5. Utilizeaz un inel din cablu cu fire torsadate sau cablu coaxial.
Viteza de transmisie a datelor este de 16 Mbii/s. Arhitectura a fost elaborat de
firma IBM.
DATAKIT reele locale, regionale sau globale elaborate de firma Bell Labo-
ratories. Sub aspect topologic const dintr-o mulime de stele interconectate. n
cazul cablului cu fibre optice se atinge viteza de transmisie de 1,5 Gbii/s.
SNA (Sistem Network Arhitecture) o arhitectur elaborat de firma IBM pen-
tru reelele locale, regionale i globale. Protocoalele acestei arhitecturi au stat la
baza standardelor ISO. Topologia iniial era de tip stea, n prezent este o topolo-
gie distribuit, suportnd i reele locale.
ARPANET o arhitectur conceput de mai multe universiti i corporaii
sub egida Ministerului Aprrii al SUA (Advanced Research Projects Agency).
Arhitectura dat se bazeaz pe o topologie distribuit i folosete diferite linii de
comunicaie, de la liniile telefonice pn la liniile cu microunde prin satelit. Liniile
respective conecteaz supercalculatoare separate i diverse reele locale sau
regionale, rspndite pe aproape jumtate din suprafaa terestr. Arhitectura
ARPANET include urmtoarele protocoale:
protocolul IP (Internet Protocol) destinat interconectrii reelelor locale, re-
gionale i globale;
protocolul serviciilor bazate pe conexiuni, numit TCP (Transmission Control
Protocol);
un protocol de transfer de fiiere, numit FTP (File Transfer Protocol);

157
un protocol pentru pota electronic, numit SMTP (Simple Mail Transfer
Protocol);
un protocol de ataare de la distan a calculatoarelor, numit TELNET.
Pe baza arhitecturii ARPANET a fost conceput reeaua global de calculatoa-
re Internet.

ntrebri i exerciii
Explicai termenul pachet de date. Ce informaii conine un pachet de date?
Explicai termenul topologia reelei.
Care snt topologiile de baz ale reelelor? Numii avantajele i dezavantajele
fiecrei topologii de baz.
Explicai cum se transmit pachetele de date n urmtoarele topologii de baz:
stea, inel, magistral, distribuit.
Precizai drumul pe care l va parcurge un pachet trimis de calculatorul C2
calculatorului C4 (fig. 7.4 a).
Gsii drumul pe care l parcurg pachetele expediate de calculatorul C2 calcula-
torului C4 (fig. 7.4 b).
Cte ci de transmitere a pachetelor exist ntre calculatoarele C 1, C n din
figura 7.4d? Care este calea cea mai scurt?
Ce se va ntmpla cu reelele din figura 7.4 dac iese din funcie calculatorul C1?
Dar dac iese din funcie calculatorul C2?
Determinai topologia reelei locale cu care lucrai dvs. Enumerai avantajele i
dezavantajele acestei topologii.
Care este destinaia unui protocol? Ce norme conine un protocol?
Argumentai necesitatea standardizrii protocoalelor. Cine elaboreaz standar-
dele respective?
Aflai protocoalele utilizate de reeaua local cu care lucrai dvs.
Explicai modul cum se integreaz reelele locale n reele regionale i reele glo-
bale. Desenai topologia reelelor regionale sau globale la care avei acces dvs.
Explicai termenul arhitectura reelei.
Dai exemple de arhitecturi ale reelelor locale, regionale i globale.
Caracterizai arhitectura reelei cu care lucrai dvs.
Enumerai protocoalele utilizate n arhitectura ARPANET. Snt oare aplicate
aceste protocoale n reeaua cu care lucrai dvs.?

7.4. Reeaua Internet


Reeaua global Internet se bazeaz pe o topologie distribuit i include calcu-
latoare separate, subreele locale, regionale sau globale (fig. 7.5).
Interconectarea reelelor se realizeaz cu ajutorul unor echipamente dedicate de
reea, denumite pori sau rutere. Poarta (gateway) este un calculator specializat
destinat interconectrii a dou reele ce utilizeaz protocoale total diferite de co-

158
Fig. 7.5. Topologia Internetului

municaie. Ruterul (router) este un calculator dedicat care interconecteaz reelele


ce folosesc protocoale identice i snt utilizate pentru a determina cea mai bun cale
de transmitere a pachetelor. Calculatoarele conectate la Internet se numesc gazde
(host). Funcionarea reelei este reglementat de circa 100 de protocoale.
Identificarea calculatoarelor n cadrul reelei se face cu ajutorul adreselor
Internet. Acestea pot fi de dou tipuri: adrese numerice i adrese simbolice.
O adres numeric este format din 32 de cifre binare (4 octei) i are struc-
tura prezentat n figura 7.6.

Fig. 7.6. Structura adreselor numerice

159
ntruct Internetul este o reea de reele, adresa numeric conine adresa
subreelei (cmpul Adres Reea) i adresa calculatorului n cadrul subreelei
(cmpul Adres Calculator). n funcie de numrul maximal de calculatoare pe
care le poate identifica n cadrul unei subreele, adresele se mpart n clasele A,
B i C. Adresele din clasele D i E au o destinaie special. Caracteristica adrese-
lor Internet este prezentat n tabelul 7.1.
Tabelul 7.1
Caracteristica adreselor numerice
Numrul de adrese disponibile
Clasa
de reea de calculatoare
7
A 2 =128 224 = 16 777 216
B 214=16 384 216 = 65 536
C 221=2 097 152 28 = 256

Adresele din clasa A snt distribuite reelelor mari, n special reelelor globale.
O astfel de reea poate include circa 16 milioane de calculatoare. Adresele din
clasa B snt distribuite reelelor medii, n special reelelor regionale. O astfel de
reea poate include circa 65 mii de calculatoare. Adresele din clasa C snt rezerva-
te reelelor relativ mici, care includ pn la 256 de calculatoare. Fiecare adres
Internet este unic. Adresele snt atribuite calculatoarelor de Centrul Informa-
ional al Reelei (Network Information Center).
De exemplu, numrul binar
10010010 00110011 00001001 11110111
este o adres de clasa B i identific calculatorul numrul
00001001 11110111
din cadrul reelei
010010 00110011.
Pentru comoditate, adresele binare se exprim n form zecimal, transfor-
mnd separat fiecare octet. Numerele zecimale corespunztoare fiecrui octet se
delimiteaz prin puncte.
n cazul exemplului de mai sus obinem:
(10010010)2=(146)10;
(00110011)2=(51)10;
(00001001)2=(9)10;
(11110111)2=(247)10.
Prin urmare, n forma zecimal adresa respectiv va fi 146.51.9.247.
Adresele n form zecimal i cu att mai mult cele n form binar snt inco-
mode pentru publicul larg. Din acest motiv, mai frecvent snt utilizate adresele
simbolice.
160
O adres simbolic este format din numele calculatorului-gazd i nume de
domenii separate prin puncte. Domeniul reprezint un grup de calculatoare or-
ganizate tematic sau geografic. Orice domeniu poate fi mprit n subdomenii,
ajungndu-se astfel la o structur ierarhic. Numele de domenii se indic n ordi-
nea creterii ariei de cuprindere.
De exemplu, adresele simbolice
c1.lme.ch.md

c5.lme.ch.md

specific calculatoarele c1 i c5 din domeniul lme (Liceul Mihai Eminescu).


Adresele simbolice
c1.lic.ch.md

c9.lic.ch.md

specific calculatoarele c1 i c9 din domeniul lic (Liceul Ion Creang). Domeniile


lme i lic snt subdomenii ale domeniului ch (Chiinu). La rndul su, ch este un
subdomeniu al domeniului md (Republica Moldova).
n mod similar, adresele simbolice
rector.ase.men.ro

decan.ase.men.ro

specific calculatoarele rector i decan din domeniul ase (Academia de Studii Econo-
mice). Domeniul ase este un subdomeniu al domeniului men (Ministerul Educaiei
Naionale), iar men este un subdomeniu al domeniului ro (Romnia).
n mod normal, domeniul de cel mai nalt nivel este ara (md, ro, us etc.) sau
tipul instituiei (com comercial, mil militar, edu de educaie etc.).
Relaiile de incluziune ntre domenii pot fi reprezentate cu ajutorul diagrame-
lor Euler, frecvent utilizate n teoria mulimilor. Pentru exemplificare, n figura 7.7
snt prezentate astfel de diagrame pentru unele adrese simbolice din domeniul md.

Fig. 7.7. Diagrame Euler pentru adrese simbolice

161
Pentru a transforma adresele simbolice n adrese numerice i invers, n fieca-
re domeniu exist un server de nume (name server). Acest program gestioneaz
domeniul respectiv fr intervenia serverelor ierarhic superioare. Prin urmare,
n Internet nu exist un calculator central care ar fi unicul responsabil de cele
aproximativ 1010 adrese de reea.
n cazul exemplului de mai sus (fig. 7.7), adresele calculatoarelor c1 i c5 snt
procesate n serverul lme, iar adresele calculatoarelor c1 i c9 de serverul lic.
Serverul ch va lucra numai cu adresele serverelor lic i lme, fr s se implice n
procesarea adreselor de calculatoare din aceste domenii. n mod similar, serverul
men nu proceseaz adresele calculatoarelor rector i decan, lsnd acest lucru n
obligaia serverului ase.

ntrebri i exerciii
Desenai topologia reelei Internet. Cum se interconecteaz subreelele n ca-
drul Internetului?
Care este destinaia unei pori? Dar a unui ruter?
Cum se identific calculatoarele n Internet? Care snt avantajele i dezavanta-
jele adreselor numerice? Dar ale adreselor simbolice?
Care snt clasele de adrese numerice? Pentru ce este necesar o astfel de clasi-
ficare?
Explicai destinaia cmpurilor Adres reea i Adres calculator ale unei adre-
se numerice.
Cine atribuie adrese calculatoarelor din Internet?
Determinai clasele urmtoarelor adrese. Precizai adresa subreelei i adresa
calculatorului n subreea.
a) 45.201.19.63; d) 192.109.58.170;
b) 201.165.213.91; e) 15.21.207.250;
c) 154.36.79.200; f) 217.15.69.113.
Care snt criteriile de grupare a calculatoarelor n domenii? Numii domeniile
de cel mai nalt nivel.
Snt date urmtoarele adrese simbolice:
a) c1.lme.ch.md; f) c4.lme.ch.md;

b) c3.lme.ch.md; g) c5.lme.ch.md;
c) c1.lic.ch.md; h) c9.lic.ch.md;
d) director.lic.ch.md; i) prof.lic.ch.md;

e) elev1.lic.ch.md; j) elev4.lic.ch.md.
Precizai domeniile de calculatoare i relaiile de incluziune ntre domenii. De-
senai diagramele Euler pentru adresele n cauz.

162
Desenai o diagram Euler pentru adresele simbolice ce urmeaz. Precizai do-
meniile de calculatoare i relaiile respective de incluziune.
a) rector.ase.men.ro; d) rector.ase.met.md;
b) decan.ase.men.ro; e) decan.ase.met.md;
c) student.info.ase.men.ro; f) student.cib.met.md.

Care este destinaia unui server de nume? Ce adrese snt procesate de un astfel
de server?
Precizai serverele de nume pentru adresele din exerciiile 9 i 10. Indicai adre-
sele pe care le proceseaz fiecare server.
Aflai adresa numeric i adresa simbolic a calculatorului cu care lucrai dvs.
Precizai clasa de adres, adresa subreelei i adresa calculatorului n cadrul
subreelei. Desenai o diagram Euler ce reprezint relaiile de incluziune ntre
domeniile la care aparine calculatorul dvs.

7.5. Servicii Internet


Reeaua Internet ofer urmtoarea gam de servicii:
accesul calculatoarelor la distan;
transferul de fiiere;
pota electronic;
tiri i discuii;
prezentarea i cutarea informaiilor etc.
Cooperarea calculatoarelor i programelor care ofer aceste servicii se bazeaz
pe modelul client-server. De obicei, pe calculatorul beneficiarului de serviciu ru-
leaz programul client, iar pe calculatorul furnizorului de servicii ruleaz progra-
mul server.
Serviciul Telnet permite utilizatorului s aib accesul la calculatoarele afla-
te la distan. Dup stabilirea conexiunii, calculatorul utilizatorului devine un
simplu terminal al calculatorului aflat la distan. n continuare, utilizatorul poa-
te lansa n execuie pe calculatorul respectiv diverse programe, poate vizualiza
fiiere, schimba directoare etc. Protecia calculatoarelor i a datelor respective se
asigur prin utilizarea parolelor. Serviciul Telnet se utilizeaz pentru folosirea
n comun a unor resurse foarte scumpe, de exemplu, a supercalculatoarelor.
Serviciul transfer de fiiere sau, mai scurt, serviciul FTP (File Transfer
Protocol) permite utilizatorului s copie fiiere de pe calculatoare situate n diver-
se puncte geografice. Acest serviciu ofer dou moduri de transfer al fiierelor:
modul binar, n care se pstreaz secvena de bii a fiierului, astfel nct
originalul i copia snt identice bit cu bit;
modul text, n care se transfer seturi de caractere n codul ASCII.
n general, pentru a avea acces la serverul FTP, clientul trebuie s introduc o
parol. Totui exist servere publice (FTP anonymous) care permit accesul la fi-
iere fr a fi nevoie de o parol special.

163
Serviciul de pot electronic (electronic mail sau, prescurtat, e-mail) a
copiat modul de funcionare a potei obinuite.
Scrisoarea electronic, denumit mesaj (message) include:
adresa destinatarului;
subiectul, exprimat n cteva cuvinte;
adresa expeditorului;
textul scrisorii;
fiiere ataate opional.
Fiierele ataate pot fi de orice natur: texte, imagini, programe etc.
Scrisorile snt depuse n fiiere speciale, denumite cutii potale (mail box).
Adresa unei cutii potale are forma:
<nume cutie>@<Adres calculator>,
unde:
<nume cutie> este denumirea cutiei potale, de obicei acesta este numele de
familie al utilizatorului sau o abreviere;
@ simbolul at (la);
<Adres calculator> adresa simbolic a calculatorului client pe care este creat
cutia potal.
Exemple:
1) petrescu@c1.lme.ch.md

2) florea@director.lic.ch.md

3) ionescu@c1.lme.ch.md

4) barbu@director.lic.ch.md
Cititorii pot expedia scrisori autorilor acestui manual la adresa:
Anatol_Gremalschi@yahoo.com

Mesajele snt transmise prin reea de serverele de pot care au rolul oficiilor
i centrelor potale tradiionale.
Serviciul de pot electronic este foarte popular datorit avantajelor sale in-
contestabile, i anume: vitez, posibilitatea de a ataa la scrisori fiiere de orice
natur, faciliti avansate de redactare.
Cel mai modern serviciu de prezentare i cutare a informaiilor n Internet
este serviciul WWW (World Wide Web Pnza Mondial de Pianjen). n acest
serviciu informaia este prezentat n form de pagini Web.
Pagina Web este un fiier scris n limbajul HTML (Hypertext Markup Lan-
guage Limbaj pentru marcarea hipertextului) i poate conine, n afar de
informaii propriu-zise, referine la alte pagini Web. Paginile referite se pot
afla pe acelai calculator sau pe calculatoare situate n diverse puncte geogra-
fice (fig. 7.8).
Tehnologia de cooperare n cadrul serviciului WWW este de tipul client-server.
Utilizatorul care dorete s ofere publicului larg anumite informaii instaleaz pe

164
Fig. 7.8. Pagini Web

calculatorul su un program server i elaboreaz una sau mai multe pagini Web.
Serverul intercepteaz cererile sosite de la alte calculatoare i asigur accesul la
paginile respective. Calculatorul pe care snt instalate paginile Web i serverul
WWW se numete site (site sediu, reedin).
Programul client asigur transferul i afiarea pe ecran a paginilor Web citite
de pe diverse calculatoare din Internet. Imediat dup pornire, el afieaz propria
pagin de referin (home page pagina de acas) i ateapt indicaiile utilizato-
rului. Cnd utilizatorul activeaz o referin, programul client stabilete o cone-
xiune cu serverul Web i copiaz de la el pagina specificat n referin. Pagina
copiat este afiat pe ecran.
n continuare, utilizatorul activeaz o alt referin, programul client stabile-
te din nou conexiunea cu un calculator din reea, din nou se va citi o pagin Web
etc. Cu alte cuvinte, utilizatorul rsfoiete paginile Web de pe diverse calcula-
toare, indiferent de poziia lor geografic. Din acest motiv programele client snt
numite programe de rsfoire sau programe de explorare (n englez browser
sau explorer).
n cadrul serviciului WWW resursele reelei se specific cu ajutorul unor adre-
se speciale, denumite adrese URL (Uniform Resource Locator Locator Uniform
de Resurse). Aceste adrese au forma:
<protocol>: // <Adres simbolic>[:<port>]/<cale>/<fiier>
unde:
<protocol> specific denumirea protocolului pentru transferul datelor prin
reea;
<Adres simbolic> adresa calculatorului ce conine fiierul respectiv;

165
<port> portul de acces (opional);
<cale>/<fiier> specificarea fiierului.
Pentru exemplificare, prezentm cteva adrese URL ce conin informaii inte-
resante:
http://www.edu.md site-ul Ministerului Educaiei i Tineretului, Moldova;
http://www.ctice.edu.md site-ul Centrului de Tehnologii Informaionale i Co-
municaionale n Educaie, Moldova;
http://www.dnt.md site-ul Asociaiei Dynamic Network Tehnologies, Moldova;
http://www.itc.ro/museum/museum.html site-ul Muzeului Naional de Art, Ro-
mnia;
http://www.nmsi.ac.uk site-ul Muzeului de tiin i Industrie, Marea Britanie;
http://www.nasa.gov site-ul ageniei NASA, Statele Unite ale Americii.
Amintim c notaia http specific protocolul de transfer al hypertextelor (Hyper-
text Transfer Protocol).
n prezent, numrul fiierelor din reeaua Internet este de ordinul miliardelor.
Evident, nici nu poate fi vorba de cutarea informaiei necesare prin citirea indi-
vidual a fiecrui fiier. Pentru a simplifica cutarea informaiei, n cadrul reelei
Internet au fost create servere de cutare (search engine).
Serverul de cutare este un calculator puternic care exploreaz ncontinuu
reeaua i citete paginile Web sau alte informaii prezentate publicului larg. Aces-
tea snt clasificate n funcie de datele pe care le conin, iar adresele lor snt rei-
nute n baza de date de pe server.
Programul client adreseaz serverului de cutare o cerere n care indic de ce
fel de informaii are nevoie. Serverul interogheaz baza de date i transmite clien-
tului o list de adrese la care pot fi gsite informaiile cerute.
Pentru exemplificare amintim serverele de cutare frecvent utilizate:
http://www.yahoo.com serverul YAHOO (Yet Another Hierarhicaly Organizated
Oracle nc un oracol organizat ierarhic) al companiei Yahoo! Inc.;
http://www.google.com serverul GOOGLE al corporaiei Google Inc.;
http://www.bing.com serverul BING al corporaiei Microsoft Inc.;
http://www.yandex.ru serverul YANDEX al companiei ;
http://www.infoseek.com serverul Infoseek al firmei Infoseek Corp.
Accesul la aceste servere este gratuit.

ntrebri i exerciii
Care este gama de servicii oferite de Internet? Cum colaboreaz calculatoarele
din reea n procesul prestrii unui serviciu?
Care este destinaia serviciului FTP? Ce fiiere pot fi transferate prin acest
serviciu?
Studiai programul FTP instalat pe calculatorul dvs. Copiai cteva fiiere de pe
serverele FTP anonymous sau de pe alte servere la care avei acces.
De ce depinde viteza de transfer al fiierelor? Determinai viteza de transfer a
ctorva fiiere de pe serverele FTP aflate n Republica Moldova, Romnia i
Statele Unite ale Americii.

166
Cum se specific adresele n cadrul serviciilor de pot electronic?
Explicai cum interacioneaz calculatoarele client i serverele de pot n ca-
drul serviciului respectiv.
Ce informaii conine o scrisoare electronic? Care dintre ele snt opionale?
Explicai cum se formeaz o adres potal. Aflai adresele potale ale prieteni-
lor dvs.
Studiai programul de pot electronic instalat pe calculatorul la care lucrai
dvs. Verificai dac acest program ofer urmtoarele faciliti:
utilizarea mai multor cutii potale;
clasificarea i pstrarea scrisorilor n dosare;
elaborarea scrisorilor conform unor abloane;
cifrarea i descifrarea corespondenei;
semnalarea momentelor cnd a sosit corespondena;
verificarea faptului c scrisorile expediate au ajuns la destinaie;
utilizarea semnturilor electronice.
Care snt avantajele potei electronice? Poate nlocui acest serviciu pota tradi-
ional?
Formai grupe de cte patru utilizatori ai potei electronice i determinai expe-
rimental viteza cu care se transmite corespondena.
Ce informaii conine paginaWeb? Cum formeaz aceste pagini o pnz de p-
ianjen?
Care este destinaia unui server Web? Dar a unui client Web? Cum interacio-
neaz aceste programe?
Explicai modul de funcionare a unui client Web. Cum gsete acest program
paginile Web amplasate pe diferite calculatoare?
Explicai modul de specificare a resurselor n Internet cu ajutorul adreselor
URL. Care este semnificaia cmpurilor acestor adrese?
Studiai programul de explorare a Internetului instalat pe calculatorul cu care
lucrai dvs. Ce faciliti ofer acest program? Citii paginile Web adresele cro-
ra snt indicate n acest paragraf.
Care este destinaia unui server de cutare? Ce servicii ofer un astfel de ser-
ver?
Gsii cu ajutorul unui server de cutare furnizorii de servicii Internet din Re-
publica Moldova.
n afar de serviciile studiate n acest paragraf, reeaua Internet ofer i alte
servicii, cum ar fi: Archie, Gopher, WAIS, buletine de tiri, discuii etc. Folosind
un server de cutare, aflai informaia respectiv despre aceste servicii.
Elaborai paginile Web ale clasei i ale liceului dvs.

167
Test de autoevaluare nr. 7
1. Estimai durata de transmisie a unui film video n form arhivat (750 Mbii) prin
urmtoarele linii de comunicaie:
a) linie telefonic de 36 Kbii/s;
b) cablu cu fire torsadate de 1 Mbit/s;
c) cablu coaxial de 1 Gbit/s;
d) cablu optic de 1 Tbit/s.
2. Care dintre afirmaiile ce urmeaz snt adevrate:
a) reelele locale acoper aria unei localiti;
b) reelele globale acoper suprafaa unei ri, suprafaa unui continent sau chiar suprafa-
a mai multor continente;
c) n general, reelele regionale deservesc localitile unei singure companii;
d) de obicei, reelele locale deservesc o singur instituie?
3. Numii componentele principale ale unei reele de calculatoare.
4. Care dintre afirmaiile ce urmeaz snt adevrate:
a) n tehnologia egal-la-egal funciile tuturor calculatoarelor din reea snt identice;
b) serverul unei reele are aceleai funcii ca i oricare alt calculator din reea;
c) n tehnologia client-server o resurs comun este gestionat de un calculator dedicat;
d) orice calculator-client poate accesa datele de pe oricare alt calculator din reea?
5* . Care dintre afirmaiile ce urmeaz snt adevrate:
a) n topologia stea legtura ntre dou calculatoare ale reelei are loc prin intermediul
calculatorului central;
b) n topologiile distribuite legtura ntre dou calculatoare ale reelei are loc prin interme-
diul magistralei;
c) n topologia magistral legtura ntre dou calculatoare ale reelei are loc prin interme-
diul calculatorului central;
d) n topologia inel toate calculatoarele au funcii identice?
6*. Care este destinaia unui protocol de reea?
7*. Explicai semnificaia termenului arhitectura reelei.
8. Desenai topologia reelei Internet.
9. Care dintre afirmaiile ce urmeaz este adevrat:
a) Internetul este o reea local ce are acces la alte reele locale, regionale sau globale;
b) Internetul reprezint totalitatea reelelor dintr-o ar;
c) Internetul este o reea a marilor companii internaionale;
d) Internetul reprezint o reea distribuit, format din reele globale, regionale i locale
interconectate ntre ele;
e) Internetul este format din toate calculatoarele lumii, interconectate ntre ele?
10. Cum se identific calculatoarele n Internet?
11*. Determinai clasa adresei numerice Internet 214.121.216.109. Precizai adresa subre-
elei i adresa calculatorului n subreea.

* Numai pentru profilul real.

168
12. Desenai o diagram Euler pentru adresele simbolice ce urmeaz. Precizai domeniile
de calculatoare i relaiile respective de incluziune.
a) directie.orhei.md; d) directie.cahul.md;
b) contabilitate.orhei.md; e) contabilitate.cahul.md;
c) presedinte.orhei.md; f) presedinte.calarasi.md.

13. Indicai corespondena ntre denumirile serviciilor Internet (coloana din stnga) i des-
tinaia acestora (coloana din dreapta):
(a) transferul fiierelor de pe calculatorul aflat la distan
pe calculatorul utilizatorului;
(b) cutarea informaiilor pe discul magnetic al calculatorului
i afiarea lor la ecran;
(1) Telnet;
(c) editarea imaginilor grafice i transmiterea lor n Internet;
(2) FTP;
(d) transmiterea scrisorilor electronice;
(3) E-mail;
(e) prelucrarea datelor cu ajutorul unei aplicaii de calcul tabelar
(4) WWW. i transmiterea rezultatelor prin pota electronic;
(f) prezentarea, transmiterea i cutarea informaiilor n Internet;
(g) acces la alte calculatoare, calculatorul utilizatorului devenind
un terminal al calculatorului aflat la distan.

14. Indicai tehnologia de cooperare n reeaua Internet:


a) de la egal-la-egal;
b) client-server;
c) de la egal-la-egal i client-server.
15. Care dintre afirmaiile ce urmeaz snt adevrate:
a) la crearea paginilor Web se folosete limbajul PASCAL;
b) pentru a trimite o scrisoare electronic, avem nevoie de o conexiune Internet;
c) o pagin Web poate conine numai text i imagini;
d) la crearea paginilor Web se folosete limbajul HTML;
e) o pagin Web poate conine text, imagini, secvene sonore i secvene video;
f) scrisorile electronice nu pot fi citite de persoanele strine;
g) serverul de cutare poate citi informaiile de pe orice calculator conectat la Internet?
16. Selectai din lista ce urmeaz adresele de cutii potale:
a) www.directie.orhei.md; d) bjosu@directie.cahul.md;
b) apetrescu@contabilitate.orhei.md; e) www.contabilitate.cahul.md;
c) ivulpe@presedinte.orhei.md; f) munteanu@presedinte.calarasi.md.

169
RSPUNSURI LA TESTELE
DE AUTOEVALUARE

Testul nr. 1
1.

2. Mulimea de valori ale tipului de date OrarulLectiilor este constituit din tablouri
bidimensionale. Liniile snt specificate prin indici de tipul ZiDeScoala, iar coloanele prin
indici de tipul Lectie.
3.
a) x[1]+ x[2]+ x[3]+ x[4];
b) y[7]+ y[8]+ y[9]+ y[10];
c) abs(x[3]);
d) abs(y[6]);
e) x[1]+ y[10].

4.
Program RTA9;
{ Raspuns la Testul 1, Itemul 4 }
type Numere = array [1..50] of integer;
var A : Numere;
n, i : integer;
begin
write(Dati n=); readln(n);
{ Citim numerele de la tastatura }
for i:=1 to n do
begin
write(A[, i, ]=); readln(A[i]);
end;
{ Afisam numerele la ecran }
writeln(Numerele in ordine inversa:);

170
for i:=n downto 1 do
writeln(A[, i, ]=, A[i]);
readln;
end.

5. Asupra irurilor de tip string se poate efectua operaia de concatenare (juxtapunere),


notat prin +. Lungimea curent a unei valori v de tip string poate fi aflat cu ajutorul
funciei predefinite length(v) care returneaz o valoare de tip integer. De asemenea,
asupra irurilor de caractere snt admise operaiile relaionale <, <=, =, >=, >, <>. Rezultatele
acestor operaii snt de tipul boolean.
6.
Program RTA10;
{ Raspuns la Testul 1, Itemul 6 }
var S : string;
i : integer;
begin
writeln(Dati sirul de caractere:);
readln(S);
writeln(Sirul in ordine inversa:);
for i:=length(S) downto 1 do
write(S[i]);
writeln;
readln;
end.

7.

8.
Program RTA11;
{ Raspuns la Testul 1, Itemul 8 }
type Angajat = record
NumePrenume : string;
Salariu : real;
end;
ListaDePlata = array [1..100] of Angajat;
var L : ListaDePlata;

171
s : real;
i, n : integer;
begin
write(Dati n=); readln(n);
{ Citirea datelor despre fiecare angajat }
for i:=1 to n do
begin
writeln(Dati datele despre angajatul , i);
write(Numele si prenumele: );
readln(L[i].NumePrenume);
write(Salariul: );
readln(L[i].Salariu);
end;
{ Cautarea salariului maximal }
s:=0;
for i:=1 to n do
if L[i].Salariu > s then s:=L[i].Salariu;
writeln(Salariul maximal = , s:10:2);
{ Afisarea informatiilor }
writeln(Angajatii cu cel mai mare salariu:);
for i:=1 to n do
if L[i].Salariu = s then writeln(L[i].NumePrenume);
readln;
end.

9. Instruciunea with se utilizeaz pentru a reduce textele programelor PASCAL prin ex-
cluderea repetrilor de denumiri ale variabilelor de tip record (articol).
10. Valorile variabilei V:
[ ] , [X] , [Y] , [Z] , [X, Y] , [X, Z] , [Y, Z] , [X, Y, Z] .
Valorile variabilei I:
[ ] , [8] , [9] , [8, 9] .

11.
Program RTA12;
{ Raspuns la Testul 1, Itemul 11 }
var S : string;
i, n : integer;
begin
write(Dati un sir de caractere format din );
writeln(literele mari ale alfabetului latin:);
readln(S);
{ Numaram vocalele in sir }
n:=0;
for i:=1 to length(S) do
if S[i] in [A, E, I, O, U] then n:=n+1;
writeln(Numarul de vocale = , n);
readln;
end.

172
12. Datele fiierelor PASCAL se pstreaz pe suporturile de informaie ale echipamentelor
periferice: discuri i benzi magnetice, discuri optice, hrtia imprimantei sau a dispozitivului de citit
documente .a. Procedura assign asociaz variabilele de tip fiier din componena programe-
lor PASCAL cu fiierele de pe suporturile de informaie ale echipamentelor periferice.
13. n funcie de tipul operaiilor permise asupra componentelor, fiierele se clasific n:
fiiere de intrare (este permis numai citirea);
fiiere de ieire (este permis numai scrierea);
fiiere de actualizare (snt permise scrierea i citirea).
n funcie de modul de acces la componente, fiierele se clasific n:
fiiere cu acces secvenial sau secveniale (accesul la componenta i este permis dup
ce s-a citit/scris componenta i1);
fiiere cu acces aleator sau direct (orice component se poate referi direct prin numrul
ei de ordine i n fiier).
14.
Program RTA13;
{ Raspuns la Testul 1, Itemul 14 }
type Angajat = record
NumePrenume : string;
Salariu : real;
end;
FisierAngajati = file of Angajat;
var A : Angajat;
F : FisierAngajati;
i, n : integer;
begin
{ Crearea fisierului SALARII.DAT }
assign(F, SALARII.DAT);
rewrite(F);
write(Dati n=); readln(n);
for i:= 1 to n do
begin
writeln(Dati datele angajatului , i);
write(Nume, prenume: ); readln(A.NumePrenume);
write(Salariul: ); readln(A.Salariu);
{ Scrierea datelor despre angajat in fisierul F }
write(F, A);
end;
close(F);
end.

15.
Program RTA14;
{ Raspuns la Testul 1, Itemul 15 }
type Angajat = record
NumePrenume : string;
Salariu : real;
end;
FisierAngajati = file of Angajat;

173
var A : Angajat;
F : FisierAngajati;
begin
assign(F, SALARII.DAT);
reset(F);
writeln(Datele citite din fisierul SALARII.DAT:);
while not eof(F) do
begin
read(F, A);
writeln(A.NumePrenume, , A.Salariu:10:2);
end;
readln;
close(F);
end.

16.
Program RTA15;
{ Raspuns la Testul 1, itemul 16 }
var a, b : real;
c : string;
Intrare, Iesire : text;
begin
assign(Intrare, REZULTAT.TXT);
reset(Intrare);
assign(Iesire, MEDII.TXT);
rewrite(Iesire);
while not eof(Intrare) do
begin
readln(Intrare, a, b, c);
writeln(Iesire, (a+b)/2, , c);
writeln((a+b)/2, , c);
end;
readln;
close(Intrare);
close(Iesire);
end.

Testul nr. 2
1. 000 , 001 , 010 , 011 , 100 , 101 , 110 , 111 .
2. Rezultatul decodificrii: CACB. Rezultatul codificrii: 00001 00000 00010.
3. Alfabetul latin este format din 26 de litere. Prin urmare, numrul de mesaje posibile ale
sursei de informaie n = 26 + 26 = 52. Cantitatea de informaie ntr-un mesaj:
I = log2 52 5,7 bii.
Din inegalitatea m I, obinem m = 6.

174
4. Numrul de mesaje posibile ale calendarului electronic n = 31 12 100 = 37 200.
Cantitatea de informaie ntr-un mesaj:
I = log2 37 200 15,2 bii.
Din inegalitatea m I, obinem m = 16.
5. I = 8 bii (1 octet).
6. V = 10 min. 200 de caractere/minut 1 octet = 2000 de octei.
7.
Program RTA16;
{ Raspuns la Testul 2, Itemul 7 }
var c : char;
begin
while not eof do
begin
readln(c);
writeln(c, - , ord(c));
end;
end.

8.
Program RTA17;
{ Raspuns la Testul 2, Itemul 8 }
var i : integer;
begin
while not eof do
begin
readln(i);
writeln(i, - , char(i));
end;
end.

9. I = (10 10) 30 log2 128 = 21 000 de bii = 2625 de octei.


10. a), c), d), f), h).

11.

12.

13. (1) (e); (2) (f); (3) (a); (4) (c).


14. (1) (c); (2) (f); (3) (a); (4) (e).

175
Testul nr. 3
1. a) 667; b) 31,5926; c) 176,7551.
2. b) 8 nu este o cifr octal; c) 2, 8, 4 i 6 nu snt cifre binare.
3.
Program RTA18;
{ Raspuns la Testul 3, Itemul 3 }
var b : integer; { baza }
x : string; { numarul citit de la tastatura }
y : integer; { numarul transformat in baza 10 }
i : integer;
bi : integer; { baza la puterea i }
begin
write(Dati baza b=); readln(b);
write(Dati un numar scris in baza , b, : );
readln(x);
y:=0;
bi:=1; { baza la puterea 0 }
for i:=length(x) downto 1 do
begin
y:=y+(ord(x[i])-48)*bi;
bi:=bi*b;
end;
writeln(Numarul scris in baza 10: , y);
readln;
end.

4. a) 1101,1110001; b) 111011,10110001; c) 10101000,011101001111.


5. a) 23036,7341; b) 1333,272; c) 155206,542.
6. a) 24FF,D611; b) 2DDB,534; c) 115,7F.
7. (222221)4, (1000001111)2, (BB)16, (132)8.
8. (1D3)16 = (723)8; (25)8 = (21)10.
9.
Program RTA19;
{ Raspuns la Testul 3, Itemul 9 }
var x : string; { numarul octal }
y : string; { numarul binar }
i : integer;
T : array [0..7] of string;
{ T[i] - reprezentarea binara a cifrei octale i }
begin
{ Initializarea tabelului }
T[0]:=000; T[1]:=001;
T[2]:=010; T[3]:=011;
T[4]:=100; T[5]:=101;

176
T[6]:=110; T[7]:=111;
write(Dati un numar octal x=); readln(x);
y:=;
for i:=1 to length(x) do
y:=y+T[x[i]];
writeln(Reprezentarea binara: , y);
readln;
end.

10. a) 1001000111; b) 111100001; c) 100100111; d) 111010.


11.
0 1 1 1 1 1 0 1
12.
1 0 1 0 0 1 0 1
13. a) 1; b) +64; c) 39.
14.
1 1 1 0 0 0 0 0
15. a) 0,1010100125; b) 0,10010010127; c) 0,1123.
16. b = 8; x = 25.
17. a) 26; b) 45; c) 8.
18. a) [8, 7]; b) [128, 127]; c) [32 768, 32 767].
19. a) 0,375; b) 0,125; c) 0,5.
20. A = 0,9921875; B = 0,9921875.
21. a) 0,109375; b) 7,5; c) 0,25.
22.
1 0 1 0 1 0 1 1
23. A = 7,5; B = 7,5.

Testul nr. 4
1.
x y z y x M y
0 0 0 1 0 0
0 0 1 0 0 0
0 1 0 1 1 1
0 1 1 0 0 0
1 0 0 1 0 1

177
x y z y x M y
1 0 1 0 0 1
1 1 0 1 1 1
1 1 1 0 0 1

2. a) i d).
3. {000, 010, 100, 110, 111}.
4.
Program RTA20;
{ Raspuns la Testul 4, Itemul 4 }
var x, y, z, f : boolean;
xx, yy, zz, ff : 0..1;
begin
write(Dati x=); readln(xx);
if xx=0 then x:=false else x:=true;
write(Dati y=); readln(yy);
if yy=0 then y:=false else y:=true;
write(Dati z=); readln(zz);
if zz=0 then z:=false else z:=true;
f:=x and (not y) or z;
if f=false then ff:=0 else ff:=1;
writeln(Valoarea expresiei logice: , ff);
readln;
end.

5.
Program RTA21;
{ Raspuns la Testul 4, Itemul 5 }
var x, y, z, f : boolean;
xx, yy, zz, ff : 0..1;
begin
writeln(x y z f);
writeln();
for x:=false to true do
for y:=false to true do
for z:=false to true do
begin
f:=(not x) and (not y) or z;
if x=false then xx:=0 else xx:=1;
if y=false then yy:=0 else yy:=1;
if z=false then zz:=0 else zz:=1;
if f=false then ff:=0 else ff:=1;
writeln(xx, , yy, , zz, , ff);
end;
readln;
end.

178
6. Domeniul de definiie: {000, 001, 010, 011, 100, 101, 110, 111}. Domeniul de va-
lori: {0, 1}.
7.
x x x! y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1
8.
Program RTA22;
{ Raspuns la Testul 4, Itemul 8 }
var x1, x2,x3, y : boolean;
xx1, xx2, xx3, yy : 0..1;
begin
write(Dati x1=); readln(xx1);
if xx1=0 then x1:=false else x1:=true;
write(Dati x2=); readln(xx2);
if xx2=0 then x2:=false else x2:=true;
write(Dati x3=); readln(xx3);
if xx3=0 then x3:=false else x3:=true;
y:=x1 and ((not x2) or (not x3));
if y=false then yy:=0 else yy:=1;
writeln(Valoarea functiei logice y=, yy);
readln;
end.
9.
Program RTA21;
{ Raspuns la Testul 4, Itemul 9 }
var x1,x2, x3, y : boolean;
xx1, xx2, xx3, yy : 0..1;
begin
writeln(x1 x2 x3 y);
writeln();
for x1:=false to true do
for x2:=false to true do
for x3:=false to true do
begin
y:=(not x1) and (x2 or x3);
if x1=false then xx1:=0 else xx1:=1;
if x2=false then xx2:=0 else xx2:=1;
if x3=false then xx3:=0 else xx3:=1;

179
if y=false then yy:=0 else yy:=1;
writeln( , xx1, , xx2, , xx3, , yy);
end;
readln;
end.
5
10. 22 = 4294967296.
11.
I-NU SAU-NU
x x xx x x x M x
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0

12. a) i c); b) i d).


13. b).

Testul nr. 5
1.

2.

180
3. y = (x1 x2) (2 3).
4.
Program RTA24;
{ Raspuns la Testul 5, Itemul 4 }
var a, b, s, t : char;
begin
write(Dati a=); readln(a);
write(Dati b=); readln(b);
if (a=0) and (b=0) then begin s:=0; t:=0; end;
if (a=0) and (b=1) then begin s:=1; t:=0; end;
if (a=1) and (b=0) then begin s:=1; t:=0; end;
if (a=1) and (b=1) then begin s:=1; t:=1; end;
writeln(s=, s, , J=, t);
readln;
end.

5. Un semisumator conine 2 pori logice NU, 3 pori logice I i o poart logic SAU
(fig. 5.10). Un sumator elementar conine 2 semisumatoare i o poart logic SAU (fig. 5.11).
Prin urmare, un sumator elementar conine 4 pori logice NU, 6 pori logice I i 3 pori logice
SAU. Evident, un sumator de n bii conine 4n pori logice NU, 6n pori logice I i 3n pori
logice SAU (fig. 5.12). Pentru un sumator de n = 8 bii, obinem: 32 de pori logice NU; 48 de
pori logice I; 24 de pori logice SAU.
6.
Program RTA25;
{ Raspuns la Testul 5, Itemul 6 }
label 1;
var A, B, S : string;
t : char; { transportul }
i : integer;
begin
writeln(Dati doua numere binare A si B. Fiecare numar);
writeln(trebuie sa contina exact 8 cifre binare.);
write(A=); readln(A);
write(B=); readln(B);
t:=0; { initial transportul t=0 }
S:=xxxxxxxx; { initial suma S este necunoscuta }
for i:=8 downto 1 do
begin
{ adunarea cifrelor binare A[i], B[i], T[i-1] }
if (A[i]=0) and (B[i]=0) and (t=0) then
begin S[i]:=0; t:=0; goto 1; end;
if (A[i]=0) and (B[i]=0) and (t=1) then
begin S[i]:=1; t:=0; goto 1; end;
if (A[i]=0) and (B[i]=1) and (t=0) then
begin S[i]:=1; t:=0; goto 1; end;
if (A[i]=0) and (B[i]=1) and (t=1) then
begin S[i]:=0; t:=1; goto 1; end;

181
if (A[i]=1) and (B[i]=0) and (t=0) then
begin S[i]:=1; t:=0; end;
if (A[i]=1) and (B[i]=0) and (t=1) then
begin S[i]:=0; t:=1; goto 1; end;
if (A[i]=1) and (B[i]=1) and (t=0) then
begin S[i]:=0; t:=1; goto 1; end;
if (A[i]=1) and (B[i]=1) and (t=1) then
begin S[i]:=1; t:=1; goto 1; end;
1: end;
writeln(S=, S);
writeln(Cifra de depasire t=, t);
readln;
end.

7. (1) (e); (2) (g); (3) (a); (4) (d); (5) (h); (6) (c).
8. y1 SUS; y2 JOS; y3 STNGA; y4 DREAPTA.
x1 x2 y1 y2 y3 y4
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

9. Q = 1 i = 0.
10.

11. (1) (d); (2) (i); (3) (g); (4) (a); (5) (c); (6) (f).
12. 00010011.
13. 11010000.
14.
Program RTA26;
{ Raspuns la Testul 5, Itemul 14 }
var R : string;
n, m, i, j : integer;

182
begin
writeln(Dati continutul initial al registrului);
write(R=); readln(R);
n:=length(R); { capacitatea registrului }
write(Dati m=); readln(m);
for j:=1 to m do
begin
{ deplasarea cu o pozitie }
for i:=1 to n-1 do R[i]:=R[i+1];
R[n]:=0;
end;
writeln(Continutul registrului dupa deplasare);
writeln(R=, R);
readln;
end.

15. 10010011.
16. 10101001.
17.
Program RTA27;
{ Raspuns la Testul 5, Itemul 17 }
label 1;
var A : string;
n, m, i, j : integer;
t : char; { transportul }
begin
writeln(Dati continutul initial al numaratorului);
write(A=); readln(A);
n:=length(A); { capacitatea numaratorului }
write(Dati m=); readln(m);
for j:=1 to m do
begin
{ adunarea unitatii la continutul numaratorului }
t:=1;
for i:=n downto 1 do
begin
{ adunarea transportului la cifra A[i] }
if (A[i]=0) and (t=0) then
begin A[i]:=0; t:=0; goto 1; end;
if (A[i]=0) and (t=1) then
begin A[i]:=1; t:=0; goto 1; end;
if (A[i]=1) and (t=0) then
begin A[i]:=1; t:=0; goto 1; end;
if (A[i]=1) and (t=1) then
begin A[i]:=0; t:=1; goto 1; end;
1: end;
end;
writeln(B=, A);
readln;
end.

183
Testul nr. 6
1. (1) (i); (2) (f); (3) (a); (4) (c); (5) (d); (6) (g).
2. Tastatura, mouse-ul, vizualizatorul, imprimanta, unitatea de disc magnetic, unitatea de
disc optic, cititorul de documente (scanerul).
3. a), c), f).
4. Magistrala asigur comunicarea procesorului cu memoria intern i echipamentul
periferic.
5. Vezi figura 6.2. Componentele obligatorii: procesorul, magistrala, memoria intern, con-
trolerul, dispozitivul de intrare-ieire.
6. Codul instruciunii n acest cmp se indic operaia ce trebuie executat. Adres ope-
rand 1 i Adres operand 2 n aceste cmpuri se indic adresele locaiilor din memoria
intern care conin, respectiv, primul i al doilea operand. Adres rezultat indic adresa
locaiei din memoria intern n care va fi depus rezultatul operaiei.
7. a) numrul din locaia 101 este adunat cu numrul din locaia 153, iar rezultatul obinut
este depus n locaia 342;
b) numrul din locaia 508 este mprit la numrul din locaia 391, iar rezultatul obinut
este depus n locaia 216;
c) numrul din locaia 751 este nmulit cu numrul din locaia 852, iar rezultatul obinut
este depus n locaia 031;
d) din numrul din locaia 450 se scade numrul din locaia 709, iar rezultatul obinut
este depus n locaia 011.
8. a), c), f) instruciuni operaionale; g) instruciune de transfer; e) instruciune de
salt; b), d) instruciuni de intrare-ieire.
9.
INC X
MEM S
SCD Y
ADU X

10.
01 583
02 461
01 971
02 583
01 461

11. a), d), f), h) resurse tehnice; b), c), e), g) resurse programate.
12. n cazul memoriilor externe cu acces secvenial scrierea/citirea nregistrrii dorite este
posibil doar dup scrierea/citirea tuturor nregistrrilor precedente. n cazul memoriilor exter-
ne cu acces direct orice nregistrare poate fi scris/citit fr a mai citi/scrie nregistrrile
precedente.
13. b), c), e).

184
14. b), e).
15. 2867,2 Koctei/s.
16. a), c), d).
17. a), b), e).
18. Parametrii de baz ai unui calculator:
viteza de operare;
capacitatea memoriei interne;
componena, capacitatea i timpul de acces ale unitilor de memorie extern;
componena i parametrii tehnici respectivi ai echipamentelor periferice;
parametrii de mas i gabarit;
costul.
19. Parametrii de baz ai microprocesorului:
lungimea cuvntului;
frecvena ceasului de sistem;
capacitatea magistralelor;
capacitatea de prelucrare.

Testul nr. 7
1. a) 6 ore; b) 12 min. 30 s; c) 0,73 s; d) 0,00072 s.
2. b), d).
3. Calculatoarele, adaptoarele de reea, structura de comunicare.
4. a), c).
5. a), d).
6. Un protocol de reea definete modul de adresare a calculatoarelor, lungimea i compo-
nena pachetelor de date, algoritmul de depistare i corectare a erorilor, modul de conectare
fizic a adaptoarelor i cablurilor de reea.
7. Arhitectura unei reele reprezint modul n care este conceput reeaua: topologia,
protocoalele de comunicaie, tehnologiile de cooperare n reea.
8. Vezi figura 7.5.
9. d).
10. n Internet calculatoarele se identific cu ajutorul adreselor. Acestea pot fi de dou
tipuri: adrese numerice i adrese simbolice.
11. ntruct (214)10 = (11010110)2, iar biii 0-2 au valoarea 110, adresa Internet apari-
ne clasei C. n cazul clasei C adresa subreelei se indic n biii 3-32 ai adresei numeri-
ce. Din primul octet al adresei numerice selectm biii 3-7 i transformm numrul binar
obinut n sistemul zecimal: (10110) 2 = (22) 10. Prin urmare, adresa subreelei este
22.121.216. Numrul 109 din ultimul octet al adresei numerice reprezint adresa calcu-
latorului n subreea.

185
12. md domeniul de cel mai nalt nivel. Acest domeniu include subdomeniile orhei,
cahul i calarasi. Subdomeniul orhei include calculatoarele directie, contabilitate i
presedinte. Subdomeniul cahul include calculatoarele directie i contabilitate. Subdo-
meniul calarasi include calculatorul presedinte.
13. (1) (g); (2) (a); (3) (d); (4) (f).
14. b).
15. b), d), e).
16. b), c), d), f).

186
Bibliografie

1. Bolun Ion. Iniiere n reele. INTERNET. Chiinu, Editura ASEM, 1997.


2. Ceapru Mihai. Comunicaia prin intermediul reelelor de calculatoare. Bucureti, Editura
Tehnic, 1996.
3. Cerchez Emanuela. Internet. Manual pentru liceu. Filiera teoretic. Iai, Editura Polirom,
2000.
4. Cerchez Emanuela, erban Marinel. Informatica pentru gimnaziu. Iai, Editura Polirom, 2002.
5. Gremalschi Anatol, Mocanu Iurie, Spinei Ion. Informatica. Limbajul PASCAL. Chiinu, Editu-
ra tiina, 2003.
6. Gremalschi Ludmila, Mocanu Iurie. Structura i funcionarea calculatorului. Material di-
dactic pentru licee i colegii. Chiinu, Editura Lyceum, 1996.
7. Gremalschi Anatol, Bejan Viorel, Gremalschi Ludmila. Structura calculatoarelor numerice.
Material didactic. Chiinu, UTM, 1996.
8. Levine John R. Internet pentru toi. Bucureti, Editura Teora, 1996.
9. Lowe Doug. Reele pentru toi. Bucureti, Editura Teora, 1995.
10. Mranu Radu. Sisteme de calcul. Manual pentru licee de informatic, clasa a IX-a.
R.A. Bucureti, Editura Didactic i Pedagogic, 1995.
11. Mranu Radu, Velicanu Manole. Tehnic de calcul. Manual pentru clasa a XII-a. Bucu-
reti, Editura ALL, 1999.
12. Mihoc Dan, Iliescu Sergiu Stelian. Elemente de informatic. Mecanizarea i automatizarea
produciei. Manual pentru licee industriale, clasa a XII-a. R.A. Bucureti, Editura Didactic i
Pedagogic, 1995.
13. Mucenic Boiu, Mihai Boiu, Eugen tefan. Compact disc. Bucureti, Editura Teora, 1995.
14. Pfaffenberger Bryan, Petersen Judy. Dicionar explicativ de calculatoare. Bucureti, Editu-
ra Teora, 1996.
15. Petrescu Adrian, Iacob Francisc, Racovi Zoe. Iniiere n structura calculatoarelor elec-
tronice. Bucureti, Editura Teora, 1996.
16. Petrescu Silviu. Informatica aplicat: manual de informatic pentru clasa a XII-a. Bucu-
reti, Editura Teora, 1998.
17. Secrieru Nicolae, Gremalschi Anatol, Cornea Ion. Arhitectura i organizarea microproce-
soarelor. Chiinu, Editura Universitas, 1995.
18. Velicanu Manole, Vasilescu Adrian. Bazele informaticii. Manual pentru clasa a XII-a. Bucu-
reti, Editura ALL, 1999.
19. .., .., .., .. . . -
- 2 . / . .., ..: 1. .: -
, 1999.
20. .., .., .., .. .
7-9 . .: , 1999.

187
Manualul acesta este proprietatea Ministerului Educaiei al Republicii Moldova.

Liceul ___________________________________________________________________
Manualul nr. ______________

Aspectul manualului
Anul Numele i prenumele Anul
de folosire elevului colar la primire la restituire

1.
2.
3.
4.
5.

Dirigintele trebuie s controleze dac numele elevului este scris corect.


Elevul nu trebuie s fac niciun fel de nsemnri pe pagini.
Aspectul manualului (la primire i la restituire) se va aprecia folosind termenii: nou, bun,
satisfctor, nesatisfctor.

Imprimare la Tipografia SEREBIA SRL


str. Calea Ieilor, 10;
MD-2069, Republica Moldova
Comanda nr. 105