Documente Academic
Documente Profesional
Documente Cultură
X - Informatica (In Limba Romana)
X - Informatica (In Limba Romana)
3)
G 80
Elaborat conform curriculumului disciplinar n vigoare i aprobat prin Ordinul ministrului educaiei (nr. 211 din
11 aprilie 2012). Editat din sursele financiare ale Fondului Special pentru Manuale.
Comisia de experi: Teodora Gherman, dr. n pedagogie, confereniar, ef Catedr Tehnologii Informaionale
Aplicate, Academia de Administrare Public de pe lng Preedintele Republicii Moldova; Gheorghe Chistruga,
prof. c., grad did. superior, Liceul Teoretic Mihai Eminescu, Drochia; Mihai Chigai, prof. c., grad did. I,
Liceul Teoretic Caplani, rn. tefan-Vod
Recenzeni: Gheorghe Ciocanu, dr. habilitat n informatic, profesor universitar, Universitatea de Stat din Moldova;
Valeriu Cabac, dr. n fizic i matematic, confereniar universitar, Universitatea de Stat Alecu Russo, Bli;
Mihai leahtichi, dr. n psihologie i pedagogie, confereniar universitar, Universitatea Liber Internaional din
Moldova; Tatiana Cartaleanu, dr. n filologie, confereniar universitar, Universitatea Pedagogic de Stat Ion
Creang, Chiinu; Alexei Colbneac, Maestru n Arte, profesor universitar, Academia de Muzic, Teatru i
Arte Plastice, Chiinu
ISBN 978-9975-67-818-6
Introducere
Pagina
Real
Coninuturi
Umanist
CUPRINS
7
14
18
23
26
31
34
38
44
2. INFORMAIA
2.1. Cantitatea de informaie
2.2. Codificarea i decodificarea informaiei
2.3. Coduri frecvent utilizate
2.4. Informaia mesajelor continue
2.5. Cuantizarea imaginilor
2.6. Reprezentarea i transmiterea informaiei
Test de autoevaluare nr. 2
46
49
51
56
60
62
66
68
71
73
76
78
79
82
86
88
91
94
96
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
170
Bibliografie
187
INTRODUCERE
Impresionantele realizri n domeniul informaticii, crearea supercalculatoarelor i
a calculatoarelor personale, apariia ciberspaiului, a realitii virtuale i a Internetului presupun o cunoatere profund a principiilor de funcionare i a structurii calculatoarelor moderne. Din motive justificate, aceste principii au devenit o cluz demn
de toat ncrederea ntr-o lume aflat mereu n schimbare.
Manualul de fa are drept scop nsuirea de ctre elevi a cunotinelor necesare pentru prelucrarea automat a informaiei cu ajutorul calculatoarelor numerice.
Capitolul 1 include un amplu material teoretic i practic referitor la definirea i prelucrarea datelor structurate: a tablourilor, a irurilor de caractere, a articolelor, a mulimilor i fiierelor. Snt prezentate metodele de creare i de prelucrare a fiierelor: asocierea fiierelor PASCAL cu fiiere externe, scrierea i citirea componentelor unui fiier.
Capitolul 2 include expunerea unor cunotine fundamentale din teoria informaiei,
i anume: cantitatea de informaie din mesajele continue i discrete, codificarea i decodificarea informaiei, prezentarea informaiei n calculator.
n Capitolul 3 snt expuse cunotine fundamentale din domeniul aritmeticii sistemelor de calcul: sisteme de numeraie i operaii aritmetice n sistemul binar, reprezentarea
numerelor naturale, numerelor ntregi i a numerelor reale n calculator.
Capitolul 4 include unele cunotine fundamentale din domeniul algebrei booleene.
Snt expuse noiunile de variabil, constant i funcii booleene, se examineaz funciile
logice frecvent utilizate.
n Capitolul 5 se studiaz circuitele logice ale unui calculator numeric: sumatorul,
comparatorul, codificatorul i decodificatorul, bistabilul, registrul, numrtorul, generatorul de impulsuri.
Structura i funcionarea calculatorului snt descrise n Capitolul 6. Materialul este
expus n aa mod nct structura unui calculator numeric poate fi neleas i nsuit
metodic, de la pori logice, dispozitive i uniti la sisteme de calcul. O atenie deosebit se
acord interdependenei dintre conceptele matematice i realizarea fizic a echipamentelor unui sistem de calcul, interconexiunilor dintre resursele tehnice i cele programate ale
calculatorului.
n Capitolul 7 se studiaz reelele de calculatoare. Snt expuse tehnologiile de cooperare n reea, topologia i arhitectura reelelor locale, regionale i globale. Pentru a facilita explorarea ciberspaiului, acest capitol include cunotine fundamentale despre Internet i serviciile din reea: transferul fiierelor, pota electronic, paginile Web.
Manualul este realizat n conformitate cu Curriculumul disciplinar de informatic pentru
nvmntul liceal, aprobat prin Ordinul Ministerului Educaiei al Republicii Moldova
nr. 244 din 27 aprilie 2010. Repartizarea materialului pe profiluri umanist i real
este reflectat n cuprinsul manualului.
Capitolul 1
TIPURI DE DATE STRUCTURATE
1.1. Tipuri de date tablou (array)
Mulimea de valori ale unui tip de date array este constituit din tablouri (tabele). Tablourile snt formate dintr-un numr fixat de componente de acelai tip, denumit tip de baz. Referirea componentelor se face cu ajutorul unui indice.
Un tip de date tablou se definete printr-o construcie de forma
type <Nume tip> = array [T1] of T2;
unde T1 este tipul indicelui care trebuie s fie ordinal, iar T2 este tipul componentelor (tipul de baz) care poate fi un tip oarecare.
Exemple:
1)
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
notaia m[1,1] specific componenta din linia 1, coloana 1 (vezi fig.1.2); notaia
m[1,2] specific componenta din linia 1, coloana 2; notaia m[i,j] specific
componenta din linia i, coloana j.
Programul ce urmeaz afieaz pe ecran suma componentelor variabilei m de
tip Matrice. Valorile componentelor m[1,1], m[1,2], ..., m[3,4] se citesc de la
tastatur.
Program P79;
{ Suma componentelor variabilei m de tip Matrice }
type Matrice = array [1..3, 1..4] of real;
var m : Matrice;
i, j : integer;
s : real;
begin
writeln(Dati componentele m[i,j]:);
for i:=1 to 3 do
for j:=1 to 4 do
begin
write(m[, i, ,, j, ]=);
readln(m[i,j]);
end;
writeln(Ati introdus:);
for i:=1 to 3 do
begin
for j:=1 to 4 do write(m[i,j]);
writeln;
end;
s:=0;
for i:=1 to 3 do
for j:=1 to 4 do
s:=s+m[i,j];
writeln(Suma=, s);
readln;
end.
n general, un tip tablou n-dimensional (n=1, 2, 3 etc.) se definete cu
ajutorul diagramelor sintactice din Bigura 1.3. Atributul packed (mpachetat)
indic cerina de optimizare a spaiului de memorie pentru elementele tipului
array. Menionm c n majoritatea compilatoarelor actuale utilizarea acestui
atribut nu are niciun efect, ntruct optimizarea se efectueaz n mod automat.
Fiind date dou variabile de tip tablou de acelai tip, numele variabilelor pot
aprea ntr-o instruciune de atribuire. Aceast atribuire nseamn copierea tuturor componentelor din membrul drept n cel stng.
De exemplu, n prezena declaraiilor
var a, b : Matrice;
10
instruciunea
a:=b
este corect.
n exemplele de mai sus tipul de baz (tipul componentelor) a fost de fiecare
dat un tip simplu. Deoarece tipul de baz poate fi, n general, un tip arbitrar,
devine posibil definirea tablourilor cu componente de tip structurat. Considerm acum un exemplu n care tipul de baz este el nsui un tip array:
Type Linie = array [1..4] of real;
Tabel = array [1..3] of Linie;
var L : Linie;
T : Tabel;
x : real;
Variabila T este format din 3 componente: T[1], T[2] i T[3] de tipul
Linie. Variabila L este format din 4 componente: L[1], L[2], L[3] i L[4] de
tipul real.
Prin urmare, atribuirile
L[1]:=x; x:=L[3]; T[2]:=L; L:=T[1]
snt corecte.
Elementele variabilei T pot fi specificate prin T[i][j] sau prescurtat T[i,j].
Aici i indic numrul componentei de tip Linie n cadrul variabilei T, iar j
numrul componentei de tip real n cadrul componentei T[i] de tip Linie.
Subliniem faptul c declaraiile de forma
array [T1, T2 ] of T3
i
array [T1] of array [T2] of T3
11
definesc tipuri distincte de date. Prima declaraie definete tablouri bidimensionale cu componente de tipul T3. A doua declaraie definete tablouri unidimensionale cu componente de tipul array[T2] of T3.
n programele PASCAL tablourile se utilizeaz pentru a grupa sub un singur
nume mai multe variabile cu caracteristici identice.
ntrebri i exerciii
Precizai tipul indicilor i tipul componentelor din urmtoarele declaraii:
type P = array
Culoare =
R = array
S = array
T = array
[1..5] of integer;
(Galben, Verde, Albastru, Violet);
[Culoare] of real;
[Culoare, 1..3] of boolean;
[boolean] of Culoare;
h)
i:=M[1,2];
b) M:=T;
i)
x:=V[4];
c) L:=V;
j)
L[3]:=V[4];
d) L[3]:=x;
k)
T[1]:=4;
e) x:=i;
l)
T[2]:=V;
f)
m) L:=T[3];
i:=x;
g) L[3]:=i;
n)
T[1,2]:=M[1,2];
13
o) T[1,2]:=M[1,2];
s)
x:=M[1];
p) M[1]:=4;
t)
L:=M[1];
q) M[1,3]:=L[2];
u)
V[5]:=M[3,4];
r) x:=T[1][2];
v)
L:=M[3,4].
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);
14
ntrebri i exerciii
Cum se definete un tip de date ir de caractere?
Ce operaii pot fi efectuate asupra irurilor de caractere?
Comentai urmtorul program:
Program P83;
{ Eroare }
var S : packed array [1..5] of char;
begin
S:=12345;
writeln(S);
S:=Sfat;
writeln(S);
end.
Elaborai un program care:
a) determin numrul de apariii ale caracterului A ntr-un ir;
b) substituie caracterul A prin caracterul *;
c) radiaz din ir caracterul B;
d) determin numrul de apariii ale silabei MA ntr-un ir;
e) substituie silabele MA prin silaba TA;
f) radiaz din ir silaba TO.
Precizai rezultatul operaiilor relaionale:
a) B < A;
b) BB > AA;
e) A A = AA;
h) Aa > aA;
f)
i)
123 = 321;
j)
BB < B B;
g) A = a;
Se consider iruri de caractere formate din literele mari ale alfabetului latin i spaii.
Elaborai un program care afieaz irurile n studiu dup urmtoarele reguli:
fiecare liter de la A pn la Y se nlocuiete prin urmtoarea liter din alfabet;
fiecare liter Z se nlocuiete prin litera A;
fiecare spaiu se nlocuiete prin -.
Elaborai un program care descifreaz irurile cifrate conform regulilor din exerciiul 6.
Se consider m, m 100 iruri de caractere formate din literele mici ale alfabetului latin. Elaborai un program care afieaz pe ecran irurile n studiu n
ordine alfabetic.
irul S este compus din cteva propoziii, fiecare terminndu-se cu punct, semn
de exclamare sau semnul ntrebrii. Elaborai un program care afieaz pe ecran
numrul de propoziii din irul n studiu.
2)
19
Evident, notaia LE[i] specific elevul i din list; notaia LE[i].Nume specific numele acestui elev .a.m.d. Programul ce urmeaz citete de la tastatur
datele referitoare la n elevi i afieaz pe ecran numele, prenumele i nota medie
a celui mai bun elev. Se consider c elevii au note medii diferite.
Program P85;
{ Tablou cu componente de tipul Elev }
type Elev = record
Nume : string;
Prenume : string;
NotaMedie : real;
end;
ListaElev = array [1..40] of Elev;
var E : Elev;
LE : ListaElev;
n : 1..40;
i : integer;
begin
write(n=); readln(n);
for i:=1 to n do
begin
writeln(Dati datele elevului , i);
write(Numele: ); readln(LE[i].Nume);
write(Prenumele: );
readln(LE[i].Prenume);
write(Nota Medie: );
readln(LE[i].NotaMedie);
end;
E.NotaMedie:=0;
for i:=1 to n do
if LE[i].NotaMedie > E.NotaMedie then E:=LE[i];
writeln(Cel mai bun elev:);
writeln(E.Nume, , E.Prenume, :, E.NotaMedie : 5:2);
readln;
end.
n general, un tip de date articol se definete cu ajutorul diagramelor sintactice din figura1.5. n completare la articolele cu un numr fix de cmpuri, limbajul
PASCAL permite utilizarea articolelor cu variante. Aceste tipuri de date se studiaz n cursurile avansate de informatic.
ntrebri i exerciii
Care este mulimea de valori ale unui tip de date articol?
Indicai pe diagrama sintactic din figura 1.5 drumurile care corespund definiiilor tipurilor de date articol din programele P84 i P85.
21
:
:
:
:
string;
1..31;
real;
real;
23
{...}
with vn do <Instruciune>.
Evident, componentele variabilelor v1, v2, ..., vn trebuie specificate univoc prin
denumirile cmpurilor respective.
De exemplu, pentru variabilele P i S, declarate mai sus, putem scrie:
with P, S do
begin
x:=1.0;
{ referire la P.x }
y:=1.0;
A.x:=0;
{ referire la S.A.x }
A.y:=0;
B.x:=2.0; { referire la S.B.x }
B.y:=2.0;
end;
n mod obinuit, instruciunea with se utilizeaz numai n cazurile n care se
ajunge la o reducere semnificativ a textului unui program.
ntrebri i exerciii
Indicai pe diagrama sintactic din figura 1.6 drumurile care corespund instruciunilor with din exemplele paragrafului n studiu.
Care este destinaia instruciunii with?
Utiliznd instruciunea with, excludei din programele P84 i P85 din paragraful precedent repetrile de genul
E1.Nume, E1.Prenume, ...,
LE[i].Nume, LE[i].Prenume.
Se consider urmtoarele tipuri de date:
type Angajat = record
NumePrenume : string;
ZileLucrate : 1..31;
PlataPeZi : real;
PlataPeLuna : real;
end;
ListaDePlata = array [1..50] of Angajat;
Plata pe lun a fiecrui angajat se calculeaz nmulind plata pe zi cu numrul
de zile lucrate. Elaborai un program care:
a) calculeaz plata pe lun a fiecrui angajat;
b) calculeaz salariul mediu al angajailor inclui n list;
c) afieaz pe ecran datele despre angajaii cu plata lunar maxim;
d) afieaz lista angajailor ordonat alfabetic;
e) afieaz lista angajailor n ordinea creterii plilor pe zi;
25
Un constructor conine specificarea elementelor mulimii, separate prin virgule i incluse ntre paranteze ptrate. Un element poate s fie o valoare concret a
tipului de baz sau un interval de forma:
<Expresie>..<Expresie>.
Valorile expresiilor n studiu precizeaz limitele inferioare i superioare ale
intervalului.
Exemple :
1) [];
2) [1, 2, 3, 8];
3) [1..4, 8..10];
4) [i-k..i+k];
5) [L, Ma, V..D].
Asupra valorilor unui tip de date mulime se pot efectua operaiile uzuale:
+ reuniunea;
* intersecia;
- diferena,
rezultatul fiind de tip mulime i operaiile relaionale:
= egalitatea;
<> inegalitatea;
27
ntrebri i exerciii
Enumerai valorile posibile ale variabilelor din declaraiile ce urmeaz:
var V
S
I
J
:
:
:
:
set
set
set
set
of
of
of
of
A..C;
(A, B, C);
1..2;
1..2;
29
f)
[4..3];
b) [1..10];
g)
c) [1..3, 9..10];
h)
[4-2..7+1];
i)
[7-5..4+4];
e) [3, 7..9];
j)
[6, 9, 1..2].
Elaborai un program care afieaz pe ecran toate submulimile mulimii {1, 2, 3, 4}.
Elaborai un program care afieaz pe ecran toate submulimile mulimii
{A, B, C, D}.
Se d un ir de caractere n care cuvintele snt separate fie prin spaiu, fie prin
caracterele punct, virgul, punct i virgul, semnul exclamrii i semnul ntrebrii. Elaborai un program care afieaz pe ecran cuvintele irului de caractere citit de la tastatur.
Se d un ir de caractere. Elaborai un program care afieaz pe ecran numrul de vocale din ir.
Elaborai un program care citete de la tastatur dou iruri de caractere i
afieaz pe ecran:
a) caracterele care se ntlnesc cel puin n unul dintre iruri;
b) caracterele care apar n ambele iruri;
c) caracterele care apar n primul i nu apar n irul al doilea.
Scriei un program care verific dac numele unei persoane este introdus corect (numele este un ir de caractere ce nu conine cifre).
30
Cele mai uzuale operaii asupra unui fiier snt citirea i scrierea unei componente.
Citirea unei componente se realizeaz printr-un apel de forma
read( f, v),
unde v este o variabil declarat cu tipul de baz al fiierului f.
Scrierea unei componente se realizeaz printr-un apel de forma:
write( f, e),
unde e este o expresie asociat cu tipul de baz al fiierului f.
Exemple:
1) read(FN, n);
2) write(FC, c);
3) read(FE, E).
Dup tipul operaiilor permise asupra componentelor, fiierele se clasific n:
fiiere de intrare (este permis numai citirea);
fiiere de ieire (este permis numai scrierea);
fiiere de actualizare (snt permise att scrierea, ct i citirea).
Dup modul de acces la componente, fiierele se clasific n:
fiiere cu acces secvenial sau secveniale (accesul la componenta i este permis dup ce s-a citit/scris componenta i1);
fiiere cu acces aleatoriu sau direct (orice component se poate referi direct
prin numrul ei de ordine i n fiier).
Menionm c n limbajul-standard snt permise numai fiiere secveniale de
intrare sau ieire.
Tipul fiierului (de intrare, ieire sau de actualizare) i modul de acces (secvenial
sau direct) se stabilesc printr-o operaie de validare, numit deschidere a fiierului. Pentru aceasta, n limbajul-standard se utilizeaz urmtoarele proceduri:
reset( f) pregtete un fiier existent pentru citire;
rewrite( f) creeaz un fiier vid i l pregtete pentru scriere.
Cnd prelucrarea componentelor se termin, fiierul trebuie nchis. La nchiderea unui fiier sistemul de operare nscrie elementul EOF, nregistreaz fiierul extern nou-creat n directorul respectiv .a.m.d.
n limbajul-standard se consider c fiierele vor fi nchise implicit la terminarea execuiei programului respectiv. n Turbo PASCAL fiierul f ce nchide prin
apelul de procedur close( f).
n concluzie, prezentm ordinea n care trebuie apelate procedurile destinate
prelucrrii datelor de tip fiier:
1) assign( f, s) asocierea fiierului PASCAL f cu fiierul externs;
2) reset( f)/rewrite( f ) deschiderea fiierului f pentru citire/scriere;
3) read( f, v)/write( f, e) citirea/scrierea unei componente a fiierului f;
4) close( f) nchiderea fiierului f.
33
ntrebri i exerciii
Explicai termenii fiier PASCAL, fiier extern.
Unde se pstreaz datele unui fiier PASCAL? Care este destinaia procedurii
assign?
Reprezentai pe un desen structura urmtoarelor tipuri de date:
a) type Tabel = array [1..5, 1..10] of real;
FisierTabele = file of Tabel;
b) type Multime = set of A..C;
FisierMultimi = file of Multime;
c) type Punct = record x, y:real end;
Segment = record A, B:Punct end;
FisierSegmente = file of Segment;
Pentru ce snt necesare operaiile de deschidere i nchidere a fiierelor? Cum
se realizeaz aceste operaii?
Explicai destinaia procedurilor read i write. Ce tip trebuie s aib variabila
v ntr-un apel de forma read(f, v)? Ce tip trebuie s aib expresia e ntr-un apel
de forma write(f, e)?
Cum se clasific fiierele n funcie de operaiile permise i modul de acces?
Variabilele A i B snt introduse prin declaraia
var A, B : file of integer;
Este oare corect instruciunea
A:=B
Argumentai rspunsul.
write(FE, E);
end;
close(FE);
readln;
end.
{ inchide fisierul FE }
close(FE);
readln;
end.
{ inchide fisierul FE }
ntrebri i exerciii
Cte componente poate avea un fiier? n ce ordine se scriu/citesc componentele
unui fiier secvenial?
Se consider urmtoarele tipuri de date:
type Data = record
Ziua : 1..31;
Luna : 1..12;
Anul : integer;
end;
Persoana = record
NumePrenume : string;
DataNasterii : Data;
end;
FisierPersoane = file of Persoana;
Elaborai un program care citete de la tastatur datele referitoare la n persoane i le nscrie ntr-un fiier. Creai fiierele FILE1.PRS, FILE2.PRS, FILE3.PRS
care trebuie s conin datele referitoare, respectiv, la 2, 7 i 10 persoane.
Elaborai un program care citete fiiere create de programul din exerciiul
precedent i afieaz pe ecran:
a) toate persoanele din fiier;
b) persoanele nscute n anul a;
c) persoanele nscute pe data z.l.a;
d) persoana cea mai n vrst;
e) persoana cea mai tnr.
Elaborai un program care afieaz pe ecran media aritmetic a numerelor nscrise ntr-un fiier de tipul file of real.
ntr-un fiier de tipul file of char snt nscrise caractere arbitrare. Elaborai un program care afieaz pe ecran numrul vocalelor din fiier.
Comentai urmtorul program:
Program P91;
{ Eroare }
type FisierNumere = file of integer;
37
var FN : FisierNumere;
i : integer;
r : real;
s : string;
begin
Writeln(Dati numele fisierului de creat: );
readln(s);
assign(FN, s);
rewrite(FN);
i:=1;
write(FN, i);
i:=10;
write(FN, i);
r:=20;
write(FN, r);
close(FN);
end.
38
variabil, poziia unei linii n cadrul fiierului nu poate fi calculat din timp. n
consecin, accesul la componentele fiierelor text este secvenial.
Un fiier text se definete printr-o declaraie de forma:
var f : text;
tipul predefinit text fiind cunoscut oricrui program PASCAL. Subliniem faptul
c tipurile text i file of char snt distincte, ntruct fiierul file of char
nu include elemente EOL (fig. 1.8).
Fiierele text pot fi prelucrate cu ajutorul procedurilor cunoscute, aplicabile
oricrui tip de fiiere: assign, reset, rewrite, read, write, close. n completare, limbajul include proceduri speciale, destinate prelucrrii elementelor EOL:
writeln(f) nscrie n fiier elementul EOL (sfrit de linie);
readln(f) trece la linia urmtoare.
Sfritul de linie este semnalat de funcia boolean eoln(f) care ia valoarea
true dup citirea ultimului caracter din linie.
O instruciune de forma
writeln(f, e1, e2, ..., en)
este echivalent cu secvena de instruciuni
write(f, e1, e2, ..., en); writeln(f).
O instruciune de forma
readln(f, v1, v2, ..., vn)
este echivalent cu secvena de instruciuni
read(f, v1, v2, ..., vn); readln(f).
Pentru introducerea i extragerea datelor, de regul, se utilizeaz fiierele
text predefinite Input i Output. Fiierul Input este destinat numai pentru
operaii de citire i este asociat cu fiierul de intrare al sistemului de operare
(de regul, tastatura). Fiierul Output este destinat numai pentru operaii de
scriere i este asociat cu fiierul-standard de ieire al sistemului de operare (de
regul ecranul). Aceste fiiere snt deschise i nchise automat la nceputul i,
respectiv, la sfritul execuiei programului. Dac numele fiierului nu este specificat n lista parametrilor unui apel de subalgoritm, se presupune c fiierul
text implicit este Input sau Output, n funcie de natura subalgoritmului. De
exemplu, read(c)este echivalent cu read(Input,c), iar write(c) este echivalent cu write(Output,c).
Pentru exemplificare prezentm programul P93 care creeaz pe discul curent
fiierul text FILE.TXT. Liniile fiierului snt introduse de la tastatur (fiierul
Input). Sfritul liniei se indic prin acionarea tastei <ENTER>, iar sfritul
fiierului prin acionarea tastelor <CTRL+Z >, <ENTER>.
39
Program P93;
{ Crearea fisierului text FILE.TXT }
var F : text;
c : char;
begin
assign(F, FILE.TXT); { asociaza F cu FILE.TXT }
rewrite(F);
{ deschide fisierul F pentru scriere }
while not eof do
{ eof(Input) }
begin
while not eoln do { eoln(Input) }
begin
read(c);
{ citeste c din Input }
write(F, c);
{ scrie c in F }
end;
writeln(F);
{ scrie EOL in F }
readln;
{ trece la linia urmatoare din Input }
end;
close(F);
{ inchide F }
end.
Programul ce urmeaz afieaz coninutul fiierului FILE.TXT pe ecran.
Program P94;
{ Citirea fisierului text FILE.TXT }
var F : text;
c : char;
begin
assign(F, FILE.TXT); { asociaza F cu FILE.TXT }
reset(F);
{ deschide F pentru citire }
while not eof(F) do
begin
while not eoln(F) do
begin
read(F, c);
{ citeste c din F }
write(c);
{ scrie c in Output }
end;
readln(F);
{ trece la linia urmatoare din F }
writeln;
{ scrie EOL in Output }
end;
close(F);
{ inchide F }
readln;
end.
Explorarea caracter cu caracter a fiierelor text este greoaie n situaia
cnd secvenele de caractere din text trebuie interpretate ca formnd date de
tip integer, real, boolean, ir de caractere. Conversiunea ntre forma extern
40
{ inchide F }
{ inchide G }
{ deschide G pentru citire }
ntrebri i exerciii
Care este diferena dintre un fiier text i un fiier file of char?
Explicai semnificaia elementelor EOL i EOF.
Care este diferena dintre procedurile read i readln? Dar dintre procedurile
write i writeln?
Lansai n execuie urmtorul program:
Program P96;
{ Asocierea fisierului FN cu consola }
type FisierNumere = file of integer;
var FN : FisierNumere;
i : integer;
begin
assign(FN, CON);
rewrite(FN);
i:=1;
write(FN, i);
i:=2;
write(FN, i);
42
i:=3;
write(FN, i);
close(FN);
readln;
end.
43
44
45
Capitolul 2
INFORMAIA
2.1. Cantitatea de informaie
Sensul uzual al cuvntului informaie tire, comunicare verbal, scris sau
transmis prin alte metode despre anumite fapte, evenimente, activiti etc. se
concretizeaz ntr-un compartiment special al matematicii, denumit teoria informaiei. Conform acestei teorii, sursa de informaie se descrie printr-o variabil S care poate lua valori dintr-o mulime finit de elemente distincte {s1, s2,
..., sn}. Se consider c valorile curente ale variabilei S nu snt cunoscute din timp.
E cunoscut numai mulimea {s1, s2, ..., sn}, denumit mulimea mesajelor posibile.
De exemplu, semaforul de circulaie poate fi reprezentat ca o surs de informaie, mulimea de mesaje posibile ale cruia este {verde, galben, rou}. Aparatul de telegrafiat reprezint o surs de informaie, mulimea de mesaje posibile
ale cruia include literele A, B, C, ..., Z, cifrele 0, 1, 2, ..., 9 i semnele de punctuaie. Mesajele posibile ale tastaturii snt: Este acionat tasta A, Este acionat
tasta B, ..., Este acionat tasta F1, Este acionat tasta F2 , ..., Snt acionate
concomitent tastele CTRL i BREAK etc.
Mesajele se transmit de la surs ctre destinatar printr-un mediu fizic, numit
canal de transmisie (fig. 2.1). De exemplu, mesajele telegrafice se transmit prin
fir, mesajele radio prin eter, mesajele tastaturii printr-un set de conductori. Perturbaiile (zgomotele) din mediul fizic amintit pot altera mesajele transmise.
I = loga n,
unde n este numrul de mesaje posibile ale sursei. Valoarea concret a constantei
a se stabilete prin alegerea unitii de msur a cantitii de informaie.
De obicei, ca unitate de msur se utilizeaz bitul.
Un bit este cantitatea de informaie din mesajul unei surse cu numai
dou mesaje posibile.
Prin urmare, ca i n cazul altor mrimi (lungimea, masa, temperatura etc.),
cantitatea de informaie se msoar prin compararea cu etalonul. ntruct pentru sursa-etalon n = 2, din ecuaia:
loga 2 = 1 (bit)
obinem a = 2. n consecin, cantitatea de informaie I, msurat n bii, se
determin din relaia:
I = log2 n (bit).
n tabelul 2.1 snt prezentate valorile frecvent utilizate ale funciei log2 n.
Tabelul 2.1
log2 n
log2 n
0,000
21
4,392
1,000
22
4,459
1,585
23
4,524
2,000
24
4,585
2,322
25
4,644
2,585
26
4,700
2,807
27
4,755
3,000
28
4,807
3,170
29
4,858
10
3,322
30
4,907
11
3,459
31
4,954
12
3,585
32
5,000
13
3,700
33
5,044
14
3,807
34
5,087
15
3,907
35
5,129
16
4,000
36
5,170
17
4,087
37
5,209
18
4,170
38
5,248
19
4,248
39
5,285
20
4,322
40
5,322
47
ntrebri i exerciii
48
49
Regula de transBormare a mesajelor n cuvinte se numete cod, iar operaia respectiv codiBicare. Operaia invers codiBicrii se numete
decodiBicare. Dispozitivele tehnice care realizeaz operaiile n cauz
se numesc, respectiv, codiBicator i decodiBicator.
Cel mai simplu este codul n care mesajelor posibile s1, s2, ..., sn le corespund
cuvinte binare de lungime constant m. Acest cod denumit cod m-poziional
poate fi definit cu ajutorul unui tabel. n figura 2.3 snt prezentate tabelele respective pentru surse cu n = 2, 3, 4, ..., 8 mesaje posibile.
n=2, m=1
0
s1
1
s2
n=5, m=3
s1 000
s2 001
s3 010
s4
011
s5 100
n=3, m=2
00
s1
01
s2
s3
10
n=6, m=3
s1 000
s2 001
s3 010
s4
011
s5 100
s6 101
n=7, m=3
s1 000
s2 001
s3 010
s4
011
s5 100
s6 101
s7
110
n=4, m=2
s1 00
s2 01
s3 10
s4 11
n=8, m=3
s1 000
s2 001
s3 010
s4
011
s5 100
s6 101
s7
110
s8
111
2m n.
m log2 n.
m log2 26 4,700.
Stabilind m = 5, putem forma cuvintele binare ale codului 5-poziional:
A 00000
B 00001
C 00010
50
D 00011
E 00100
...
Z 11001.
Un astfel de cod a fost propus de filosoful i omul de stat englez Francis Bacon
nc n anul 1580.
Algoritmii de elaborare a codurilor cu cuvinte de lungime variabil snt
mult mai complicai i se studiaz n cursurile avansate de informatic.
ntrebri i exerciii
Ce este un alfabet? Dai exemple de alfabete binare.
Cum se reprezint semnele oricrui alfabet binar?
Explicai cum pot fi formate cuvintele binare (m+1)-poziionale. Care este numrul cuvintelor binare m-poziionale distincte?
Care este destinaia unui cod? Cum se definete codul m-poziional?
Cum se efectueaz codificarea i decodificarea mesajelor n cazurile cnd codul
este definit printr-un tabel?
Codificai mesajele s3, s4 i s6 ale unei surse cu 7 mesaje posibile. Utilizai codul
3-poziional din figura 2.3.
Decodificai mesajele 100, 000 i 010, reprezentate n codul 3-poziional din
figura 2.3, n = 5.
Cum se determin numrul de semne binare necesare pentru formarea cuvintelor de lungime constant ale unui cod?
Utiliznd codul 3-poziional din figura 2.3, n = 6, codificai irul de mesaje s1, s2,
s6, s5, s3, s6, s3, s2, s1.
Cum influeneaz cantitatea de informaie a unui mesaj asupra lungimii cuvintelor de cod?
Explicai sensul termenilor cantitate de informaie i informaie.
Elaborai un program care codific i decodific literele alfabetului latin. Se va
utiliza codul propus de Francis Bacon.
Elaborai un program care alctuiete tabelul unui cod m-poziional pentru o
surs cu n mesaje posibile.
Tabelul 2.2
Coduri numerice
Cifra
Direct
Denumirea codului
Gray
Aiken
Exces 3
0000
0000
0000
0011
0001
0001
0001
0100
0010
0011
0010
0101
0011
0010
0011
0110
0100
0110
0100
0111
0101
0111
1011
1000
0110
0101
1100
1001
0111
0100
1101
1010
1000
1100
1110
1011
1001
1101
1111
1100
Codul ASCII
Cuvnt
binar
1010000
Echivalent
zecimal
80
33
1010001
81
0100010
34
1010010
82
0100011
35
1010011
83
0100100
36
1010100
84
0100101
37
1010101
85
&
0100110
38
1010110
86
'
0100111
39
1010111
87
0101000
40
1011000
88
0101001
41
1011001
89
0101010
42
1011010
90
0101011
43
1011011
91
0101100
44
1011100
92
0101101
45
1011101
93
0101110
46
1011110
94
0101111
47
1011111
95
Spaiu
Cuvnt
binar
0100000
Echivalent
zecimal
32
0100001
"
#
Simbol
52
Simbol
Cuvnt
binar
1100000
Echivalent
zecimal
96
1100001
97
50
1100010
98
0110011
51
1100011
99
0110100
52
1100101
100
0110101
53
1100101
101
0110110
54
1100110
102
0110111
55
1100111
103
0111000
56
1101000
104
0111001
57
1101001
105
0111010
58
1101010
106
0111011
59
1101011
107
<
0111100
60
1101100
108
0111101
61
1101101
109
>
0111110
62
1101110
110
0111111
63
1101111
111
1000000
64
1110000
112
1000001
65
1110001
113
1000010
66
1110010
114
1000011
67
1110011
115
1000100
68
1110100
116
1000101
69
1110101
117
1000110
70
1110110
118
1000111
71
1110111
119
1001000
72
1111000
120
1001001
73
1111001
121
1001010
74
1111010
122
1001011
75
1111011
123
1001100
76
1111100
124
1001101
77
1111101
125
1001110
78
1111110
126
1001111
79
Del
1111111
127
Cuvnt
binar
0110000
Echivalent
zecimal
48
0110001
49
0110010
Simbol
Simbol
Acest cod este 7-poziional i include 27 = 128 de simboluri. Primele 32 de simboluri (cuvintele binare 0000000, 0000001, 0000010, , 0011111) specific detaliile tehnice ale transmisiunilor de informaii i nu au fost incluse n tabel. Cuvintele binare 0100000, 0100001, 0100010, , 1111110 reprezint caracterele impri53
mabile din textele n limba englez. Cuvntul 1111111 reprezint caracterul neimprimabil Delete (Anulare).
Codificarea mesajelor se realizeaz prin nlocuirea simbolurilor cu cuvintele
binare respective. De exemplu, cuvntul START se reprezint n codul ASCII
prin urmtoarea secven de cuvinte binare:
1010011
1010100
1000001
1010010
1010100.
1010100
1001111
1010000
ord(T)=84;
ord(A)=65;
ord(R)=82
etc. Funcia predefinit chr returneaz caracterul care corespunde echivalentului zecimal indicat. Astfel,
chr(83)=S;
chr(84)=T;
chr(65)=A;
chr(82)=R.
n literatura de specialitate octetul este notat prin B (byte), iar multiplii respectivi prin KB, MB, GB, TB i PB.
54
Tabelul 2.4
}
~
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
0011
1111
0100
b)
1110
0010
1101
55
c)
1111
0000
0100
e)
0011
1100
1111
d)
0010
0001
1011
f)
1111
1101
0000
A+B
d)
NEXT I
b)
FOR I=1 TO N
e)
PAUSE
c)
PRINT A$
f)
PROGRAM
1000010
1100101
1100111
1101001
b)
1010011
1110100
1101111
1110000;
c)
1000101
1101110
1100100;
d)
1101001
0111010
0111101
0110001
1101110;
0111011.
ti = ti-1 + t.
Mrimea t se numete perioada de eantionare. Valoarea concret a perioadei de eantionare t este determinat de viteza cu care S(t) variaz n timp.
De exemplu, n meteorologie schimbrile de temperatur se produc pe parcurs de ore i t = 1 h, iar n tehnica prelucrrii semnalelor sonore t = 5 105 s.
Operaia de transBormare a mesajelor continue n eantioane se numete discretizare n timp sau eantionare.
57
Evident, pn la recepia mesajului continuu, valorile concrete ale eantioanelor S(t1), S(t2), ..., S(tm) snt necunoscute destinatarului. Se cunoate numai intervalul [smin, smax] n care poate lua valori arbitrare orice eantion. n scopul evalurii cantitii de informaie dintr-un eantion, vom rotunji valoarea S(ti) la una din
valorile prestabilite s1, s2, ..., sn (Big. 2.4).
Valorile prestabilite s1, s2, ..., sn se numesc cuante, iar operaia de transformare a valorilor curente ale mesajelor continue n cuante se numete discretizare
n valoare sau cuantificare.
De obicei,
s1 = smin,
s2 = smin + s,
...,
si = si1 + s,
...,
sn = smax.
Mrimea s reprezint pasul sau intervalul de cuantificare. Valoarea concret a intervalului de cuantificare depinde de natura fizic a sursei de informaie, precizia de msurare, puterea de rezoluie a destinatarului etc.
De exemplu, pentru un termometru medical smin = 34o, smax = 42o i s = 0,1o. n
meteorologie smin = 60o, smax = +60o, s = 1o. Pentru vitezometrul unui automobil
smin = 0, smax = 150 km/h, s = 5 km/h.
Numrul eantioanelor m i numrul cuantelor n se determin din urmtoarele relaii (fig. 2.4 b i c):
58
Dac precizia de msurare i puterea de rezoluie a destinatarului cresc, perioada de eantionare t i pasul de cuantificare s pot fi micorate. n consecin, va crete i cantitatea de informaie dintr-un mesaj continuu.
Informaia mesajelor continue poate fi reprezentat printr-un set de cuvinte
binare. Pentru aceasta, cuantele s1, s2, ..., sn se codific exact la fel ca i oricare
alte mesaje discrete. De exemplu, indicaiile unui termometru medical (I 6,34 bii)
pot fi codificate cu un cod 7-poziional. Cel mai frecvent se utilizeaz codurile
numerice directe (tab. 2.2), cuvntul de cod reprezentnd numrul cuantei respective. n unele aplicaii se utilizeaz codul Gray, care este insensibil la perturbaii.
Dispozitivul care transform mesajul continuu aplicat la intrare ntr-o succesiune de cuvinte de cod se numete convertor analog-numeric. Operaia invers, i anume transformarea cuvintelor de cod aplicate la intrare n valorile
cuantelor respective, se efectueaz cu ajutorul convertoarelor numeric-analogice. Utilizarea convertoarelor este necesar n cazurile n care informaia de
procesat este reprezentat prin mesaje continue: controlul proceselor tehnologice, dirijarea obiectelor aflate n micare, monitorizarea parametrilor fiziologici
n medicin, filtrarea i mixajul semnalelor audio etc.
ntrebri i exerciii
Care este diferena dintre sursele cu mesaje discrete i sursele cu mesaje continue?
Dai cteva exemple de surse cu mesaje continue. Concretizai intervalul n care
ia valori variabila ce definete sursa.
Explicai cum se efectueaz operaia de eantionare. Cum se alege perioada de
eantionare?
Explicai cum se efectueaz operaia de cuantificare. Cum se alege pasul de
cuantificare?
Cum influeneaz valorile perioadei de eantionare i ale pasului de cuantificare cantitatea de informaie extras dintr-un mesaj continuu?
Altimetrul cu impulsuri al unui avion poate msura nlimi de la 100 m pn la
20 km. Eroarea de msurare nu depete 1 m. Pentru a efectua o msurare
snt necesare 103 s. Determinai cantitatea de informaie furnizat de altimetru timp de 5 ore de zbor.
Temperatura din interiorul unui reactor chimic se nregistreaz pe o band de
hrtie milimetric. Pe axa absciselor se indic timpul (1 mm reprezint o or),
iar pe axa ordonatelor temperatura (1 mm reprezint 10oC). Ct informaie
conine o nregistrare efectuat timp de 30 de zile, dac temperatura poate
varia de la 80 pn la 1000oC ?
Pentru nregistrarea sunetului se utilizeaz microfoane, tensiunea de ieire a
crora variaz de la 0 pn la 100 V. Aparatul de nregistrare nu distinge tensiunile valorile crora difer cu mai puin de 0,1 V. Pentru a asigura o
reproducere fidel, n fiecare secund se iau 40 000 de eantioane. Ct informaie va furniza microfonul dat timp de 3 ore?
Care este destinaia convertoarelor analog-numerice i numeric-analogice?
59
Elaborai un program care introduce de la tastatur valorile curente ale eantioanelor i afieaz pe ecran codurile cuantelor corespunztoare.
Elaborai un program care simuleaz funcionarea unui convertor numeric-analog.
ntrebri i exerciii
Numii operaiile necesare pentru a cuantiza imaginea.
Care este destinaia rastrului? Din care considerente se alege densitatea liniilor unui rastru?
Cum se evalueaz cantitatea de informaie dintr-o imagine monocrom?
Cum pot fi redate culorile unei imagini multicolore? Cum se evalueaz cantitatea de informaie dintr-o imagine color?
61
metrii informaionali ai semnalului. Semnalele respective au formele prezentate n figura 2.7. n cazul nivelurilor de tensiune, unei valori a tensiunii i se
asociaz cifra binar 0, iar alteia cifra binar 1. Cifrele binare 0 i 1 pot fi de
asemenea asociate, respectiv, cu absen sau prezen de impuls sau cu impuls
negativ i impuls pozitiv.
Semnalul se numete discret, dac parametrul inBormaional respectiv poate lua numai un numr Binit de valori. Semnalul se numete
continuu dac parametrul inBormaional poate lua orice valoare ntr-un
anumit interval.
63
De exemplu, semnalele din Bigura 2.6 snt semnale continue, iar semnalele
din Bigura 2.7 snt semnale discrete. Evident, semnalele discrete i continue snt
forme de reprezentare a mesajelor respective.
Orice sistem tehnic utilizeaz acele semnale care-i asigur o realizare ct
mai bun a funciilor pentru care a fost conceput. Calculatoarele actuale utilizeaz niveluri de tensiune, reelele telefonice cureni electrici, iar radioul i
televiziunea unde electromagnetice etc. Practica demonstreaz c semnalele
continue pot fi transmise la distane mult mai mari dect cele discrete. Prin
urmare, pentru a asigura legtura ntre calculatoarele aflate la distan, la
emisie semnalele discrete vor fi transformate n semnale continue. La recepie
se va realiza transformarea invers: semnalul continuu va fi transformat
ntr-un semnal discret.
Operaia prin care parametrul inBormaional al semnalului continuu se
modific n Buncie de valorile semnalului discret se numete modulare.
Dispozitivul tehnic care realizeaz operaia n cauz se numete modulator.
Pentru exemplificare, n Bigura 2.8 snt prezentate operaiile de modulare n amplitudine i frecven.
Operaia de extragere a semnalului discret dintr-un semnal continuu
n Buncie de procedeul de modulare adoptat se numete demodulare.
Dispozitivul tehnic care realizeaz operaia respectiv se numete demodulator.
64
ntrebri i exerciii
Care este deosebirea dintre purttorii statici i purttorii dinamici de informaie?
Determinai tipul urmtorilor purttori de informaie:
a) cartele perforate;
b) unde ultrasonore;
c) benzi perforate;
d) unde acustice;
e) pelicule fotosensibile;
65
B) unde gravitaionale;
g) hrtie fotografic.
Numii parametrii informaionali ai semnalelor emise de urmtoarele surse:
a) microfonul;
b) staia de radio, unde lungi, medii sau scurte;
c) instrumentul muzical;
d) staia de radio, unde ultrascurte;
e) camera de luat vederi.
Descriei purttorii de informaie i semnalele utilizate n calculatoarele actuale.
Explicai operaiile de modulare i demodulare a semnalelor.
Care este destinaia modulatorului? Dar a demodulatorului?
n figura 2.8 snt redate semnalele continue ce reprezint cuvntul binar 1001101.
n codul ASCII (tab. 2.3) acestui cuvnt i corespunde simbolul M. Redai pe un
desen semnalele continue ce corespund urmtoarelor simboluri:
a)
>;
e)
<;
b)
r;
f)
K;
c)
W;
g)
a;
d)
9;
h)
@.
66
e) unda electromagnetic;
b) unda ultrasonor;
f)
c) banda magnetic;
g) curentul electric;
d) pelicula fotosensibil;
cartela magnetic;
(b)
(2) semnal;
(c)
(3) informaie;
(d)
(e)
(f)
(1) cod;
(4) alfabet;
14*. Indicai corespondena ntre denumirile componentelor (coloana din stnga) ale unui
sistem de transmisie a informaiei i destinaia acestora (coloana din dreapta):
(a)
(b)
(2) modulatorul;
(c)
(3) demodulatorul;
(d)
(e)
(f)
(1) codificatorul;
(4) decodificatorul;
67
Capitolul 3
BAZELE ARITMETICE ALE TEHNICII
DE CALCUL
3.1. Sisteme de numeraie
n calculatoarele digitale informaia de orice categorie este reprezentat, stocat i prelucrat n form numeric. Numerele se reprezint prin simboluri elementare denumite cifre.
Totalitatea regulilor de reprezentare a numerelor, mpreun cu mulimea cifrelor poart denumirea de sistem de numeraie. Numrul cifrelor definete baza sistemului de numeraie.
Prezentm cteva exemple de sisteme de numeraie:
sistemul zecimal este un sistem de numeraie n baza 10, numrul de cifre
utilizate fiind 10, respectiv, 0, 1, 2, ..., 9;
sistemul binar este un sistem de numeraie n baza 2, numrul de cifre
utilizate este 2, adic 0 i 1. Cifrele respective se numesc cifre binare sau bii;
sistemul ternar este un sistem de numeraie n baza 3, numrul de cifre
utilizate fiind 3, respectiv, 0, 1 i 2;
sistemul octal este un sistem de numeraie n baza 8, coninnd 8 cifre: 0, 1,
2, ..., 7;
sistemul hexazecimal este un sistem de numeraie n baza 16 i conine
16 cifre: 0, 1, 2, ..., 9, A (zece), B (unsprezece), C (doisprezece), D (treisprezece),
E (paisprezece), F (cincisprezece).
n tabelul 3.1 snt date reprezentrile unora i acelorai numere n diferite baze.
Tabelul 3.1
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
...
Formal, sistemul zecimal nu prezint niciun avantaj deosebit fa de alte sisteme de numeraie. Se presupune c acest sistem a fost adoptat nc din cele mai
vechi timpuri datorit faptului c procesul de numrare a folosit ca instrumente
iniiale degetele minilor.
Un calculator poate fi prevzut s funcioneze n orice sistem de numeraie.
Pe parcursul dezvoltrii tehnicii de calcul, s-a stabilit c cel mai avantajos este
sistemul binar. Acest sistem a fost preferat din urmtoarele motive:
simplitatea regulilor pentru operaiile aritmetice i logice;
materializarea fizic a cifrelor n procesul prelucrrii sau stocrii numerelor
se face mai uor pentru dou simboluri dect pentru zece: perforatneperforat,
contact nchiscontact deschis, prezen sau absen de curent etc.;
circuitele care trebuie s diferenieze numai ntre dou stri snt mai sigure
n funcionare dect cele care trebuie s diferenieze ntre zece stri.
Menionm c n procesul dezvoltrii civilizaiei umane au fost create i sisteme de numeraie nepoziionale. Drept exemplu poate servi sistemul roman, care utilizeaz cifrele I, V, X, L, C, D, M. ntruct regulile de reprezentare
a numerelor i de efectuare a operaiilor aritmetice snt foarte complicate, sistemele nepoziionale au o utilizare foarte restrns.
ntrebri i exerciii
Cum se definete un sistem de numeraie?
Care este deosebirea dintre sistemele de numeraie poziionale i nepoziionale?
Dai exemple de sisteme de numeraie poziionale. Cum se definete baza sistemului de numeraie?
Evaluai numrul (101,1)b scris n urmtoarele sisteme de numeraie:
b = 4, 5, 6, 7, 9, 11, 12, 13, 14 i 15.
Evaluai numerele ce urmeaz:
a) (328)9;
i)
(1010,01)3;
q)
(341,02)8;
b) (516)7;
j)
(201,12)4;
r)
(ABCD)16;
c) (1010,01)2;
k)
(341,02)6;
s)
(328)16;
d) (201,12)3;
l)
(1111)16;
t)
(516)16;
e) (341,02)5;
m) (328)11;
u)
(1010,01)16;
n)
(516)9;
v)
(201,12)16;
g) (328)10;
o)
(1010,01)8;
w) (341,02)12;
h) (516)8;
p)
(201,12)8;
x)
f)
(FFFF)16;
(F001)16.
0,8 2 = 1,6;
0,6 2 = 1,2;
0,2 2 = 0,4;
0,4 2 = 0,8;
...
Se observ c operaia poate fi continuat la infinit, adic nu exist o conversiune exact a numrului analizat. Prin urmare,
(23,7)10 = (10111,101100...)2.
3) S se efectueze conversiunea numrului 1996,0625 din sistemul zecimal n
sistemul octal.
1996 : 8 = 249 + 4/8;
249 : 8 = 31 + 1/8;
31 : 8 = 3 + 7/8;
3 : 8 = 0 + 3/8;
0,0625 8 = 0,5;
0,5 8 = 4.
Prin urmare,
(1996,0625)10 = (3714,04)8.
4) S se transforme numrul 2914,25 din sistemul zecimal n sistemul hexazecimal.
2914 : 16 = 182 + 2/16;
182 : 16 = 11 + 6/16;
11 : 16 = 0 + 11/16;
0,25 16 = 4.
Prin urmare,
(2914,25)10 = (B62,4)16.
ntrebri i exerciii
Cum se efectueaz conversiunea unui numr dintr-un sistem cu baza b n sistemul zecimal?
Transformai n sistemul zecimal numerele ce urmeaz:
72
a) (100001,01111)2;
e) (AAA,BBB)16;
i)
(124,521)7;
b) (328,678)9;
f)
(EE,00F)16;
j)
(4231,124)5;
c) (100,100)16;
g) (1221,1112)3;
k) (50,505050)6;
d) (10,01)16;
h) (1321,1312)4;
l)
(7777,001)8.
e) 93,447;
i)
58,749;
b) 38,668;
f)
70,212;
j)
4,345;
c) 53,536;
g) 8,347;
k) 3,156;
d) 29,261;
h) 39,764;
l)
91,428.
e) 886,526;
i)
795,128;
b) 479,093;
f)
971,258;
j)
680,895;
c) 591,241;
g) 515,914;
k) 256,453;
d) 649,113;
h) 347,607;
l)
838,261.
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.
4 = 100;
1 = 001;
5 = 101;
2 = 010;
6 = 110;
3 = 011;
7 = 111.
73
Dac este dat un numr octal, pentru conversiunea lui n binar se va scrie
fiecare cifr octal prin 3 cifre binare.
Exemple:
(247,315)8 = (010 100 111, 011 001 101)2;
(512,07)8 = (101 001 010, 000 111)2;
(3,146)8 = (011, 001 100 110)2.
Dac este considerat un numr binar, pentru conversiunea lui n octal se vor
grupa cte 3 cifre binare pornind de la poziia virgulei spre stnga pentru partea
ntreag, respectiv dreapta pentru partea fracionar, aflnd corespondentul n
octal. Pentru completarea unui grup de trei cifre binare, zerourile din faa numrului, respectiv dup ultima cifr a prii fracionare, nu modific semnificaia
numrului.
Exemple:
(11,011101)2 = (011,011 101)2 = (3,35)8;
(10,11011)2 = (010,110 110)2 = (2,66)8;
(1001,01011)2 = (001 001,010 110)2 = (11,26)8.
n mod similar se procedeaz i n cazul sistemului hexazecimal, baza cruia
este 16 = 24. Orice cifr hexazecimal se reprezint prin 4 cifre binare:
0 = 0000;
8 = 1000;
1 = 0001;
9 = 1001;
2 = 0010;
A = 1010;
3 = 0011;
B = 1011;
4 = 0100;
C = 1100;
5 = 0101;
D = 1101;
6 = 0110;
E = 1110;
7 = 0111;
F = 1111.
Exemple:
(6AF3,B2)16 = (0110 1010 1111 0011, 1011 0010)2;
(6F1,3CA)16 = (0110 1111 0001, 0011 1100 1010)2;
(11,01101)2 = (0011, 0110 1000)2 = (3,68)16;
(10001,01011)2 = (0001 0001, 0101 1000)2 = (11,58)16.
74
ntrebri i exerciii
Cum se efectueaz conversiunea octal-binar i binar-octal?
Transformai n sistemul binar numerele octale ce urmeaz:
a) 15,006;
e) 21,626;
i)
42,322;
b) 13,06;
f)
6,3415;
j)
44,523;
c) 43,15;
g) 771,25;
k) 32,271;
d) 10,01;
h) 12,121;
l)
73,536.
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.
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.
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.
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
e) 15F,6A1;
i)
BBB;
b) A2B,1F;
B) 3,281;
j)
AF,31B;
c) F,3A;
g) 9,AF;
k) 2C,ACB;
d) FFFF;
h) 3,418F;
l)
A1B,39E.
Tabelul 3.3
Tabelul 3.4
Adunarea binar
Scderea binar
nmulirea binar
0+0=0
00=0
000=0
0+1=1
10=1
001=0
1+0=1
11=0
100=0
1 + 1 = 10
10 1 = 1
101=1
Exemple:
1) Se propune adunarea n binar a numerelor zecimale 29 i 43:
(29)10 = (11101)2;
(43)10 = (101011)2;
11101
+
101011
1001000
VeriBicare: (1001000)2 = (72)10, rezultatul este corect, ntruct (29)10 + (43)10 =
= (72)10.
2) Se propune scderea n binar a numrului zecimal 37 din numrul zecimal 46:
(37)10 = (100101)2;
(46)10 = (101110)2;
101110
100101
1001
VeriBicare: (1001)2 = (9)10, rezultatul este corect, ntruct (46)10 (37)10 = (9)10.
76
111,001
1101
0000
0000
1101
1101
1101
10111,00101
VeriBicare: (10111,00101)2 = (23,15625)10, rezultatul este corect, ntruct (3,25)10
(7,125)10 = (23,15625)10.
4) Se propune mprirea n binar a numrului zecimal 211 la numrul zecimal 3:
(211)10 = (11010011)2;
(3)10 = (11)2;
11010011
11
11
1000110
00100
11
11
11
01
Deci 11010011 : 11=1000110, rest 1.
VeriBicare: (1000110)2 = (70)10, rezultatul este corect, ntruct (211)10 : (3)10 =
= (70)10 + (1)10.
Menionm c att la nmulire, ct i la mprire, fixarea virgulei care desparte partea ntreag de cea fracionar se face la fel ca i n sistemul de numeraie
zecimal.
ntrebri i exerciii
Cum se execut operaiile aritmetice n sistemul binar?
Calculai n sistemul binar:
a) 34 + 251;
d) 14 8;
g) 2015 + 1995;
b) 68 7;
e) 63 : 3;
h) 28,5 + 0,75;
c) 1512 + 620;
f)
1996 51;
i)
63,125 4,125;
77
j)
3,0625 2,125;
n) 32 : 2;
r) 401 4;
k) 0,5 0,5;
o) 32 : 16;
s) 32 : 4;
l)
p) 401 8;
t)
q) 32 : 8;
u) 933 : 3.
1 : 0,5;
m) 40 : 0,125;
401 2;
Prin urmare, pe n poziii binare pot fi reprezentate numere naturale din intervalul [0; 2n1].
ntrebri i exerciii
80
Codul complementar este utilizat n marea majoritate a calculatoarelor datorit facilitilor pe care le ofer la efectuarea operaiilor aritmetice i uurinei cu
care se face verificarea rezultatelor. n acest cod pe n poziii binare pot fi reprezentate numere ntregi din intervalul [2n1, 2n1 1].
ntrebri i exerciii
Cum pot fi reprezentate n calculator numerele ntregi? Explicai cum se scriu
numerele negative n cod direct, cod invers i cod complementar.
Reprezentai n cod direct pe 8 poziii binare:
a) +12;
d) 12;
g) +21;
b) 21;
e) 64;
h) 68;
c) +68;
f)
+105;
i)
112.
d) 10;
g) +65;
b) 65;
e) +101;
h) 101;
c) +112;
f)
112;
i)
105.
81
e) 40;
i)
+16;
b) +27;
f)
27;
j)
+101;
c) +109;
g) 109;
k) +111;
d) 16;
h) 101;
l)
111.
Virgula nsi nu este materializat fizic n calculator. Din figura 3.8 rezult c
pe n poziii binare pot fi reprezentate numere reale, valoarea absolut a crora este
0,00...0 |x| 0,111
sau, n sistemul zecimal,
0 |x| 1 2(n1).
82
Ca i n cazul numerelor ntregi, numerele subunitare cu semn pot fi reprezentate, cu unele modificri, n cod direct, cod invers sau cod complementar.
Drept exemplu, n figura 3.9 este redat reprezentarea numerelor
+ 0,9375 = + 15/16 = (0,1111)2,
0,9375 = 15/16 = (0,1111)2
n virgul fix pe 8 poziii binare n cod direct.
Fig. 3.9. Reprezentarea numerelor +0,9375 i 0,9375 n virgul fix n cod direct
Avantajul principal al reprezentrii n virgul fix const n faptul c operaiile aritmetice cu numere reale pot fi efectuate de dispozitivul aritmetic destinat
operrii cu numere ntregi.
Reprezentarea n virgul mobil. Operaiile n virgul fix snt comode
pentru circuitele omogene de date, cnd toate numerele reale snt subunitare. ns
aceast reprezentare este ineficient n calculele tiinifice, unde se lucreaz simultan cu numere foarte mari i numere foarte mici al cror ordin de mrime
adesea este imprevizibil. Pentru astfel de probleme se utilizeaz reprezentarea n
virgul mobil.
Numerele reprezentate n virgul mobil pot fi numere ntregi sau fracionare
a cror valoare este dat de relaia:
x = M bE,
unde b este valoarea bazei, M este un numr subunitar numit mantis, iar E
este un exponent. n calculatoarele actuale se utilizeaz b = 2 sau 16.
Numrul reprezentat n virgul mobil este normalizat dac prima cifr dup
virgul a mantisei este diferit de zero.
Exemple:
1) Numrul 23 se va exprima n virgul mobil astfel:
23 = (10111)2 = 0,1011125,
unde M = 0,10111, b = 2, E = 5.
83
Numrul poziiilor binare nE alocate exponentului determin domeniul de mrime al numerelor care pot fi reprezentate, n timp ce numrul biilor pentru
mantis nM determin precizia de exprimare a numrului. n calculatoarele actuale nE = 6...15 i nM = 24...64, fapt ce permite reprezentarea numerelor ntr-un
domeniu foarte larg al ordinului de mrime.
n figura 3.11 este redat reprezentarea numerelor n formatul caracteristic-mantis.
n calculatoarele personale
K=2
nc 1
1,
unde nC este numrul de poziii binare alocate caracteristicii. n aceast reprezentare caracteristica, spre deosebire de exponent, nu poate lua valori negative,
fapt ce simplific structura dispozitivelor aritmetice.
n particular, pentru n = 8, caracteristica este calculat astfel:
C = E + 127,
indicnd practic semnul exponentului:
dac C 127, atunci E 0;
dac C < 127, atunci E < 0.
n tabelul 3.5 snt prezentate formatele caracteristic-mantis, utilizate n
majoritatea calculatoarelor personale.
Tabelul 3.5
nC
nM
Simpl precizie
32
23
6 sau 7
1037...1038
Dubl precizie
64
11
52
15 sau 16
10307...10308
Precizie extins
80
15
64
19
104932...104932
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.
e) 1,5;
b) +0,0625;
f)
c) 3,25;
g) 32,87;
k) 2,7;
d) 6,25;
h) +6,25;
l)
+3,25;
i)
0,0625;
j)
+2,7;
0,147.
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.
b) (73,542)8;
c) (A8,74F)16.
b) (1011011011,01011101)2;
c) (DA86,B1)16.
b) (10110111011011,0101001101)2;
c) (425,376)8.
86
a) (1010)8;
c) (723)8;
e) (21)10;
b) (1D3)16;
d) (25)8;
f)
(A)16.
c) 111011 101;
b) 1101001010 101101001;
d) 101011100 : 110.
b) 00111111;
c) 11011000.
14. Reprezentai n virgula fix pe 8 poziii binare n cod direct numrul 0,75.
15. Exprimai n virgul mobil urmtoarele numere:
a) +21,125;
b) 73,25;
c) 0,09375.
16. Cutia neagr transform numerele zecimale n numere scrise n baza b. Determinai
aceast baz i numrul x de la ieirea din cutia neagr n cazul al doilea.
17. Cuvintele binare de mai jos reprezint numere ntregi scrise n cod complementar pe 8
poziii binare. Scriei aceste numere n sistemul zecimal.
a) 11100110;
b) 00101101;
c) 11111000.
18. Precizai intervalul numerelor ntregi N care se pot reprezenta n cod complementar pe
n poziii binare:
a) n = 4;
b) n = 8;
c) n = 16.
19. Cuvintele binare de mai jos reprezint numere subunitare n virgul fix scrise n cod
direct pe 4 poziii binare. Scriei aceste numere n sistemul zecimal.
a) 1011;
b) 0001;
c) 1100.
20. Scriei n sistemul zecimal cel mai mic (A) i cel mai mare (B) numere ce pot fi reprezentate n virgul fix n cod direct pe 8 poziii binare.
21. Cuvintele binare de mai jos reprezint numere reale n virgul mobil, baza b = 2,
formatul exponent-mantis, scrise n cod direct. Exponentul ocup nE = 2, iar mantisa nM = 4
poziii binare. Scriei aceste numere n sistemul zecimal.
a) 11111110;
b) 00111111;
c) 11011000.
87
Capitolul 4
ALGEBRA BOOLEAN
4.1. Variabile i expresii logice
Algebra boolean sau algebra logic este un compartiment al matematicii n
care legile gndirii obiectul de studiu al logicii clasice snt studiate cu ajutorul
metodelor simbolice. Denumirea aceasta a fost dat n onoarea matematicianului
englez George Boole, care n lucrarea The Laws of Thought (Legile gndirii),
publicat n 1853, a pus bazele acestei algebre. Muli ani algebra boolean a fost
considerat drept o simpl curiozitate matematic, fr a i se gsi o utilizare
ntr-un anumit domeniu al tiinelor aplicate. Ea a revenit n actualitate odat cu
apariia centralelor telefonice automate i a calculatoarelor numerice.
Din punct de vedere formal, algebra boolean poate fi definit printr-o mulime a elementelor {0, 1}, o mulime a operatorilor elementari {, &, M} i printr-un
set de postulate. Prin urmare, n algebra boolean orice variabil nu poate avea
dect una din cele dou valori posibile, notate simbolic prin 0 i 1, alte valori
neavnd nicio semnificaie.
Variabilele algebrei booleene se noteaz prin x, y, z, x1, x2, ... cu sau fr
indicii, iar elementele 0 i 1 se numesc constante logice.
Operatorii elementari ai algebrei booleene au urmtoarele denumiri:
negaia (inversia, operaia logic NU);
& conjuncia (produsul logic, operaia logic I);
M disjuncia (suma logic, operaia logic SAU).
Operatorii elementari se definesc cu ajutorul unor tabele speciale, numite tabele de adevr.
Tabelul de adevr este un tabel care include toate combinaiile posibile ale valorilor variabilelor fa de care este definit operatorul i rezultatul operaiei respective.
n figura 4.1 snt prezentate tabelele de adevr ale negaiei, conjunciei i disjunciei.
x
0
1
1
0
x
0
0
1
1
y
0
1
0
1
x&y
0
0
0
1
x
0
0
1
1
y
0
1
0
1
88
xMy
0
1
1
1
4) 1 & x M y;
2) x M y & z;
5) 0 M x M y.
3) & y M z;
6) 1 M 0.
Valorile expresiilor logice pot fi calculate utiliznd tabelele de adevr ale operatorilor elementari. Pentru evaluarea expresiilor se stabilete urmtoarea prioritate a operaiilor logice:
1) negaia;
2) conjuncia;
3) disjuncia.
De exemplu, n expresia
xMy&z
mai nti se execut operaia &, iar dup aceea operaia M. n expresia
x&yM
se execut negaia, n continuare conjuncia i, n sfrit, disjuncia.
Ordinea executrii operaiilor logice poate fi schimbat cu ajutorul parantezelor ( i ). Evident, n primul rnd, se execut operaiile dintre paranteze.
De exemplu, n cazul expresiei logice
x M y & M z
se execut negaia, conjuncia i disjunciile respective, iar n cazul expresiei
(x M y) & (M z)
dup negaie se vor executa disjunciile i, pe urm, conjuncia.
Pentru a sistematiza calculele, evaluarea expresiilor logice se efectueaz n
tabele speciale, numite tabele de adevr ale expresiilor logice.
Tabelul de adevr al expresiei logice include toate combinaiile posibile ale valorilor variabilelor din expresia examinat i rezultatele operaiilor logice n ordinea calculrii lor.
De exemplu, n figura 4.2 este reprezentat tabelul de adevr al expresiei,
& y M z,
iar n figura 4.3 tabelul de adevr al expresiei
x & y M z.
89
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
&y
0
0
1
1
0
0
0
0
&ywz
0
1
1
1
0
1
0
1
x
y
z
x&y
x&ywz
x&ywz
ntrebri i exerciii
90
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;
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.
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 ).
Funcia logic de n variabile y = f (x1, x2, ..., xn) este o aplicaie care pune
n coresponden fiecrei combinaii de valori ale variabilelor x1, x2, ...,
xn valoarea 0 sau 1 a variabilei y.
Variabilele x1, x2, ..., xn se numesc variabile independente sau argumente,
iar variabila y variabil dependent sau funcie de argumente x1, x2, ..., xn.
Prin urmare, domeniul de definiie al funciei y = f (x1, x2, ..., xn) este mulimea tuturor combinaiilor posibile
0 0 ... 0
0 0 ... 1
...
1 1 ... 1
ale valorilor argumentelor x1, x2, ..., xn, n total 2n combinaii, iar domeniul valorilor funciei logice este mulimea {0, 1}.
Ca i n cazul algebrei clasice, funciile logice pot fi definite prin tabele, formule i metode grafice.
Tabelul de adevr al funciei logice y = f (x1, x2, ..., xn) este un tabel care
include toate combinaiile posibile ale valorilor argumentelor x1, x2, ...,
xn i valorile corespunztoare ale variabilei dependente y.
De exemplu, n figura 4.4 este prezentat tabelul de adevr al unei funcii logice de 3 variabile.
x1
0
0
0
0
1
1
1
1
x2 x 3
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
y
1
0
1
0
1
0
0
0
Tabelul include 23 = 8 rnduri i are 2 coloane: prima pentru combinaiile posibile ale valorilor argumentelor x1, x2, x3 i a doua pentru valorile corespunztoare
ale variabilei dependente y. Conform tabelului analizat, combinaiei x1 = 0, x2 = 0,
x3 = 0 i corespunde valoarea y = f (0,0,0) = 1; combinaiei x1 = 0, x2 = 0, x3 = 1
valoarea y = f (0,0,1) = 0 etc.
Definirea funciei logice prin formule se face atribuind variabilei dependente y valorile expresiilor logice ce conin argumentele x1, x2, ..., xn.
De exemplu,
1) y = x;
3) y = 1x2 M x3;
2) y = x1x2;
92
4) y = x1x2 M x3.
ntrebri i exerciii
a) y = x;
f)
b) y = ;
g) y = x1x2x3;
c) y = x1x2;
h) y = x1(x2 M 3);
d) y = x1 M x2;
i)
y = 1 M x2 x3;
e) y = x1x2;
j)
y = x 1 M x2 x 3 .
Elaborai un program PASCAL care introduce valorile logice ale variabilelor x1,
x2, x3, x4 i afieaz valorile uneia dintre funciile ce urmeaz:
a) y = x1x2 M x3x4;
g) y = x12 M x34;
h) y = 1x2 M 3x4;
c) y = x1x2x3x4;
i)
y = 12 M 34;
d) y = x1 M x2 M x3 M x4;
j)
y = x1x2x3x4 M 2x3x4;
e) y = x1x2 M x3x4;
k) y = x1 M x2 x3 M x4;
f)
l)
y = x1 M x2 M x3 M 1234.
93
h)
y = 12;
b) y = ;
i)
y = x1x2x3;
c) y = x1x2;
j)
y = 1 M 2 M 3;
d) y = x1 M x2;
k)
y = x1 M x2 M x3;
e) y = x1x2;
l)
y = 123;
f)
y = 1 M 2;
m) y = x1 M x2 M 1234;
g) y = x1 M x2;
n)
y = x1(x2 M 3 M 4).
m = 22
y0
y1
y2
y3
0
1
0
0
1
0
0
1
1
1
Evident,
y0 = f (x) = 0;
y1 = f (x) = ;
y2 = f (x) = x;
y3 = f (x) = 1.
Funciile y0 i y3 se numesc funcia constanta 0 i, respectiv, constanta 1.
Funcia y1 este funcia logic NU sau negaia, iar funcia y2 se numete funcia de repetare.
94
Pentru n = 2 exist
m = 22 = 24 = 16
funcii logice, reprezentate n figura 4.6.
x1 x2
y0
y1
y2
y3
y4
y5
y6
y7
y8
y9
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
0
1
y10 y11
0
1
0
1
1
1
0
1
1
0
1
1
0
1
1
1
y15
1
1
1
1
y1 = x1 M x2.
Funcia dat se numete funcia logic SAU-NU.
n mod similar, funcia y7 poate fi exprimat n forma
y7 = f (x1, x2) = x1x2.
Funcia n cauz se numete funcia logic I-NU.
Funcia
y9 = f (x1, x2) = 12 M x1x2
are valoarea 1 numai cnd x1 = x2 = 0 sau x1 = x2 = 1. Aceast funcie se numete
funcia logic COINCIDEN sau echivalen i se noteaz prin simbolul .
Analiznd tabelul din figura 4.6, mai observm c
y3 = f (x1, x2) = 1 (negaia variabilei x1);
y12 = f (x1, x2) = x1 (repetarea variabilei x1);
y5 = f (x1, x2) = 2 (negaia variabilei x2);
y10 = f (x1, x2) = x2 (repetarea variabilei x2).
Pentru a fi mai uor memorizate, n figura 4.7 snt prezentate tabelele de adevr ale funciilor logice NU, I, SAU, I-NU, SAU-NU i COINCIDEN.
95
NU
SAU
x1
x2
x 1x 2
x1
x2
x 1 M x2
0
1
1
0
0
0
1
1
0
1
0
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
I-NU
x 1 x2
0
0
1
1
0
1
0
1
SAU-NU
x 1x 2
x1 x 2
1
1
1
0
0
0
1
1
0
1
0
1
COINCIDEN
x1 M x 2
x 1 x2
1
0
0
0
0
0
1
1
0
1
0
1
x 1 / x2
1
0
0
1
ntrebri i exerciii
Determinai numrul funciilor logice de 5 i de 6 variabile.
Numii funciile logice elementare i alctuii tabelele respective de adevr.
Memorizai tabelele de adevr ale funciilor logice frecvent utilizate NU, I,
SAU, I-NU, SAU-NU i COINCIDEN.
Elaborai un program care va afia pe ecran tabelul de adevr al uneia dintre
funciile logice y0, y1, y2, y3 de 2 variabile.
Elaborai un program care va afia pe ecran tabelul de adevr al uneia dintre
funciile logice yj de n variabile.
96
a) ( M )(x M y);
c) (x M y) M xy;
b) xy M xy;
d) x M y.
3. Scriei toate combinaiile posibile de valori ale variabilelor x, y, z pentru care valoarea
expresiei xy M este egal cu 1.
4. Elaborai un program PASCAL care citete de la tastatur valorile variabilelor logice x, y,
M z.
6. Indicai domeniul de definiie i domeniul de valori ale funciei logice y = x1(x2 M 3).
7. Alctuii tabelul de adevr al funciei logice y = x1(2 M x3).
8. Elaborai un program PASCAL care citete de la tastatur valorile variabilelor logice
9. Elaborai un program PASCAL care afieaz pe ecran tabelul de adevr al funciei logice y = 1(x2 M x3).
10. Determinai numrul funciilor logice de 5 variabile.
11. Alctuii tabelele de adevr ale funciilor logice I-NU i SAU-NU.
12. Care dintre funciile logice ce urmeaz snt egale? Amintim c dou funcii logice snt
egale dac valorile lor coincid pentru toate combinaiile posibile ale valorilor variabilelor independente.
a) y = x1 M x2;
c) y = 12;
b) y = x1x2;
d) y = 1 M 2.
13. Funcia logic de trei variabile y = f (x1, x2, x3) este definit cu ajutorul urmtorului tabel
de adevr:
x1 x2
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
x3
0
1
0
1
0
1
0
1
y
1
0
0
0
0
0
0
0
Selectai din expresiile ce urmeaz formula care, de asemenea, definete aceast funcie:
a) y = x1 M x2 M x3;
c) y = x1x2x3;
b) y = x1 M x2 M x3;
d) y = 1 M 2 M 3.
97
Capitolul 5
CIRCUITE LOGICE
5.1. Circuite logice elementare
Circuitul logic este un dispozitiv destinat calculrii funciilor logice. Pentru
a realiza circuitele logice, e necesar ca valorile binare 0 i 1 ale argumentelor i
funciilor respective s fie reprezentate prin valorile unor mrimi fizice, de exemplu:
presiune, temperatur, tensiune sau curent electric, flux luminos etc. n funcie
de mrimile fizice utilizate, deosebim dispozitive logice mecanice, pneumatice,
hidraulice, electromecanice, electronice, optice etc. n dispozitivele hidraulice i
pneumatice valorile logice 0 sau 1 pot fi reprezentate prin valorile mici i, respectiv, mari ale presiunii fluidului, n dispozitivele electromecanice i electronice
prin prezena sau absena curentului electric, prin niveluri de tensiune etc.
Pentru o nelegere clar a principiilor de funcionare a dispozitivelor logice,
vom studia mai nti circuitele cu contacte. Componentele de baz ale acestor
circuite snt elementele de comutare contactele electrice normal deschise i
contactele electrice normal nchise.
n cazul contactelor normal deschise, circuitul electric este deschis dac
contactele nu snt acionate i nchis la acionarea lor. n cazul contactelor
normal nchise, circuitul electric este nchis dac contactele nu snt acionate
i deschis la acionarea lor (fig. 5.1).
Neacionate
Acionate
Contacte
normal deschise
Contacte normal
nchise
Fig. 5.1. Contacte normal deschise i normal nchise
Argumentul x este materializat prin contactul normal nchis, iar valorile variabilei dependente y snt reprezentate prin strile becului electric: stins (valoarea logic 0) sau aprins (valoarea logic 1). Se observ c becul va fi aprins (y=1),
dac contactul normal nchis nu este acionat (x=0).
Funcia logic I se realizeaz prin conectarea n serie a contactelor electrice. Circuitul electric care realizeaz funcia I de dou variabile i simbolul utilizat snt prezentate n figura 5.3.
Se constat c becul va fi aprins (y=1), dac cel puin unul dintre cele dou
contacte normal deschise este acionat ( x1=1 sau x2=1).
ntruct viteza de nchidere-deschidere a contactelor electrice este foarte mic,
n calculatoarele moderne valorile 0, 1 snt reprezentate prin niveluri de tensiune, iar ca element de comutare se utilizeaz tranzistorul.
Tranzistorul este un dispozitiv electronic format n sau pe suprafaa unui
monocristal semiconductor. Tehnologiile avansate permit fabricarea a 106 107 de
tranzistoare pe o suprafa de 1 cm2 al monocristalului.
n regim de comutaie, tranzistorul poate fi considerat ca un ntreruptor obinuit, care ntr-o stare conduce curentul (este nchis), iar n alta nu (este deschis).
Spre deosebire ns de ntreruptorul obinuit, nchiderea sau deschiderea tranzistorului se realizeaz cu ajutorul curentului electric.
Exist mai multe tipuri de tranzistoare. n figura 5.5 este prezentat tranzistorul n-p-n (abrevierea se refer la structura intern a tranzistorului) i schemele
echivalente n regim de comutaie.
100
ntrebri i exerciii
Cum pot fi reprezentate valorile binare 0 i 1?
Cum funcioneaz contactele normal deschise i contactele normal nchise?
Care este reprezentarea valorilor binare 0 i 1 n circuitele cu contacte?
101
Utiliznd trusa din laboratorul de fizic, montai circuitele din figurile 5.2, 5.3
i 5.4. Verificai tabelele de adevr ale funciilor realizate de circuitele n cauz.
Cum se realizeaz funciile NU, I, SAU n cazul circuitelor cu contacte electrice?
Care este rolul elementelor de comutare la realizarea circuitelor logice?
Care este rolul tranzistorului n calculatoarele moderne?
Memorizai simbolurile porilor logice. Explicai cum se utilizeaz porile logice
la realizarea funciilor logice arbitrare.
Utiliznd porile NU, I, SAU, elaborai circuitele logice pentru calcularea urmtoarelor funcii:
a) y = x1x2x3;
i)
y = x1x2 x2x3;
b) y = x1 x2 x3;
j)
c) y = 1x2x3;
k)
d) y = 1 x2 x3;
l)
e) y = x1x2 x3x4;
m) y = 1x2 x12;
n)
y = x1x2 12;
g) y = x1x2;
o)
y = x1(x2 x3 x4);
h) y = x1 x2;
p)
y = x1 x2x3x4.
f)
Circuitul are n variabile de intrare: X = < x1, x2, ..., xn >, i m variabile de ieire:
Y = < y1, y2, ..., ym >. Conexiunile destinate transmiterii valorilor unui grup de
variabile se reprezint prin linii duble. Dac e necesar, numrul de variabile se
indic lng o bar care ntretaie linia dubl a grupului de variabile. De exemplu,
n figura 5.8 b se indic c grupul X include n variabile, iar grupul Y m variabile.
Din punctul de vedere al teoriei informaiei, circuitul combinaional reprezint un convertor de cod: la intrrile X se aplic combinaiile admise de primul cod,
din care se face conversiunea, iar la ieirile Y apar combinaiile corespunztoare
n cel de al doilea cod, n care se face conversiunea.
De exemplu, primul cod poate fi codul EBCDIC, iar al doilea codul ASCII.
5.3. Sumatorul
Una dintre principalele sarcini ale unui calculator n momentul prelucrrii informaiei const n efectuarea operaiilor aritmetice elementare i, n special, adunarea i scderea. Dispozitivele n care au loc aceste operaii au la baz circuite cu
ajutorul crora se efectueaz adunarea, respectiv scderea a dou cifre binare.
103
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
tj1
an1 an2 ... aj ... a0
bn1 bn2 ... bj ... b0.
Semisumatorul SS1 calculeaz suma (aj + bj), iar semisumatorul SS2 nsumeaz
transportul tj1 cu suma (aj + bj) calculat de primul semisumator. Transportul tj
ctre rangul superior j +1 se calculeaz de poarta logic SAU, care reunete transporturile intermediare de la ieirile respective ale semisumatoarelor SS1 i SS2.
Suma numerelor binare A i B se calculeaz cu ajutorul unui circuit combinaional denumit sumator. Un sumator poate fi realizat prin conectarea a n sumatoare elementare (fig.5.12).
Sumatorul elementar SM0 corespunztor cifrei celei mai puin semnificative
poate fi nlocuit cu un semisumator, deoarece pentru aceast poziie nu exist un
transport de la rangul precedent. Transportul de la ieirea sumatorului SMn1 al
rangului cel mai semnificativ este folosit pentru a indica depirea capacitii
sumatorului de n bii.
Din analiza figurilor 5.10, 5.11 i 5.12 rezult c un dispozitiv complex sumatorul de n bii este realizat prin reunirea a unor dispozitive mult mai simple, adic
a n sumatoare elementare. Fiecare sumator elementar, la rndul lui, este realizat
prin reunirea a cte dou semisumatoare i o poart logic SAU.
Metoda de elaborare a dispozitivelor complexe (de exemplu, sumatorul) prin reunirea mai multor dispozitive identice mai simple (sumatorul elementar) poart denumirea de metod de proiectare ierarhic. Conform acestei metode, componentele calculatorului se caracterizeaz prin niveluri de ierarhie, de exemplu:
nivelul 1 tranzistoare;
nivelul 2 pori logice;
nivelul 3 semisumatoare, sumatoare elementare etc.;
nivelul 4 sumatoare, scztoare etc.;
nivelul 5 uniti aritmetice, uniti de comand etc.
105
Componentele de un nivel ierarhic inferior snt utilizate n calitate de cubuoare elementare pentru realizarea componentelor de un nivel ierarhic superior.
Teoretic, dispozitivele unui calculator numeric pot fi elaborate i fr aplicarea
metodei de proiectare ierarhic. De exemplu, n cazul sumatorului elementar utilizarea semisumatorului nu este obligatorie. E suficient s alctuim tabelul de
adevr al sumatorului elementar, s exprimm funciile de ieire prin formule i
s reunim porile logice respective.
n cazul nivelurilor ierarhice superioare, neaplicarea metodei de proiectare
ierarhic face imposibil elaborarea dispozitivelor complexe. De exemplu, n cazul unui sumator de n bii, tabelul respectiv de adevr ar conine 22n rnduri.
Pentru n = 16 obinem 2216 = 232 109 rnduri. Evident, formulele funciilor de
ieire ale sumatorului de 16 bii practic nu mai pot fi scrise. Prin urmare, sntem
nevoii s aplicm metoda de proiectare ierarhic i s realizm sumatorul printr-o
reunire de n sumatoare elementare.
106
ntrebri i exerciii
Care este destinaia semisumatorului? Dar a sumatorului elementar? i n fine
a sumatorului de n bii?
Alctuii tabelul de adevr al sumatorului elementar. Tabelul va conine cinci
colonie: trei pentru intrrile aj, bj, tj1 i dou pentru ieirile sj, tj .
Elaborai un program PASCAL care simuleaz funcionarea sumatorului elementar. Cifrele binare aj, bj i cifra de transport tj1 de la rangul inferior se
citesc de la tastatur, iar cifra-sum sj i cifra de transport tj ctre rangul superior se afieaz pe ecran.
Explicai esena metodei de proiectare ierarhic a dispozitivelor unui calculator numeric. Este oare obligatorie aplicarea acestei metode? Argumentai rspunsul dvs.
Cte pori logice NU, I, SAU va conine un sumator de 16 bii? Dar de 32 de bii?
Semiscztorul este un circuit combinaional destinat scderii a dou cifre binare. Circuitul respectiv are intrrile a, b i ieirile d, i. Prin termenul d se nelege diferena ab, iar prin termenul i mprumutul de la cifra de rang imediat
superior. Alctuii tabelul de adevr i elaborai schema semiscztorului.
Scztorul elementar este un circuit combinaional capabil de a calcula diferena dj i mprumutul ij ctre rangul imediat superior, dac se introduc la intrare desczutul aj, scztorul bj i mprumutul ij1 de la rangul anterior. Aplicnd metoda de proiectare ierarhic, elaborai schema scztorului elementar.
Aplicnd metoda de proiectare ierarhic, elaborai schema unui scztor de n bii.
Cte pori logice NU, I, SAU va conine un scztor de 16 bii? Dar de 32 de bii?
Este oare obligatorie aplicarea metodei de proiectare ierarhic n cazul elaborrii unui scztor de n bii? Argumentai rspunsul dvs.
De exemplu, variabilele x1, x2, x3, ... pot reprezenta starea tastelor <A>, <B>,
<C>, ... ale tastaturii. Codificatorul respectiv va furniza la ieire cuvntul de cod
ASCII corespunztor tastei acionate.
Decodificatorul este un circuit combinaional care genereaz semnalul logic 1
pe o ieire distinct pentru fiecare combinaie a valorilor variabilelor de intrare.
Cu alte cuvinte, decodificatorul efectueaz operaia invers a unui codificator.
Decodificatoarele snt utilizate pentru a determina operaiile pe care trebuie
s le execute procesorul, pentru selectarea unitilor de intrare-ieire, sintetizarea simbolurilor etc.
Multiplexorul este un circuit combinaional destinat selectrii fluxurilor de
date. n figura 5.13 e este prezentat un multiplexor care transmite la ieire biii
numrului binar A (u = 0) sau B (u = 1). n calculatoarele moderne multiplexoarele se utilizeaz pentru transferul informaiei de la mai multe surse la un singur
destinatar.
Demultiplexorul distribuie fluxul de date de la intrarea X la una dintre ieirile Y (u = 0) sau Z (u = 1). Drept exemplu, amintim transferul informaiei de la o
singur surs la mai muli destinatari.
ntrebri i exerciii
Explicai destinaia circuitelor combinaionale frecvent utilizate: sumatorul,
comparatorul, codificatorul, decodificatorul, multiplexorul i demultiplexorul.
Alctuii tabelul de adevr al unui comparator de 2 bii.
108
Cte intrri i cte ieiri poate avea un codificator? Cte intrri i cte ieiri poate
avea un decodificator?
Pe panoul de comand al imprimantei snt montate butoanele ON LINE (funcionare sub controlul unitii centrale), OFF LINE (funcionare autonom), LINE
FEED (avans de linie) i FORM FEED (avans de pagin). Alctuii tabelul de
adevr al codificatorului care furnizeaz la ieire urmtoarele combinaii binare:
00 ON LINE;
01 OFF LINE;
10 LINE FEED;
11 FORM FEED.
Pe panoul de comand al imprimantei snt montate becurile (diodele luminiscente) indicatoare READY (disponibil), PAPER (lipsa de hrtie), TEST (regimul de testare) i LOAD (regimul de ncrcare a informaiei). Alctuii tabelul
de adevr al decodificatorului care aprinde becurile n cauz. Strile respective
snt codificate prin urmtoarele combinaii binare:
00 READY;
01 PAPER;
10 TEST;
11 LOAD.
Tastatura calculatorului include tastele funcionale <F1>, <F2>, ..., <F12>. Alctuii tabelul de adevr al codificatorului care va furniza la ieire numrul
binar corespunztor tastei funcionale acionate.
Unitile de intrare-ieire ale unui calculator au urmtoarele adrese:
0000 tastatura;
0001 vizualizatorul;
0010 imprimanta mecanic;
0011 imprimanta cu jet de cerneal;
0100 imprimanta laser;
0101 unitatea de disc flexibil A;
0110 unitatea de disc flexibil B;
0111 unitatea de disc rigid C;
1000 unitatea de disc rigid D.
Alctuii tabelul de adevr al decodificatorului care va selecta unitatea indicat
de adresa respectiv.
Operaiile aritmetice ale unui calculator ipotetic snt codificate dup cum urmeaz:
109
adunarea
000;
scderea
001;
nmulirea
010;
mprirea
011;
compararea
100.
5.5. Bistabilul 45
E cunoscut faptul c ntr-un circuit secvenial valorile variabilelor de ieire
depind nu numai de combinaiile valorilor variabilelor de intrare, dar i de consecutivitatea aplicrii lor. Cu alte cuvinte, circuitul secvenial memorizeaz
informaii referitoare la combinaiile aplicate la intrri n momentele precedente.
Acest lucru este posibil datorit faptului c circuitele secveniale snt alctuite
din circuite combinaionale i elemente de memorie binar.
Elementul de memorie binar este un circuit cu dou stri distincte,
destinat pentru a pstra o informaie dintr-un singur bit. Circuitul
respectiv are denumirea de bistabil.
n figura 5.14 este prezentat schema circuitului bistabil de baz realizat cu
pori logice SAU-NU, denumit bistabil asincron RS.
Circuitul are dou intrri notate cu R i S i dou ieiri notate cu Q i . Se
observ c semnalele de ieire Q i snt aplicate la intrrile porilor SAU-NU.
Conexiunile respective snt numite reacii. Tocmai datorit acestor conexiuni,
circuitul dat are dou stri distincte i, prin urmare, asigur memorarea unui bit
de informaie.
110
Intrri
S
Regim de
funcionare
Ieirea Q
0
0
1
1
0
1
0
1
pstrare bit
setare
resetare
interzis
bit memorat
1
0
Tabelul 5.1
Adjectivul asincron din denumirea bistabilului RS concretizeaz modul de influen a semnalelor de comand R i S asupra strii bistabilului. Din analiza
circuitului prezentat n figura 5.14 rezult c semnalele de comand, aplicate la
intrrile R i S n momente arbitrare, pot schimba starea bistabilului.
Circuitele secveniale n care starea circuitului poate fi schimbat de
semnalele de comand n momente arbitrare de timp se numesc circuite asincrone.
Un calculator modern conine zeci de mii de bistabile. Schimbarea strii lor n
momente arbitrare, greu de controlat, poate fi cauza unor erori de funcionare. Pen111
Schema dat include bistabilul asincron RS (fig. 5.14) i dou pori logice I
care permit aplicarea semnalelor de comand la intrrile bistabilului asincron
numai n cazul n care semnalul de sincronizare C are valoarea 1.
ntrebri i exerciii
Prin ce se deosebesc circuitele combinaionale i circuitele secveniale?
Care este destinaia circuitului bistabil?
Cum funcioneaz un circuit bistabil cu pori logice SAU-NU? Care este destinaia reaciilor?
Explicai regimurile de funcionare a bistabilului asincron RS. De ce combinaia R = S = 1 nu poate fi aplicat la intrrile bistabilului examinat?
Prin ce se deosebesc circuitele secveniale asincrone i circuitele secveniale
sincrone?
Explicai cum funcioneaz bistabilul sincron RS. Care este destinaia porilor
logice I din componena acestui bistabil?
112
Succesiunea strilor unui registru de deplasare de la dreapta spre stnga este dat n figura 5.18.
Timpul
iniial
t1
t2
t3
t4
t5
...
d3 d2 d1 d0
0
1
0
1
0
0
1
0
1
0
0
0
...
0
1
0
0
0
0
1
0
0
0
0
0
Se consider c starea iniial a registrului este 0101, iar impulsurile snt aplicate la intrarea C n momentele de timp t1, t2, t3 etc. Firete, registrul n cauz
calculeaz produsul D 2.
n mod similar, un registru de deplasare de la stnga spre dreapta va
calcula ctul D : 2.
Numrtoarele snt circuite secveniale care nregistreaz numrul de impulsuri aplicat la intrare. Numrtoarele se clasific dup urmtoarele criterii:
modul de codificare a informaiei (binar, binar-zecimal etc.);
modul de modificare a strilor numrtorului (numrtoare directe, inverse
i reversibile).
n general, numrtoarele snt realizate prin asocierea circuitelor bistabile cu
circuite combinaionale care determin modul corect n care numrtoarele urmeaz s-i modifice starea la fiecare nou impuls sosit la intrare.
114
Un numrtor binar nregistreaz succesiunea impulsurilor aplicate la intrare n sistemul de numeraie binar. Capacitatea de numrare a numrtorului binar depinde de numrul bistabilelor. Considernd pentru fiecare numr o
stare distinct, rezult c acesta poate numra n gama 0 la 2n1, n fiind numrul
bistabilelor.
n figura 5.17d este prezentat numrtorul binar direct , iar n figura 5.19
tabelul succesiunii strilor unui numrtor binar direct de 3 bii.
Timpul
iniial
t1
t2
t3
t4
t5
t6
t7
t8
t9
...
d2 d1 d0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
...
0
1
0
1
0
1
0
1
0
1
Numrtoarele care i schimb starea conform tabelului din figura 5.19 snt
denumite directe, deoarece coninutul numrtorului crete cu o unitate, la fiecare nou impuls sosit la intrarea +1. Dac ntr-un numrtor se introduce iniial
un numr i la fiecare impuls aplicat la intrarea 1 coninutul su scade cu o
unitate, se obine un numrtor invers (fig. 5.17e).
ntrebri i exerciii
Care este destinaia registrului? De ce depinde capacitatea unui registru?
n registrul de deplasare de la dreapta spre stnga (fig. 5.17b) este ncrcat
numrul binar 1001. Care va fi coninutul registrului dup aplicarea la intrarea C a unui impuls? Dar a dou impulsuri?
n registrul de deplasare de la stnga spre dreapta este ncrcat unul dintre
urmtoarele cuvinte binare:
a) 00000;
f)
00001;
b) 10000;
g) 10001;
c) 01000;
h) 01010;
d) 00100;
i)
01100;
e) 00010;
j)
00110.
115
f)
1010;
b) 0010;
g) 1100;
c) 0100;
h) 1111;
d) 1000;
i)
0101;
e) 1001;
j)
0110.
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.
117
ntrebri i exerciii
Care este destinaia elementului de ntrziere? Desenai diagramele n timp ale
elementului examinat.
Explicai cum funcioneaz generatorul de impulsuri periodice. De ce depinde
durata impulsurilor?
nlocuii poarta logic I-NU din componena generatorului de impulsuri periodice prezentat n figura 5.21 printr-o poart logic SAU-NU. Explicai cum
va funciona circuitul respectiv. Desenai diagramele n timp ale generatorului obinut.
E cunoscut faptul c variaiile mrimilor fizice nu pot avea loc instantaneu.
Prin urmare, orice poart logic are o ntrziere , denumit ntrziere parazitar, valoarea concret a creia depinde de particularitile circuitului respectiv.
Excludei din schema prezentat n figura 5.21 elementul de ntrziere, aplicnd semnalul de la ieirea porii logice I-NU direct la intrarea ei. Explicai
cum va funciona circuitul obinut. De ce depinde durata impulsurilor la ieirea
porii logice? Desenai diagramele respective n timp.
Circuitul secvenial const dintr-o poart logic NU, semnalul de ieire al creia este aplicat direct la intrarea ei. Cum va funciona acest circuit?
118
5. Cte pori logice NU, I, SAU va conine un sumator de 8 bii? Argumentai rspunsul.
6. Elaborai un program PASCAL care simuleaz funcionarea sumatorului de 8 bii.
Numerele binare A i B se citesc de la tastatur, iar suma S i cifra de depire t se
afieaz pe ecran.
7. Indicai corespondena ntre denumirile circuitelor combinaionale frecvent utilizate
(coloana din stnga) i destinaia acestora (coloana din dreapta):
(a) efectueaz conversiunea mesajelor n cuvinte binare;
(1) sumatorul;
(2) comparatorul;
(3) codificatorul;
(4) decodificatorul;
(5) multiplexorul;
(f)
(6) demultiplexorul.
10. Desenai schema detaliat (la nivelul porilor logice I, I-NU) a bistabilului sincron .
119
11. Indicai corespondena ntre denumirile circuitelor secveniale frecvent utilizate (coloana din stnga) i destinaia acestora (coloana din dreapta):
(a) deplaseaz cuvntul binar
de la stnga la dreapta;
(1) bistabilul;
(2) registrul;
(3) registrul de deplasare
de la dreapta spre stnga;
(4) registrul de deplasare
de la stnga spre dreapta;
(5) numrtorul direct;
(6) numrtorul invers.
12. n registrul de deplasare de la stnga spre dreapta este ncrcat cuvntul binar 10011011.
Care va fi coninutul registrului dup aplicarea la intrarea C a trei impulsuri consecutive?
13. n registrul de deplasare de la dreapta spre stnga este ncrcat cuvntul binar 11011101.
Care va fi coninutul registrului dup aplicarea la intrarea C a patru impulsuri consecutive?
14. Elaborai un program PASCAL care simuleaz funcionarea unui registru de deplasare
de la dreapta spre stnga. Coninutul iniial al registrului R i numrul de impulsuri de intrare m
se citesc de la tastatur, iar rezultatul deplasrii se afieaz pe ecran.
15. Un numrtor direct de 8 bii se afl n starea iniial 10001101. Care va fi starea
numrtorului dup aplicarea a 6 impulsuri de intrare?
16. Un numrtor invers de 8 bii se afl n starea iniial 10101110. Care va fi starea
numrtorului dup aplicarea a 5 impulsuri de intrare?
17. Elaborai un program PASCAL care simuleaz funcionarea unui numrtor direct.
Coninutul iniial al numrtorului A i numrul de impulsuri de intrare m se citesc de la tastatur, iar coninutul final al numrtorului se afieaz pe ecran.
120
Capitolul 6
STRUCTURA I FUNCIONAREA
CALCULATORULUI
6.1. Schema funcional a calculatorului
Schema funcional a calculatorului numeric este prezentat n figura 6.1.
Conform acestei scheme, calculatorul numeric conine urmtoarele uniti
funcionale:
o unitate de memorie pentru a nmagazina datele iniiale, intermediare i
finale ale problemei, precum i instruciunile care indic secvena calculelor;
un dispozitiv aritmetic i logic necesar efecturii operaiilor aritmetice i logice
elementare;
unul sau mai multe dispozitive de intrare, respectiv, ieire, necesare comunicrii din exterior cu calculatorul;
un dispozitiv central de comand i control care genereaz o succesiune de
semnale de comand necesare executrii secveniale a instruciunilor.
Dispozitivul aritmetic i logic i dispozitivul central de comand formeaz unitatea central de prelucrare a informaiei sau, mai pe scurt, procesorul.
Memoria calculatoarelor moderne este organizat n dou niveluri, i anume:
o unitate de memorie intern cu o vitez mare de lucru i una sau mai multe
uniti de memorie extern cu o vitez mai redus, ns cu o capacitate mult mai
mare dect cea a memoriei interne.
121
Memoria intern (numit uneori memorie principal, central sau operativ) pstreaz programul n curs de executare i datele folosite de acesta, prezena
ei fiind o condiie esenial pentru funcionarea calculatorului.
Memoria extern are rolul de a pstra cantiti mari de informaie i programe folosite frecvent pentru a putea fi aduse ntr-un interval de timp mic n memoria intern. n prezent ca memorii externe snt utilizate unitile cu discuri sau
benzi magnetice, unitile cu discuri optice etc.
Unitile de memorie extern i dispozitivele de intrare-ieire snt numite
echipamente periferice.
Pentru a asigura o interaciune eficient a procesorului, a memoriei interne i
a echipamentelor periferice, n cazul calculatoarelor personale schema funcional se realizeaz fizic conform schemei-bloc prezentate n figura 6.2.
Din analiza figurii 6.2 rezult c toate calculatoarele moderne au o configuraie modular. Fiecare modl, i anume controlerul, imprimantele, unitile de disc magnetic etc., funcioneaz i, n consecin, pot fi incluse sau
excluse din componena calculatorului independent unul de altul. Prin urmare, configuraia calculatorului poate fi modificat n funcie de destinaia sistemului de calcul.
De exemplu, un sistem editorial va include mai multe tipuri de imprimante:
mecanice pentru textele n curs de prelucrare, laser sau color pentru paginile
machetate deja, cititoare de desene i fotografii (scanere) etc. Un sistem destinat
gestionrii rapide a unui volum mare de date va include mai multe discuri magnetice, iar un calculator utilizat pentru montarea filmelor video va fi dotat cu
camere de luat vederi i vizualizatoare de o rezoluie adecvat, cu tastaturi similare pupitrului regizoral etc.
122
ntrebri i exerciii
Numii unitile funcionale ale calculatorului i explicai destinaia lor.
Care este rolul memoriei interne? Cum se realizeaz memoria extern a calculatoarelor moderne?
Numii echipamentele periferice pe care le cunoatei dvs.
Numii componentele unui calculator personal i explicai destinaia lor.
Care este structura i cum interacioneaz componentele unui calculator?
Cum poate fi modificat configuraia unui sistem de calcul? Care snt avantajele configuraiei modulare a calculatorului?
Desenai schema-bloc a calculatorului cu care lucrai dvs. Care componente
snt obligatorii i care opionale pentru funcionarea calculatorului?
Cum poate fi conectat la un calculator personal o unitate suplimentar de disc
magnetic? O imprimant laser? Un cititor de documente? O camer de luat
vederi?
Fig. 6.3. Formatul instruciunilor cu trei (a), dou (b) i o singur adres (c)
123
n general, pentru executarea unei operaii este necesar ca instruciunea s conin trei adrese (fig. 6.3a). Primele dou adrese snt folosite pentru obinerea celor doi
operanzi asupra crora se va efectua operaia specificat de cmpul Codul instruciunii. Rezultatul operaiei va fi depus pe adresa specificat de cmpul Adres rezultat.
S analizm un exemplu. Presupunem c operaiile aritmetice i logice snt
codificate dup cum urmeaz (pentru simplitate vom utiliza echivalentele zecimale ale cmpurilor binare respective):
01 adunarea;
02 scderea;
03 operaia logic I;
04 operaia logic SAU.
Instruciunea
01 100 110 215
va impune procesorul s adune numerele din locaiile 100 i 110 i s depun
suma obinut n locaia 215.
Instruciunea
02 100 110 215
comunic procesorului c din numrul nscris n locaia 100 se scade numrul din
locaia 110. Rezultatul obinut va fi depus n locaia 215.
n mod similar, instruciunea
03 200 300 100
specific operaia logic I asupra biilor cuvintelor din locaiile 200 i 300. Rezultatul operaiei va fi depus n locaia 100.
Se observ c ntr-o instruciune nu se specific valoarea operanzilor, ci
adresele locaiilor n care pot fi gsii operanzii respectivi. Acest fapt permite
utilizarea unuia i aceluiai program pentru prelucrarea oricror date iniiale.
Faptul c instruciunile lucreaz cu adrese al cror coninut trebuie prelucrat, i
nu cu nsui coninutul, constituie un principiu fundamental al calculatoarelor
numerice, care permite ca un program s fie elaborat i introdus n calculator
independent de datele concrete asupra crora se aplic.
n formatul cu trei adrese (fig. 6.3a), adresele snt specificate explicit. Pentru o reprezentare mai compact a instruciunilor se utilizeaz specificarea
implicit a unor adrese. n acest caz, cuvntul instruciune nu conine un cmp
special pentru adresa implicit.
Dac rezultatul obinut n urma executrii unei instruciuni se depune pe adresa
unuia dintre operanzi, formatul respectiv va avea numai dou adrese (fig. 6.3b). Prin
urmare, adresa rezultatului este specificat implicit. De exemplu, instruciunea
01 100 110
va impune procesorul s adune numerele din locaiile 100 i 110 i s depun
suma obinut n locaia 100. Evident, dup nscrierea sumei, numrul iniial din
locaia 100 va fi suprimat.
124
S-a constatat c formatul cu dou adrese, n prezent cel mai rspndit, permite scrierea de programe avnd un numr de instruciuni comparabil cu cel obinut atunci cnd s-ar utiliza mai multe adrese.
Formatul cu o singur adres (fig. 6.3c) se utilizeaz n calculatoarele procesorul crora include un registru special, denumit acumulator. n acumulator se
pstreaz primul operand i se depune rezultatul executrii operaiei respective.
Prin urmare, adresa primului operand i adresa rezultatului snt specificate implicit. De exemplu, instruciunea cu o singur adres
01 100
va aduna numrul din acumulator cu numrul din locaia 100, iar suma obinut va
fi depus n acumulator. Respectiv, numrul iniial din acumulator va fi suprimat.
Instruciunile cu o singur adres snt eficiente din punctul de vedere al lungimii cuvntului i al rapiditii calculatorului. Totui un program scris cu instruciuni avnd o singur adres va conine mai multe instruciuni dect n cazul n care se folosesc instruciuni cu dou sau trei adrese.
Menionm c toate calculatoarele moderne pot avea instruciuni de diferite
formate. Informaia referitoare la formatul fiecrei instruciuni se indic n cmpul Codul instruciunii.
ntrebri i exerciii
Enumerai formatele instruciunilor utilizate n calculatoarele moderne. Explicai modul de specificare implicit a unor adrese.
Explicai semnificaia cmpurilor instruciunilor cu trei sau dou adrese.
Cum se specific adresele operanzilor i ale rezultatului n cazul instruciunilor
cu o singur adres?
Explicai cum vor fi executate urmtoarele instruciuni cu trei adrese:
a) 01 200 201 202;
c) 03 100 150;
b) 04 202 201;
d) 02 250 300.
c) 02 400;
b) 03 200;
d) 04 150.
Care va fi coninutul acumulatorului dup executarea instruciunii
01 100,
dac iniial n locaia 100 era nscris numrul 12, iar n acumulator numrul 26?
Care snt avantajele i dezavantajele formatelor cu trei, dou sau cu o singur
adres?
tate n mod secvenial, n ordinea n care snt aezate n memorie. Aceast ordine
poate fi schimbat cu ajutorul instruciunilor de salt condiionat sau necondiionat.
Instruciunile de salt condiionat permit alegerea continurii programului pe o
anumit ramur, n funcie de o condiie de test realizat. Folosirea instruciunilor de salt condiionat dau posibilitate utilizatorului s introduc decizii logice n
procesul execuiei programului.
O instruciune de salt necondiionat conine, n partea de adres, adresa instruciunii care va fi executat n continuare.
Instruciunile de intrare-ieire permit comunicarea calculatorului cu echipamentele periferice. Echipamentul cu care se va efectua operaia de intrare-ieire se specific n partea de adres a instruciunii. De regul, instruciunile de
acest tip conin att informaii legate de natura schimbului de date, adic introducerea sau extragerea lor, ct i comenzi necesare funcionrii corecte a periferiei.
Tot n aceste instruciuni se specific i registrele sau locaiile n care vor fi depuse sau din care vor fi luate datele respective.
ntrebri i exerciii
Cum se clasific instruciunile unui calculator? Care este destinaia instruciunilor din fiecare grup?
Dai cteva exemple de instruciuni operaionale. Estimai numrul instruciunilor operaionale posibile.
Care este destinaia instruciunilor de transfer? Estimai numrul instruciunilor posibile de transfer.
Cnd i cum se utilizeaz instruciunile de salt? Care condiii de test pot fi analizate de aceste instruciuni?
Care este destinaia instruciunilor de intrare-ieire? Ce informaii conin aceste instruciuni?
Elaborarea programelor n limbaj cod calculator este un lucru extenuant i ineficient. Pentru a simplifica procesul de elaborare a programelor, s-a convenit ca
instruciunile s fie scrise ntr-un limbaj simbolic, denumit limbaj de asamblare. n acest limbaj codurile instruciunilor se reprezint printr-un grup de caractere, astfel ales nct s sugereze ct mai bine natura operaiei. Acest grup de caractere, de regul trei, este cunoscut sub numele mnemonica instruciunii.
De exemplu, codurile instruciunilor calculatorului ipotetic din paragraful precedent pot fi notate simbolic conform tabelului 6.1.
Mnemonica instruciunilor
Cod
instruciune
01
02
03
04
05
06
07
Mnemonica
INC
MEM
ADU
SCD
SLT
SLTC
STP
Tabelul 6.1
Semnificaia
ncarc acumulatorul
Memoreaz acumulatorul
Adunare
Scdere
Salt necondiionat
Salt condiionat
Stop
ntrebri i exerciii
Care este diferena dintre limbajul cod calculator i limbajul de asamblare?
Cum se exprim codurile instruciunilor i adresele locaiilor ntr-un limbaj de
asamblare?
Care este destinaia i cum se realizeaz translatarea programelor scrise ntr-un
limbaj de asamblare?
Se consider c denumirea simbolic X semnific locaia 100, denumirea Y
locaia 101, iar denumirea S locaia 102. Exprimai n limbajul de asamblare
(vezi tabelul 6.1) urmtoarele programe:
a) 01 100
04 101
02 102
02 100
b) 01 100
02 100
03 100
c) 01 101
04 100
02 102
d) 01 101
03 101
03 101
03 101
02 102
e) 01 100
02 101
03 101
02 100
f)
01 100
02 102
01 101
02 100
X
Y
S
Y
b) INC X
INC X
SLTC S
STP
c) INC Y
ADU X
MEM S
STP
d) INC
ADU
ADU
ADU
MEM
Y
Y
Y
Y
S
e) INC
MEM
INC
MEM
INC
f)
X
S
Y
X
X
INC
MEM
INC
MEM
INC
X
S
Y
X
S
129
Operaiile implementate prin echipamente se efectueaz prin execuia unei singure instruciuni, pe cnd o operaie implementat prin program necesit execuia
mai multor instruciuni. Prin urmare, operaiile implementate prin echipamente
se efectueaz mai rapid, ns calculatorul respectiv este mai complex i, n consecin, mai scump. Din contra, operaiile implementate prin program se efectueaz
mai lent, ns calculatoarele respective snt mai simple i, evident, mai ieftine.
Din analiza principiilor de funcionare a procesorului rezult c toate echipamentele unui calculator devin inutile n absena programelor care guverneaz
efectuarea operaiilor necesare pentru rezolvarea unei probleme. Exact n acelai
mod, programele snt fr niciun folos n absena echipamentelor numerice res130
pective. Prin urmare, utilizarea tehnicii de calcul este posibil numai n prezena
att a echipamentelor, denumite resurse tehnice, ct i a programelor respective,
denumite resurse programate.
Resursele tehnice ale unui sistem de calcul modern includ procesorul, memoria intern, unitile de memorie extern, echipamentele de intrare-ieire etc.
Resursele programate vor include subprogramele care realizeaz operaiile
implementate prin program, programele care simplific accesul la unitile de
intrare-ieire, asambloarele, editoarele de texte, compilatoarele limbajelor algoritmice i, evident, programele elaborate de fiecare utilizator.
Menionm c n literatura de specialitate resursele tehnice uneori snt denumite prin cuvntul englez hardware (produse de metal), iar resursele programate prin cuvntul software (produse moi). Respectiv, implementarea prin echipamente se numete implementare prin hardware, iar implementare prin program implementare prin software.
ntrebri i exerciii
De ce depinde numrul total al instruciunilor unui calculator?
Cum se efectueaz operaiile n cazurile implementrii prin echipamente i n
cele ale implementrii prin program?
Analiznd repertoriul instruciunilor calculatorului la care lucrai dvs., determinai cum snt implementate urmtoarele operaii:
nmulirea i mprirea numerelor binare;
adunarea i scderea numerelor cu virgul mobil;
nmulirea i mprirea numerelor cu virgul mobil;
extragerea rdcinii ptrate;
calcularea funciilor trigonometrice.
Care snt avantajele i dezavantajele implementrii prin echipamente? Dar ale
implementrii prin program?
Numii resursele tehnice i resursele programate ale unui sistem de calcul. Care
snt resursele respective n cazul calculatorului la care lucrai dvs.?
133
Capetele snt montate pe un bra extensibil i acionate de un mecanism pentru a ajunge n dreptul pistei selectate.Toate capetele unei uniti de memorie cu
discuri snt poziionate simultan.
Timpul de acces al unitii de discuri se compune din timpul necesar deplasrii ansamblului de capete magnetice de pe cilindrul curent pe cilindrul indicat
i din timpul necesar ca sectorul respectiv al discului s ajung n dreptul capului
magnetic. n practic se utilizeaz timpul mediu de acces, care pentru unitile
de disc moderne este de ordinul 103 secunde.
Amintim c n calculatoarele de performan se utilizeaz uniti de discuri cu
capete magnetice fixe cte un cap magnetic pentru fiecare pist. Aceste uniti
asigur un timp de acces de ordinul 104 secunde, ns snt foarte scumpe.
Pentru schimbul de informaii ntre calculatoare se utilizeaz discuri singulare
din material plastic, denumite discuri flexibile sau dischete. Aceste discuri snt
ncorporate ntr-o caset din plastic sau n plicuri speciale. Organizarea fizic a
134
informaiei este aceeai ca i n cazul pachetelor de discuri, ns unitile respective snt mult mai simple i, evident, mai ieftine. Pentru a le deosebi de discurile
flexibile, discurile convenionale ale calculatoarelor personale snt denumite discuri rigide, hard diskuri sau wincestere.
Capacitatea de memorare a discurilor magnetice depinde de numrul de suprafee ale pachetului, numrul de cilindri i densitatea de nregistrare. La momentul
actual este obinut capacitatea de ordinul 1012 octei pentru un pachet de discuri.
ntrebri i exerciii
137
nregistrarea informaiei se realizeaz cu ajutorul unui fascicul laser foarte puternic care nnegrete poriunile respective ale stratului de nregistrare.
La citire, poriunile ntunecate blocheaz trecerea fasciculului laser spre stratul reflectorizant, modificnd astfel intensitatea luminii captate de celula fotosensibil (fig. 6.10). ntruct fasciculul laser folosit la citire este foarte slab, discul
inscriptibil poate fi citit de mai multe ori fr a distruge informaia nregistrat.
n cazul discurilor reinscriptibile materialul din care este format stratul de
nregistrare devine din nou transparent dac este nclzit pn la o temperatur
special, denumit temperatur critic. Evident, dup tergere, pe discul reinscriptibil pot fi nscrise date binare noi. Discurile moderne CD-RW suport pn la
10 000 de cicluri de scriere/tergere.
Neajunsul comun al discurilor inscriptibile i reinscriptibile este faptul c ele
snt mult mai sensibile la temperatur, durata lor de exploatare fiind mai mic
dect a discurilor CD-ROM. Aceste discuri snt i mai scumpe, ntruct pentru o
citire sigur stratul reflectorizant este realizat din aur sau argint.
De obicei, discurile optice CD-R i CD-RW se utilizeaz pentru difuzarea informaiilor operative unui cerc bine determinat de utilizatori baze de date, pachete
specializate de programe, rapoartele unor congrese importante, tablourile unei
expoziii, documente multimedia etc.
Menionm faptul c realizrile tehnologice din ultimul deceniu au condus la
apariia discurilor optice de tipul DVD (Digital Versatile Disc Disc Digital Multifuncional). Capacitatea unui disc DVD este de aproape apte ori mai mare dect
a unui disc de tipul CD.
ntrebri i exerciii
138
Cum 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.
ntrebri i exerciii
Explicai cum funcioneaz vizualizatorul. Care este destinaia prilor componente ale unui vizualizator?
Cum poate fi schimbat imaginea afiat pe ecranul unui vizualizator? Cum
pot fi animate imaginile de pe ecran?
Prin ce se deosebesc regimurile de funcionare a vizualizatorului?
Care snt indicii principali de calitate ai unui vizualizator?
Determinai tipul vizualizatorului la care lucrai dvs. Aflai rezoluia i numrul de culori disponibile.
Care snt prile componente ale unei tastaturi? Cum se determin tipul tastaturii?
Numii grupurile de taste i destinaia lor.
6.9. Imprimantele
Imprimantele snt dispozitive de ieire care furnizeaz rezultatele sub forma
unui document tiprit. n funcie de tehnica de tiprire utilizat, imprimantele
se pot clasifica n:
imprimante mecanice, n care tiprirea se face prin acionarea unor ciocnae sau ace;
imprimantele laser, n care tiprirea se face folosind metode electrostatice ca
la mainile de copiat;
imprimantele cu jet de cerneal;
imprimantele termice, funcionarea crora se bazeaz pe utilizarea unei hrtii speciale care i schimb culoarea n funcie de temperatur.
Principiul de funcionare a imprimantei matriciale cu ace este prezentat
n figura 6.13.
Capul de imprimare conine un grup de ace metalice subiri care la momentul
potrivit lovesc prin band tuat n foaia de hrtie. Configuraia celor ce lovesc n
fiecare moment i avansarea capului de-a lungul liniei de imprimat determin
imaginile tiprite.
141
n continuare, toate sarcinile electrice de pe suprafaa tamburului snt neutralizate, iar resturile de pulbere snt curate.
Imprimantele laser snt cele mai bune dintre imprimantele moderne. Textele i
grafica tiprite la aceste imprimante nu se deosebesc de cele tipografice. Viteza de
tiprire este de 5-15 pagini pe minut.
Imprimantele cu jet de cerneal formeaz punctele unei imagini din picturi microscopice pulverizate pe hrtie de nite ajutaje speciale. Ele asigur o calitate foarte bun a tiparului i snt utilizate pentru imprimarea color. Aceste
imprimante snt mai scumpe dect imprimantele cu ace i necesit o ngrijire tehnic deosebit.
Imprimantele termice utilizeaz o matrice de ace a cror nclzire selectiv
este determinat n funcie de caracterul ce urmeaz a fi tiprit. Viteza de imprimare este relativ mic, circa 300 de rnduri pe minut, ns avantajul principal
const n dimensiunile reduse ale imprimantei.
ntrebri i exerciii
Cum se clasific imprimantele n funcie de tehnica de tiprire?
Care snt prile componente ale unei imprimante?
Care este principiul de funcionare a imprimantei matriciale cu ace? Cum funcioneaz aceast imprimant?
Explicai cum funcioneaz o imprimant laser. Care este avantajul principal al
acestei imprimante?
Determinai tipul imprimantei cu care lucrai dvs. Aflai parametrii tehnici ai
imprimantei: setul de caractere, regimurile de funcionare, capacitatea memoriei-tampon, viteza de imprimare.
143
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).
Microprocesorul interacioneaz cu unitile de memorie i echipamentele periferice prin intermediul a trei magistrale: Date, Adrese i Comenzi. Traficul de
informaii prin magistrale este controlat de circuitul Comand de magistral.
Extragerea i executarea instruciunilor are loc sub controlul dispozitivului central de comand. Pentru aceasta, prin magistrala de adrese se indic adresa locaiei memoriei interne, iar prin magistrala de comenzi se transmit semnalele necesare
de scriere sau citire. Datele citite sau scrise se transmit prin magistrala de date.
Microprocesoarele se apreciaz dup urmtorii parametri:
lungimea cuvntului;
frecvena ceasului de sistem;
capacitatea magistralelor.
145
Caracteristicile principale
ale microprocesoarelor din familia Intel
Microprocesor
Lungime
cuvnt, bit
Frecven,
MHz
Capacitate de
prelucrare, Mips
32
32
32
32
64
200
300
1400
3800
3400
200
400
1200
2500
4000
Pentium I
Pentium II
Pentium III
Pentium 4
Pentium D
ntrebri i exerciii
Explicai destinaia echipamentelor din componena unui microprocesor (fig. 6.15).
Care snt parametrii principali ai unui microprocesor? Explicai semnificaia
fiecrui parametru.
Determinai tipul i parametrii principali ai microprocesorului din componena calculatorului personal cu care lucrai dvs.
146
(2) memoria;
(f)
147
148
149
Capitolul 7
REELE DE CALCULATOARE
7.1. Introducere n reele
Odat cu extinderea domeniilor de aplicare a calculatoarelor, a crescut i numrul utilizatorilor ce doreau s aib acces la mijloace eficiente de prelucrare i
stocare a unor informaii comune.
De exemplu, n cazul proiectrii unei cldiri, mai muli specialiti arhitectul,
inginerul, pompierul etc. doresc s aib acces i s introduc, dac e necesar, modificri n desenele tehnice ale construciei n curs de elaborare. n cazul unei
companii de transporturi aeriene biletele la una i aceeai curs pot fi vndute de
mai multe agenii aflate n orae diferite.
Soluia iniial la astfel de probleme a constituit-o conectarea la un calculator
central, de mare capacitate, a mai multe terminale (fig. 7.1).
De regul, un terminal const dintr-un vizualizator, o tastatur i, dac e necesar, o imprimant. Neajunsul principal al unui sistem centralizat de prelucrare
a datelor este fiabilitatea redus i utilizarea ineficient a resurselor de calcul.
Cu timpul, a aprut tendina de trecere de la sistemele centralizate la instalarea de calculatoare la fiecare utilizator i asigurarea unor legturi de comunicaie
eficient ntre ele (fig. 7.2).
Numim reea de calculatoare o mulime de calculatoare ce pot schimba informaii prin intermediul unei structuri de comunicaie.
Calculatoarele unei reele se conecteaz la structura de comunicaie prin intermediul unor uniti de intrare-ieire dedicate, numite adaptoare de reea.
150
Evident, n cadrul unei reele fiecare calculator, mai exact, fiecare adaptor de
reea, are o adres unic, denumit adres de reea.
De exemplu, o reea de calculatoare poate fi construit utiliznd ca structur de
comunicaie reeaua existent de telefoane. n acest caz, adaptorul de reea va
include un modulator pentru conversiunea semnalelor digitale furnizate de calculator n semnale telefonice i un demodulator pentru operaia invers. Dispozitivul
respectiv poart denumirea de modem (modulator-demodulator). Adresa de reea
este dat de numrul de telefon al postului la care este conectat modemul.
n general, o structur de comunicaie este format din linii de transmisie a
semnalelor. Aceste linii pot fi:
cabluri cu fire torsadate;
cabluri coaxiale;
cabluri optice;
linii cu microunde (terestre sau prin satelit).
Cablurile cu fire torsadate snt asemntoare celor telefonice i asigur o
capacitate de transmisie de pn la 1 Mbit/s. Cablurile coaxiale, asemntoare
celor din reelele de televiziune prin cablu, asigur o capacitate de transmisie de
pn la 1 Gbit/s. Cablul optic const din fibre de sticl sau din plastic transparent, acoperite cu un nveli de protecie. Semnalul optic, emis de o surs laser, se
propag prin fibr i este recepionat de o celul fotosensibil. Capacitatea de
transmisie a unui cablu optic poate ajunge la valoarea de 1 Tbit/s.
Liniile cu microunde snt formate din staii de retransmisie ce opereaz n
banda de unde centimetrice. Pe Pmnt aceste staii se amplaseaz n raza vizibilitii directe a antenelor, la o distan de 4050 de kilometri una de alta. n cazul
liniilor cosmice staiile respective se amplaseaz pe satelii. Capacitatea de transmisie a liniilor cu microunde este de ordinul 10 Gbii/s.
n funcie de aria de rspndire a calculatoarelor dintr-o reea, exist urmtoarele tipuri de reele:
reele locale;
reele regionale;
reele globale.
151
ntrebri i exerciii
152
n mod similar, tehnologiile client-server se aplic i pentru organizarea lucrului n comun a dou sau a mai multe programe.
Programul n curs de execuie care ofer servicii se numete program
server, iar programele care apeleaz la aceste servicii se numesc programe client.
De exemplu, un program server ce gestioneaz o baz de date execut urmtoarele funcii:
asigur protecia i securitatea datelor;
recepioneaz i, dac clientul are autorizaiile respective, execut cererile
de modificare a datelor;
recepioneaz cererile de citire a datelor i, n funcie de statutul clientului,
permite sau interzice accesul la datele respective;
completeaz un registru n care nscrie toate operaiile efectuate n baza de date.
Programul client asigur interaciunea utilizatorului cu baza de date i realizeaz urmtoarele funcii:
ofer utilizatorului o interfa simpl i comod;
verific i editeaz datele introduse de utilizator;
adreseaz cereri programului server;
afieaz informaiile primite din baza de date.
Programele server i programele client pot rula pe un singur calculator sau pe
calculatoare diferite. n ultimul caz, prelucrarea de date este distribuit. Transferul de date ntre programul client i programul server se realizeaz prin structura de comunicaie (fig. 7.2). Calculatorul pe care ruleaz un program server se
numete gazd (n englez host).
De obicei, n reelele locale programul client se execut pe staiile de lucru, iar
programele server ruleaz pe serverul de reea. n cazul reelelor regionale sau
globale pe fiecare calculator performant ruleaz mai multe programe server ce
ofer diverse servicii programelor client de pe alte calculatoare.
ntrebri i exerciii
Explicai termenul tehnologii de cooperare n reea. Ce tehnologii de cooperare
n reea cunoatei?
Cum este organizat funcionarea calculatoarelor din reea n cazul tehnologiei
client-server?
Care snt avantajele i dezavantajele tehnologiei client-server?
Explicai destinaia serverelor de reea, a serverului de fiiere, a serverului de
imprimare i a staiei de lucru.
Cum este organizat funcionarea calculatoarelor din reea n cazul tehnologiei
egal-la-egal? Care snt avantajele i dezavantajele acestei tehnologii?
Determinai tehnologiile de cooperare realizate n reeaua cu care lucrai dvs.
Exist oare n reea un server de fiiere i/sau un server de imprimare?
Exist n reeaua cu care lucrai dvs. un server de reea? Argumentai rspunsul.
Este oare realizat n reeaua cu care lucrai dvs. tehnologia egal-la-egal? Argumentai rspunsul.
154
Un protocol definete modul de adresare a calculatoarelor, lungimea i componena pachetelor de date, algoritmul de depistare i corectare a erorilor, modul
de conectare fizic a adaptoarelor i cablurilor de reea etc. La apariia primelor
reele de calculatoare fiecare productor de echipamente de calcul avea propriile
sale protocoale de comunicaie, ceea ce fcea imposibil interconectarea calculatoarelor de proveniene diferite. Acest neajuns a fost nlturat prin standardizarea protocoalelor. Amintim c standardul reprezint un document n care se reglementeaz calitatea, caracteristicile, forma etc. ale unui produs. Standardele
internaionale snt elaborate de ctre Organizaia Internaional pentru Standardizare (ISO International Standards Organisation). Un alt organism internaional care joac un rol important n standardizarea n domeniile electronicii i
tehnicii de calcul este Institutul Inginerilor Electricieni i Electroniti (IEEE
Institute of Electrical and Electronics Engineers).
Numim arhitectur a reelei modul n care este conceput reeaua: topologia, protocoalele de comunicaie, tehnologiile de cooperare n reea.
n continuare prezentm cele mai rspndite arhitecturi de reele.
Ethernet (reea n eter) reele locale realizate n conformitate cu standardul
IEEE 802.3. Utilizeaz o magistral din cablu cu fire torsadate, cablu coaxial sau
cablu cu fibre optice. Viteza de transmisie a datelor ajunge la 100 Mbii/s. Arhitectura a fost elaborat de firmele XEROX, Intel i DEC.
TokenRing (inel cu jeton) reele locale realizate n conformitate cu standardul IEEE 802.5. Utilizeaz un inel din cablu cu fire torsadate sau cablu coaxial.
Viteza de transmisie a datelor este de 16 Mbii/s. Arhitectura a fost elaborat de
firma IBM.
DATAKIT reele locale, regionale sau globale elaborate de firma Bell Laboratories. Sub aspect topologic const dintr-o mulime de stele interconectate. n
cazul cablului cu fibre optice se atinge viteza de transmisie de 1,5 Gbii/s.
SNA (Sistem Network Arhitecture) o arhitectur elaborat de firma IBM pentru reelele locale, regionale i globale. Protocoalele acestei arhitecturi au stat la
baza standardelor ISO. Topologia iniial era de tip stea, n prezent este o topologie distribuit, suportnd i reele locale.
ARPANET o arhitectur conceput de mai multe universiti i corporaii
sub egida Ministerului Aprrii al SUA (Advanced Research Projects Agency).
Arhitectura dat se bazeaz pe o topologie distribuit i folosete diferite linii de
comunicaie, de la liniile telefonice pn la liniile cu microunde prin satelit. Liniile
respective conecteaz supercalculatoare separate i diverse reele locale sau
regionale, rspndite pe aproape jumtate din suprafaa terestr. Arhitectura
ARPANET include urmtoarele protocoale:
protocolul IP (Internet Protocol) destinat interconectrii reelelor locale, regionale i globale;
protocolul serviciilor bazate pe conexiuni, numit TCP (Transmission Control
Protocol);
un protocol de transfer de fiiere, numit FTP (File Transfer Protocol);
157
ntrebri i exerciii
Explicai termenul pachet de date. Ce informaii conine un pachet de date?
Explicai termenul topologia reelei.
Care snt topologiile de baz ale reelelor? Numii avantajele i dezavantajele
fiecrei topologii de baz.
Explicai cum se transmit pachetele de date n urmtoarele topologii de baz:
stea, inel, magistral, distribuit.
Precizai drumul pe care l va parcurge un pachet trimis de calculatorul C2
calculatorului C4 (fig. 7.4 a).
Gsii drumul pe care l parcurg pachetele expediate de calculatorul C2 calculatorului C4 (fig. 7.4 b).
Cte ci de transmitere a pachetelor exist ntre calculatoarele C 1, C n din
figura 7.4d? Care este calea cea mai scurt?
Ce se va ntmpla cu reelele din figura 7.4 dac iese din funcie calculatorul C1?
Dar dac iese din funcie calculatorul C2?
Determinai topologia reelei locale cu care lucrai dvs. Enumerai avantajele i
dezavantajele acestei topologii.
Care este destinaia unui protocol? Ce norme conine un protocol?
Argumentai necesitatea standardizrii protocoalelor. Cine elaboreaz standardele respective?
Aflai protocoalele utilizate de reeaua local cu care lucrai dvs.
Explicai modul cum se integreaz reelele locale n reele regionale i reele globale. Desenai topologia reelelor regionale sau globale la care avei acces dvs.
Explicai termenul arhitectura reelei.
Dai exemple de arhitecturi ale reelelor locale, regionale i globale.
Caracterizai arhitectura reelei cu care lucrai dvs.
Enumerai protocoalele utilizate n arhitectura ARPANET. Snt oare aplicate
aceste protocoale n reeaua cu care lucrai dvs.?
159
Tabelul 7.1
de calculatoare
2 =128
214=16 384
221=2 097 152
Adresele din clasa A snt distribuite reelelor mari, n special reelelor globale.
O astfel de reea poate include circa 16 milioane de calculatoare. Adresele din
clasa B snt distribuite reelelor medii, n special reelelor regionale. O astfel de
reea poate include circa 65 mii de calculatoare. Adresele din clasa C snt rezervate reelelor relativ mici, care includ pn la 256 de calculatoare. Fiecare adres
Internet este unic. Adresele snt atribuite calculatoarelor de Centrul Informaional al Reelei (Network Information Center).
De exemplu, numrul binar
10010010 00110011 00001001 11110111
este o adres de clasa B i identific calculatorul numrul
00001001 11110111
din cadrul reelei
010010 00110011.
Pentru comoditate, adresele binare se exprim n form zecimal, transformnd separat fiecare octet. Numerele zecimale corespunztoare fiecrui octet se
delimiteaz prin puncte.
n cazul exemplului de mai sus obinem:
(10010010)2=(146)10;
(00110011)2=(51)10;
(00001001)2=(9)10;
(11110111)2=(247)10.
Prin urmare, n forma zecimal adresa respectiv va fi 146.51.9.247.
Adresele n form zecimal i cu att mai mult cele n form binar snt incomode pentru publicul larg. Din acest motiv, mai frecvent snt utilizate adresele
simbolice.
160
specific calculatoarele rector i decan din domeniul ase (Academia de Studii Economice). Domeniul ase este un subdomeniu al domeniului men (Ministerul Educaiei
Naionale), iar men este un subdomeniu al domeniului ro (Romnia).
n mod normal, domeniul de cel mai nalt nivel este ara (md, ro, us etc.) sau
tipul instituiei (com comercial, mil militar, edu de educaie etc.).
Relaiile de incluziune ntre domenii pot fi reprezentate cu ajutorul diagramelor Euler, frecvent utilizate n teoria mulimilor. Pentru exemplificare, n figura 7.7
snt prezentate astfel de diagrame pentru unele adrese simbolice din domeniul md.
161
Pentru a transforma adresele simbolice n adrese numerice i invers, n fiecare domeniu exist un server de nume (name server). Acest program gestioneaz
domeniul respectiv fr intervenia serverelor ierarhic superioare. Prin urmare,
n Internet nu exist un calculator central care ar fi unicul responsabil de cele
aproximativ 1010 adrese de reea.
n cazul exemplului de mai sus (fig. 7.7), adresele calculatoarelor c1 i c5 snt
procesate n serverul lme, iar adresele calculatoarelor c1 i c9 de serverul lic.
Serverul ch va lucra numai cu adresele serverelor lic i lme, fr s se implice n
procesarea adreselor de calculatoare din aceste domenii. n mod similar, serverul
men nu proceseaz adresele calculatoarelor rector i decan, lsnd acest lucru n
obligaia serverului ase.
ntrebri i exerciii
Desenai topologia reelei Internet. Cum se interconecteaz subreelele n cadrul Internetului?
Care este destinaia unei pori? Dar a unui ruter?
Cum se identific calculatoarele n Internet? Care snt avantajele i dezavantajele adreselor numerice? Dar ale adreselor simbolice?
Care snt clasele de adrese numerice? Pentru ce este necesar o astfel de clasificare?
Explicai destinaia cmpurilor Adres reea i Adres calculator ale unei adrese numerice.
Cine atribuie adrese calculatoarelor din Internet?
Determinai clasele urmtoarelor adrese. Precizai adresa subreelei i adresa
calculatorului n subreea.
a) 45.201.19.63;
d) 192.109.58.170;
b) 201.165.213.91;
e) 15.21.207.250;
c) 154.36.79.200;
f)
217.15.69.113.
f)
b) c3.lme.ch.md;
g) c5.lme.ch.md;
c) c1.lic.ch.md;
h) c9.lic.ch.md;
d) director.lic.ch.md;
i)
prof.lic.ch.md;
e) elev1.lic.ch.md;
j)
elev4.lic.ch.md.
c4.lme.ch.md;
Precizai domeniile de calculatoare i relaiile de incluziune ntre domenii. Desenai diagramele Euler pentru adresele n cauz.
162
Desenai o diagram Euler pentru adresele simbolice ce urmeaz. Precizai domeniile de calculatoare i relaiile respective de incluziune.
a) rector.ase.men.ro;
d) rector.ase.met.md;
b) decan.ase.men.ro;
e) decan.ase.met.md;
c) student.info.ase.men.ro;
f)
student.cib.met.md.
Care este destinaia unui server de nume? Ce adrese snt procesate de un astfel
de server?
Precizai serverele de nume pentru adresele din exerciiile 9 i 10. Indicai adresele pe care le proceseaz fiecare server.
Aflai adresa numeric i adresa simbolic a calculatorului cu care lucrai dvs.
Precizai clasa de adres, adresa subreelei i adresa calculatorului n cadrul
subreelei. Desenai o diagram Euler ce reprezint relaiile de incluziune ntre
domeniile la care aparine calculatorul dvs.
unde:
<nume cutie> este denumirea cutiei potale, de obicei acesta este numele de
familie al utilizatorului sau o abreviere;
@ simbolul at (la);
<Adres calculator> adresa simbolic a calculatorului client pe care este creat
cutia potal.
Exemple:
1)
petrescu@c1.lme.ch.md
2)
florea@director.lic.ch.md
3)
ionescu@c1.lme.ch.md
4)
barbu@director.lic.ch.md
Mesajele snt transmise prin reea de serverele de pot care au rolul oficiilor
i centrelor potale tradiionale.
Serviciul de pot electronic este foarte popular datorit avantajelor sale incontestabile, i anume: vitez, posibilitatea de a ataa la scrisori fiiere de orice
natur, faciliti avansate de redactare.
Cel mai modern serviciu de prezentare i cutare a informaiilor n Internet
este serviciul WWW (World Wide Web Pnza Mondial de Pianjen). n acest
serviciu informaia este prezentat n form de pagini Web.
Pagina Web este un fiier scris n limbajul HTML (Hypertext Markup Language Limbaj pentru marcarea hipertextului) i poate conine, n afar de
informaii propriu-zise, referine la alte pagini Web. Paginile referite se pot
afla pe acelai calculator sau pe calculatoare situate n diverse puncte geografice (fig. 7.8).
Tehnologia de cooperare n cadrul serviciului WWW este de tipul client-server.
Utilizatorul care dorete s ofere publicului larg anumite informaii instaleaz pe
164
calculatorul su un program server i elaboreaz una sau mai multe pagini Web.
Serverul intercepteaz cererile sosite de la alte calculatoare i asigur accesul la
paginile respective. Calculatorul pe care snt instalate paginile Web i serverul
WWW se numete site (site sediu, reedin).
Programul client asigur transferul i afiarea pe ecran a paginilor Web citite
de pe diverse calculatoare din Internet. Imediat dup pornire, el afieaz propria
pagin de referin (home page pagina de acas) i ateapt indicaiile utilizatorului. Cnd utilizatorul activeaz o referin, programul client stabilete o conexiune cu serverul Web i copiaz de la el pagina specificat n referin. Pagina
copiat este afiat pe ecran.
n continuare, utilizatorul activeaz o alt referin, programul client stabilete din nou conexiunea cu un calculator din reea, din nou se va citi o pagin Web
etc. Cu alte cuvinte, utilizatorul rsfoiete paginile Web de pe diverse calculatoare, indiferent de poziia lor geografic. Din acest motiv programele client snt
numite programe de rsfoire sau programe de explorare (n englez browser
sau explorer).
n cadrul serviciului WWW resursele reelei se specific cu ajutorul unor adrese speciale, denumite adrese URL (Uniform Resource Locator Locator Uniform
de Resurse). Aceste adrese au forma:
<protocol>: // <Adres simbolic>[:<port>]/<cale>/<fiier>
unde:
reea;
165
ntrebri i exerciii
Care este gama de servicii oferite de Internet? Cum colaboreaz calculatoarele
din reea n procesul prestrii unui serviciu?
Care este destinaia serviciului FTP? Ce fiiere pot fi transferate prin acest
serviciu?
Studiai programul FTP instalat pe calculatorul dvs. Copiai cteva fiiere de pe
serverele FTP anonymous sau de pe alte servere la care avei acces.
De ce depinde viteza de transfer al fiierelor? Determinai viteza de transfer a
ctorva fiiere de pe serverele FTP aflate n Republica Moldova, Romnia i
Statele Unite ale Americii.
166
167
168
12. Desenai o diagram Euler pentru adresele simbolice ce urmeaz. Precizai domeniile
de calculatoare i relaiile respective de incluziune.
a) directie.orhei.md;
d) directie.cahul.md;
b) contabilitate.orhei.md;
e) contabilitate.cahul.md;
c) presedinte.orhei.md;
f)
presedinte.calarasi.md.
13. Indicai corespondena ntre denumirile serviciilor Internet (coloana din stnga) i destinaia acestora (coloana din dreapta):
(a) transferul fiierelor de pe calculatorul aflat la distan
pe calculatorul utilizatorului;
(1) Telnet;
(2) FTP;
(3) E-mail;
(4) WWW.
d) bjosu@directie.cahul.md;
b) apetrescu@contabilitate.orhei.md;
e) www.contabilitate.cahul.md;
c) ivulpe@presedinte.orhei.md;
f)
munteanu@presedinte.calarasi.md.
169
RSPUNSURI LA TESTELE
DE AUTOEVALUARE
Testul nr. 1
1.
2. Mulimea de valori ale tipului de date OrarulLectiilor este constituit din tablouri
bidimensionale. Liniile snt specificate prin indici de tipul ZiDeScoala, iar coloanele prin
indici de tipul Lectie.
3.
a) x[1]+ x[2]+ x[3]+ x[4];
b) y[7]+ y[8]+ y[9]+ y[10];
c) abs(x[3]);
d) abs(y[6]);
e) x[1]+ y[10].
4.
Program RTA9;
{ Raspuns la Testul 1, Itemul 4 }
type Numere = array [1..50] of integer;
var A : Numere;
n, i : integer;
begin
write(Dati n=); readln(n);
{ Citim numerele de la tastatura }
for i:=1 to n do
begin
write(A[, i, ]=); readln(A[i]);
end;
{ Afisam numerele la ecran }
writeln(Numerele in ordine inversa:);
170
8.
Program RTA11;
{ Raspuns la Testul 1, Itemul 8 }
type Angajat = record
NumePrenume : string;
Salariu : real;
end;
ListaDePlata = array [1..100] of Angajat;
var L : ListaDePlata;
171
s : real;
i, n : integer;
begin
write(Dati n=); readln(n);
{ Citirea datelor despre fiecare angajat }
for i:=1 to n do
begin
writeln(Dati datele despre angajatul , i);
write(Numele si prenumele: );
readln(L[i].NumePrenume);
write(Salariul: );
readln(L[i].Salariu);
end;
{ Cautarea salariului maximal }
s:=0;
for i:=1 to n do
if L[i].Salariu > s then s:=L[i].Salariu;
writeln(Salariul maximal = , s:10:2);
{ Afisarea informatiilor }
writeln(Angajatii cu cel mai mare salariu:);
for i:=1 to n do
if L[i].Salariu = s then writeln(L[i].NumePrenume);
readln;
end.
9. Instruciunea with se utilizeaz pentru a reduce textele programelor PASCAL prin excluderea repetrilor de denumiri ale variabilelor de tip record (articol).
10. Valorile variabilei V:
[ ] , [X] , [Y] , [Z] , [X, Y] , [X, Z] , [Y, Z] , [X, Y, Z] .
Valorile variabilei I:
[ ] , [8] , [9] , [8, 9] .
11.
Program RTA12;
{ Raspuns la Testul 1, Itemul 11 }
var S : string;
i, n : integer;
begin
write(Dati un sir de caractere format din );
writeln(literele mari ale alfabetului latin:);
readln(S);
{ Numaram vocalele in sir }
n:=0;
for i:=1 to length(S) do
if S[i] in [A, E, I, O, U] then n:=n+1;
writeln(Numarul de vocale = , n);
readln;
end.
172
173
var A : Angajat;
F : FisierAngajati;
begin
assign(F, SALARII.DAT);
reset(F);
writeln(Datele citite din fisierul SALARII.DAT:);
while not eof(F) do
begin
read(F, A);
writeln(A.NumePrenume, , A.Salariu:10:2);
end;
readln;
close(F);
end.
16.
Program RTA15;
{ Raspuns la Testul 1, itemul 16 }
var a, b : real;
c : string;
Intrare, Iesire : text;
begin
assign(Intrare, REZULTAT.TXT);
reset(Intrare);
assign(Iesire, MEDII.TXT);
rewrite(Iesire);
while not eof(Intrare) do
begin
readln(Intrare, a, b, c);
writeln(Iesire, (a+b)/2, , c);
writeln((a+b)/2, , c);
end;
readln;
close(Intrare);
close(Iesire);
end.
Testul nr. 2
1. 000 , 001 , 010 , 011 , 100 , 101 , 110 , 111 .
2. Rezultatul decodificrii: CACB. Rezultatul codificrii: 00001 00000 00010.
3. Alfabetul latin este format din 26 de litere. Prin urmare, numrul de mesaje posibile ale
sursei de informaie n = 26 + 26 = 52. Cantitatea de informaie ntr-un mesaj:
I = log2 52 5,7 bii.
Din inegalitatea m I, obinem m = 6.
174
175
Testul nr. 3
1. a) 667; b) 31,5926; c) 176,7551.
2. b) 8 nu este o cifr octal; c) 2, 8, 4 i 6 nu snt cifre binare.
3.
Program RTA18;
{ Raspuns la Testul 3, Itemul 3 }
var b : integer; { baza }
x : string;
{ numarul citit de la
y : integer; { numarul transformat
i : integer;
bi : integer; { baza la puterea i }
begin
write(Dati baza b=); readln(b);
write(Dati un numar scris in baza ,
readln(x);
y:=0;
bi:=1; { baza la puterea 0 }
for i:=length(x) downto 1 do
begin
y:=y+(ord(x[i])-48)*bi;
bi:=bi*b;
end;
writeln(Numarul scris in baza 10: ,
readln;
end.
tastatura }
in baza 10 }
b, : );
y);
176
T[6]:=110; T[7]:=111;
write(Dati un numar octal x=); readln(x);
y:=;
for i:=1 to length(x) do
y:=y+T[x[i]];
writeln(Reprezentarea binara: , y);
readln;
end.
10. a) 1001000111; b) 111100001; c) 100100111; d) 111010.
11.
0 1 1 1 1 1 0 1
12.
1 0 1 0 0 1 0 1
13. a) 1; b) +64; c) 39.
14.
1 1 1 0 0 0 0 0
15. a) 0,1010100125; b) 0,10010010127; c) 0,1123.
16. b = 8; x = 25.
17. a) 26; b) 45; c) 8.
18. a) [8, 7]; b) [128, 127]; c) [32 768, 32 767].
19. a) 0,375; b) 0,125; c) 0,5.
20. A = 0,9921875; B = 0,9921875.
21. a) 0,109375; b) 7,5; c) 0,25.
22.
1 0 1 0 1 0 1 1
23. A = 7,5; B = 7,5.
Testul nr. 4
1.
x
0
0
0
0
1
y
0
0
1
1
0
z
0
1
0
1
0
1
0
1
0
1
y
0
0
1
0
0
x M y
0
0
1
0
1
177
x M y
1
1
1
0
1
1
1
0
1
0
1
0
0
1
0
1
1
1
2. a) i d).
3. {000, 010, 100, 110, 111}.
4.
Program RTA20;
{ Raspuns la Testul 4, Itemul 4 }
var x, y, z, f : boolean;
xx, yy, zz, ff : 0..1;
begin
write(Dati x=); readln(xx);
if xx=0 then x:=false else x:=true;
write(Dati y=); readln(yy);
if yy=0 then y:=false else y:=true;
write(Dati z=); readln(zz);
if zz=0 then z:=false else z:=true;
f:=x and (not y) or z;
if f=false then ff:=0 else ff:=1;
writeln(Valoarea expresiei logice: , ff);
readln;
end.
5.
Program RTA21;
{ Raspuns la Testul 4, Itemul 5 }
var x, y, z, f : boolean;
xx, yy, zz, ff : 0..1;
begin
writeln(x y z f);
writeln();
for x:=false to true do
for y:=false to true do
for z:=false to true do
begin
f:=(not x) and (not y) or z;
if x=false then xx:=0 else xx:=1;
if y=false then yy:=0 else yy:=1;
if z=false then zz:=0 else zz:=1;
if f=false then ff:=0 else ff:=1;
writeln(xx, , yy, , zz, , ff);
end;
readln;
end.
178
6. Domeniul de definiie: {000, 001, 010, 011, 100, 101, 110, 111}. Domeniul de valori: {0, 1}.
7.
x x
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
x!
0
1
0
1
0
1
0
1
y
0
0
0
0
1
1
0
1
8.
Program RTA22;
{ Raspuns la Testul 4, Itemul 8 }
var x1, x2,x3, y : boolean;
xx1, xx2, xx3, yy : 0..1;
begin
write(Dati x1=); readln(xx1);
if xx1=0 then x1:=false else x1:=true;
write(Dati x2=); readln(xx2);
if xx2=0 then x2:=false else x2:=true;
write(Dati x3=); readln(xx3);
if xx3=0 then x3:=false else x3:=true;
y:=x1 and ((not x2) or (not x3));
if y=false then yy:=0 else yy:=1;
writeln(Valoarea functiei logice y=, yy);
readln;
end.
9.
Program RTA21;
{ Raspuns la Testul 4, Itemul 9 }
var x1,x2, x3, y : boolean;
xx1, xx2, xx3, yy : 0..1;
begin
writeln(x1 x2 x3 y);
writeln();
for x1:=false to true do
for x2:=false to true do
for x3:=false to true do
begin
y:=(not x1) and (x2 or x3);
if x1=false then xx1:=0 else xx1:=1;
if x2=false then xx2:=0 else xx2:=1;
if x3=false then xx3:=0 else xx3:=1;
179
10. 22 = 4294967296.
11.
I-NU
SAU-NU
x
xx
x
x M x
0
0
1
1
0
1
0
1
1
1
1
0
0
0
1
1
0
1
0
1
1
0
0
0
Testul nr. 5
1.
2.
180
, yy);
s:=0;
s:=1;
s:=1;
s:=1;
t:=0;
t:=0;
t:=0;
t:=1;
end;
end;
end;
end;
5. Un semisumator conine 2 pori logice NU, 3 pori logice I i o poart logic SAU
(fig. 5.10). Un sumator elementar conine 2 semisumatoare i o poart logic SAU (fig. 5.11).
Prin urmare, un sumator elementar conine 4 pori logice NU, 6 pori logice I i 3 pori logice
SAU. Evident, un sumator de n bii conine 4n pori logice NU, 6n pori logice I i 3n pori
logice SAU (fig. 5.12). Pentru un sumator de n = 8 bii, obinem: 32 de pori logice NU; 48 de
pori logice I; 24 de pori logice SAU.
6.
Program RTA25;
{ Raspuns la Testul 5, Itemul 6 }
label 1;
var A, B, S : string;
t : char;
{ transportul }
i : integer;
begin
writeln(Dati doua numere binare A si B. Fiecare numar);
writeln(trebuie sa contina exact 8 cifre binare.);
write(A=); readln(A);
write(B=); readln(B);
t:=0;
{ initial transportul t=0 }
S:=xxxxxxxx; { initial suma S este necunoscuta }
for i:=8 downto 1 do
begin
{ adunarea cifrelor binare A[i], B[i], T[i-1] }
if (A[i]=0) and (B[i]=0) and (t=0) then
begin S[i]:=0; t:=0; goto 1; end;
if (A[i]=0) and (B[i]=0) and (t=1) then
begin S[i]:=1; t:=0; goto 1; end;
if (A[i]=0) and (B[i]=1) and (t=0) then
begin S[i]:=1; t:=0; goto 1; end;
if (A[i]=0) and (B[i]=1) and (t=1) then
begin S[i]:=0; t:=1; goto 1; end;
181
x1
x2
y1
y2
y3
y4
0
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
9. Q = 1 i = 0.
10.
11. (1) (d); (2) (i); (3) (g); (4) (a); (5) (c); (6) (f).
12. 00010011.
13. 11010000.
14.
Program RTA26;
{ Raspuns la Testul 5, Itemul 14 }
var R : string;
n, m, i, j : integer;
182
begin
writeln(Dati continutul initial al registrului);
write(R=); readln(R);
n:=length(R); { capacitatea registrului }
write(Dati m=); readln(m);
for j:=1 to m do
begin
{ deplasarea cu o pozitie }
for i:=1 to n-1 do R[i]:=R[i+1];
R[n]:=0;
end;
writeln(Continutul registrului dupa deplasare);
writeln(R=, R);
readln;
end.
15. 10010011.
16. 10101001.
17.
Program RTA27;
{ Raspuns la Testul 5, Itemul 17 }
label 1;
var A : string;
n, m, i, j : integer;
t : char; { transportul }
begin
writeln(Dati continutul initial al numaratorului);
write(A=); readln(A);
n:=length(A); { capacitatea numaratorului }
write(Dati m=); readln(m);
for j:=1 to m do
begin
{ adunarea unitatii la continutul numaratorului }
t:=1;
for i:=n downto 1 do
begin
{ adunarea transportului la cifra A[i] }
if (A[i]=0) and (t=0) then
begin A[i]:=0; t:=0; goto 1; end;
if (A[i]=0) and (t=1) then
begin A[i]:=1; t:=0; goto 1; end;
if (A[i]=1) and (t=0) then
begin A[i]:=1; t:=0; goto 1; end;
if (A[i]=1) and (t=1) then
begin A[i]:=0; t:=1; goto 1; end;
1: end;
end;
writeln(B=, A);
readln;
end.
183
Testul nr. 6
1. (1) (i); (2) (f); (3) (a); (4) (c); (5) (d); (6) (g).
2. Tastatura, mouse-ul, vizualizatorul, imprimanta, unitatea de disc magnetic, unitatea de
disc optic, cititorul de documente (scanerul).
3. a), c), f).
4. Magistrala asigur comunicarea procesorului cu memoria intern i echipamentul
periferic.
5. Vezi figura 6.2. Componentele obligatorii: procesorul, magistrala, memoria intern, controlerul, dispozitivul de intrare-ieire.
6. Codul instruciunii n acest cmp se indic operaia ce trebuie executat. Adres operand 1 i Adres operand 2 n aceste cmpuri se indic adresele locaiilor din memoria
intern care conin, respectiv, primul i al doilea operand. Adres rezultat indic adresa
locaiei din memoria intern n care va fi depus rezultatul operaiei.
7. a) numrul din locaia 101 este adunat cu numrul din locaia 153, iar rezultatul obinut
este depus n locaia 342;
b) numrul din locaia 508 este mprit la numrul din locaia 391, iar rezultatul obinut
este depus n locaia 216;
c) numrul din locaia 751 este nmulit cu numrul din locaia 852, iar rezultatul obinut
este depus n locaia 031;
d) din numrul din locaia 450 se scade numrul din locaia 709, iar rezultatul obinut
este depus n locaia 011.
8. a), c), f) instruciuni operaionale; g) instruciune de transfer; e) instruciune de
salt; b), d) instruciuni de intrare-ieire.
9.
INC
MEM
SCD
ADU
X
S
Y
X
10.
01
02
01
02
01
583
461
971
583
461
11. a), d), f), h) resurse tehnice; b), c), e), g) resurse programate.
12. n cazul memoriilor externe cu acces secvenial scrierea/citirea nregistrrii dorite este
posibil doar dup scrierea/citirea tuturor nregistrrilor precedente. n cazul memoriilor externe cu acces direct orice nregistrare poate fi scris/citit fr a mai citi/scrie nregistrrile
precedente.
13. b), c), e).
184
Testul nr. 7
1. a) 6 ore; b) 12 min. 30 s; c) 0,73 s; d) 0,00072 s.
2. b), d).
3. Calculatoarele, adaptoarele de reea, structura de comunicare.
4. a), c).
5. a), d).
6. Un protocol de reea definete modul de adresare a calculatoarelor, lungimea i componena pachetelor de date, algoritmul de depistare i corectare a erorilor, modul de conectare
fizic a adaptoarelor i cablurilor de reea.
7. Arhitectura unei reele reprezint modul n care este conceput reeaua: topologia,
protocoalele de comunicaie, tehnologiile de cooperare n reea.
8. Vezi figura 7.5.
9. d).
10. n Internet calculatoarele se identific cu ajutorul adreselor. Acestea pot fi de dou
tipuri: adrese numerice i adrese simbolice.
11. ntruct (214)10 = (11010110)2, iar biii 0-2 au valoarea 110, adresa Internet aparine clasei C. n cazul clasei C adresa subreelei se indic n biii 3-32 ai adresei numerice. Din primul octet al adresei numerice selectm biii 3-7 i transformm numrul binar
obinut n sistemul zecimal: (10110) 2 = (22) 10. Prin urmare, adresa subreelei este
22.121.216. Numrul 109 din ultimul octet al adresei numerice reprezint adresa calculatorului n subreea.
185
12. md domeniul de cel mai nalt nivel. Acest domeniu include subdomeniile orhei,
cahul i calarasi. Subdomeniul orhei include calculatoarele directie, contabilitate i
presedinte. Subdomeniul cahul include calculatoarele directie i contabilitate. Subdomeniul calarasi include calculatorul presedinte.
13. (1) (g); (2) (a); (3) (d); (4) (f).
14. b).
15. b), d), e).
16. b), c), d), f).
186
Bibliografie
1. Bolun Ion. Iniiere n reele. INTERNET. Chiinu, Editura ASEM, 1997.
2. Ceapru Mihai. Comunicaia prin intermediul reelelor de calculatoare. Bucureti, Editura
Tehnic, 1996.
3. Cerchez Emanuela. Internet. Manual pentru liceu. Filiera teoretic. Iai, Editura Polirom,
2000.
4. Cerchez Emanuela, erban Marinel. Informatica pentru gimnaziu. Iai, Editura Polirom, 2002.
5. Gremalschi Anatol, Mocanu Iurie, Spinei Ion. Informatica. Limbajul PASCAL. Chiinu, Editura tiina, 2003.
6. Gremalschi Ludmila, Mocanu Iurie. Structura i funcionarea calculatorului. Material didactic pentru licee i colegii. Chiinu, Editura Lyceum, 1996.
7. Gremalschi Anatol, Bejan Viorel, Gremalschi Ludmila. Structura calculatoarelor numerice.
Material didactic. Chiinu, UTM, 1996.
8. Levine John R. Internet pentru toi. Bucureti, Editura Teora, 1996.
9. Lowe Doug. Reele pentru toi. Bucureti, Editura Teora, 1995.
10. Mranu Radu. Sisteme de calcul. Manual pentru licee de informatic, clasa a IX-a.
R.A. Bucureti, Editura Didactic i Pedagogic, 1995.
11. Mranu Radu, Velicanu Manole. Tehnic de calcul. Manual pentru clasa a XII-a. Bucureti, Editura ALL, 1999.
12. Mihoc Dan, Iliescu Sergiu Stelian. Elemente de informatic. Mecanizarea i automatizarea
produciei. Manual pentru licee industriale, clasa a XII-a. R.A. Bucureti, Editura Didactic i
Pedagogic, 1995.
13. Mucenic Boiu, Mihai Boiu, Eugen tefan. Compact disc. Bucureti, Editura Teora, 1995.
14. Pfaffenberger Bryan, Petersen Judy. Dicionar explicativ de calculatoare. Bucureti, Editura Teora, 1996.
15. Petrescu Adrian, Iacob Francisc, Racovi Zoe. Iniiere n structura calculatoarelor electronice. Bucureti, Editura Teora, 1996.
16. Petrescu Silviu. Informatica aplicat: manual de informatic pentru clasa a XII-a. Bucureti, Editura Teora, 1998.
17. Secrieru Nicolae, Gremalschi Anatol, Cornea Ion. Arhitectura i organizarea microprocesoarelor. Chiinu, Editura Universitas, 1995.
18. Velicanu Manole, Vasilescu Adrian. Bazele informaticii. Manual pentru clasa a XII-a. Bucureti, Editura ALL, 1999.
19. .., .., .., .. . . - 2 . / . .., ..: 1. .: , 1999.
20. .., .., .., .. .
7-9 . .: , 1999.
187
Numele i prenumele
elevului
Anul
colar
Aspectul manualului
la primire
la restituire
1.
2.
3.
4.
5.
Dirigintele trebuie s controleze dac numele elevului este scris corect.
Elevul nu trebuie s fac niciun fel de nsemnri pe pagini.
Aspectul manualului (la primire i la restituire) se va aprecia folosind termenii: nou, bun,
satisfctor, nesatisfctor.