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)

ISBN 978-9975-67-818-6

Anatol Gremalschi, Iurie Mocanu,


Ludmila Gremalschi. 2007, 2012
ntreprinderea Editorial-Poligrafic
tiina. 2007, 2012

Introducere

Pagina

Real

Coninuturi

Umanist

CUPRINS

1. TIPURI DE DATE STRUCTURATE


1.1. Tipuri de date tablou (array)
1.2. Tipuri de date ir de caractere
1.3. Tipuri de date articol (record)
1.4. Instruciunea with
1.5. Tipuri de date mulime (set)
1.6. Generaliti despre fiiere
1.7. Fiiere secveniale
1.8. Fiiere text
Test de autoevaluare nr. 1

7
14
18
23
26
31
34
38
44

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

46
49
51
56
60
62
66

68
71
73
76
78
79
82
86

88
91
94
96

3. BAZELE ARITMETICE ALE TEHNICII DE CALCUL


3.1. Sisteme de numeraie
3.2. Conversiunea numerelor dintr-un sistem n altul
3.3. Conversiunea din binar n octal, hexazecimal i invers
3.4. Operaii aritmetice n binar
3.5. Reprezentarea numerelor naturale n calculator
3.6. Reprezentarea numerelor ntregi
3.7. Reprezentarea numerelor reale
Test de autoevaluare nr. 3
4. ALGEBRA BOOLEAN
4.1. Variabile i expresii logice
4.2. Funcii logice
4.3. Funcii logice frecvent utilizate
Test de autoevaluare nr. 4

6. STRUCTURA I FUNCIONAREA CALCULATORULUI


6.1. Schema funcional a calculatorului
6.2. Formatul instruciunilor
6.3. Tipuri de instruciuni
6.4. Limbajul cod calculator i limbajul de asamblare
6.5. Resursele tehnice i resursele programate ale calculatorului
6.6. Memorii externe pe benzi i discuri magnetice
6.7. Memorii externe pe discuri optice
6.8. Vizualizatorul i tastatura
6.9. Imprimantele
6.10. Clasificarea calculatoarelor
6.11. Microprocesorul
Test de autoevaluare nr. 6
7. REELE DE CALCULATOARE
7.1. Introducere n reele
7.2. Tehnologii de cooperare n reea
7.3. Topologia i arhitectura reelelor
7.4. Reeaua Internet
7.5. Servicii Internet
Test de autoevaluare nr. 7

Pagina

5. CIRCUITE LOGICE
5.1. Circuite logice elementare
5.2. Clasificarea circuitelor logice
5.3. Sumatorul
5.4. Circuite combinaionale frecvent utilizate
5.5. Bistabilul RS
5.6. Circuite secveniale frecvent utilizate
5.7. Generatoare de impulsuri
Test de autoevaluare nr. 5

Real

Umanist

Coninuturi

98
103
103
107
110
113
116
118

121
123
126
127
130
131
135
139
141
144
145
147

150
153
155
158
163
168

Rspunsuri la testele de autoevaluare

170

Bibliografie

187

INTRODUCERE
Impresionantele realizri n domeniul informaticii, crearea supercalculatoarelor i
a calculatoarelor personale, apariia ciberspaiului, a realitii virtuale i a Internetului presupun o cunoatere profund a principiilor de funcionare i a structurii calculatoarelor 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 pentru prelucrarea automat a informaiei cu ajutorul calculatoarelor numerice.
Capitolul 1 include un amplu material teoretic i practic referitor la definirea i prelucrarea datelor structurate: a tablourilor, a irurilor de caractere, a articolelor, a mulimilor i fiierelor. Snt prezentate metodele de creare i de prelucrare a fiierelor: asocierea 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 decodificarea informaiei, prezentarea informaiei n calculator.
n Capitolul 3 snt expuse cunotine fundamentale din domeniul aritmeticii sistemelor 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, generatorul 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 echipamentelor 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 cooperare n reea, topologia i arhitectura reelelor locale, regionale i globale. Pentru a facilita explorarea ciberspaiului, acest capitol include cunotine fundamentale despre Internet 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.

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 (tabele). Tablourile snt formate dintr-un numr fixat de componente de acelai tip, denumit 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 componentelor (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 ncadrai 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 tuturor 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. Considerm 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 bidimensionale cu componente de tipul T3. A doua declaraie definete tablouri unidimensionale 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
Culoare =
R = array
S = array
T = array

[1..5] of integer;
(Galben, Verde, Albastru, Violet);
[Culoare] of real;
[Culoare, 1..3] of boolean;
[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 declaraiilor din exerciiul 1.
Scriei formulele metalingvistice care corespund diagramei sintactice <Tip tablou> 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. Elaborai 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 sptmni;
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)

m) L:=T[3];

i:=x;

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. Evident, 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 utilizarea 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 obinuit 255 de caractere.
Asupra irurilor de tip string se poate efectua operaia de concatenare (juxtapunere), notat prin semnul +. 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. 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;
P:=Mihai;
NP:=N+ +P;
N:=Olaru;
P:=Ion;
NP:=N+ +P;
readln;
end.

L:=length(N);
L:=length(P);
L:=length(NP);
L:=length(N);
L:=length(P);
L:=length(NP);

writeln(N, L:4);
writeln(P, L:4);
writeln(NP, L:4);
writeln(N, L:4);
writeln(P, L:4);
writeln(NP, L:4);

Rezultatele afiate pe ecran:


Munteanu
8
Mihai
5
Munteanu Mihai
Olaru
5
Ion
3
Olaru Ion 9

14

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 lungimi 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 parial, 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)

i)

123 = 321;

j)

12345 > 12345.

BB < B B;

g) A = a;

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 exerciiul 6.
Se consider m, m 100 iruri de caractere formate din literele mici ale alfabetului 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. Fiecare 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 urmare, 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 tuturor cmpurilor din membrul drept n membrul stng. De exemplu, pentru tipurile 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 explicit, 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 specific 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 sintactice 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 studiaz 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 definiiilor 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 persoane (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, elaborai un program care citete de la tastatur informaiile referitoare la n triunghiuri (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
ZileLucrate
PlataPeZi
PlataPeLuna
end;
var A : Angajat;

:
:
:
:

string;
1..31;
real;
real;

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 variabile 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 programatorului, care este obligat s specifice univoc componentele variabilelor de tip articol. 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 instruciunilor with din exemplele paragrafului n studiu.
Care este destinaia instruciunii with?
Utiliznd instruciunea with, excludei din programele P84 i P85 din paragraful 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 centrelor 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 implementrile 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 ZileDePrezenta 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 (generator) de mulime. Diagrama sintactic a unitii gramaticale <Constructor mulime> este prezentat n figura 1.7.

Fig. 1.7. Diagrama sintactic <Constructor mulime>

Un constructor conine specificarea elementelor mulimii, separate prin virgule 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 -, efectuate 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 direct, respectiv prin indicii i denumiri de cmpuri, elementele unei mulimi nu
pot fi referite. Se admite numai verificarea apartenenei elementului la o mulime (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 folosete 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
S
I
J

:
:
:
:

set
set
set
set

of
of
of
of

A..C;
(A, B, C);
1..2;
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 <Constructor 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 ntrebrii. Elaborai un program care afieaz pe ecran cuvintele irului de caractere citit de la tastatur.
Se d un ir de caractere. Elaborai un program care afieaz pe ecran numrul 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 corect (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 componente. 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 crora 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 urmare, nainte de a fi utilizat, o variabil fiier trebuie asociat cu un fiier extern.
Metodele de asociere snt specifice implementrii limbajului i sistemului de operare 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 fiierului 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 tastatur i depus n variabila de tip string str.
Dup executarea instruciunii assign(f, s) toate operaiile referitoare la fiierul PASCAL f se vor efectua asupra fiierului extern s.
32

Cele mai uzuale operaii asupra unui fiier snt citirea i scrierea unei componente.
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 permis 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 fiierului. 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 nchiderea unui fiier sistemul de operare nscrie elementul EOF, nregistreaz fiierul extern nou-creat n directorul respectiv .a.m.d.
n limbajul-standard se consider c fiierele vor fi nchise implicit la terminarea 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 extern.


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 component 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);
rewrite(FE);

{ asociaza FE cu numele din str }


{ 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 }
readln(E.Nume);
write(Numele: );
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);
readln;
end.

{ inchide fisierul FE }

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);
reset(FE);

{ asociaza FE cu numele din str }


{ 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);
readln;
end.

{ inchide fisierul FE }

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 persoane 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 nscrise ntr-un fiier de tipul file of real.
ntr-un fiier de tipul file of char snt nscrise caractere arbitrare. Elaborai 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 suporturile 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 reprezentare 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 fiier text este format dintr-o secven de caractere divizat n linii (fig. 1.9). Lungimea 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 completare, 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 specificat 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 echivalent 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 format. 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 conformeaz 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 numerele 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);
close(G);
reset(G);
while not eof(G) do
begin
readln(G, str);
writeln(str);
end;
close(G);
readln;
end.

