Documente Academic
Documente Profesional
Documente Cultură
3)
G 80
Elaborat conform curriculumului disciplinar n vigoare i aprobat prin Ordinul minis
trului educaiei (nr. 211 din
11 aprilie 2012). Editat din sursele financiare ale Fondului Special pentru Manu
ale.
Comisia de experi: Teodora Gherman, dr. n pedagogie, confereniar, ef Catedr Tehnologi
i 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, Univ
ersitatea de Stat din Moldova;
Valeriu Cabac, dr. n fizic i matematic, confereniar universitar, Universitatea de Sta
t Alecu Russo , Bli;
Mihai leahtichi, dr. n psihologie i pedagogie, confereniar universitar, Universitatea
Liber Internaional din
Moldova; Tatiana Cartaleanu, dr. n filologie, confereniar universitar, Universitat
ea Pedagogic de Stat Ion
Creang , Chiinu; Alexei Colbneac, Maestru n Arte, profesor universitar, Academia de Muz
ic, Teatru i
Arte Plastice, Chiinu
Introducere
Pagina
Real
Coninuturi
Umanist
CUPRINS
5
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
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
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 Internetu
lui presupun o cunoatere profund a principiilor de funcionare i a structurii calcula
toarelor moderne. Din motive justificate, aceste principii au devenit o cluz demn
de toat ncrederea ntr-o lume aflat mereu n schimbare.
Manualul de fa are drept scop nsuirea de ctre elevi a cunotinelor necesare pentru prel
crarea 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 artico
lelor, a mulimilor i fiierelor. Snt prezentate metodele de creare i de prelucrare a f
iierelor: asocierea fiierelor PASCAL cu fiiere externe, scrierea i citirea component
elor unui fiier.
Capitolul 2 include expunerea unor cunotine fundamentale din teoria informaiei,
i anume: cantitatea de informaie din mesajele continue i discrete, codificarea i dec
odificarea informaiei, prezentarea informaiei n calculator.
n Capitolul 3 snt expuse cunotine fundamentale din domeniul aritmeticii sistemelor d
e 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, ge
neratorul 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 deoseb
it se
acord interdependenei dintre conceptele matematice i realizarea fizic a echipamentel
or unui sistem de calcul, interconexiunilor dintre resursele tehnice i cele progr
amate ale
calculatorului.
n Capitolul 7 se studiaz reelele de calculatoare. Snt expuse tehnologiile de coopera
re n reea, topologia i arhitectura reelelor locale, regionale i globale. Pentru a fac
ilita 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 pe
ntru
nvmntul liceal, aprobat prin Ordinul Ministerului Educaiei al Republicii Moldova
umanist i rea
nr. 244 din 27 aprilie 2010. Repartizarea materialului pe profiluri
l
este reflectat n cuprinsul manualului.
5
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 t
ip 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 compon
entelor (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
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 p
aranteze 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 compone
ntelor din membrul drept n cel stng.
De exemplu, n prezena declaraiilor
var a, b : Matrice;
10
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
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
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 sp
aii.
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. Fiecar
e cmp are un nume (identificator de cmp).
Un tip de date articol se definete printr-o structur de forma
type <Nume tip> = record
<Nume cmp 1> : T1;
<Nume cmp 2> : T2;
...
<Nume cmp n> : Tn;
end;
unde T1, T2, .., Tn specific tipul cmpurilor respective. Tipul unui nume de cmp
este arbitrar, astfel un cmp poate s fie la rndul lui tot de tip articol. Prin urma
re, se pot defini tipuri imbricate.
Exemple:
1) type Elev = record
Nume : string;
Prenume : string;
NotaMedie : real;
end;
var E1, E2 : Elev;
18
2)
type Punct = record
x : real; { coordonata x }
y : real; { coordonata y }
end;
var P1, P2 : Punct;
Evident, notaia LE[i] specific elevul i din list; notaia LE[i].Nume specific numele a
cestui 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 d
in figura1.5. n completare la articolele cu un numr fix de cmpuri, limbajul
PASCAL permite utilizarea articolelor cu variante. Aceste tipuri de date se stud
iaz 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 t
ipurilor de date articol din programele P84 i P85.
21
{...}
with vn do <Instruciune>.
Evident, componentele variabilelor v1, v2, ..., vn trebuie specificate univoc pr
in
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 instruciunilo
r with din exemplele paragrafului n studiu.
Care este destinaia instruciunii with?
Utiliznd instruciunea with, excludei din programele P84 i P85 din paragraful precede
nt 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
(A, B, C);
1..2;
1..2;
29
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. Elabora
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 di
ir.
Elaborai un program care citete de la tastatur dou iruri de caractere i
afieaz pe ecran:
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 i 1);
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 fiie
r sistemul de operare nscrie elementul EOF, nregistreaz fiierul extern nou-creat n di
rectorul respectiv .a.m.d.
n limbajul-standard se consider c fiierele vor fi nchise implicit la terminarea execui
ei 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
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;
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.
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, li
mbajul 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 c
u 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:=3;
write(FN, i);
close(FN);
readln;
end.
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 po
ate 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, muli
mea de mesaje posibile ale cruia este {verde, galben, rou}. Aparatul de telegrafia
t 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 p
unctuaie. 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 pri
n
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-eta
lon n = 2, din ecuaia:
loga 2 = 1 (bit)
obinem a = 2. n consecin, cantitatea de informaie I, msurat n bii, se
determin din relaia:
I = log2 n (bit).
n tabelul 2.1 snt prezentate valorile frecvent utilizate ale funciei log2 n.
Tabelul 2.1
Valorile funciei log2n
n
log2 n
n
log2 n
1
0,000
21
4,392
2
1,000
22
4,459
3
1,585
23
4,524
4
2,000
24
4,585
5
2,322
25
4,644
6
2,585
26
4,700
7
2,807
27
4,755
8
3,000
28
4,807
9
3,170
29
4,858
10
3,322
30
4,907
11
3,459
31
4,954
12
3,585
32
5,000
13
3,700
33
5,044
14
3,807
34
5,087
15
3,907
35
5,129
16
4,000
36
5,170
17
4,087
37
5,209
18
4,170
38
5,248
19
4,248
39
5,285
20
4,322
40
5,322
47
co
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 i
ncluse 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 alfabetulu
i 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 cuv
intelor 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 lung
ime 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 c
od?
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 inf
ormaiei, trebuie s fie econom i insensibil la perturbaii, iar echipamentele respecti
ve de codificare i decodificare
s fie simple. Pe parcursul dezvoltrii tehnicii de c
alcul 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
ray
Aiken
Exces 3
0
0000
0000
0000
0011
1
0001
0001
0001
0100
2
0010
0011
0010
0101
3
0011
0010
0011
0110
4
0100
0110
0100
0111
5
0101
0111
1011
1000
6
0110
0101
1100
1001
7
0111
0100
1101
1010
8
1000
1100
1110
1011
9
1001
1101
1111
1100
Codurile alfanumerice reprezint prin cuvinte binare cifrele 0, 1, 2, ..., 9,
literele mari i mici ale alfabetului, semnele de punctuaie, semnele operaiilor
aritmetice etc. n tabelul 2.3 este prezentat codul ASCII (American Standard
Code Bor InBormation Interchange), inventat n anul 1968.
Tabelul 2.3
Codul ASCII
P
Cuvnt
binar
1010000
Echivalent
zecimal
80
33
Q
1010001
81
0100010
34
R
1010010
82
0100011
35
S
1010011
83
$
0100100
36
T
1010100
84
%
0100101
37
U
1010101
85
&
0100110
38
V
1010110
86
'
0100111
39
W
1010111
87
(
0101000
40
X
1011000
88
)
0101001
41
Y
1011001
89
*
0101010
42
Z
1011010
90
+
0101011
43
[
1011011
91
,
0101100
44
\
1011100
92
0101101
45
]
1011101
93
.
0101110
46
^
1011110
94
/
0101111
47
_
1011111
95
Spaiu
Cuvnt
binar
0100000
Echivalent
zecimal
32
!
0100001
"
#
Simbol
52
Simbol
Cuvnt
binar
1100000
Echivalent
zecimal
96
a
1100001
97
50
b
1100010
98
0110011
51
c
1100011
99
4
0110100
52
d
1100101
100
5
0110101
53
e
1100101
101
6
0110110
54
f
1100110
102
7
0110111
55
g
1100111
103
8
0111000
56
h
1101000
104
9
0111001
57
i
1101001
105
:
0111010
58
j
1101010
106
;
0111011
59
k
1101011
107
<
0111100
60
l
1101100
108
=
0111101
61
m
1101101
109
>
0111110
62
n
1101110
110
?
0111111
63
o
1101111
111
@
1000000
64
p
1110000
112
A
1000001
65
q
1110001
113
B
1000010
66
r
1110010
114
C
1000011
67
s
1110011
115
D
1000100
68
t
1110100
116
E
1000101
69
u
1110101
117
F
1000110
70
v
1110110
118
1000111
71
w
1110111
119
H
1001000
72
x
1111000
120
I
1001001
73
y
1111001
121
J
1001010
74
z
1111010
122
K
1001011
75
{
1111011
123
L
1001100
76
|
1111100
124
M
1001101
77
}
1111101
125
N
1001110
78
~
1111110
126
O
1001111
79
Del
1111111
127
0
Cuvnt
binar
0110000
Echivalent
zecimal
48
1
0110001
49
2
0110010
3
Simbol
Simbol
Acest cod este 7-poziional i include 27 = 128 de simboluri. Primele 32 de simbolur
i (cuvintele binare 0000000, 0000001, 0000010, , 0011111) specific detaliile tehni
ce 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 car
acterelor 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 zeci
mal indicat. Astfel,
chr(83)=S;
chr(84)=T;
chr(65)=A;
chr(82)=R.
din alfabetul limbii romne propuse n anul 1992 de firma TISH (Chiinu). Este
firesc ca utilizarea codurilor extinse s asigure prelucrarea informaiilor prezenta
te 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 calculatoarel
e mari.
Menionm c extinderea domeniului de aplicare a codurilor 8-poziionale a favorizat uti
lizarea 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 resp
ectivi 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
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, c
amerele 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 anum
it 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 m
sajele continue, vom analiza valorile funciei S(t) numai n momentele de timp t1, t
2, ..., 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
ti = ti-1 + t.
Mrimea t se numete perioada de eantionare. Valoarea concret a perioadei de eantionare
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 10 5 s.
Operaia de transBormare a mesajelor continue n eantioane se numete discretizare n tim
p sau eantionare.
57
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 cantit
atea 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 10 3 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 valor
ile 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 furniz
microfonul dat timp de 3 ore?
Care este destinaia convertoarelor analog-numerice i numeric-analogice?
59
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 n
iveluri 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 amplitudin
e 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
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. Co
dificai, 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 un
ivoc a
mesajelor.
4. Determinai lungimea minim m a cuvintelor binare ce vor asigura codificarea i dec
odificarea univoc a mesajelor numerice ale unui calendar electronic. Mesajele res
pective 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
Capitolul 3
BAZELE ARITMETICE ALE TEHNICII
DE CALCUL
3.1. Sisteme de numeraie
n calculatoarele digitale informaia de orice categorie este reprezentat, stocat i pre
lucrat 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 numerai
e.
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 (treispr
ezece),
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
...
(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
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 zecima
l?
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.
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 numrul
ui, 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
1+0=1
1 1=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
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 n
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
77
4,125;
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, ..., n 1 snt nscrise cifrele binare ale numrului natural
reprezentat n sistemul de numeraie binar. Alinierea numerelor binare se realizeaz l
a 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 2n 1 = 2n
1.
78
52 pe
10;
g) +65;
b) 65;
e) +101;
h) 101;
c) +112;
f)
112;
i)
105.
81
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 reprezen
trii 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 i
nvers 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,11 1
sau, n sistemul zecimal,
0 |x| 1
2 (n 1).
82
n calculatoarele personale
K=2
nc
1
1,
15
64
19
10 4932...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 mo
bil respect condiia de normalizare?
Cum se efectueaz normalizarea numerelor reprezentate n virgul mobil?
85
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
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 po
ziii
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 p
e 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 complementa
r 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 r
eprezentate 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 r
eprezentate n virgul mobil, baza b = 2, formatul exponent-mantis, cod direct. Expone
ntul ocup nE = 2, iar mantisa nM = 4 poziii binare.
87
Capitolul 4
AL EBRA 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 eorge 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 elem
entelor {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 tabel
e de adevr.
Tabelul de adevr este un tabel care include toate combinaiile posibile ale valoril
or 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
Valorile expresiilor logice pot fi calculate utiliznd tabelele de adevr ale operat
orilor 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 ) .
ident, 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 valori
lor variabilelor din expresia examinat i rezultatele operaiilor logice n ordinea cal
culrii 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
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 tu
turor 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 t
uturor combinaiilor posibile
0 0 ... 0
0 0 ... 1
...
1 1 ... 1
ale valorilor argumentelor x1, x2, ..., xn, n total 2n combinaii, iar domeniul val
orilor 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 al
e 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 v
alorile expresiilor logice ce conin argumentele x1, x2, ..., xn.
De
1)
3)
2)
92
exemplu,
y = x;
y = 1x2 M x3;
y = x1x2;
4) y = x1x2 M x3.
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
2
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
NU
I
SAU
x
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
adevr.
NU, I,
dintre
dintre
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, resp
ectiv, 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 nc
hise.
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
5.3. Sumatorul
Una dintre principalele sarcini ale unui calculator n momentul prelucrrii informaie
i 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
+
tj 1
an 1 an 2 ... aj ... a0
bn 1 bn 2 ... bj ... b0.
Se obine astfel un circuit combinaional care calculeaz suma tj 1 + 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 tj 1 cu suma (aj + bj) calculat de primul semisumator. Transportul tj
ctre rangul superior j +1 se calculeaz de poarta logic SAU, care reunete transportur
ile intermediare de la ieirile respective ale semisumatoarelor SS1 i SS2.
Suma numerelor binare A i B se calculeaz cu ajutorul unui circuit combinaional denu
mit sumator. Un sumator poate fi realizat prin conectarea a n sumatoare elementa
re (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 SMn 1 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 reuni
rea mai multor dispozitive identice mai simple (sumatorul elementar) poart denumi
rea de metod de proiectare ierarhic. Conform acestei metode, componentele calculat
orului 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
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, tj 1 i dou pentru ieirile sj, tj .
Elaborai un program PASCAL care simuleaz funcionarea sumatorului elementar. Cifrele
binare aj, bj i cifra de transport tj 1 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 nume
ric. 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. Circui
tul respectiv are intrrile a, b i ieirile d, i. Prin termenul d se nelege diferena a b,
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 mp
umutul ij ctre rangul imediat superior, dac se introduc la intrare desczutul aj, sczt
orul bj i mprumutul ij 1 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 un
ui 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 s
1, 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
decodificatorul;
De exemplu, variabilele x1, x2, x3, ... pot reprezenta starea tastelor <A>, <B>,
<C>, ... ale tastaturii. Codificatorul respectiv va furniza la ieire cuvntul de co
d
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 s
imbolurilor 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 s
e 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 co
ntrolul 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) ind
icatoare READY (disponibil), PAPER (lipsa de hrtie), TEST (regimul de testare) i LO
AD (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 consecu
tivitatea 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
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 in
rare. 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 modif
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 prezenta
t 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 , enumit ntrziere parazitar, valoarea
ret a creia epine e particularitile circuitului respectiv.
Excluei in schema prezentat n figura 5.21 elementul e ntrziere, aplicn semnalul e
la ieirea porii logice I-NU irect la intrarea ei. Explicai
cum va funciona circuitul obinut. De ce epine urata impulsurilor la ieirea
porii logice? Desenai iagramele respective n timp.
Circuitul secvenial const intr-o poart logic NU, semnalul e ieire al creia este apl
cat irect la intrarea ei. Cum va funciona acest circuit?
5. Cte pori logice NU, I, SAU va conine un sumator e 8 bii? Argumentai rspunsul.
6. Elaborai un program PASCAL care simuleaz funcionarea sumatorului e 8 bii.
Numerele binare A i B se citesc e la tastatur, iar suma S i cifra e epire t se
afieaz pe ecran.
7. Inicai coresponena ntre enumirile circuitelor combinaionale frecvent utilizate
(coloana in stnga) i estinaia acestora (coloana in reapta):
(a) efectueaz conversiunea mesajelor n cuvinte binare;
(1) sumatorul;
(b) efectueaz conversiunea semnalelor;
(2) comparatorul;
(c) istribuie fluxurile e ate;
(3) coificatorul;
() efectueaz conversiunea cuvintelor binare n mesaje;
(4) ecoificatorul;
(e) calculeaz suma a ou numere binare;
(5) multiplexorul;
(f)
(6) emultiplexorul.
(g) compar ou numere binare;
selecteaz obiectele unei imagini;
(h) selecteaz fluxurile e ate.
8. Pe panoul e coman al unui joc electronic snt montate becurile (ioele lumini
scente) inicatoare SUS, JOS, STNGA i DREAPTA. Alctuii tabelul e aevr al ecoifica
torului care aprine becurile n cauz. Comenzile respective snt coificate prin urmto
arele combinaii binare:
00 SUS;
01 JOS;
10 STNGA;
11 DREAPTA.
9. Cunoscn valorile variabilelor e intrare R = 0 i S = 1, eterminai valorile fun
ciilor
Q i la ieirea bistabilului e mai jos.
10. Desenai schema etaliat (la nivelul porilor logice I, I-NU) a bistabilului sincro
n .
119
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 e memorie pentru a nmagazina atele iniiale, intermeiare i
finale ale problemei, precum i instruciunile care inic secvena calculelor;
un ispozitiv aritmetic i logic necesar efecturii operaiilor aritmetice i logice
elementare;
unul sau mai multe ispozitive e intrare, respectiv, ieire, necesare comunicrii
in exterior cu calculatorul;
un ispozitiv central e coman i control care genereaz o succesiune e
semnale e coman necesare executrii secveniale a instruciunilor.
Dispozitivul aritmetic i logic i ispozitivul central e coman formeaz unitatea cen
tral e prelucrare a informaiei sau, mai pe scurt, procesorul.
Memoria calculatoarelor moerne este organizat n ou niveluri, i anume:
o unitate e memorie intern cu o vitez mare e lucru i una sau mai multe
uniti e memorie extern cu o vitez mai reus, ns cu o capacitate mult mai
mare ect cea a memoriei interne.
Fig. 6.1. Schema funcional a calculatorului
121
Memoria intern (numit uneori memorie principal, central sau operativ) pstreaz programu
n curs e executare i atele folosite e acesta, prezena
ei fiin o coniie esenial pentru funcionarea calculatorului.
Memoria extern are rolul e a pstra cantiti mari e informaie i programe folosite frec
vent pentru a putea fi ause ntr-un interval e timp mic n memoria intern. n prezent
ca memorii externe snt utilizate unitile cu iscuri sau
benzi magnetice, unitile cu iscuri optice etc.
Unitile e memorie extern i ispozitivele e 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 moerne au o configuraie mou
lar. Fiecare mol, i anume controlerul, imprimantele, unitile e isc magnetic etc.,
funcioneaz i, n consecin, pot fi incluse sau
excluse in componena calculatorului inepenent unul e altul. Prin urmare, conf
iguraia calculatorului poate fi moificat n funcie e estinaia sistemului e calcul.
De exemplu, un sistem eitorial va inclue mai multe tipuri e imprimante:
mecanice pentru textele n curs e prelucrare, laser sau color pentru paginile
machetate eja, cititoare e esene i fotografii (scanere) etc. Un sistem estina
t
gestionrii rapie a unui volum mare e ate va inclue mai multe iscuri magnetic
e, iar un calculator utilizat pentru montarea filmelor vieo va fi otat cu
camere e luat veeri i vizualizatoare e o rezoluie aecvat, cu tastaturi similare
pupitrului regizoral etc.
122
ntrebri i exerciii
Numii unitile funcionale ale calculatorului i explicai estinaia lor.
Care este rolul memoriei interne? Cum se realizeaz memoria extern a calculatoarelo
r moerne?
Numii echipamentele periferice pe care le cunoatei vs.
Numii componentele unui calculator personal i explicai estinaia lor.
Care este structura i cum interacioneaz componentele unui calculator?
Cum poate fi moificat configuraia unui sistem e calcul? Care snt avantajele confi
guraiei moulare a calculatorului?
Desenai schema-bloc a calculatorului cu care lucrai vs. Care componente
snt obligatorii i care opionale pentru funcionarea calculatorului?
Cum poate fi conectat la un calculator personal o unitate suplimentar e isc
magnetic? O imprimant laser? Un cititor e ocumente? O camer e luat
veeri?
n general, pentru executarea unei operaii este necesar ca instruciunea s conin trei a
rese (fig. 6.3a). Primele ou arese snt folosite pentru obinerea celor oi
operanzi asupra crora se va efectua operaia specificat e cmpul Coul instruciunii. R
ezultatul operaiei va fi epus pe aresa specificat e cmpul Ares rezultat.
S analizm un exemplu. Presupunem c operaiile aritmetice i logice snt
coificate up cum urmeaz (pentru simplitate vom utiliza echivalentele zecimale al
e cmpurilor binare respective):
01
aunarea;
02
scerea;
03
operaia logic I;
04 operaia logic SAU.
Instruciunea
01 100 110 215
va impune procesorul s aune numerele in locaiile 100 i 110 i s epun
suma obinut n locaia 215.
Instruciunea
02 100 110 215
comunic procesorului c in numrul nscris n locaia 100 se scae numrul in
locaia 110. Rezultatul obinut va fi epus n locaia 215.
n mo similar, instruciunea
03 200 300 100
specific operaia logic I asupra biilor cuvintelor in locaiile 200 i 300. Rezultatul o
eraiei va fi epus n locaia 100.
Se observ c ntr-o instruciune nu se specific valoarea operanzilor, ci
aresele locaiilor n care pot fi gsii operanzii respectivi. Acest fapt permite
utilizarea unuia i aceluiai program pentru prelucrarea oricror ate iniiale.
Faptul c instruciunile lucreaz cu arese al cror coninut trebuie prelucrat, i
nu cu nsui coninutul, constituie un principiu funamental al calculatoarelor
numerice, care permite ca un program s fie elaborat i introus n calculator
inepenent e atele concrete asupra crora se aplic.
n formatul cu trei arese (fig. 6.3a), aresele snt specificate explicit. Pentru o
reprezentare mai compact a instruciunilor se utilizeaz specificarea
implicit a unor arese. n acest caz, cuvntul instruciune nu conine un cmp
special pentru aresa implicit.
Dac rezultatul obinut n urma executrii unei instruciuni se epune pe aresa
unuia intre operanzi, formatul respectiv va avea numai ou arese (fig. 6.3b). P
rin
urmare, aresa rezultatului este specificat implicit. De exemplu, instruciunea
01 100 110
va impune procesorul s aune numerele in locaiile 100 i 110 i s epun
suma obinut n locaia 100. Evient, up nscrierea sumei, numrul iniial in
locaia 100 va fi suprimat.
124
S-a constatat c formatul cu ou arese, n prezent cel mai rspnit, permite scrierea
e programe avn un numr e instruciuni comparabil cu cel obinut atunci cn s-ar utili
za mai multe arese.
Formatul cu o singur ares (fig. 6.3c) se utilizeaz n calculatoarele procesorul crora
inclue un registru special, enumit acumulator. n acumulator se
pstreaz primul operan i se epune rezultatul executrii operaiei respective.
Prin urmare, aresa primului operan i aresa rezultatului snt specificate implici
t. De exemplu, instruciunea cu o singur ares
01 100
va auna numrul in acumulator cu numrul in locaia 100, iar suma obinut va
fi epus n acumulator. Respectiv, numrul iniial in acumulator va fi suprimat.
Instruciunile cu o singur ares snt eficiente in punctul e veere al lungimii cuvnt
ului i al rapiitii calculatorului. Totui un program scris cu instruciuni avn o singu
r ares va conine mai multe instruciuni ect n cazul n care se folosesc instruciuni c
ou sau trei arese.
Menionm c toate calculatoarele moerne pot avea instruciuni e iferite
formate. Informaia referitoare la formatul fiecrei instruciuni se inic n cmpul Coul
instruciunii.
ntrebri i exerciii
Enumerai formatele instruciunilor utilizate n calculatoarele moerne. Explicai moul
e specificare implicit a unor arese.
Explicai semnificaia cmpurilor instruciunilor cu trei sau ou arese.
Cum se specific aresele operanzilor i ale rezultatului n cazul instruciunilor
cu o singur ares?
Explicai cum vor fi executate urmtoarele instruciuni cu trei arese:
a) 01 200 201 202;
c) 03 100 150 250;
b) 04 202 201 200;
) 02 250 300.
Care va fi coninutul locaiei 200 up executarea instruciunii
01 200 100,
ac n locaiile 100 i 200 snt nscrise numerele 18 i, respectiv, 32?
125
tate n mo secvenial, n orinea n care snt aezate n memorie. Aceast orine
poate fi schimbat cu ajutorul instruciunilor e salt coniionat sau neconiionat.
Instruciunile e salt coniionat permit alegerea continurii programului pe o
anumit ramur, n funcie e o coniie e test realizat. Folosirea instruciunilor e salt
coniionat au posibilitate utilizatorului s introuc ecizii logice n
procesul execuiei programului.
O instruciune e salt neconiionat conine, n partea e ares, aresa instruciunii care
va fi executat n continuare.
Instruciunile e intrare-ieire permit comunicarea calculatorului cu echipamentele
periferice. Echipamentul cu care se va efectua operaia e intrare-ieire se specifi
c n partea e ares a instruciunii. De regul, instruciunile e
acest tip conin att informaii legate e natura schimbului e ate, aic introucerea
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 epuse sa
u in care vor fi luate atele respective.
ntrebri i exerciii
Cum se clasific instruciunile unui calculator? Care este estinaia instruciunilor i
n fiecare grup?
Dai cteva exemple e instruciuni operaionale. Estimai numrul instruciunilor operaio
posibile.
Care este estinaia instruciunilor e transfer? Estimai numrul instruciunilor posibil
e e transfer.
Cn i cum se utilizeaz instruciunile e salt? Care coniii e test pot fi analizate
e aceste instruciuni?
Care este estinaia instruciunilor e intrare-ieire? Ce informaii conin aceste instru
ciuni?
6.4. Limbajul co calculator i limbajul e asamblare
Pentru a rezolva o problem, n memoria calculatorului trebuie s fie ncrcate programul
respectiv i atele e prelucrat. Instruciunile programului i
atele e prelucrat se nmagazineaz n memoria intern sub forma unor succesiuni e cif
re binare pe care ispozitivul central e coman le poate extrage
i interpreta.
Programele reprezentate n form e succesiuni binare irect executabile e calculat
or se numesc programe n limbaj co calculator sau
programe n limbaj main.
Pentru utilizator programul n co calculator poate fi prezentat n form e
iruri e cifre binare sau, mai compact, e cifre octale, zecimale sau hexazecimal
e organizate pe locaii ale memoriei.
127
ulator (FORTRAN,
128
)
03
03
03
02
01 101
101
101
101
102
e)
02
03
02
01 100
101
101
100
f)
01
02
01
02
100
102
101
100
INC X
SLTC S
STP
c) INC Y
ADU X
MEM S
STP
) 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 iferena intre limbajele epenente i limbajele inepenente e
calculator? Care snt avantajele i ezavantajele fiecrui limbaj?
129
pective. Prin urmare, utilizarea tehnicii e calcul este posibil numai n prezena
att a echipamentelor, enumite resurse tehnice, ct i a programelor respective,
enumite resurse programate.
Resursele tehnice ale unui sistem e calcul moern inclu procesorul, memoria in
tern, unitile e memorie extern, echipamentele e intrare-ieire etc.
Resursele programate vor inclue subprogramele care realizeaz operaiile
implementate prin program, programele care simplific accesul la unitile e
intrare-ieire, asambloarele, eitoarele e texte, compilatoarele limbajelor algor
itmice i, evient, programele elaborate e fiecare utilizator.
Menionm c n literatura e specialitate resursele tehnice uneori snt enumite prin cuvn
tul englez harware ( prouse e metal ), iar resursele programate
prin cuvntul softw
are ( prouse moi ). Respectiv, implementarea prin echipamente se numete implementare
prin harware, iar implementare prin program implementare prin software.
ntrebri i exerciii
De ce epine numrul total al instruciunilor unui calculator?
Cum se efectueaz operaiile n cazurile implementrii prin echipamente i n
cele ale implementrii prin program?
Analizn repertoriul instruciunilor calculatorului la care lucrai vs., eterminai c
um snt implementate urmtoarele operaii:
nmulirea i mprirea numerelor binare;
aunarea i scerea numerelor cu virgul mobil;
nmulirea i mprirea numerelor cu virgul mobil;
extragerea rcinii ptrate;
calcularea funciilor trigonometrice.
Care snt avantajele i ezavantajele implementrii prin echipamente? Dar ale
implementrii prin program?
Numii resursele tehnice i resursele programate ale unui sistem e calcul. Care
snt resursele respective n cazul calculatorului la care lucrai vs.?
6.6. Memorii externe pe benzi i iscuri magnetice
Principiul e funcionare a memoriilor examinate const n nregistrarea informaiei pe un
strat magnetic, aflat n micare. Stratul magnetic este epus pe
un suport neutru, acesta fiin, e regul, o ban e material plastic sau un isc
e aluminiu. n calitate e strat magnetic se folosete mai frecvent oxiul e fier
sau pelicule metalice subiri e cobalt-nichel cu epunere n vi.
nregistrarea sau citirea informaiei se efectueaz cu ajutorul unui cap magnetic, rep
rezentat n figura 6.5.
Capul const intr-un miez, e regul in tole (foie) e permalloy foarte subiri (0,05
mm) i o nfurare.
131
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 Megaoc
tei. 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 d
e 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. Di
spozitivul 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 d
e convertoare numeric-analogice.
Memoria video a vizualizatorului este ncrcat de unitatea central a calculatorului. n
orice moment, calculatorul poate modifica coninutul acestei memo139
ntrebri i exerciii
Explicai cum funcioneaz vizualizatorul. Care este destinaia prilor componente ale unu
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 culo
i 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
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 i
ntermediul 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 centra
l de comand. Pentru aceasta, prin magistrala de adrese se indic adresa locaiei memo
riei interne, iar prin magistrala de comenzi se transmit semnalele necesare
de scriere sau citire. Datele citite sau scrise se transmit prin magistrala de d
ate.
Microprocesoarele se apreciaz dup urmtorii parametri:
lungimea cuvntului;
frecvena ceasului de sistem;
capacitatea magistralelor.
145
Pentium
Pentium
Pentium
Pentium
II
III
4
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 calcula
torului personal cu care lucrai dvs.
146
Capitolul 7
REELE DE CALCULATOARE
7.1. Introducere n reele
Odat cu extinderea domeniilor de aplicare a calculatoarelor, a crescut i numrul uti
lizatorilor 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
senele 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 imp
rimant. 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 d
e 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 i
ntermediul 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
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 calcul
ator 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 bit/s. Cablul optic const din fibre de sticl sau din plastic transparent, a
coperite 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 direc
e a antenelor, la o distan de 40 50 de kilometri una de alta. n cazul
liniilor cosmice staiile respective se amplaseaz pe satelii. Capacitatea de transmi
sie a liniilor cu microunde este de ordinul 10 bii/s.
n funcie de aria de rspndire a calculatoarelor dintr-o reea, exist urmtoarele tipuri d
reele:
reele locale;
reele regionale;
reele globale.
151
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 bii) 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 calculatoar
e?
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 r
punsul.
154
distribuit
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).
sii 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 resp
ective?
Aflai protocoalele utilizate de reeaua local cu care lucrai dvs.
Explicai modul cum se integreaz reelele locale n reele regionale i reele globale. Dese
ai 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 sep
arate, 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
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 rezervat
e 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 fiec
are 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 publ
larg. Din acest motiv, mai frecvent snt utilizate adresele
simbolice.
160
Mihai Eminescu ).
ntrebri i exerciii
Desenai topologia reelei Internet. Cum se interconecteaz subreelele n cadrul Internet
ului?
Care este destinaia unei pori? Dar a unui ruter?
Cum se identific calculatoarele n Internet? Care snt avantajele i dezavantajele adre
selor numerice? Dar ale adreselor simbolice?
Care snt clasele de adrese numerice? Pentru ce este necesar o astfel de clasificar
e?
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 dia
gramele Euler pentru adresele n cauz.
162
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. Cn
zatorul 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 speci
ale, denumite adrese URL (Uniform Resource Locator Locator Uniform
de Resurse). Aceste adrese au forma:
<protocol>: // <Adres simbolic>[:<port>]/<cale>/<fiier>
unde:
<protocol>
reea;
<Adres simbolic>
165
<port>
portul de acces (opional);
<cale>/<fiier>
specificarea fiierului.
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 d
estinaia acestora (coloana din dreapta):
(a) transferul fiierelor de pe calculatorul aflat la distan
pe calculatorul utilizatorului;
(1)
(2)
(3)
(4)
Telnet;
FTP;
E-mail;
WWW.
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 tablo
uri
bidimensionale. Liniile snt specificate prin indici de tipul ZiDeScoala, iar colo
anele
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=); realn(n);
{ Citim numerele e la tastatura }
for i:=1 to n o
begin
write(A[, i, ]=); realn(A[i]);
en;
{ Afisam numerele la ecran }
writeln(Numerele in orine inversa:);
170
s : real;
i, n : integer;
begin
write(Dati n=); realn(n);
{ Citirea atelor espre fiecare angajat }
for i:=1 to n o
begin
writeln(Dati atele espre angajatul , i);
write(Numele si prenumele: );
realn(L[i].NumePrenume);
write(Salariul: );
realn(L[i].Salariu);
en;
{ Cautarea salariului maximal }
s:=0;
for i:=1 to n o
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 o
if L[i].Salariu = s then writeln(L[i].NumePrenume);
realn;
en.
9. Instruciunea with se utilizeaz pentru a reuce textele programelor PASCAL prin
excluerea repetrilor e enumiri ale variabilelor e tip recor (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 e caractere format in );
writeln(literele mari ale alfabetului latin:);
realn(S);
{ Numaram vocalele in sir }
n:=0;
for i:=1 to length(S) o
if S[i] in [A, E, I, O, U] then n:=n+1;
writeln(Numarul e vocale = , n);
realn;
en.
172
var A : Angajat;
F : FisierAngajati;
begin
assign(F, SALARII.DAT);
reset(F);
writeln(Datele citite in fisierul SALARII.DAT:);
while not eof(F) o
begin
rea(F, A);
writeln(A.NumePrenume, , A.Salariu:10:2);
en;
realn;
close(F);
en.
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) o
begin
realn(Intrare, a, b, c);
writeln(Iesire, (a+b)/2, , c);
writeln((a+b)/2, , c);
en;
realn;
close(Intrare);
close(Iesire);
en.
Testul nr. 2
1. 000 , 001 , 010 , 011 , 100 , 101 , 110 , 111 .
2. Rezultatul ecoificrii: CACB. Rezultatul coificrii: 00001 00000 00010.
3. Alfabetul latin este format in 26 e litere. Prin urmare, numrul e mesaje po
sibile ale
sursei e informaie n = 26 + 26 = 52. Cantitatea e informaie ntr-un mesaj:
I = log2 52 5,7 bii.
Din inegalitatea m I, obinem m = 6.
174
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 e la
y : integer; { numarul transformat
i : integer;
bi : integer; { baza la puterea i }
begin
write(Dati baza b=); realn(b);
write(Dati un numar scris in baza ,
realn(x);
y:=0;
bi:=1; { baza la puterea 0 }
for i:=length(x) ownto 1 o
begin
y:=y+(or(x[i])-48)*bi;
bi:=bi*b;
en;
writeln(Numarul scris in baza 10: ,
realn;
en.
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=); realn(x);
y:=;
for i:=1 to length(x) o
y:=y+T[x[i]];
writeln(Reprezentarea binara: , y);
realn;
en.
10. a) 1001000111; b) 111100001; c) 100100111; ) 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,112 3.
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
y
z
y
x M y
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
2. a) i ).
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=); realn(xx);
if xx=0 then x:=false else x:=true;
write(Dati y=); realn(yy);
if yy=0 then y:=false else y:=true;
write(Dati z=); realn(zz);
if zz=0 then z:=false else z:=true;
f:=x an (not y) or z;
if f=false then ff:=0 else ff:=1;
writeln(Valoarea expresiei logice: , ff);
realn;
en.
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 o
for y:=false to true o
for z:=false to true o
begin
f:=(not x) an (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);
en;
realn;
en.
178
6. Domeniul e efiniie: {000, 001, 010, 011, 100, 101, 110, 111}. Domeniul e va
lori: {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=); realn(xx1);
if xx1=0 then x1:=false else x1:=true;
write(Dati x2=); realn(xx2);
if xx2=0 then x2:=false else x2:=true;
write(Dati x3=); realn(xx3);
if xx3=0 then x3:=false else x3:=true;
y:=x1 an ((not x2) or (not x3));
if y=false then yy:=0 else yy:=1;
writeln(Valoarea functiei logice y=, yy);
realn;
en.
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 o
for x2:=false to true o
1.
2.
180
, yy);
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 lo
gice
SAU. Evient, un sumator e n bii conine 4n pori logice NU, 6n pori logice I i 3n pori
logice SAU (fig. 5.12). Pentru un sumator e n = 8 bii, obinem: 32 e pori logice N
U; 48 e
pori logice I; 24 e 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 oua numere binare A si B. Fiecare numar);
writeln(trebuie sa contina exact 8 cifre binare.);
write(A=); realn(A);
write(B=); realn(B);
t:=0;
{ initial transportul t=0 }
S:=xxxxxxxx; { initial suma S este necunoscuta }
for i:=8 ownto 1 o
begin
{ aunarea cifrelor binare A[i], B[i], T[i-1] }
if (A[i]=0) an (B[i]=0) an (t=0) then
en;
(t=1) then
en;
(t=0) then
en;
(t=1) then
en;
then
then
then
then
(); (5)
DREAPTA.
(h); (6)
(c).
11. (1)
(); (2)
(i); (3) (g); (4)
12. 00010011.
13. 11010000.
14.
Program RTA26;
{ Raspuns la Testul 5, Itemul 14 }
var R : string;
n, m, i, j : integer;
182
(a); (5)
(c); (6)
(f).
begin
writeln(Dati continutul initial al registrului);
write(R=); realn(R);
n:=length(R); { capacitatea registrului }
write(Dati m=); realn(m);
for j:=1 to m o
begin
{ eplasarea cu o pozitie }
for i:=1 to n-1 o R[i]:=R[i+1];
R[n]:=0;
en;
writeln(Continutul registrului upa eplasare);
writeln(R=, R);
realn;
en.
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=); realn(A);
n:=length(A); { capacitatea numaratorului }
write(Dati m=); realn(m);
for j:=1 to m o
begin
{ aunarea unitatii la continutul numaratorului }
t:=1;
for i:=n ownto 1 o
begin
{ aunarea transportului la cifra A[i] }
if (A[i]=0) an (t=0) then
begin A[i]:=0; t:=0; goto 1; en;
if (A[i]=0) an (t=1) then
begin A[i]:=1; t:=0; goto 1; en;
if (A[i]=1) an (t=0) then
begin A[i]:=1; t:=0; goto 1; en;
if (A[i]=1) an (t=1) then
begin A[i]:=0; t:=1; goto 1; en;
1: en;
en;
writeln(B=, A);
realn;
en.
183
Testul nr. 6
1. (1)
(i); (2)
(f); (3) (a); (4)
(c); (5) (); (6)
(g).
2. Tastatura, mouse-ul, vizualizatorul, imprimanta, unitatea e isc magnetic, u
nitatea e
isc optic, cititorul e ocumente (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 in
tern, controlerul, ispozitivul e intrare-ieire.
6. Coul instruciunii
n acest cmp se inic operaia ce trebuie executat. Ares operan
i Ares operan 2
n aceste cmpuri se inic aresele locaiilor in memoria
intern care conin, respectiv, primul i al oilea operan. Ares rezultat
inic aresa
locaiei in memoria intern n care va fi epus rezultatul operaiei.
7. a) numrul in locaia 101 este aunat cu numrul in locaia 153, iar rezultatul obin
ut
este epus n locaia 342;
b) numrul in locaia 508 este mprit la numrul in locaia 391, iar rezultatul obinut
este epus n locaia 216;
c) numrul in locaia 751 este nmulit cu numrul in locaia 852, iar rezultatul obinut
este epus n locaia 031;
) in numrul in locaia 450 se scae numrul in locaia 709, iar rezultatul obinut
este epus n locaia 011.
8. a), c), f)
instruciuni operaionale; g)
instruciune e transfer; e)
instruciune
salt; b), )
instruciuni e intrare-ieire.
9.
INC
MEM
SCD
ADU
X
S
Y
X
10.
01
02
01
02
01
583
461
971
583
461
11. a), ), f), h)
resurse tehnice; b), c), e), g)
resurse programate.
12. n cazul memoriilor externe cu acces secvenial scrierea/citirea nregistrrii orit
e este
posibil oar up scrierea/citirea tuturor nregistrrilor preceente. n cazul memoriilo
r externe cu acces irect orice nregistrare poate fi scris/citit fr a mai citi/scrie n
registrrile
preceente.
13. b), c), e).
184
12. m omeniul e cel mai nalt nivel. Acest omeniu inclue subomeniile orhei,
cahul i calarasi. Subomeniul orhei inclue calculatoarele irectie, contabilitat
e i
preseinte. Subomeniul cahul inclue calculatoarele irectie i contabilitate. Su
bomeniul calarasi inclue calculatorul preseinte.
13. (1)
(g); (2) (a); (3)
(); (4)
(f).
14. b).
15. b), ), e).
16. b), c), ), f).
186
Bibliografie
1. Bolun Ion. Iniiere n reele. INTERNET. Chiinu, Eitura ASEM, 1997.
2. Ceapru Mihai. Comunicaia prin intermeiul reelelor e calculatoare. Bucureti, Ei
tura
Tehnic, 1996.
3. Cerchez Emanuela. Internet. Manual pentru liceu. Filiera teoretic. Iai, Eitura
Polirom,
2000.
4. Cerchez Emanuela, erban Marinel. Informatica pentru gimnaziu. Iai, Eitura Poli
rom, 2002.
5. Gremalschi Anatol, Mocanu Iurie, Spinei Ion. Informatica. Limbajul PASCAL. Ch
iinu, Eitura tiina, 2003.
6. Gremalschi Lumila, Mocanu Iurie. Structura i funcionarea calculatorului. Mater
ial iactic pentru licee i colegii. Chiinu, Eitura Lyceum, 1996.
7. Gremalschi Anatol, Bejan Viorel, Gremalschi Lumila. Structura calculatoarelo
r numerice.
Material iactic. Chiinu, UTM, 1996.
8. Levine John R. Internet pentru toi. Bucureti, Eitura Teora, 1996.
9. Lowe Doug. Reele pentru toi. Bucureti, Eitura Teora, 1995.
10. Mranu Rau. Sisteme e calcul. Manual pentru licee e informatic, clasa a IX-a.
R.A. Bucureti, Eitura Diactic i Peagogic, 1995.
11. Mranu Rau, Velicanu Manole. Tehnic e calcul. Manual pentru clasa a XII-a. Buc
ureti, Eitura ALL, 1999.
12. Mihoc Dan, Iliescu Sergiu Stelian. Elemente e informatic. Mecanizarea i autom
atizarea
prouciei. Manual pentru licee inustriale, clasa a XII-a. R.A. Bucureti, Eitura
Diactic i
Peagogic, 1995.
13. Mucenic Boiu, Mihai Boiu, Eugen tefan. Compact isc. Bucureti, Eitura Teora, 1995
.
14. Pfaffenberger Bryan, Petersen Juy. Dicionar explicativ e calculatoare. Bucu
reti, Eitura Teora, 1996.
15. Petrescu Arian, Iacob Francisc, Racovi Zoe. Iniiere n structura calculatoarelor
electronice. Bucureti, Eitura Teora, 1996.
16. Petrescu Silviu. Informatica aplicat: manual e informatic pentru clasa a XIIa. Bucureti, Eitura Teora, 1998.
17. Secrieru Nicolae, Gremalschi Anatol, Cornea Ion. Arhitectura i organizarea mi
croprocesoarelor. Chiinu, Eitura Universitas, 1995.
18. Velicanu Manole, Vasilescu Arian. Bazele informaticii. Manual pentru clasa
a XII-a. Bucureti, Eitura ALL, 1999.
19. .., .., .., .. . . -
20. .., .., .., .. .
7-9 . .: , 1999.
187
SRL