{ inchide F }
{ inchide G }
{ deschide G pentru citire }

{ citeste str din G }


{ afiseaza str pe ecran }
{ inchide G }

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. Fiecare 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. Fiecare 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 caractere 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 afieaz 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 cuvintele 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 informaiei. Conform acestei teorii, sursa de informaie se descrie printr-o variabil 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 posibile.
De exemplu, semaforul de circulaie poate fi reprezentat ca o surs de informaie, mulimea de mesaje posibile ale cruia este {verde, galben, rou}. Aparatul 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 punctuaie. 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. Perturbaiile (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 pentru 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

log2 n

0,000

21

4,392

1,000

22

4,459

1,585

23

4,524

2,000

24

4,585

2,322

25

4,644

2,585

26

4,700

2,807

27

4,755

3,000

28

4,807

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 distinge. 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 constant. n ultimul caz ele se numesc cuvinte m-poziionale. n continuare prezentm 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 cuvintelor 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 operaia 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 respective pentru surse cu n = 2, 3, 4, ..., 8 mesaje posibile.
n=2, m=1
0
s1
1
s2

n=5, m=3
s1 000
s2 001
s3 010
s4
011
s5 100

n=3, m=2
00
s1
01
s2
s3
10

n=6, m=3
s1 000
s2 001
s3 010
s4
011
s5 100
s6 101

n=7, m=3
s1 000
s2 001
s3 010
s4
011
s5 100
s6 101
s7
110

n=4, m=2
s1 00
s2 01
s3 10
s4 11
n=8, m=3
s1 000
s2 001
s3 010
s4
011
s5 100
s6 101
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 binare incluse n tabel snt distincte. Acest lucru este posibil dac lungimea m a cuvintelor de cod satisface inegalitatea
Dup logaritmare obinem:

2m n.
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 alfabetului 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 numrul 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 cuvintelor 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 cuvintelor 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 prelucrarea informaiei, trebuie s fie econom i insensibil la perturbaii, iar echipamentele respective de codificare i decodificare s fie simple. Pe parcursul dezvoltrii 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
Cifra

Direct

Denumirea codului
Gray
Aiken

Exces 3

0000

0000

0000

0011

0001

0001

0001

0100

0010

0011

0010

0101

0011

0010

0011

0110

0100

0110

0100

0111

0101

0111

1011

1000

0110

0101

1100

1001

0111

0100

1101

1010

1000

1100

1110

1011

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
binar
1010000

Echivalent
zecimal
80

33

1010001

81

0100010

34

1010010

82

0100011

35

1010011

83

0100100

36

1010100

84

0100101

37

1010101

85

&

0100110

38

1010110

86

'

0100111

39

1010111

87

0101000

40

1011000

88

0101001

41

1011001

89

0101010

42

1011010

90

0101011

43

1011011

91

0101100

44

1011100

92

0101101

45

1011101

93

0101110

46

1011110

94

0101111

47

1011111

95

Spaiu

Cuvnt
binar
0100000

Echivalent
zecimal
32

0100001

"
#

Simbol

52

Simbol

Cuvnt
binar
1100000

Echivalent
zecimal
96

1100001

97

50

1100010

98

0110011

51

1100011

99

0110100

52

1100101

100

0110101

53

1100101

101

0110110

54

1100110

102

0110111

55

1100111

103

0111000

56

1101000

104

0111001

57

1101001

105

0111010

58

1101010

106

0111011

59

1101011

107

<

0111100

60

1101100

108

0111101

61

1101101

109

>

0111110

62

1101110

110

0111111

63

1101111

111

1000000

64

1110000

112

1000001

65

1110001

113

1000010

66

1110010

114

1000011

67

1110011

115

1000100

68

1110100

116

1000101

69

1110101

117

1000110

70

1110110

118

1000111

71

1110111

119

1001000

72

1111000

120

1001001

73

1111001

121

1001010

74

1111010

122

1001011

75

1111011

123

1001100

76

1111100

124

1001101

77

1111101

125

1001110

78

1111110

126

1001111

79

Del

1111111

127

Cuvnt
binar
0110000

Echivalent
zecimal
48

0110001

49

0110010

Simbol

Simbol

Acest cod este 7-poziional i include 27 = 128 de simboluri. Primele 32 de simboluri (cuvintele binare 0000000, 0000001, 0000010, , 0011111) specific detaliile tehnice ale transmisiunilor de informaii i nu au fost incluse n tabel. Cuvintele binare 0100000, 0100001, 0100010, , 1111110 reprezint caracterele impri53

mabile din textele n limba englez. Cuvntul 1111111 reprezint caracterul neimprimabil 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 propriuzise, dar cu echivalentele lor zecimale. n programele PASCAL echivalentele zecimale 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 echivalentului 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 alfabetelor naionale, precum i a caracterelor tiinifice frecvent utilizate. Pentru exemplificare, 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 prezentate 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 calculatoarele mari.
Menionm c extinderea domeniului de aplicare a codurilor 8-poziionale a favorizat 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 respectivi prin KB, MB, GB, TB i PB.
54

Tabelul 2.4

Structura codurilor ASCII extinse


Simbol
Spaiu
!
"
#

}
~
Del

Cuvnt
binar
00100000
00100001
00100010
00100011

01111101
01111110
01111111
10000000
10000001
10000010

11110000
11110001
11110010
11110011
11110100
11110101
11110110
11110111
11111000
11111001
11111010
11111011
11111100
11111101
11111110
11111111

Echivalent
zecimal
32
33
34
35

125
126
127
128
129
130

240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255

Observaii

Partea 1:
simbolurile codului ASCII

Partea a 2-a:
simboluri specifice limbilor naionale;
caractere grafice;
caractere tiinifice

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

b)

1010011

1110100

1101111

1110000;

c)

1000101

1101110

1100100;

d)

1101001

0111010

0111101

0110001

1101110;

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 remarca termometrele cu mercur sau alcool, vitezometrele automobilelor, microfoanele, camerele de luat vederi etc. Astfel de surse pot fi definite printr-o variabil S (temperatura, viteza momentan, tensiunea la bornele de ieire ale microfonului 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 anumit 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 informaie n mesajele continue, vom analiza valorile funciei S(t) numai n momentele 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 perioadei de eantionare t este determinat de viteza cu care S(t) variaz n timp.
De exemplu, n meteorologie schimbrile de temperatur se produc pe parcurs 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 numete discretizare n timp sau eantionare.
57

Evident, pn la recepia mesajului continuu, valorile concrete ale eantioanelor S(t1), S(t2), ..., S(tm) snt necunoscute destinatarului. Se cunoate numai intervalul [smin, smax] n care poate lua valori arbitrare orice eantion. n scopul evalurii 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 transformare 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 concret a intervalului de cuantificare depinde de natura fizic a sursei de informaie, 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 urmtoarele 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, perioada 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 respective. n unele aplicaii se utilizeaz codul Gray, care este insensibil la perturbaii.
Dispozitivul care transform mesajul continuu aplicat la intrare ntr-o succesiune de cuvinte de cod se numete convertor analog-numeric. Operaia invers, i anume transformarea cuvintelor de cod aplicate la intrare n valorile
cuantelor respective, se efectueaz cu ajutorul convertoarelor numeric-analogice. Utilizarea convertoarelor este necesar n cazurile n care informaia de
procesat este reprezentat prin mesaje continue: controlul proceselor tehnologice, 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 cuantificare 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 altimetru 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 tensiunile 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 informaie 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 eantioanelor i afieaz pe ecran codurile cuantelor corespunztoare.
Elaborai un program care simuleaz funcionarea unui convertor numeric-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 microzone, 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 rastre 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 procedur 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 mrime poate fi discretizat n valoare (cuantificat). Numrul cuantelor n va caracteriza puterea de rezoluie a echipamentelor pentru reproducerea sau formarea imaginilor. 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 orizontal i vertical (fig. 2.5).
ntruct culorile pot fi redate prin suprapunerea a trei reprezentri ale aceleiai 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 (cinematograful) 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 convertoarelor analog-numerice. Imaginile de pe hrtie pot fi cuantizate cu ajutorul unui dispozitiv special, numit scaner. Acest dispozitiv conine celule fotosensibile, convertoare analog-numerice i mecanisme de avansare a hrtiei.
Imaginile numerice se transform n imagini propriu-zise cu ajutorul convertoarelor 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 liniilor unui rastru?
Cum se evalueaz cantitatea de informaie dintr-o imagine monocrom?
Cum pot fi redate culorile unei imagini multicolore? Cum se evalueaz cantitatea 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 informaie va conine un film video cu durata de 3 ore?
Imaginea numeric conine cte un cuvnt binar pentru fiecare punct al rastrului 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 informaiei 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 purttori 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 mesajelor. Caracteristica semnalului folosit pentru reprezentarea (descrierea) mesajelor se numete parametru informaional al semnalului.
De exemplu, n transmisiunile radio i TV, n calitate de purttori se utilizeaz undele electromagnetice. Amplitudinea sau frecvena acestor unde poate varia n timp (fig. 2.6). n primul caz, parametrul informaional l constituie amplitudinea oscilaiilor, iar n al doilea frecvena lor.
n calculatoarele electronice n calitate de purttor de informaie se folosete, de obicei, curentul electric, tensiunea i intensitatea curentului fiind para62

Fig. 2.6. Parametrii informaionali ai undelor electromagnetice:


a amplitudinea; b frecvena

metrii informaionali ai semnalului. Semnalele respective au formele prezentate 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 respectiv 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 utilizeaz 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 amplitudine 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 demodulator.

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 transmisie 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; capacitatea 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. Codificai, 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 decodificarea 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 codurilor citite de la tastatur.
9. Calculai ct informaie conine o fotografie color cu dimensiunile 10 10 cm, reprodus 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)

c) banda magnetic;

g) curentul electric;

d) pelicula fotosensibil;

h) hrtia pentru imprimant.

cartela magnetic;

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;

(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;

(f)

variaia mrimii fizice ce asigur transmiterea mesajelor.

(1) cod;

(4) alfabet;

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;

(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;

(f)

transform semnalele discrete n semnale continue.

(1) codificatorul;

(4) decodificatorul;

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, stocat i prelucrat n form numeric. Numerele se reprezint prin simboluri elementare denumite cifre.
Totalitatea regulilor de reprezentare a numerelor, mpreun cu mulimea cifrelor poart denumirea de sistem de numeraie. Numrul cifrelor 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


Zecimal
0
1
2
3
4
5
6
68

Binar
0
1
10
11
100
101
110

Octal
0
1
2
3
4
5
6

Hexazecimal
0
1
2
3
4
5
6

Zecimal
7
8
9
10
11
12
13

Binar
111
1000
1001
1010
1011
1100
1101

Octal

Hexazecimal

7
10
11
12
13
14
15

7
8
9
A
B
C
D

Zecimal

Binar

Octal

Hexazecimal

Zecimal

Binar

Octal

Hexazecimal

14
15
16
17
18
19
20
...
30
...
40
...

1110
1111
10000
10001
10010
10011
10100
...
11110
...
101000
...

16
17
20
21
22
23
24
...
36
...
50
...

E
F
10
11
12
13
14
...
1E
...
28
...

50
...
60
...
70
...
80
...
90
...
100
...

110010
...
111100
...
1000110
...
1010000
...
1011010
...
1100100
...

62
...
74
...
106
...
120
...
132
...
144
...

32
...
3C
...
46
...
50
...
5A
...
64
...

Regula de reprezentare a numerelor n sistemul zecimal rezult din urmtorul exemplu:


(3856,43)10 = 3 103 + 8102 + 5101 + 6100 + 4 101 + 3102.
Se observ c n aceast reprezentare semnificaia (valoarea) fiecrei cifre depinde 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 partea 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 sisteme 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 sisteme de numeraie nepoziionale. Drept exemplu poate servi sistemul roman, 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, sistemele 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 sistemului 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;

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)

f)

(FFFF)16;

(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 conform 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 efectueaz conform urmtoarelor reguli:
se mparte la baza respectiv partea ntreag i cturile obinute dup fiecare 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 obinute din produsul anterior, pn cnd partea fracionar a unui produs este zero
sau pn la obinerea unui numr de cifre fracionare dorit; rezultatul conversiunii prii fracionare este constituit din prile ntregi ale produselor, considerate 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 conversiune 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 sistemul zecimal?
Transformai n sistemul zecimal numerele ce urmeaz:

72

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.

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 respective 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 numrului, 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;

b) 101,10101;

f)

c) 1111,000101;

g) 11110001,101;

k) 11001,00101;

d) 10101110,1001;

h) 0,00001;

l)

1,000001;

i)

10110,001011;

j)

11111,0010001;
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;

b) F,1A;

f)

c) 1,009;

g) 81,91A;

k) CAA,B;

d) 0,00F;

h) 10,01;

l)

AABB,0000F;

i)

C,DC1;

j)

942,14A;
DAD,ABA.

Transformai n sistemul hexazecimal numerele binare ce urmeaz:


a) 1001011101,01101;

e) 1011101,011;

b) 111,01;

f)

c) 1,1;

g) 11110,01111;

k) 0,00001;

d) 10101110111,00101;

h) 111011,0010000;

l)

11,001011101;

i)

1011,0101;

j)

11001,0110;
101,01011.

Elaborai un program pentru conversiunea binar-hexazecimal i hexazecimalbinar.


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 hexazecimaloctal.

3.4. Operaii aritmetice n binar


Operaiile aritmetice cu numerele binare snt foarte simple. Regulile de operare 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 zecimal 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 zecimal 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 desparte 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)

p) 401 8;

t)

q) 32 : 8;

u) 933 : 3.

1 : 0,5;

m) 40 : 0,125;

401 2;

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 binare, 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 realizeaz la dreapta, eventualele zerouri nesemnificative snt plasate n faa numrului 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 intervalul [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 , ataate numerelor pozitive i negative. Din acest motiv, reprezentarea semnului numrului 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 operaiilor 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 algoritmi 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 reprezenta 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 datorit 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 reprezentate 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 pentru 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 intermediul 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 intern 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 reprezentate, 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 operaiile 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 simultan 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 formatul exponent-mantis.

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

Numrul poziiilor binare nE alocate exponentului determin domeniul de mrime al numerelor care pot fi reprezentate, n timp ce numrul biilor pentru
mantis nM determin precizia de exprimare a numrului. n calculatoarele actuale 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 caracteristic-mantis.

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

Caracteristica C constituie o form de exprimare a exponentului E i se determin din relaia


C = E + K.
84

n calculatoarele personale
K=2

nc 1

1,

unde nC este numrul de poziii binare alocate caracteristicii. n aceast reprezentare 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
formatului

nC

nM

Precizia mantisei, Domeniul de mricifre zecimale


me al numerelor

Simpl precizie

32

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;

b) 0,125;

f)

c) +0,4;

g) 0,4;

k) +0,15625;

d) 0,15625;

h) +0,21875;

l)

+0,3;

i)

+0,125;

j)

0,3;
0,21875.

Care snt avantajele i dezavantajele reprezentrii n virgul fix?


Cum se reprezint numerele reale n virgula mobil? Care numere reprezentate 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;

b) +0,0625;

f)

c) 3,25;

g) 32,87;

k) 2,7;

d) 6,25;

h) +6,25;

l)

+3,25;

i)

0,0625;

j)

+2,7;
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-mantis? 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 lucrai 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 incorect? 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 .

86

a) (1010)8;

c) (723)8;

e) (21)10;

b) (1D3)16;

d) (25)8;

f)

(A)16.

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 reprezentate 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 reprezentate n virgul mobil, baza b = 2, formatul exponent-mantis, cod direct. Exponentul ocup 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 mulime 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 tabele de adevr.
Tabelul de adevr este un tabel care include toate combinaiile posibile ale valorilor variabilelor fa de care este definit operatorul i rezultatul operaiei respective.
n figura 4.1 snt prezentate tabelele de adevr ale negaiei, conjunciei i disjunciei.
x
0
1

1
0

x
0
0
1
1

y
0
1
0
1

x&y
0
0
0
1

x
0
0
1
1

y
0
1
0
1

Fig. 4.1. Tabelele de adevr ale operatorilor elementari

88

xMy
0
1
1
1

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 adevr 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 formeaz 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 operatorilor elementari. Pentru evaluarea expresiilor se stabilete urmtoarea prioritate 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 parantezelor ( 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 posibile ale valorilor variabilelor din expresia examinat i rezultatele operaiilor 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
0
0
0
0
1
1
1
1

y
0
0
1
1
0
0
1
1

z
0
1
0
1
0
1
0
1

1
1
1
1
0
0
0
0

&y
0
0
1
1
0
0
0
0

&ywz
0
1
1
1
0
1
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

90

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;

e) ;
f)

x;

j)

x M y M z;

k) xy M z;
x (y M z);

g) xy;

l)

h) M x;

m) M y M z;

i)

n) (y M z).

xyz;

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)

b)

g) x M y M z;

x;

y;

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, numrul 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 combinaii (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 mulimea tuturor combinaiilor posibile
0 0 ... 0
0 0 ... 1
...
1 1 ... 1
ale valorilor argumentelor x1, x2, ..., xn, n total 2n combinaii, iar domeniul valorilor funciei logice este mulimea {0, 1}.
Ca i n cazul algebrei clasice, funciile logice pot fi definite prin tabele, formule 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 logice de 3 variabile.
x1
0
0
0
0
1
1
1
1

x2 x 3
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1

y
1
0
1
0
1
0
0
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 posibile 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 dependente y valorile expresiilor logice ce conin argumentele x1, x2, ..., xn.
De exemplu,
1) y = x;
3) y = 1x2 M x3;
2) y = x1x2;
92

4) y = x1x2 M x3.

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:
y = x1 M x2;

a) y = x;

f)

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 posibile 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, reprezentate n figura 4.5.
x

y0

y1

y2

y3

0
1

0
0

1
0

0
1

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 funcia de repetare.
94

Pentru n = 2 exist

m = 22 = 24 = 16
funcii logice, reprezentate n figura 4.6.
x1 x2

y0

y1

y2

y3

y4

y5

y6

y7

y8

y9

0
0
1
1

0
0
0
0

1
0
0
0

0
1
0
0

1
1
0
0

0
0
1
0

1
0
1
0

0
1
1
0

1
1
1
0

0
0
0
1

1
0
0
1

0
1
0
1

y10 y11
0
1
0
1

1
1
0
1

y12 y13 y14


0
0
1
1

1
0
1
1

0
1
1
1

y15
1
1
1
1

Fig. 4.6. Funcii logice de dou variabile

Funciile y0 i y15 snt funciile deja cunoscute, constanta 0 i, respectiv, constanta 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, respectiv, , &, 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 adevr ale funciilor logice NU, I, SAU, I-NU, SAU-NU i COINCIDEN.
95

NU

SAU

x1

x2

x 1x 2

x1

x2

x 1 M x2

0
1

1
0

0
0
1
1

0
1
0
1

0
0
0
1

0
0
1
1

0
1
0
1

0
1
1
1

I-NU
x 1 x2
0
0
1
1

0
1
0
1

SAU-NU

x 1x 2

x1 x 2

1
1
1
0

0
0
1
1

0
1
0
1

COINCIDEN

x1 M x 2

x 1 x2

1
0
0
0

0
0
1
1

0
1
0
1

x 1 / x2
1
0
0
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 posibile 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 dispozitivelor 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.

96

a) ( M )(x M y);

c) (x M y) M xy;

b) xy M xy;

d) x M y.

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 logice 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 independente.

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
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1

x3
0
1
0
1
0
1
0
1

y
1
0
0
0
0
0
0
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, respectiv, 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 normal 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 variabilei dependente y snt reprezentate prin strile becului electric: stins (valoarea 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 electrice. Circuitul electric care realizeaz funcia I de dou variabile i simbolul utilizat 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 tensiune, 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 obinuit, care ntr-o stare conduce curentul (este nchis), iar n alta nu (este deschis).
Spre deosebire ns de ntreruptorul obinuit, nchiderea sau deschiderea tranzistorului se realizeaz cu ajutorul curentului electric.
Exist mai multe tipuri de tranzistoare. n figura 5.5 este prezentat tranzistorul 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 secund. 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, orice funcie logic cu un numr arbitrar de argumente poate fi materializat 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 urmtoarelor 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;
n)

y = x1x2 12;

g) y = x1x2;

o)

y = x1(x2 x3 x4);

h) y = x1 x2;

p)

y = x1 x2x3x4.

f)

y = (x1 x2) (x3 x4);

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 utiliznd 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 circuite secveniale.
ntr-un circuit combinaional valorile variabilelor de ieire snt determinate n orice moment de combinaia valorilor variabilelor de intrare conform funciilor logice ale circuitului. ntr-un circuit secvenial valorile variabilelor de ieire
depind nu numai de combinaiile valorilor variabilelor de intrare, dar i de consecutivitatea aplicrii lor. Altfel spus, circuitele combinaionale reprezint circuite
logice lipsite de elemente de memorie, iar circuitele secveniale includ i elementele de memorie binar. Prin urmare, un circuit combinaional realizeaz o prelucrare 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 reprezint 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 informaiei const n efectuarea operaiilor aritmetice elementare i, n special, adunarea 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 rangului respectiv, iar t cifra de transport ctre rangul urmtor.
a

0
0
1
1

0
1
0
1

0
1
1
0

0
0
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


i

A = an1 an2 ... aj ... a0


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 semisumatoare 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 transporturile intermediare de la ieirile respective ale semisumatoarelor SS1 i SS2.
Suma numerelor binare A i B se calculeaz cu ajutorul unui circuit combinaional denumit sumator. Un sumator poate fi realizat prin conectarea a n sumatoare 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 sumatorul 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 reunirea mai multor dispozitive identice mai simple (sumatorul elementar) poart denumirea de metod de proiectare ierarhic. Conform acestei metode, componentele 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 cubuoare 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 utilizarea 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 cazul 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 elementar. 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 superior se afieaz pe ecran.
Explicai esena metodei de proiectare ierarhic a dispozitivelor unui calculator numeric. Este oare obligatorie aplicarea acestei metode? Argumentai rspunsul 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 binare. Circuitul respectiv are intrrile a, b i ieirile d, i. Prin termenul d se nelege 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 diferena dj i mprumutul ij ctre rangul imediat superior, dac se introduc la intrare desczutul aj, scztorul bj i mprumutul ij1 de la rangul anterior. Aplicnd 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 elaborrii 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 mesajelor 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, sintetizarea 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 multiplexoarele 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 ieirile 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 (funcionare 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 luminiscente) indicatoare READY (disponibil), PAPER (lipsa de hrtie), TEST (regimul 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>. Alctuii 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 urmeaz:
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 consecutivitatea 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 ieirea 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 valoarea 0. Intrarea R, care asigur stabilirea bistabilului n starea 0, poart denumirea 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 combinaie interzis.
Regimurile de funcionare a bistabilului n cauz snt totalizate n tabelul 5.1.
Regimurile de funcionare ale bistabilului asincron RS
R

Intrri
S

Regim de
funcionare

Ieirea Q

0
0
1
1

0
1
0
1

pstrare bit
setare
resetare
interzis

bit memorat
1
0

Tabelul 5.1

Adjectivul asincron din denumirea bistabilului RS concretizeaz modul de influen 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 circuite 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. Pen111

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 indicate 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 destinaia reaciilor?
Explicai regimurile de funcionare a bistabilului asincron RS. De ce combinaia 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 combinaionale care permit nscrierea, citirea sau transferul informaiei. nscrierea informaiei n registru se efectueaz prin aplicarea la intrarea W (Write nscrie) a impulsului respectiv. Deoarece fiecare bistabil poate memora un singur bit, capacitatea 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 stnga este dat n figura 5.18.
Timpul
iniial
t1
t2
t3
t4
t5
...

d3 d2 d1 d0
0
1
0
1
0
0

1
0
1
0
0
0
...

0
1
0
0
0
0

1
0
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 aplicate 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 impulsuri 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 urmeaz s-i modifice starea la fiecare nou impuls sosit la intrare.
114

Un numrtor binar nregistreaz succesiunea impulsurilor aplicate la intrare n sistemul de numeraie binar. Capacitatea de numrare a numrtorului 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
iniial
t1
t2
t3
t4
t5
t6
t7
t8
t9
...

d2 d1 d0
0
0
0
0
1
1
1
1
0
0

0
0
1
1
0
0
1
1
0
0
...

0
1
0
1
0
1
0
1
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 fiecare 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 intrarea 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 funcionarea 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. Pentru a mri inertitatea circuitelor electronice i pentru a realiza ntrzieri semnificative, n componena lor se includ condensatoare i rezistoare. n acest caz ntrzierea 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 element 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. Valoa116

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 periodice prezentat n figura 5.21 printr-o poart logic SAU-NU. Explicai cum
va funciona circuitul respectiv. Desenai diagramele n timp ale generatorului obinut.
E cunoscut faptul c variaiile mrimilor fizice nu pot avea loc instantaneu.
Prin urmare, orice poart logic are o ntrziere , denumit ntrziere parazitar, valoarea concret a creia depinde de particularitile circuitului respectiv.
Excludei din schema prezentat n figura 5.21 elementul de ntrziere, aplicnd 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 creia 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. Cifrele 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)

(6) demultiplexorul.

(g) compar dou numere binare;

selecteaz obiectele unei imagini;

(h) selecteaz fluxurile de date.


8. Pe panoul de comand al unui joc electronic snt montate becurile (diodele luminiscente) indicatoare SUS, JOS, STNGA i DREAPTA. Alctuii tabelul de adevr al decodificatorului care aprinde becurile n cauz. Comenzile respective snt codificate prin urmtoarele combinaii 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 (coloana din stnga) i destinaia acestora (coloana din dreapta):
(a) deplaseaz cuvntul binar
de la stnga la dreapta;
(1) bistabilul;
(2) registrul;
(3) registrul de deplasare
de la dreapta spre stnga;
(4) registrul de deplasare
de la stnga spre dreapta;
(5) numrtorul direct;
(6) numrtorul invers.

(b) transform cuvintele binare n caractere;


(c) adun cte o unitate la coninutul su;
(d) memoreaz o cifr binar;
(e) adun dou numere binare, reprezentate
n cod invers;
(f)

scade cte o unitate din coninutul su;

(g) deplaseaz cuvntul binar


de la dreapta la stnga;
(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 tastatur, 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 comunicrii 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 unitatea 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 operativ) 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 programe folosite frecvent pentru a putea fi aduse ntr-un interval de timp mic n memoria 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 funcional 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 configuraie modular. Fiecare modl, i anume controlerul, imprimantele, unitile de disc magnetic etc., funcioneaz i, n consecin, pot fi incluse sau
excluse din componena calculatorului independent unul de altul. Prin urmare, configuraia calculatorului poate fi modificat n funcie de destinaia sistemului 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 magnetice, iar un calculator utilizat pentru montarea filmelor video va fi dotat cu
camere de luat vederi i vizualizatoare de o rezoluie adecvat, cu tastaturi similare 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 calculatoarelor 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 avantajele 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 amplasamentul (locul) operanzilor.
Succesiunea binar respectiv, denumit uneori i cuvnt instruciune, este
mprit n cmpuri, fiecare cmp avnd o semnificaie precis. Numrul i semnificaia 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 conin 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 instruciunii. 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 zecimale 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. Rezultatul 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. Pentru 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, permite scrierea de programe avnd un numr de instruciuni comparabil cu cel obinut atunci cnd s-ar utiliza mai multe adrese.
Formatul cu o singur adres (fig. 6.3c) se utilizeaz n calculatoarele procesorul 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 implicit. 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 lungimii cuvntului i al rapiditii calculatorului. Totui un program scris cu instruciuni avnd o singur adres va conine mai multe instruciuni dect n cazul 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 cmpul Codul instruciunii.

ntrebri i exerciii
Enumerai formatele instruciunilor utilizate n calculatoarele moderne. Explicai 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 locaii 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 exteriorul.
Instruciunile operaionale prelucreaz datele pstrate n locaiile memoriei interne i n registrele procesorului. Cele mai cunoscute instruciuni ale acestei grupe snt cele care efectueaz operaiile aritmetice de baz: adunarea, scderea, nmulirea i mprirea.
Instruciunile logice de tipul I, SAU, NU snt instruciuni operaionale care
acioneaz asupra poziiilor individuale ale informaiei binare. n categoria instruciunilor 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 operaionale snt incluse instruciunile de deplasare a informaiei, n care partea de adres 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 informaiei transferate. Instruciunea trebuie s specifice explicit sau implicit adresasurs i adresa de destinaie a transferului. n timpul transferului i dup transfer, informaia din surs rmne neschimbat. Cele mai uzuale instruciuni ale
acestei grupe snt cele prin care coninutul unei locaii trece ntr-un anumit registru, 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 execu126

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 instruciunilor 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 instruciunii care va fi executat n continuare.
Instruciunile de intrare-ieire permit comunicarea calculatorului cu echipamentele periferice. Echipamentul cu care se va efectua operaia de intrare-ieire se specific n partea de adres a instruciunii. De regul, instruciunile de
acest tip conin att informaii legate de natura schimbului de date, adic introducerea 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 depuse sau din care vor fi luate datele respective.

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

6.4. Limbajul cod calculator i limbajul de asamblare


Pentru a rezolva o problem, n memoria calculatorului trebuie s fie ncrcate programul respectiv i datele de prelucrat. Instruciunile programului i
datele de prelucrat se nmagazineaz n memoria intern sub forma unor succesiuni de cifre binare pe care dispozitivul central de comand le poate extrage
i interpreta.
Programele reprezentate n form de succesiuni binare direct executabile 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 hexazecimale organizate pe locaii ale memoriei.
127

Elaborarea programelor n limbaj cod calculator este un lucru extenuant i ineficient. Pentru a simplifica procesul de elaborare a programelor, s-a convenit ca
instruciunile s fie scrise ntr-un limbaj simbolic, denumit limbaj de asamblare. n acest limbaj codurile instruciunilor se reprezint printr-un grup de caractere, astfel ales nct s sugereze ct mai bine natura operaiei. Acest grup de caractere, de regul trei, este cunoscut sub numele mnemonica instruciunii.
De exemplu, codurile instruciunilor calculatorului ipotetic din paragraful precedent pot fi notate simbolic conform tabelului 6.1.
Mnemonica instruciunilor
Cod
instruciune
01
02
03
04
05
06
07

Mnemonica
INC
MEM
ADU
SCD
SLT
SLTC
STP

Tabelul 6.1

Semnificaia
ncarc acumulatorul
Memoreaz acumulatorul
Adunare
Scdere
Salt necondiionat
Salt condiionat
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 limbajul de asamblare i scrierea n limbajul cod calculator, ceea ce face uoar translatarea (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 calculator. Aceast dependen const n faptul c formatul, codurile i mnemonica instruciunilor exprim structura intern a calculatorului. Programele elaborate n aceste limbaje snt cele mai scurte i rapide, ns procesul de programare necesit un mare volum de munc. Simplificarea procesului de programare 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 utilizatorului 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
04 101
02 102
02 100

b) 01 100
02 100
03 100

c) 01 101
04 100
02 102

d) 01 101
03 101
03 101
03 101
02 102

e) 01 100
02 101
03 101
02 100

f)

01 100
02 102
01 101
02 100

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
SCD
MEM
INC

X
Y
S
Y

b) INC X
INC X
SLTC S
STP

c) INC Y
ADU X
MEM S
STP

d) INC
ADU
ADU
ADU
MEM

Y
Y
Y
Y
S

e) INC
MEM
INC
MEM
INC

f)

X
S
Y
X
X

INC
MEM
INC
MEM
INC

X
S
Y
X
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 anumit 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 calculatorului snt cunoscute ca operaii implementate prin echipamente, pe cnd operaiile efectuate cu ajutorul unei secvene de instruciuni snt cunoscute ca operaii implementate prin program. De exemplu, operaia de extragere a rdcinii ptrate ntr-un anumit calculator poate fi efectuat prin echipament electronic, n alt calculator printr-un subprogram. Delimitarea dintre implementarea prin echipamente i program depinde de calculator. n figura 6.4 este prezentat 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 singure 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 consecin, 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 echipamentele 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 res130

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, memoria 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 algoritmice i, evident, programele elaborate de fiecare utilizator.
Menionm c n literatura de specialitate resursele tehnice uneori snt denumite prin cuvntul englez hardware (produse de metal), iar resursele programate prin cuvntul software (produse moi). Respectiv, implementarea prin echipamente se numete implementare prin hardware, iar implementare prin program 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., determinai 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 informaiei 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 magnetic, reprezentat n figura 6.5.
Capul const dintr-un miez, de regul din tole (foie) de permalloy foarte subiri (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 nregistra cifra binar 0 sau 1, prin nfurarea capului magnetic se trece impulsul
respectiv de curent. Impulsul care traverseaz nfurarea creeaz n ntrefier un cmp magnetic intens care magnetizeaz stratul aflat n momentul
actual sub cap. Direcia de magnetizare, deci informaia binar nscris, depinde 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 binar. 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. Valorile practice variaz dup tipul dispozitivului de memorare i firma constructoare, 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 magnetic 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 intern dup receptarea comenzilor corespunztoare de la procesorul calculatorului.
O unitate de memorie pe band magnetic (fig. 6.7) include mecanismul de antrenare 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 acces 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 benzii. 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 rspndit memorie extern a calculatoarelor numerice. Suportul informaiei este format 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 pentru 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 deplasrii 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 respective snt mult mai simple i, evident, mai ieftine. Pentru a le deosebi de discurile
flexibile, discurile convenionale ale calculatoarelor personale snt denumite discuri rigide, hard diskuri sau wincestere.
Capacitatea de memorare a discurilor magnetice depinde de numrul de suprafee 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 nregistrarea 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 nscrie 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 (Compact Disc ReWritable).
Pentru a asigura compatibilitatea unitilor de citire, formatul datelor i dimensiunile 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. Aceste 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 milimetri), 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 adncituri. 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 reflectorizant 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 fotosensibil fotodioda se realizeaz ntr-un dispozitiv integral, denumit cap optic de citire. 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 violent 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 puternic care nnegrete poriunile respective ale stratului de nregistrare.
La citire, poriunile ntunecate blocheaz trecerea fasciculului laser spre stratul reflectorizant, modificnd astfel intensitatea luminii captate de celula fotosensibil (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 reinscriptibil 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 informaiilor 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 Multifuncional). Capacitatea unui disc DVD este de aproape apte ori mai mare dect
a unui disc de tipul CD.

ntrebri i exerciii

138

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 Megaoctei. 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 nregistrare a informaiei d = 128 Koctei/m, determinai viteza de transmisie a
datelor de la unitatea de disc la unitatea central. Amintim c viteza de transmisie 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?

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 asigurat de dispozitivul de deflexie.
Fiecrui punct al ecranului i corespunde o locaie n memoria video a vizualizatorului. Locaiile conin informaii referitoare la culoarea i luminana punctelor 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 formate de convertoare numeric-analogice.
Memoria video a vizualizatorului este ncrcat de unitatea central a calculatorului. n orice moment, calculatorul poate modifica coninutul acestei memo139

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: alfanumeric 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 alfabetului latin, cifrele zecimale, simbolurile matematice, semnele de punctuaie i unele
caractere semigrafice, utilizate la afiarea pe ecran a tabelelor, diagramelor, chenarelor 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 vizualizatorului. 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 numrul de culori ale vizualizatoarelor. Aceste caracteristici snt recunoscute i respectate de firmele productoare.
De exemplu, n cazul calculatoarelor personale cele mai rspndite snt normele 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 suplimentare rezoluia 640480 de puncte i 256 de culori distincte.
n scopul mbuntirii calitii imaginii redate, norma SVGA adaug rezoluia suplimentar de 1024768 de puncte.
Menionm c realizrile tehnologice din ultimii ani au permis nlocuirea tuburilor catodice cu ecrane plate, fapt ce asigur o reducere substanial a dimensiunilor 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 codificatorului se aplic semnalele logice provenite de la taste. La ieire se furnizeaz 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 produce 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 echipament 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 componente 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 numrul 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 ciocnae 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 hrtii 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 aparte. Evident, din puncte pot fi formate orice imagini: grafice, desene tehnice, caractere cu configuraii concepute de utilizator. Imprimarea informaiei n regim grafic este lent din cauza deplasrilor multiple ale capului de imprimare i a caracterului 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 tiprite 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 imprimantei. Imprimantele matriciale simple au cteva seturi de caractere, nscrise ntr-o memorie 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 imprimante cu 9 sau cu 24 de ace. Calitatea imprimrii poate fi mbuntit prin tiprirea 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 suprafaa electrizat a tamburului se proiecteaz punctele imaginii de tiprit. ntruct sectoarele care au fost luminate i schimb conductibilitatea, sarcinile electrice respective se neutralizeaz. Prin urmare, pe suprafaa tamburului se formeaz o imagine electric ascuns. Developarea imaginii se efectueaz cu ajutorul unor particule de pulbere colorat, atrase de sectoarele electrizate ale tamburului. 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 neutralizate, 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 picturi microscopice pulverizate pe hrtie de nite ajutaje speciale. Ele asigur o calitate foarte bun a tiparului i snt utilizate pentru imprimarea color. Aceste
imprimante snt mai scumpe dect imprimantele cu ace i necesit o ngrijire tehnic 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 imprimare 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 funcioneaz 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 memoriei-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 utilizeaz n prelucrri extrem de complexe ale datelor n aeronautic, fizica nuclear, astronautic, seismologie, prognoza meteo etc.
Calculatoarele mari (n englez mainframe dulapul principal ) pot executa 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 prezentat 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. Minicalculatoarele erau mai uor de utilizat i operat dect calculatoarele mari i se utilizau n proiectarea asistat de calculator, n automatizri industriale, pentru prelucrarea datelor n experimentele tiinifice etc. Dintre firmele ce produceau minicalculatoare 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 personal 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. Structura modular i gruparea tuturor echipamentelor n jurul unei magistrale permite configurarea 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: supercalculatoare, 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 unitii centrale de prelucrare a informaiei, i anume extragerea i executarea
instruciunilor.
De regul, un microprocesor conine un dispozitiv aritmetic i altul de comand, 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 periferice 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 central de comand. Pentru aceasta, prin magistrala de adrese se indic adresa locaiei 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 microprocesorului. 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 caracterizeaz 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 magistralei de adrese de 16 bii poate accesa 216 locaii ale memoriei interne, iar un microprocesor 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 tabelul 6.2 snt prezentate caracteristicile principale ale microprocesoarelor din familia Intel.
Tipul microprocesorului i frecvena ceasului de sistem al calculatorului personal cu care lucrai dvs. poate fi aflat cu ajutorul meniului contextual al pictogramei 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
Microprocesor

Lungime
cuvnt, bit

Frecven,
MHz

Capacitate de
prelucrare, Mips

32
32
32
32
64

200
300
1400
3800
3400

200
400
1200
2500
4000

Pentium I
Pentium II
Pentium III
Pentium 4
Pentium D

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 componena calculatorului personal cu care lucrai dvs.
146

Test de autoevaluare nr. 6


1. Indicai corespondena dintre denumirile unitilor funcionale ale calculatorului (coloana 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;

(2) memoria;

(d) furnizarea semnalelor de comand


necesare executrii secveniale
a instruciunilor;

(3) dispozitivul aritmetic


i logic;

(e) introducerea documentelor n calculator


i corectarea greelilor gramaticale;

(4) dispozitivul de ieire;

(f)

(1) dispozitivul de intrare;

(5) dispozitivul central


de comand;
(6) procesorul.

nmagazinarea datelor iniiale, intermediare


i finale ale problemei, precum i a instruciunilor care indic secvena calculelor;

(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 scderea; 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) urmtorul 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 discurilor 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 informaiei 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 numrul 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, modificri 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 necesar, 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 instalarea 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 schimba informaii prin intermediul unei structuri de comunicaie.
Calculatoarele unei reele se conecteaz la structura de comunicaie prin intermediul 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 calculator 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 transparent, 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 vizibilitii 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 transmisie a liniilor cu microunde este de ordinul 10 Gbii/s.
n funcie de aria de rspndire a calculatoarelor dintr-o reea, exist urmtoarele 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 calculatoarele 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 comunicaie 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 cablurile optice i liniile cu microunde (terestre sau prin satelit).
Avantajul principal al reelelor const n partajarea sau, cu alte cuvine, utilizarea n comun a datelor, a programelor i a calculatoarelor din reea.
De exemplu, n cazul unei reele locale pot fi partajate fiierele, discurile de capacitate mare, imprimantele, cititoarele de desene i alte periferice. Evident, fiind accesibile 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 calcule 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

152

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 componena 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 comunicaie 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 calculatoare?

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 executabile 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 funcionarea n comun a calculatoarelor i programelor din reea.
Cel mai frecvent n reelele de calculatoare se utilizeaz tehnologiile clientserver i egal-la-egal.
n tehnologia client-server o resurs comun, de exemplu, imprimanta color sau discul de mare capacitate, este gestionat de un calculator dedicat, denumit server. Calculatorul care dorete s aib acces la aceste resurse se numete
client. Pentru a utiliza resursele respective, orice client trimite serverului o cerere. 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 calculatoare 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 simpl, 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 lucrului 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 programe client.
De exemplu, un program server ce gestioneaz o baz de date execut urmtoarele 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 realizeaz 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. Transferul de date ntre programul client i programul server se realizeaz prin structura 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? Argumentai rspunsul.
154

Cum interacioneaz programele n curs de execuie n cazul tehnologiei clientserver?


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 disponibile 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 ntre 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 structurilor 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, efectund dispecerizarea pachetelor de date. Evident, defectarea calculatorului prin155

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. Pachetul 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 ntregii 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 intercepteaz pachetele adresate lui. Orice calculator Ci poate expedia un pachet numai atunci cnd magistrala este liber.
Reelele bazate pe topologia de tip magistral snt foarte fiabile, ntruct comunicarea ntre calculatoarele Ci, Cj va avea loc chiar i n cazul n care toate celelalte calculatoare nu funcioneaz.
n topologiile distribuite ntre fiecare pereche de calculatoare exist mai multe ci de transmisie a datelor. De exemplu, un pachet de date expediat de calculatorul 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. Integrarea reelelor locale n reele regionale i reele globale se face conform topologiilor 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 componena 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 calculatoarelor de proveniene diferite. Acest neajuns a fost nlturat prin standardizarea protocoalelor. Amintim c standardul reprezint un document n care se reglementeaz calitatea, caracteristicile, forma etc. ale unui produs. Standardele
internaionale snt elaborate de ctre Organizaia Internaional pentru Standardizare (ISO International Standards Organisation). Un alt organism internaional 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: topologia, 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. Arhitectura a fost elaborat de firmele XEROX, Intel i DEC.
TokenRing (inel cu jeton) reele locale realizate n conformitate cu standardul 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 Laboratories. 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 pentru reelele locale, regionale i globale. Protocoalele acestei arhitecturi au stat la
baza standardelor ISO. Topologia iniial era de tip stea, n prezent este o topologie 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, regionale 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 calculatoare 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 calculatorului 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 standardele respective?
Aflai protocoalele utilizate de reeaua local cu care lucrai dvs.
Explicai modul cum se integreaz reelele locale n reele regionale i reele globale. 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 calculatoare 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 co158

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 structura 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 adreselor Internet este prezentat n tabelul 7.1.
Caracteristica adreselor numerice
Clasa
A
B
C

Tabelul 7.1

Numrul de adrese disponibile


de reea

de calculatoare

2 =128
214=16 384
221=2 097 152

224 = 16 777 216


216 = 65 536
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 rezervate reelelor relativ mici, care includ pn la 256 de calculatoare. Fiecare adres
Internet este unic. Adresele snt atribuite calculatoarelor de Centrul Informaional 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, transformnd 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 incomode 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 organizate tematic sau geografic. Orice domeniu poate fi mprit n subdomenii,
ajungndu-se astfel la o structur ierarhic. Numele de domenii se indic n ordinea 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 Economice). 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 diagramelor 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 fiecare 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 cadrul Internetului?
Care este destinaia unei pori? Dar a unui ruter?
Cum se identific calculatoarele n Internet? Care snt avantajele i dezavantajele adreselor numerice? Dar ale adreselor simbolice?
Care snt clasele de adrese numerice? Pentru ce este necesar o astfel de clasificare?
Explicai destinaia cmpurilor Adres reea i Adres calculator ale unei adrese 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)

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.

c4.lme.ch.md;

Precizai domeniile de calculatoare i relaiile de incluziune ntre domenii. Desenai diagramele Euler pentru adresele n cauz.
162

Desenai o diagram Euler pentru adresele simbolice ce urmeaz. Precizai domeniile 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 adresele 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 ruleaz programul client, iar pe calculatorul furnizorului de servicii ruleaz programul server.
Serviciul Telnet permite utilizatorului s aib accesul la calculatoarele aflate la distan. Dup stabilirea conexiunii, calculatorul utilizatorului devine un
simplu terminal al calculatorului aflat la distan. n continuare, utilizatorul poate 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 diverse 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 fiiere 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 incontestabile, 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 Language 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 geografice (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 utilizatorului. Cnd utilizatorul activeaz o referin, programul client stabilete o conexiune 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 stabilete 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 calculatoare, 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 adrese 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 interesante:


http://www.edu.md site-ul Ministerului Educaiei i Tineretului, Moldova;
http://www.ctice.edu.md site-ul Centrului de Tehnologii Informaionale i Comunicaionale 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, Romnia;
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 (Hypertext 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 individual 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. Acestea snt clasificate n funcie de datele pe care le conin, iar adresele lor snt reinute 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 clientului 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 cadrul serviciului respectiv.
Ce informaii conine o scrisoare electronic? Care dintre ele snt opionale?
Explicai cum se formeaz o adres potal. Aflai adresele potale ale prietenilor 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 tradiional?
Formai grupe de cte patru utilizatori ai potei electronice i determinai experimental viteza cu care se transmite corespondena.
Ce informaii conine paginaWeb? Cum formeaz aceste pagini o pnz de pianjen?
Care este destinaia unui server Web? Dar a unui client Web? Cum interacioneaz 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 crora snt indicate n acest paragraf.
Care este destinaia unui server de cutare? Ce servicii ofer un astfel de server?
Gsii cu ajutorul unui server de cutare furnizorii de servicii Internet din Republica 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 suprafaa 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 intermediul magistralei;
c) n topologia magistral legtura ntre dou calculatoare ale reelei are loc prin intermediul 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 subreelei 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 destinaia acestora (coloana din dreapta):
(a) transferul fiierelor de pe calculatorul aflat la distan
pe calculatorul utilizatorului;

(1) Telnet;
(2) FTP;
(3) E-mail;
(4) WWW.

(b) cutarea informaiilor pe discul magnetic al calculatorului


i afiarea lor la ecran;
(c) editarea imaginilor grafice i transmiterea lor n Internet;
(d) transmiterea scrisorilor electronice;
(e) prelucrarea datelor cu ajutorul unei aplicaii de calcul tabelar
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 excluderea 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 programelor 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
y : integer; { numarul transformat
i : integer;
bi : integer; { baza la puterea i }
begin
write(Dati baza b=); readln(b);
write(Dati un numar scris in baza ,
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: ,
readln;
end.

tastatura }
in baza 10 }

b, : );

y);

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
0
0
0
0
1

y
0
0
1
1
0

z
0
1
0
1
0

1
0
1
0
1

y
0
0
1
0
0

x M y
0
0
1
0
1

177

x M y

1
1
1

0
1
1

1
0
1

0
1
0

0
1
0

1
1
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 valori: {0, 1}.
7.
x x
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1

x!
0
1
0
1
0
1
0
1

y
0
0
0
0
1
1
0
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,
end;
readln;
end.
5

10. 22 = 4294967296.
11.

I-NU

SAU-NU

x

xx

x

x M x

0
0
1
1

0
1
0
1

1
1
1
0

0
0
1
1

0
1
0
1

1
0
0
0

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


13. b).

Testul nr. 5
1.

2.

180

, yy);

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
if (a=0) and (b=1) then begin
if (a=1) and (b=0) then begin
if (a=1) and (b=1) then begin
writeln(s=, s, , J=, t);
readln;
end.

s:=0;
s:=1;
s:=1;
s:=1;

t:=0;
t:=0;
t:=0;
t:=1;

end;
end;
end;
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
1

0
1
0
1

1
0
0
0

0
1
0
0

0
0
1
0

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, controlerul, dispozitivul de intrare-ieire.
6. Codul instruciunii n acest cmp se indic operaia ce trebuie executat. Adres operand 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
MEM
SCD
ADU

X
S
Y
X

10.
01
02
01
02
01

583
461
971
583
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 externe 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 componena 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 aparine clasei C. n cazul clasei C adresa subreelei se indic n biii 3-32 ai adresei numerice. 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 calculatorului 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. Subdomeniul 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, Editura tiina, 2003.
6. Gremalschi Ludmila, Mocanu Iurie. Structura i funcionarea calculatorului. Material didactic 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. Bucureti, 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, Editura Teora, 1996.
15. Petrescu Adrian, Iacob Francisc, Racovi Zoe. Iniiere n structura calculatoarelor electronice. Bucureti, Editura Teora, 1996.
16. Petrescu Silviu. Informatica aplicat: manual de informatic pentru clasa a XII-a. Bucureti, Editura Teora, 1998.
17. Secrieru Nicolae, Gremalschi Anatol, Cornea Ion. Arhitectura i organizarea microprocesoarelor. Chiinu, Editura Universitas, 1995.
18. Velicanu Manole, Vasilescu Adrian. Bazele informaticii. Manual pentru clasa a XII-a. Bucureti, Editura ALL, 1999.
19. .., .., .., .. . . - 2 . / . .., ..: 1. .: , 1999.
20. .., .., .., .. .
7-9 . .: , 1999.

187

Manualul acesta este proprietatea Ministerului Educaiei al Republicii Moldova.


Liceul ___________________________________________________________________
Manualul nr. ______________
Anul
de folosire

Numele i prenumele
elevului

Anul
colar

Aspectul manualului
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

S-ar putea să vă placă și