Sunteți pe pagina 1din 139

Bazele informaticii economice 1

Universitatea TRANSI LVANI A din Braov


Facultatea de tiine Economice i Administrarea Afacerilor







Bazele informaticii
economice

SUPORT DE CURS
PENTRU
NVMNT LA DISTAN


Prof. Dr. Dorin Lixndroiu
Lector dr. Radu Lixndroiu



Braov
2011



2 Curs pentru nvmnt la distan



Introducere



Obiectivele cursului
Principalul obiectiv al cursului este de a nelege locul i rolul informaticii ntr-o
organizaie. Prezentarea principalelor elemente definitorii ale conceptelor sistem
informaional / sistem informatic va permite nelegerea importanei activitilor de
culegere, prelucrare, transmitere i stocare a informaiei economice n procesul
decizional.
Un alt obiectiv l reprezint nelegerea arhitecturii calculatoarelor din punct de
vedere hardware i software. Dup o descriere succint a evoluiei sistemelor de
calcul, se prezint structura general a unui calculator tip von Neumann, iar apoi se
regsesc elementele structurale n analiza unui calculator personal (PC). Dup
structura hardware, se prezint conceptele de sistem de operare i reea de
calculatoare.
Alte obiective sunt: prezentarea i explicarea algoritmilor, a tabelelor de decizie
percum i opreaiile care se pot efectua la nivelul structurilor de articol i fiier.


Competene conferite
Dup parcurgerea acestui curs studenii vor nelege urmtoarele concepte:
de informaie i entropie, noiunea de sistem. sistem cibernetic, sistemul
informaional, sistemul informatic, calculatoare personale, sisteme de operare,
reele de calculatoare, limbajul algoritmic, analiza algoritmilor, tabele de decizie
structuri elementare de date, algoritmi fundamentali, structura de articol i fiier,
operaii de prelucrare (gestiune) a fiierelor




Resurse i mijloace de lucru
Mijloace informatice necesare parcurgerii materialului i rezolvrii testelor:
Windows Explorer, Microsoft Word, Microsoft Excell, Microsoft Power Point.


Structura cursului
- numrul de Uniti de nvare (UI) ce compun cursul: 4
- numrul temelor de control 8
- locul, n cadrul materialului, n care se gsesc formulate temele de
control la sfaritul unitilor de nvare
- modul de transmitere al temelor de control ctre cadrul didactic i,
respectiv, a rezultatelor ctre studen -(prin ncrcarea pe platforma
eLearning, material tiprit, etc.


Discipline deservite
Analiza i Proiectarea Sistemelor Informatice
Baze de Date
Pachete de Programe de Contabilitate
Tehnologia Informatiei
Programarea Calculatoarelor


Bazele informaticii economice 3



Durata medie de studiu individual 15 ore
.


Evaluarea
Se va specifica componena notei finale:
ponderea evalurii finale (examen) 50%
ponderea proiectelor de laborator 50%







































4 Curs pentru nvmnt la distan



CUPRINS


Unitatea de nvare 1. INFORMAIE, ENTROPIE, SISTEM INFORMATIC .................................. 5
Unitatea de nvare 2. ARHITECTURA CALCULATOARELOR .................................................... 27
Unitatea de nvare 3. ALGORITMI ..................................................................................................... 60
Unitatea de nvare 4. ORGANIZAREA DATELOR N FIIERE .................................................. 111
PROBLEME PROPUSE........................................................................................................................ 122
Bibliografie.............................................................................................................................................. 139































Bazele informaticii economice 5


Unitatea de nvare 1. INFORMAIE, ENTROPIE,
SISTEM INFORMATIC




Introducere
Principalul obiectiv al capitolului este de a nelege locul i rolul informaticii ntr-o
organizaie. Sunt prezentate conceptele de informaie, entropie, sistem i sistem
cibernetic, care vor ajuta la abordarea ntr-o viziune sistemic a tuturor activitilor
dintr-o organizaie. Prezentarea principalelor elemente definitorii ale conceptelor
sistem informaional / sistem informatic va permite nelegerea importanei
activitilor de culegere, prelucrare, transmitere i stocare a informaiei economice
n procesul decizional.



Competenele unitii de nvare
Dup parcurgerea acestei pri studenii vor nelege urmtoarele concepte:
de informaie i entropie
noiunea de sistem. sistem cibernetic.
sistemul informaional
sistemul informatic



Durata medie de parcurgere a primei uniti de nvare este de 4 ore.


1.1.Conceptele de informaie i entropie
[BVB97], [DOD87], [GER97], [LIX94], [NIR96], [POP86], [PUR88]

Prin organizaie nelegem dou sau mai multe persoane asociate n vederea
realizrii unui scop productiv sau de servicii. Orice organizaie pentru a funciona are
nevoie de resurse: materiale, financiare, umane (resurse vizibile) i informaionale
(resurse invizibile).
Secolul XX marcheaz trecerea de la societatea industrial, n care producia de
baz este producia industrial, iar resursa strategic este capitalul, la societatea
informaional, n care producia de baz este cea intelectual, iar resursa cea mai
important este informaia.

Avantajul competitiv real se obine de surse invizibile, adic din informaii sau
circuite informaionale, resursele vizibile pot fi cumprate sau copiate rapid, cele
invizibile se acumuleaz ns n ani (Hiroyouki Itami).

Noiunile de dat i informaie se consider n vorbirea curent ca fiind
sinonime, ele ns difer esenial. Se remarc dou moduri de abordare:

6 Curs pentru nvmnt la distan



A) se consider noiunea de baz cea de informaie, iar cea de dat deriv din aceasta;
B) noiunea de baz este cea de dat, iar informaia se consider ca derivat din
aceasta.
A) Noiunea de informaie este complex, de mare generalitate i se ridic la
nivelul noiunii de materie. Nu i s-a putut da nc o definiie unitar, fiind
considerat un concept primar, la fel cum n matematic exist noiunea
fundamental de mulime. Informaia este una din cele trei forme de manifestare
ale materiei, alturi de substan i energie. n general, se identific trei nivele la
care poate fi analizat informaia: sintactic, semantic i pragmatic.

1. Nivelul sintactic se refer la sistemul de semne i reguli de reunire a acestora
n construcii sintactice utilizate pentru reprezentarea informaiei n procesul culegerii,
transmiterii i prelucrrii acesteia.
n informatic modelul de reprezentare a informaiei este data. Conceptul de dat,
corespunznd nivelului sintactic, poate fi definit n notaia BNF (Backus-Naur-Form),
astfel:
<dat> = <identificator> <atribut> <valoare>

Din definiia noiunii de dat n informatic, se observ c ea cuprinde i noiunea de
valoare, dar presupune n plus elementul de reprezentare i manipulare, adic o
modalitate simbolic de exprimare i un sistem de reguli de transformare a acesteia, prin
care se pot obine noi date.
Deosebirea dintre informaie i dat este echivalent cu deosebirea dintre obiect
i modelul su. Informaia i data se pot utiliza ca sinonime numai n msura n care
convenim s identificm obiectul prin modelul su.

2. Nivelul semantic presupune trecerea de la structur la sens. Sub aspect
semantic, informaia poate fi caracterizat, de fapt, ca semnificaia datelor. Sensul
informaiei la nivel semantic este corespondena dintre o dat i obiectul real sau situaia
pe care o reprezint aceast dat.

3. Nivelul pragmatic este cel mai concret nivel de considerare a informaiei,
singurul care raporteaz informaia la scopurile receptorului. n raport cu necesitile
receptorului se definesc caracteristici, ca importana sau utilitatea informaiei.
Abordarea pragmatic include problemele de management, de necesar de informaii i
de eficien a sistemelor informaionale, care constituie baza lurii deciziilor. Actul
managerial de utilizare a informaiilor n procesul decizional este considerat o art. De
aceea, aspectul pragmatic al informaiei este n acest moment neformalizabil.

B) Activitatea uman, n cele mai diverse forme ale sale a fost ntotdeauna
caracterizat prin entiti faptice exprimate fie sub form de valori numerice, fie
ca percepii sau observaii nenumerice. Aceste entiti faptice independente i
neevaluate existente n general n numr nelimitat se numesc date.

Din acest material informaional brut, printr-un proces de transformare i prelucrare
(evaluare, selectare, ordonare) se obin informaii. Deci, datele reprezint materia prim
din care se obin informaiile.

Bazele informaticii economice 7


Informaiile la rndul lor constituie baza raionamentelor, experimentrilor,
imaginate n scopul obinerii de noi cunotine. n figura 1.1 se prezint acest proces
care ncepe cu achiziionarea datelor i se ncheie cu nregistrarea de noi cunotine

n informatica economic nivelul dat-informaie este considerat un prim nivel. Nivelul
cunotinelor reprezint un al doilea nivel, rezultat din informaii derivate din alte
informaii pe baz de raionamente i/sau experimentri.

Cunotina este conform lui Peter Drucker informaia care schimb ceva sau
pe cineva fie devenind baza unor aciuni, fie permind unei persoane sau organizaii
s acioneze diferit sau mai eficace.
Cunotina include capacitatea de a evalua informaia ntr-un sens sau scop. A
avea cunotine sau abilitatea de a efectua sarcini complexe, presupune mai mult dect a
avea o list de instruciuni sau informaii necesare; se cere abilitatea manipulrii
informaiilor sau a sarcinilor.

Comentariu. Nu orice informaie este cunotin, aa cum nu orice cunotin este de
valoare pentru o organizaie. Tocmai acesta este i obiectivul principal al noului
domeniu legat de gestiunea conotinelor, Knowledge Management (KM), de a gsi
cunotinele de valoare n masa de informaii.
KM poate fi considerat ca fiind o form de implementare a schimbrii
organizaionale, care const n a nregistra cunotinele (att la nivel individual ct i la
cel instituional) i apoi a le pune n comun n scopul de a ameliora capitalul intelectual
al unei organizaii.
Cel mai frecvent tip de definiie descrie KM ca un set de procese dirijate ctre
crearea captura stocarea punerea n comun aplicarea reutilizarea
cunotinelor (ex: Sydanmaanlakka, 2000).
Aceast definiie prezint KM ca implicnd un set oarecum mecanic i secvenial de
etape i se focalizeaz asupra cunotinelor explicite n detrimentul conotinelor tacite.
O alt definiie care prezint mai bine caracterul complex al KM este:
identificarea, optimizarea i gestiunea activ a bunurilor intelectuale, fie sub forma
cunotinelor explicite coninute n artefacte, fie a cunotinelor tacite aparinnd
indivizilor sau comunitilor (Snowden, 2000).
(Not. Artefact, conform Dicionarului enciclopedic, vol.I, 1993, pag. 117, este un
produs artificial sau accidental ntlnit n observarea i experimentarea unui fenomen
natural.)
Raionamente / Experimentri
Utilizare
Date Prelucrare Informaii
Cunotine
Figura 1.1

8 Curs pentru nvmnt la distan



Optimizarea cunotinelor explicite presupune consolidarea i punerea la dispoziia
indivizilor de diverse artefacte. Optimizarea cunotinelor tacite se realizeaz prin
crearea de comuniti care dein, pun n comun i dezvolt acest tip de cunotine.
Gestiunea activ a bunurilor intelectuale const n crearea de infrastructuri i de procese
de management, pentru a reuni artefactele i comunitile ntr-o dinamic comun, care
va susine crearea, utilizarea i meninerea capitalului intelectual. Aceast definiie are
meritul de a recunoate c demersul KM se adreseaz att cunotinelor explicite ct i
celor tacite, precum i interaciunii ntre cele dou i de a lua n considerare
mecanismele care permit acest lucru.

n informatica economic, datorit preocuprii centrale asupra aspectelor
pragmatice ale informaiei, se consider sinonime conceptele de informaie i dat.
Nivelul pragmatic reflect cel mai fidel mecanismul procesului de cunoatere. Procesul
de cunoatere se realizeaz n timp prin acumularea treptat de informaii despre
obiectul cunoaterii. La un moment dat, cunotinele reprezint totalitatea informaiilor
dobndite anterior tezaurul la care trebuie raportat rezultatul oricrui proces de
informare.
La limit sunt posibile urmtoarele situaii:
- Procesul de informare este nul, dac informaia respectiv face parte din tezaurul
receptorului, adic a devenit o cunotin;
- Procesul de informare este maxim, dac intersecia ntre coninutul tezaurului i cel
al informaiei este vid.

Informaiile se pot clasifica dup mai multe criterii:
natur: cantitative, calitative;
situarea n timp: active, pasive, previzionale;
modul de apariie: la intervale precizate, la cerere, ocazionale;
coninut: elementare, complexe, sintetice;
frecven: continue (n timp real), anuale, trimestriale, lunare, zilnice etc.;
nivel: strategic, tactic, operaional;
origine: interne, externe.

O aceeai informaie poate avea utiliti diferite pentru receptori diferii,
depinznd de gradul cunoaterii anterioare, ca i de poziia receptorului n raport cu
obiectul.
Gradul de utilitate a informaiei i eficacitatea utilizrii acesteia n procesul
decizional sunt determinate de indici de calitatespecifici:
a) oportunitatea sau actualitatea exprim faptul c o informaie este util
ntr-un anumit moment, legat de desfurarea n timp a unor fenomene i
care impun luarea unor decizii;
b) precizia sau acurateea este msurat prin cantitatea de informaie corect
n raport cu ntregul volum de informaii produs ntr-o perioad de timp;
c) completitudinea exprim necesitatea de a dispune de ct mai multe
informaii care s acopere aria dorit de factorul decizional;
d) relevana exprim necesitatea ca informaiile achiziionate s poat furniza
cunotinele care lipsesc n procesul decizional; n multe situaii este dificil
s se spun la un moment dat dac o informaie este sau nu relevant;

Bazele informaticii economice 9


e) conciziunea exprim necesitatea ca informaiile s aib o exprimare
succint, concentrat, adic un anumit nivel de agregare necesare procesului
de luare a deciziilor.

Contribuii la msurarea utilitii informaiei aduce matematicianul romn Silviu
Guiau, care introduce n 1968 entropia ponderat, analoag conceptului de utilitate
introdus de John von Neumann i Oskar Morgenstern n 1944.
Pentru a opera cu noiunea de informaie, pe lng evaluarea calitativ este
necesar i o exprimare cantitativ.
Bazele teoriei matematice a informaiei au fost puse de Claude Shannon n
1948, prin lucrarea A Mathematical Theory of Communication. Se consider o
mulime de evenimente
n 2 1
e , , e , e care sunt rezultatele posibile ale unui experiment
oarecare X. Probabilitile de realizare ale acestor evenimente vor fi notate
( )
n 2 1
p , , p , p .
Se presupune c sistemul de evenimente ( )
n 2 1
e , , e , e este un sistem complet de
evenimente, adic n urma efecturii experimentului X se va obine ca rezultat unul din
evenimentele elementare
n 2 1
e , , e , e . Matematic, aceasta se exprim prin relaiile:

1 p ; n , , 2 i , 0 p
i
n
1 i
i
= = >
=


(1.1)
n acest mod, experimentul X pune n eviden un cmp finit de probabilitate
( ) | | e p e X , , , care se mai poate nota prin repartiia variabilei aleatoare discrete:

|
|
.
|

\
|
n 2 1
n 2 1
p p p
e e e
: X



(1.2)

Expresia (1.2) evideniaz faptul c experimentul X conine un anumit grad de
nedeterminare att timp ct rezultatul lui nu este cunoscut.
ntre informaie i nedeterminare exist o strns legtur. Cu ct
nedeterminarea de la nceputul experimentului este mai mare, cu att este mai mare
informaia care se obine dup efectuarea experimentului.
Cantitativ, cele dou concepte pot fi identificate i deci msurate n acelai mod,
dar trebuie privite separat n ceea ce privete sensul de variaie i semnificaia fiecruia.
Ca semnificaie, informaia este eliminarea unei nedeterminri (incertitudini),
iar cantitatea de informaie a unui eveniment msoar cantitatea de nedeterminare
(incertitudine) asupra producerii lui.
Realizarea evenimentului
i
e , furnizeaz o cantitate de informaie ( )
i
e I . Intuitiv,
informaia adus prin producerea evenimentului
i
e este cu att mai mare cu ct
probabilitatea acestuia ( )
i
p este mai mic.

Definiia 1.1. Se numete entropie Shannon a variabilei aleatoare X, mrimea:
( ) ( )
i 2 i
n
1 i
n 2 1 n
p log p p , , p , p H X H = =
=


(1.3)


10 Curs pentru nvmnt la distan



Termenul de entropievine din limba greac (en - n, tropo conversiune,
involuie, transformare, schimbare) i a fost introdus n termodinamic de
fizicianul german Rudolf Clausius n 1850, pentru a indica gradul de ireversibilitate a
transformrilor energiei ntr-un sistem nchis.
Observaie. ( ) X H este cantitatea medie de informaie obinut prin
efectuarea experimentului cu n rezultate posibile, descris de variabila aleatoare X.
( ) X H se mai numete entropie informaional.
Ca unitate de msur a cantitii medii de informaie a fost acceptat bit-ul
(BInary digiT cifr binar). Un BI T reprezint cantitatea de informaie obinut prin
apariia unui eveniment din dou egal probabile.
Entropia informaional care se obine prin precizarea uneia din cele dou cifre
echiprobabile 0 i 1 ale sistemului binar, cu repartiia:

|
|
.
|

\
|
2 / 1 2 / 1
1 0
: X


se poate calcula dup relaia (1.3) astfel:

( ) BIT 1
2
1
log
2
1
2
1
log
2
1
p log p
2
1
,
2
1
H X H
2 2 i i
2
1 i
2
= = =
|
.
|

\
|
=
=



Ca multipli se utilizeaz:
1 byte (octet) = 2
3
bits = 8 bits
1 KB (kilo byte) = 2
10
bytes = 1024 bytes
1 MB (mega byte) = 1024

KB = 2
20
bytes
1 GB (giga byte) = 1024 MB = 2
30
bytes

Proprieti ale entropiei

1) Entropia, ca orice msur, este nenegativ
( ) 0 p , , p , p H
n 2 1 n
>
(1.4)

2) Dac 1 p
i
= i 0 p
k
= pentru i k = i n k 1 s s , atunci:
( ) 0 p , , p , p H
n 2 1 n
=

n situaia n care un eveniment este sigur, celelalte sunt imposibile; deci nu exist nici o
incertitudine i informaia medie este nul.

3) Entropia satisface inegalitatea:
( ) n log
n
1
, ,
n
1
,
n
1
H p , , p , p H
2 n n 2 1 n
=
|
.
|

\
|
s

(1.5)
Dac toate evenimentele sunt egal probabile entropia este maxim i informaia medie
crete logaritmic cu numrul de evenimente n. Numrul n de evenimente independente
semnific varietatea sistemului, adic numrul su de grade de libertate.



Bazele informaticii economice 11





1.2. Noiunea de sistem. Sistem cibernetic.
[BCB82], [SCA97a], [SCA97b]

Conceptele i metodele specifice teoriei generale a sistemelor i gsesc o larg
aplicabilitate n diverse domenii ale teoriei i practicii economice.
Concepia sistemic ofer bazele unei abordri integrale a fenomenelor
cercetate, tratnd ntregul ca o entitate unitar i nu ca o simpl alturare de elemente
componente.
Viziunea sistemic permite evidenierea unor determinri calitative pe care nu le
posed nici una din componente luate separat.
Conceptul de sistemapare n filosofia antic greac. Aristotel (384-322 .Hr.)
afirmnd c ntregul este mai mult dect suma prilor, d o prim definiie noiunii
de sistem, care se va dezvolta i va evolua timp de peste dou mii de ani, pentru a
ajunge la forma actual de abia la nceputul secolului XX.
Biologul austriac Ludwig von Bertalanffy (1901-1973) public ntre anii 1928-
1950 o serie de lucrri punnd bazele teoriei generale a sistemelor (TGS). Conform lui
L. von Bertalanffy sistemul este format dintr-o mulime de elemente aflate ntr-o
interdependen nentmpltoare.

Definiia 1.2. Prin sistem se nelege orice seciune a realitii n care se
identific un ansamblu de fenomene, obiecte, procese, concepte, fiine sau grupuri,
interconectate printr-o mulime de relaii reciproce, precum i cu mediul nconjurtor i
care acioneaz n comun n vederea realizrii unor obiective bine definite.

Dac un sistem poate fi descompus n minimum dou pri, n care se pot
identifica intrri i ieiri, astfel nct ieirile unei pri s constituie intrri pentru
cealalt parte, aceste pri se numesc subsisteme.
ntre elementele (subsistemele) unui sistem exist interaciuni sau conexiuni
(legturi endogene). Un sistem poate stabili conexiuni externe (legturi exogene) cu alte
sisteme sau elemente din mediul nconjurtor.
Structura sistemului reprezint ansamblul format din elementele (subsistemele)
unui sistem i conexiunile interne ale acestora. Structura unui sistem asigur coerena
lui intern i stabilete limitele sistemului.
Starea sistemului este dat de mulimea caracteristicilor sistemului msurat la
un anumit moment de timp. Starea reprezint o msur a evoluiei sistemului la
momentul t.
Starea iniial este starea sistemului la momentul
0
t , un moment arbitrar ales ca
moment iniial.
Starea final este starea sistemului la momentul
n
t considerat ca moment final.
Traiectoria de evoluie a sistemului este definit de mulimea strilor
intermediare ale sistemului cuprinse ntre starea iniial i starea final (dac exist).
Comportamentul general al sistemului este un ansamblu rezultat din
comportamentul intern (modificarea strii sistemului datorit factorilor interni) i
comportamentul extern (modificarea strii n urma aciunii unor perturbaii externe).

12 Curs pentru nvmnt la distan



Principalele concepte prezentate n definirea sistemului general se identific la
nivelul firmei astfel:
elementele sunt mainile, utilajele, mijloacele de transport, cldirile, oamenii
etc.;
conexiunile sunt date de legturile (fluxurile) materiale, monetare, umane i
informaionale care se stabilesc ntre elementele (subsistemele) firmei sau cu
sisteme aflate n mediul nconjurtor (furnizori, beneficiari, bnci, guvern .a.);
starea sistemului este reprezentat de valorile variabilelor de nivel: producia,
stocurile, capitalul, numrul de personal, volumul afacerilor .a.;
traiectoria de evoluie a firmei este dat de succesiunea de stri de-a lungul unei
perioade de timp; de exemplu traiectoria de evoluie poate fi analizat ntre
starea iniial, ceea de la nceputul anului i terminnd cu starea final, cea de
la sfritul anului respectiv;
comportamentul general al firmei este evideniat de forma traiectoriei de
evoluie i poate fi monoton (cresctoare, descresctoare, constant), oscilant
(amortizat, exploziv sau cu amplitudine constant) sau haotic. Acest
comportament este influenat de comportamentul intern (productivitatea,
funcionarea mainilor i utilajelor, decizia managerial .a., conduc la variaii
ale volumului produciei i stocurilor), precum i de comportamentul extern
modificarea strii firmei se poate datora unor cauze externe: cererea pe pia,
concurena, livrrile furnizorilor, falimentul unor bnci .a.).

Conceptul de cutie-neagr (black-box) abordeaz comportamentul sistemului
prin prisma intrrilor i ieirilor, fcnd abstracie de procesele sale interne (figura 1.2).
Transformarea vectorului de intrare X n vectorul de ieire Y se realizeaz cu
ajutorul funciei de transformare :
( ) X Y =


Observaie. Sistemul este caracterizat de ieiri care rspund intrrilor n sistem,
dar ieirile sunt izolate de intrri i nu au nici o influen asupra acestora. Rezultatele
aciunii trecute nu comand aciunea viitoare.
Sistemul devine cibernetic atunci cnd apare reglarea (conexiune invers,
feedback) (figura 1.3).

S
R
x y
Figura 1.3
x
S
y
Figura 1.2

Bazele informaticii economice 13


n cazul n care apar diferene ntre vectorul ieirilor (Y) i vectorul obiectivelor
propuse (Z), mecanismul de reglare va genera mrimea de reglare ( ) x A n scopul de a
aduce ieirile (Y) la nivelul obiectivelor stabilite. Din relaia ( ) x x Z A + = se poate
determina vectorul de reglare x A .

Se deosebesc dou clase de sisteme cu conexiune invers:
a) Sisteme cu conexiune invers negativ au un obiectiv, iar evoluia lor este o
consecin a neatingerii acestui obiectiv; rolul conexiunii este de a echilibra anumite
mrimi, limitnd cauzalitatea intrare ieire. De exemplu: un ceas i posesorul lui,
formeaz un sistem cu conexiune invers negativ cnd ora indicat de ceas este
comparat cu ora exact, care este luat ca obiectiv, iar ceasul este potrivit pentru a
elimina erorile.
b) Sisteme cu conexiune invers pozitiv ieirea influeneaz intrarea n sensul
accenturii cauzalitii intrare ieire: aceasta genereaz procese de cretere, n care
rezultatul unei aciuni produce o amplificare continu a aciunii. De exemplu:
beneficiile obinute sunt investite n dezvoltare: rezult un spor de producie, de
beneficii etc.

Termenul de cibernetic (n grecete kybernetes = navigator, crmaci) a fost
utilizat prima oar de matematicianul american Norbert Wiener (1894-1964) n titlul
crii sale Cibernetica, sau comanda i controlul la fiine i maini aprut n 1948.
Ideea de baz de la care a pornit Norbert Wiener a fost aceea c toate sistemele
de comand i control (sistemele de conducere), indiferent de natura lor, au o structur
principial unic, constnd din existena a dou legturi ntre sistemul de conducere i
sistemul condus: o legtur direct prin care se transmit comenzile i deciziile de la
sistemul de conducere ctre sistemul condus i o legtur invers (feedback) prin care se
transmit informaiile de urmrire i control de la sistemul condus spre sistemul de
conducere (figura 1.4).

Not. Unele dintre ideile ciberneticii au fost enunate nc din anul 1938 de medicul
romn tefan Odobleja, n lucrarea sa publicat la Paris Psychologie consonnantiste.


Termenul de cibernetic economic apare pentru prima oar n lucrrile lui V.
Nemcinov, O. Lange, G. Grenievski i t. Beer. n lucrarea sa Introducere n
Sistem de
conducere
Sistem
condus
Program de
conducere
Intrri
legtur direct
Ieiri
legtur invers
Figura 1.4

14 Curs pentru nvmnt la distan



cibernetic economic, economistul polonez Oskar Lange arat c cibernetica
economic analizeaz economia, structura i funcionarea prilor sale componente ca
sisteme, n care au loc procese de conducere bazate pe micarea i transformarea
informaiei.

Proprietile sistemelor cibernetice se mpart n dou clase mari:
A. proprieti general sistemice;
B. proprieti specifice cibernetice.

PROPRIETI GENERAL SISTEMICE

A1. Sistemul cibernetic este un SISTEM DINAMIC. Structura i/sau comportamentul
sistemului cibernetic se modific n timp ca urmare a aciunii unor perturbaii externe
sau ca efect al unor cauze interne.

A2. Sistemul cibernetic este un SISTEM DESCHIS. Un sistem deschis este caracterizat de
faptul c are conexiuni neneglijabile cu alte sisteme din mediul ambiant. Aceste
conexiuni sunt de dou tipuri, n raport cu direcia lor: intrri n sistem i ieiri din
sistem.

A3. Sistemul cibernetic este un SISTEM DE DIMENSIUNI MARI. Un sistem mare este
caracterizat de numrul mare al elementelor componente i de varietatea legturilor
dintre acestea.

A4. Sistem cibernetic este un SISTEM COMPLEX. Complexitatea este dat de dimensiuni,
de numrul conexiunilor dintre elemente, de intensitatea acestora, de costul realizrii i
ntreinerii sistemului respectiv.

PROPRIETI SPECIFIC CIBERNETICE.

Aceste proprieti constituite principiile generale ale organizrii i funcionrii
sistemelor cibernetice.
B1. LEGEA VARIETII NECESARE (Ross Ashby)
Varietatea la ieirea (outputul) unui sistem poate fi modificat doar printr-o varietate
suficient la intrarea (inputul) acestuia.

Comentariu. Constrngerea apare ca o relaie dintre dou mulimi de obiecte
(elemente, subsisteme) care determin reducerea varietii dintr-o mulime datorit
varietii din cealalt mulime. Intensitatea unei constrngeri este cu att mai mare cu
ct ea determin o reducere mai mare a varietii. Constrngerile iau de regul forma
legilor. Orice lege a naturii reprezint o constrngere, ntruct ea este un invariant al
sistemelor din natur, care limiteaz varietatea fenomenelor naturale. n sistemele
economice legile au caracter mai general, deci constrngerile sunt mai slabe.
Gradele de libertate asociate unui sistem exprim raportul dinamic dintre
varietate i constrngere cu ct numrul de grade de libertate este mai mare, cu att
varietatea acestuia este mai mare i n consecin, constrngerea la care este supus
sistemul este mai mic.


Bazele informaticii economice 15


B2. LEGEA CONEXIUNILOR INVERSE (N. Wiener)
Orice sistem cibernetic conine cel puin o bucl invers (feedback).
Comentariu. O bucl feedback este un circuit nchis de relaii ntre diferite variabile
care definesc un sistem. Orice modificare ntre anumite limite, a unei variabile ce
intervine n acest circuit, determin un lan de reacii care n final realizeaz modificarea
din nou a variabilei iniiale. Sistemul cibernetic i asigur supravieuirea i integritatea
o anumit perioad de timp cu ajutorul structurii de feedback existente n procesele de
autoreglare. Cunoaterea i reprezentarea structurii buclelor feedback dintr-un sistem
reprezint o modalitate de a reflecta conexiunile interne i/sau externe, precum i
principalele fluxuri prin care aceste conexiuni determin modificri n sistem

B3. PRINCIPIUL SINERGIEI (Hacken)
Efectul total al interaciunilor i interdependenelor dintr-un sistem este neaditiv n
raport cu efectele locale.

Comentariu. Termenul de sinergie (n grecete sunergia = cooperare) definete
(conform dicionarului Larousse) asocierea mai multor aciuni care conduc la un efect
unic cu economie de mijloace.
Fie S un sistem format din n subsisteme
n
s s s , , ,
2 1
.
Atunci:

( ) ( ) ( )
n 2 1 i
n
1 i
s , , s , s s W S ES A + =
=


(1.6)

unde:
( ) S ES - efectul sinergic integral al sistemului S ;
( ) s W - efectul sinergic al subsistemului
i
s determinat prin funcionarea
sa izolat;
(s
1
, s
2
,..., s
n
) - efectul sinergic determinat de funcionarea interdependent a
subsistemelor sale componente. (s
1
, s
2
,..., s
n
) poate fi o valoare
pozitiv sau negativ, adic efectul sinergic poate avea un efect
complementar pozitiv determinnd o amplificare a efectului
integral sau negativ, micornd efectul integral.

n sistemul economice reale exist posibilitatea utilizrii favorabile a efectelor sinergice
dac sunt orientate n aa fel nct s determine amplificarea efectului total.

B4. PRINCIPIUL COMPLEMENTARITII EXTERNE
Orice sistem cibernetic constituie un element (subsistem) al cel puin unei bucle
feedback dintr-un sistem cibernetic de ordin superior.

Comentariu. Acest principiu arat c orice sistem cibernetic este un subsistem al unui
alt sistem cibernetic de ordin superior. Orice sistem cibernetic poate fi analizat ca sistem
izolat doar n mod formal, el fiind, prin intermediul intrrilor i ieirilor sale n
interaciune cu alte sisteme cibernetice.

B5. LEGEA ENTROPIEI NEGATIVE

16 Curs pentru nvmnt la distan



n sistemele cibernetice exist tendina ca sintropia informaional s creasc i
entropia informaional s scad.
Comentariu. Conceptul de sintropie reprezint tendina de cretere a ordinii. n
sistemele cibernetice organizarea i funcionarea subsistemelor componente ca i a
ntregului sistem se pot considera dependente de cantitatea de informaie existent: cu
ct entropia informaional este mai mic cu att cantitatea de informaie acumulat este
mai mare i deci, sintropia informaional crete. Sistemele cibernetice au proprietatea
c i pot pstra i chiar mri gradul de organizare pe msur ce acumuleaz i utilizeaz
informaia existent n mediul nconjurtor.

n economia real exist o mare diversitate de sisteme care au proprietile
sistemelor cibernetice. Dup funcia ndeplinit de sistem n cadrul economiei naionale
avem:
a) sistemul cibernetic al productorului;
b) sistemul cibernetic al consumatorului;
c) sistemul guvernamental (sectorul public);
d) sistemul relaiilor externe (sectorul extern).

De exemplu, sistemul cibernetic al productorului are ca funcie esenial
formarea ofertei agregate pe piaa bunurilor i serviciilor, precum i cererea pe piaa
factorilor de producie (figura 1.5).




Sistemul guvernamental (Guvernul sau Sectorul public) constituie un sistem cu
un rol special de reglare i control al activitii economice generale.
Guvernul propune i creeaz cadrul general necesar desfurrii activitii
celorlalte sisteme cibernetice, stabilete norme de comportament pentru acestea, dar
realizeaz i anumite activiti care nu pot fi ndeplinite de loc sau n mod eficient de
nici un alt sistem cibernetic (de exemplu lucrri de interes naional: sistemul de
autostrzi, porturi, aeroporturi etc.).
Pentru a-i exercita aceste funcii, Guvernul percepe de la agenii economici
productori i consumatori impozite i taxe, care constituie venitul su.


Piaa bunurilor i
serviciilor
Sistemul cibernetic
al productorilor
Piaa factorilor de
producie
Oferta de
produse
Cererea de
factori de
producie
Preurile produselor
Preurile factorilor
Serviciile
factorilor
Venit
total
Inputuri
outputuri
Figura 1.5 Sistemul cibernetic al productorului ([SCA97a])


Bazele informaticii economice 17




El realizeaz cheltuieli guvernamentale pentru produse i servicii de interes
public (educaie, sntate, aprare .a.), dar poate i transfera o parte din venituri direct
agenilor economici sau indivizilor sub forma de pli nereturnabile (pli transferabile).



1.3. SISTEMUL INFORMAIONAL
[JOR95], [KOH90], [LIX94], [NIR96], [OPR99], [POP86]

n structura oricrei organizaii (firme) se pot identifica trei sisteme corelate ntre ele
(figura 1.7):



Sistemul operaional (condus, de execuie) cuprinde toate activitile firmei
legate de producie, cutare de noi clieni etc., n general toate activitile de execuie
pentru realizarea obiectivelor fixate de sistemul decizional.
Elementele sistemului sunt constituite din: mijloace umane (personalul cu
responsabiliti exacte n execuia sarcinilor) i mijloace materiale (maini, linii de
producie, calculatoare etc.).
Sistemul decizional (de conducere) const din mulimea centrelor unde se
analizeaz informaiile i se elaboreaz deciziile. Regsim la acest nivel deciziile
strategice i tactice:
- pe termen mediu i lung (de exemplu, avnd ca obiective: creterea cotei
de pia, modificarea gamei de produse comercializate etc.);
- pe termen scurt (obiectivele pot fi de exemplu: lansarea unei campanii de
prospectare a clienilor n vederea promovrii unui nou model, modificarea
politicii de aprovizionare etc.)
Figura 1.6 Sistemul guvernamental ([SCA97a])

Piaa bunurilor i
serviciilor
Sistemul
guvernamental
Piaa financiar
Preurile produselor
Rata dobnzii
Cererea de bunuri i
servicii pt. consum
guvernamental
Pli transferabile
Impozite i taxe
Bunuri pentru
consum
guvernamental
mprumuturi
guvernamentale
Cererea de bani
pentru acoperirea
deficitului
Sistemul
informaional
Sistemul
operaional
Sistemul
decizional
Figura 1.7 Sistemele organizaiei

18 Curs pentru nvmnt la distan



Elementele sistemului sunt: mijloacele umane (persoanele din firm cu
responsabiliti n luarea deciziilor) i mijloace materiale (calculatoare, sisteme
interactive n sprijinul lurii deciziei bazate pe modele matematice etc.)
Sistemul informaional asigur legtura n ambele sensuri ntre sistemul
operaional i cel decizional. Pe de o parte pune la dispoziia sistemului decizional toate
informaiile necesare lurii deciziilor. Aceste informaii provin din sistemul operaional
i mediul nconjurtor (exterior organizaiei). Pe de alt parte permite transmiterea
informaiilor i a deciziilor luate la nivelul sistemului de conducere, sistemului
operaional sau factorilor interesai din mediul nconjurtor.

n schema din figura 1.8, se observ caracterul central al sistemului
informaional i rolul lui de interfa cu mediul nconjurtor.

Definiia 1.3. Sistemul informaional al unui organism economic reprezint ansamblul
informaiilor (utile sau nu, structurate sau nu, formale sau informale), canalelor de
circulaie, procedurilor (regulilor de gestiune) i mijloacelor de tratare a informaiilor
din cadrul respectivului organism.
Sistemul informaional asigur culegerea, prelucrarea, pstrarea i transmiterea
informaiilor necesare lurii deciziilor de ctre sistemul de conducere, n scopul
realizrii funciilor conducerii asupra sistemului condus.



Legturile i circulaia informaiilor n sistemul informaional, care definesc
fluxul informaional, sunt strns legate de strns legate de structura celorlalte dou
sisteme (sistemul de conducere i sistemul condus).
Sistemul firm
Sistemul
decizional
Sistemul
informaional
Sistemul
operaional
Mediul
nconjurtor
Fluxuri de bunuri
i servicii
Informaii
Figura 1.8

Bazele informaticii economice 19


Dimensiunea sistemului informaional este determinat de complexitatea i
modul de organizare a celorlalte dou sisteme, de obiectivele urmrite i de resursele
existente n unitatea economic.
Poziia de intermediar a sistemului informaional face ca obiectivul principal al
acestuia s fie asigurarea unei cuplri dinamice a sistemelor conductor i condus, prin
realizarea tuturor legturilor directe i inverse ntre ele, n condiiile unui mediu n
permanent evoluie.
Firma este un sistem cibernetic, avnd cu mediul nconjurtor schimburi sub
forma fluxurilor materiale, de personal, monetare i informaionale. Natura precis a
fluxurilor schimbate cu mediu depinde de scopurile finale ale firmei i de opiunile
strategice luate (de exemplu: gama de produse, piee deservite, canale de distribuie,
alegerea tehnologic, structura financiar etc.).
Fiecare din cele trei mari categorii de fluxuri: materiale, de personal i monetare
este tratat n interiorul sistemului firm de subsisteme care asigur funcii specifice.
Se disting urmtoarele subsisteme (figura 1.9);
- subsistemul logistic i de producie;
- subsistemul de marketing;
- subsistemul financiar-contabil;
- subsistemul de personal;
- subsistemul de control i gestiune strategic.


subsistemul de control
i gestiune strategic
Piee financiare
logistic
producie
subsistemul
i de
piaa forei de
munc
- concurena
- tehnologia
- legislaia
- evoluia cultural
ncasri
facturi
comenzi
livrri
pli
facturi
comenzi
livrri
studii pro-
moionale
subsistemul de
personal
(resurse umane)
subsistemul de
marketing
angajri
plecri
observaii studii
subsistemul
financiar-contabil
mprumuturi rambursri
Figura 1.9. Sistemul firm i principalele sale subsisteme
c
l
i
e
n

i

f
u
r
n
i
z
o
r
i


20 Curs pentru nvmnt la distan



Cele cinci subsisteme sunt n interaciune i au nivele proprii de reglare, care
corespund nivelelor ierarhice. La primele patru subsisteme (logistic i de producie,
financiar-contabil, marketing i personal) se disting:
- nivelul tranzacional unde se efectueaz operaii elementare;
- nivelul operaional unde se efectueaz operaii curente, putnd s intervin
un prim nivel de decizie.
n cadrul subsistemului de control i gestiune strategic ntlnim:
- nivelul tactic corespunde activitii de control;
- nivelul strategic unde se iau decizii pe termen lung sau care angajeaz
global firma.

Analiznd prin prisma teoriei informaiei, se poate afirma c sistemul
informaional al unei firme poate conduce la scderea entropiei i creterea gradului de
organizare.
Cu ct se obin mai multe informaii despre strile i modul de manifestare a
elementelor sistemului, cu att nedeterminarea sa este mai mic. Acest proces de
distrugere a entropiei unui sistem prin cunoaterea sa, se numete proces de negare a
entropiei, iar cantitatea de entropie distrus se numete negentropie.
Rezult c mrimea entropiei diminuate prin procesul cunoaterii reprezint
tocmai cunotinele noi obinute despre sistem, deci cantitatea de informaii rezultat din
procesul cunoaterii.
Numrul evenimentelor independente semnific varietatea sistemului, adic
numrul su de grade de libertate. Varietatea este un concept de baz al ciberneticii,
avnd rolul de a face legtura cu teoria informaiei prin legea: entropia maxim a unui
sistem este logaritmul varietii sale.
Domeniul de definiie al entropiei | |
max
H , 0 este variabil, n funcie de numrul
strilor posibile ale elementelor sistemului. Aceast variaie a domeniului de definiie
provoac greuti n compararea mrimii entropiei, respectiv a cantitii de informaii
coninut n dou sau mai multe sisteme ce difer ca numr de stri ale elementelor.
Pentru nlturarea acestui inconvenient se determin o mrime relativ a entropiei:

( )
( )
( ) X H
X H
X H
max
r
=

(1.7)
care va lua valori n intervalul [0,1].

Fa de entropia relativ se poate determina mrimea:
( ) ( ) X H 1 X
r
= O
(1.8)

care reprezint ponderea cantitii de informaii deinute despre sistem fa de entropia
sa n momentul iniial, cnd se prezenta sub forma unui sistem complet necunoscut.

Observaie: Mrimea ( ) X O poarte fi utilizat pentru definirea gradului de organizare
a unui sistem. Dac
max
H = constant, prin creterea gradului de organizare se obine o
reducere a entropiei informaionale.


Bazele informaticii economice 21


Perfecionarea sistemului informaional se realizeaz prin raionalizarea lui, care
cuprinde urmtoarele aspecte:
- sporirea calitii informaiei, astfel nct s rspund cerinelor enunate;
- circulaia raional a informaiei, prin continuitatea fluxurilor i
asigurarea legturilor inverse n reglarea traiectoriei sistemului;
- circulaia economic a informaiei prin eliminarea paralelismelor de
informare, a prelucrrilor repetate;
- construcia raional a suporilor de date primare prin tipizare i
standardizare;
- finalizarea informaiei printr-o decizie sau aciune;
- asigurarea unitii sistemului informaional prin abordarea integrat a
metodelor, tehnicilor i mijloacelor de tratare a datelor.

Principala modalitate de raionalizare a unui sistem informaional, este realizarea unui
sistem informatic.



1.4. SISTEMUL INFORMATIC
[JOR95], [OPR99], [NIR96]

Definiia 1.4. Sistemul informatic este un ansamblu coerent structurat, format din
echipamente electronice de calcul i comunicaie, procese, proceduri automate i
manuale, inclusiv structurile organizatorice i personalul care utilizeaz calculatorul ca
instrument n procesul de prelucrare a datelor.

Sistemul informatic este un sistem informaional n care operaiile de culegere, stocare,
prelucrare i transmitere a datelor se realizeaz cu calculatorul electronic. Orice sistem
informatic este grefat pe sistemul informaional la care se refer.

Not. Datorit dezvoltrii informaticii i tehnologiilor informaionale, n literatura de
specialitate strin nu se mai face distincie ntre cele dou concepte: sistem
informaional sistem informatic, folosindu-se n literatura anglo-american termenul
information system, iar n cea francez systme dinformation.

Elementele unui sistem informatic sunt:
1. Resursa fizic (hardware) este constituit din ansamblul de echipamente
pentru culegerea, transmiterea, prelucrarea i stocarea informaiilor.
2. Resursa logic (software) cuprinde totalitatea programelor care asigur
utilizarea optim a hardware-ului (sistemul de operare), precum i pachetele
de programe de aplicaii (de exemplu: sistemul de gestiune a bazelor de date,
programele de contabilitate etc.).
3. Baza de date constituie un ansamblu de date organizat n fiiere
interconectate.
4. Resursa uman i cadrul organizatoric cuprinde personalul de
specialitate (informaticieni), utilizatorii nespecialiti (toate persoanele care
utilizeaz un sistem informatic) i cadrul legislativ necesar funcionrii
sistemului informatic (de exemlu: legea contabilitii, codul fiscal etc.).

22 Curs pentru nvmnt la distan



Obiectivul principal al oricrui sistem informatic l constituie asigurarea
selectiv i n timp util a tuturor nivelelor de conducere cu informaiile necesare i reale,
pentru fundamentarea i elaborarea operativ a deciziilor cu privire la desfurarea ct
mai eficient a ntregii activiti din unitatea economic.
Sistemele informatice au urmtoarele particulariti:
- au un ciclu de via lung intervalul de timp de la nceperea lucrrilor de
realizare a unui sistem informatic pn la introducerea unui nou sistem este
mare;
- fac apel la o mare cantitate de date realizarea sistemelor informatice integrate
permite rspunsuri la cele mai variate cerine ale conducerii;
- sunt folosite de un numr mare de utilizatori situai de cele mai multe ori la
distan, lucrul posibil prin utilizarea reelelor de calculatoare i a noilor
tehnologii de comunicare;
- utilizeaz intens aparatul matematic- cercetarea operaional, analiza factorial,
teoria stocurilor, teoria ateptrii, teoria rennoirii etc.
- mbin utilizarea procedurilor automate cu procedurile manuale;
- datorit schimbrilor frecvente ale cerinelor utilizatorilor, sistemul informatic
trebuie s fie prevzut nc din faza de proiectare cu posibiliti rapide i simple
de modificare;
- sunt costisitoare datorit resurselor materiale pe care le solicit att n faza de
proiectare ct i n exploatare. Se apreciaz c ponderea componentei software
n cadrul preului unui sistem electronic de calcul este n cretere continu,
ajungnd la 80-90%.

Clasificarea sistemelor informatice poate fi fcut n raport cu gradul de
cuprindere al domeniului sistemului informaional, astfel:

a) sisteme informatice pariale realizeaz prelucrarea automat a datelor dintr-un
sector de activitate, de regul cel mai important;
b) sisteme informatice totale cuprind toate activitile informaionale i
prelucreaz toate datele cu calculatorul electronic; abordeaz sistemul ca fiind
suma unor subsisteme considerate ca entiti distincte care deservesc anumite
activiti, fr a evidenia legturile dintre ele; nu sunt recomandabile, deoarece nu
asigur n totalitate cunoaterea legturilor de cauzalitate dintre subsisteme i nu
permit utilizarea cea mai eficient a capacitii de prelucrare a calculatorului;
c) sisteme informatice integrate abordeaz global procesul de prelucrare a datelor
din cadrul sistemului informaional al firmei, reliefnd legturile de cauzalitate
dintre subsistemele acestuia. Se bazeaz pe principiul prelucrrii n toate modurile
utile a datelor primare introduse o singur dat n sistem. Rezultatele acestor
prelucrri vor fi utilizate apoi la toate nivelele de conducere n vederea analizei i
deciziei.
Structural, un sistem informatic integrat trebuie s cuprind toate componentele ce
corespund subsistemelor ntreprinderii. Modulele sistemului trebuie s asigure
funcionaliti specifice: contabilitatea financiar i de gestiune, planificarea i
controlul produciei, gestiunea aprovizionrii, vnzarea i distribuia,
managementul personalului, managementul calitii, managementul proiectelor,

Bazele informaticii economice 23


mentenana echipamentelor, managementul serviciilor, controlul ntreprinderii
(furnizarea de informaii pentru cel mai nalt nivel managerial).
Un rol important va trebui s-l aib analiza concepiei unitare de realizare a
produsului software tehnologia, arhitectura, mediul de dezvoltare i baza de
date folosit. Sunt importante de asemenea flexibilitatea, deschiderea i
adaptabilitatea. Acestea se refer la posibilitile oferite de sistemele integrate:
utilizare modular i apoi extindere n mai multe etape, adaptabilitate la cerinele
specifice ale benefiaciarului i integrarea aplicaiilor interne ale acestuia.
Deschiderea trebuie neleas i prin oportunitile de afaceri ce pot apare prin
utilizarea schimbului electronic de date informatizate i conectarea la reeaua
Internet. Un sistem informatic modern trebuie s integreze tehnologia Internet
Intranet, aceasta contribuind la mbuntirea comunicrii n interiorul
organizaiei. Dezvoltarea rapid a comerului electronic i legat de acesta a
cybermarketingului, va produce mutaii majore n viaa ntreprinderilor.
Fenomenul de globalizare a economiei are drept consecin imediat faptul c
activitile managerial i productiv vor trebui s se desfoare pe ct mai multe
piee i pentru un numr ct mai mare de clieni.

n cadrul oricrei firme se pot pune n eviden mai multe nivele de decizie (fig. 1.10).

La nivel stategic deciziile angajeaz organizaia de regul pe termen lung, ele
necesit un mare volum de informaii, majoritatea provenind din exterior
(mediul nconjurtor). Anumite informaii necesare lurii deciziilor rezult n
urma prelucrrii automate (curbe de evoluie, histograme, analize statistice,
analize macroeconomice etc.), dar cel mai frecvent prelucrarea informaiilor se
face manual.

Exemple:
1. Lansarea unui nou produs sistemul informatic de gestiune furnizeaz studii de
pia, rapoarte asupra costurilor etc.
2. Recrutarea personalului cu calificare superioar sistemul informatic furnizeaz
CV-urile candidailor, rapoarte grafologice, scrisori de recomandare etc.

La nivel tactic deciziile sunt mult mai frecvente; ele corespund adesea la
adaptarea sistemului la mediul nconjurtor sau la ncercarea de ameliorare a
funcionrii sistemului.

Exemple:
1. Alegerea unei noi politici de pre sistemul informatic de gestiune furnizeaz
elementele de contabilitate analitic ale fiecrui produs, rapoartele asupra
sondajelor fcute cu clieni etc.
2. Modificarea politicii de aprovizionare sistemul informatic evideniaz strile de
lips de stoc, o scrisoare a unui furnizor care refuz sau amn livrarea unei
comenzi etc.



24 Curs pentru nvmnt la distan




Fig. 1.10

La nivel operaional deciziile sunt zilnice; ele aparin frecvent personalului
operaional i utilizeaz n marea lor majoritate prelucrarea automat cu ajutorul
calculatorului.
Exemple:
1. Editarea unei somaii ctre un client debitor sistemul informatic de gestiune
furnizeaz automat lista clienilor debitori. Decizia const n a valida editarea
automat a somaiei.
2. Editarea unei facturi sistemul informatic de gestiune furnizeaz informaii
asupra cantitilor de produse comandate i asupra clientului. Operaia de facturare
se desfoar automat.
3. nregistrarea intrrilor n stoc sistemul furnizeaz bunurile de intrare validate.
nregistrare se poate face interactiv.

Concluzii:
1. n general se constat la nivelul organizaiei o lips de informaii utile i o mare
cantitate de informaii inutile. Rolul sistemului informatic este de a filtra din
volumul de informaii, numai pe acelea utile.
2. Sistemul informatic d posibilitatea mbuntirii procesului decizional prin
punerea la dispoziie a informaiei necesare la momentul oportun.
3. Fluiditatea informaiei i accesibilitatea contribuie, de asemenea, la mbuntirea
gestiunii organizaiei. n viziunea bazelor de date informaia trebuie s fie
accesibil tuturor celor care o solicit. Acest lucru se realizeaz prin utilizarea
limbajelor de interogare a bazelor de date.



Prezentai organizaia (firma) n care lucrai (sau o organizaie cunoscut)
ntr-o viziune sistemic prin identificarea principalelor concepte teoretice.
Realizai o sintez a sistemului informaional / informatic existent n
organizaia studiat. (Lucrarea va avea maxim 3 pagini A4, redactat n
Word, font TNR 12, line spacing: single).

Bazele informaticii economice 25






S ne reamintim...
Avantajul competitiv real se obine de surse invizibile, adic din informaii sau
circuite informaionale, resursele vizibile pot fi cumprate sau copiate rapid, cele
invizibile se acumuleaz ns n ani (Hiroyouki Itami).
Cunotina este conform lui Peter Drucker informaia care schimb ceva sau pe
cineva fie devenind baza unor aciuni, fie permind unei persoane sau organizaii
s acioneze diferit sau mai eficace.




Rezumat
Cunotina include capacitatea de a evalua informaia ntr-un sens sau scop. A avea
cunotine sau abilitatea de a efectua sarcini complexe, presupune mai mult dect a
avea o list de instruciuni sau informaii necesare; se cere abilitatea manipulrii
informaiilor sau a sarcinilor.

Optimizarea cunotinelor explicite presupune consolidarea i punerea la dispoziia
indivizilor de diverse artefacte. Optimizarea cunotinelor tacite se realizeaz prin
crearea de comuniti care dein, pun n comun i dezvolt acest tip de cunotine.
Gestiunea activ a bunurilor intelectuale const n crearea de infrastructuri i de
procese de management, pentru a reuni artefactele i comunitile ntr-o dinamic
comun, care va susine crearea, utilizarea i meninerea capitalului intelectual.
Aceast definiie are meritul de a recunoate c demersul KM se adreseaz att
cunotinelor explicite ct i celor tacite, precum i interaciunii ntre cele dou i de
a lua n considerare mecanismele care permit acest lucru.

Informaiile se pot clasifica dup mai multe criterii:
natur: cantitative, calitative;
situarea n timp: active, pasive, previzionale;
modul de apariie: la intervale precizate, la cerere, ocazionale;
coninut: elementare, complexe, sintetice;
frecven: continue (n timp real), anuale, trimestriale, lunare, zilnice etc.;
nivel: strategic, tactic, operaional;
origine: interne, externe.

Conceptul de sistem apare n filosofia antic greac. Aristotel (384-322
.Hr.) afirmnd c ntregul este mai mult dect suma prilor, d o prim definiie
noiunii de sistem, care se va dezvolta i va evolua timp de peste dou mii de ani,
pentru a ajunge la forma actual de abia la nceputul secolului XX.

Sistemul operaional (condus, de execuie) cuprinde toate activitile firmei legate
de producie, cutare de noi clieni etc., n general toate activitile de execuie
pentru realizarea obiectivelor fixate de sistemul decizional.
Elementele sistemului sunt constituite din: mijloace umane (personalul cu
responsabiliti exacte n execuia sarcinilor) i mijloace materiale (maini, linii de

26 Curs pentru nvmnt la distan



producie, calculatoare etc.).
Sistemul decizional (de conducere) const din mulimea centrelor unde se
analizeaz informaiile i se elaboreaz deciziile. Regsim la acest nivel deciziile
strategice i tactice:
- pe termen mediu i lung (de exemplu, avnd ca obiective: creterea
cotei de pia, modificarea gamei de produse comercializate etc.);
- pe termen scurt (obiectivele pot fi de exemplu: lansarea unei campanii
de prospectare a clienilor n vederea promovrii unui nou model,
modificarea politicii de aprovizionare etc.)


Sistemul informatic este un sistem informaional n care operaiile de culegere,
stocare, prelucrare i transmitere a datelor se realizeaz cu calculatorul electronic.
Orice sistem informatic este grefat pe sistemul informaional la care se refer.

Obiectivul principal al oricrui sistem informatic l constituie asigurarea
selectiv i n timp util a tuturor nivelelor de conducere cu informaiile necesare i
reale, pentru fundamentarea i elaborarea operativ a deciziilor cu privire la
desfurarea ct mai eficient a ntregii activiti din unitatea economic.
Sistemele informatice au urmtoarele particulariti:
- au un ciclu de via lung intervalul de timp de la nceperea lucrrilor de
realizare a unui sistem informatic pn la introducerea unui nou sistem este
mare;
- fac apel la o mare cantitate de date realizarea sistemelor informatice
integrate permite rspunsuri la cele mai variate cerine ale conducerii;
- sunt folosite de un numr mare de utilizatori situai de cele mai multe ori la
distan, lucrul posibil prin utilizarea reelelor de calculatoare i a noilor
tehnologii de comunicare;
- utilizeaz intens aparatul matematic- cercetarea operaional, analiza
factorial, teoria stocurilor, teoria ateptrii, teoria rennoirii etc.
- mbin utilizarea procedurilor automate cu procedurile manuale;
- datorit schimbrilor frecvente ale cerinelor utilizatorilor, sistemul
informatic trebuie s fie prevzut nc din faza de proiectare cu posibiliti
rapide i simple de modificare;
- sunt costisitoare datorit resurselor materiale pe care le solicit att n faza
de proiectare ct i n exploatare. Se apreciaz c ponderea componentei
software n cadrul preului unui sistem electronic de calcul este n cretere
continu, ajungnd la 80-90%.


Test de evaluare a cunotinelor
1. Care sunt indicii de calitate ai informaiei ?
2. Ce este entropia informaional ?
3. Cum se definete unitatea de msur a cantitii de informaie ?
4. Definii i comentai conceptul de Knowledge Management.
5. Care sunt principalele concepte utilizate n abordarea sistemic ?
Exemplificai n cazul sistemului firm.
6. Ce se nelege prin sistem cibernetic i care sunt principalele

Bazele informaticii economice 27


proprieti ale unui sistem cibernetic ?
7. Care este locul i rolul sistemului informaional ntr-o organizaie ?
8. Care sunt principalele subsisteme ale sistemului firm i ce legturi
endogene i exogene se stabilesc ?
9. Care este legtura sistem informaional entropie ?
10. Care sunt elementele caracteristice ale unui sistem informatic ?
11. Cum acioneaz sistemul informatic la diferitele nivele de decizie
ale unei organizaii ?
12. Ce se nelege prin sistem informatic integrat.











Unitatea de nvare 2. ARHITECTURA
CALCULATOARELOR




Introducere
nelegerea arhitecturii calculatoarelor din punct de vedere hardware i software.
Dup o descriere succint a evoluiei sistemelor de calcul, se prezint structura
general a unui calculator tip von Neumann, iar apoi se regsesc elementele
structurale n analiza unui calculator personal (PC). Dup structura hardware, se
prezint conceptele de sistem de operare i reea de calculatoare.



Competenele unitii de nvare
Dup parcurgerea acestei pri studenii vor nelege urmtoarele concepte:
structura general a unui calculator
calculatoare personale
sisteme de operare
reele de calculatoare




Durata medie de parcurgere a primei uniti de nvare este de 4 ore.



28 Curs pentru nvmnt la distan



2.1. SCURT ISTORIC AL SISTEMELOR DE CALCUL
[NIR 96], [PET90], [SPB99]

Primul calculator numeric, abacul (numrtoarea), a aprut cu circa 2000-
3000 de ani .Hr. n China, fiind preluat apoi de Grecia, Roma antic i celelalte popoare
ale antichitii. n Rusia este ntlnit sub numele de sciot.
Un exemplu remarcabil de instrument pentru prelucrarea informaiilor
cantitative este faimosul instrument de navigaie descoperit n anul 1900 lng insula
Antikythera (Marea Egee), datnd din secolul 1 .Hr. i atribuit, de ctre adepii
paleoastronauticii, datorit surprinztoarei sale complexiti i marelui numr de roi
dinate, interveniei unor extrateretri.
De un adevrat progres al calculatoarelor nu poate fi vorba nainte de
generalizarea sistemului de numeraie arab care nlocuiete n Europa sistemul roman la
nceputul epocii Renaterii (secolul XV).
Un impuls decisiv n rspndirea i perfecionarea mainilor de calcul l-a
constituit, abia n secolul al XVII-lea, avntul general al comerului i manufacturilor, n
urma cruia volumul operaiilor contabile a crescut considerabil.

n anul 1617 J ohn Neper (matematician scoian, care a introdus n 1614
noiunea de logaritm), creaz un dispozitiv de calcul care permite nlocuirea operaiilor
de nmulire i mprire prin adunare i scdere.

n anul 1621 Wiliam Oughtred inventeaz rigla de calcul, bazat pe logaritmi.

Blaise Pascal (1623 1662), filosof, matematician i fizician francez,
construiete n 1642 o main de calcul cu roi dinate, n funcionarea creia apar
principii ce aveau s fie aplicate frecvent la viitoarele dispozitive de calcul: transport
automat de la ordine inferioare la ordine superioare, conceptul de complement i altele.

Gottfried von Leibniz (1646-1716), matematician i filosof german, adapteaz n
1671 maina lui Pascal pentru a putea efectua nmuliri i mpriri prin adugarea de
noi dispozitive. Leibniz intuiete avantajul sistemului de numeraie binar pentru a
descrie fenomenele cu dou stri stabile. Maina de calcul realizat de Leibniz a fost
numit aritmometru i a cunoscut de-a lungul timpului mai multe perfecionri ( de la
acionarea manual la cea electric), sub urmtoarele forme:
+ maini de cas pentru magazine;
+ maini de calcul mecanice, acionate manual, realiznd afiarea rezultatelor
prin intermediul unor tamburi (principiul odhner utilizat i la realizarea
contoarelor de energie, ap, kilometrajul mecanic al autovehiculelor etc.);
+ maini de calcul electromecanice bazate tot pe principiul mecanic al roilor
odhner, dar alimentate electric.

J oseph Marie J acquard (1752-1834) construiete n 1804 o main de esut la
care comanda operaiilor era realizat prin cartele perforate.

Matematicianul britanic Charles Babbage (1792-1871) a realizat mpreun cu
asistenta sa Ada Augusta de Lovelace (1815-1852), fiica poetului englez Byron, n

Bazele informaticii economice 29


1834 proiectul unei maini analitice, la care se regsesc toate principiile de baz ale
unui calculator electronic modern. Dintre acestea amintim:
+ introducerea datelor i programelor pe cartele perforate;
+ posibilitatea de memorare;
+ existena unui dispozitiv de calcul;
+ existena unui dispozitiv de ieire.

n anul 1889 statisticianul american Hermann Hollerith (1860-1929) breveteaz
cartela cu codificare binar, care va fi folosit la prelucrarea datelor obinute cu ocazia
recensmntului populaiei din 1890, din S.U.A.
Hollerith este fondatorul firmei de calculatoare electromecanice, Tabulating
Machine Corporation (1896), care va deveni din 1924, IBM (International Business
Machine Corporation), cea mai mare companie de calculatoare pe plan mondial.


Creterea n continuare a nevoilor de prelucrare a informaiilor a dat impulsul
hotrtor pentru realizarea unui calculator mai rapid i mai puternic. La Universitatea
Harvard, n 1944, sub conducerea lui Howard Aiken, era terminat calculatorul MARK I,
primul la care tradiionalele roi dinate au fost nlocuite cu dispozitive mai moderne, n
acest caz cu relee electromagnetice.
Cel de-al doilea rzboi mondial a accelerat cercetrile n domeniu, s-au alocat
sumele necesare i s-au format mai multe echipe de cercetare.
n 1941, germanii au realizat prin Konrad Zuse, dou maini Z3 i Z4, care
funcionau pe baz de program i puteau executa calcule.
Englezii au realizat calculatorul COLOSUS, cu ajutorul cruia a fost descifrat n
1943 codul german ultrasecret ENIGMA.

n anii 1930-1942, J ohn Atanasoff de la Iowa State College, mpreun cu un
student al su, Clifford Berry au nceput s construiasc primul calculator electronic,
bazat pe circuite logice realizate cu tuburi electronice (tubul electronic fusese inventat n
1904 i era utilizat n radio i televiziune). Dup moartea lui Atanasoff n 1942,
proiectul calculatorului ABC (Atanasoff-Berry Computer) a fost abandonat.

Ideile acestui proiect sunt continuate de J .W. Mauchley i J .P. Eckert la
Universitatea din Pennsylvania, terminnd n 1946 primul calculator electronic ENIAC
(Electronic Numeric Integrator and Computer). Calculatorul coninea 18000 de tuburi
electronice, 7500 rele, 7 milioane de rezistene i multe alte piese. Cntrea 30 de tone,
ocupa 145 m
2
i realiza 5000 de adunri pe secund. O ultim greutate care trebuia
nvins era aceea c ENIAC avea 6000 de comutatoare a cror manevrare n vederea
programrii devenea foarte complicat.

Matematicianul J ohn von Neumann (1903-1957) formuleaz ntr-un raport din
1946 principiile care ar trebuie s stea la baza construciei calculatoarelor:
+ necesitatea unei componente specializate destinate calculului;
+ execuia secvenial a operaiilor;
+ pentru a asigura elasticitatea i o relativ universalitate se impune o distincie
ntre instruciunile necesare rezolvrii unei probleme particulare i controlul
general asupra acestor instruciuni;

30 Curs pentru nvmnt la distan



+ existena unei componente numit memorie pentru instruciunile i datele
necesare rezolvrii problemei (memoria intern);
+ existena unei componente care s in minte permanent (memoria
permanent);
+ posibilitatea de trecere n ambele sensuri de la memoria intern la cea
permanent.
n rezumat, structura calculatorului a fost mprit n cinci pri principale:
- unitatea central
- unitatea de intrare
- unitatea de ieire
- memoria de lucru
- memoria permanent
Aceste principii constructive sunt aplicate pentru prima dat la calculatoarele:
- EDSAC (Electronic Digital Sequential Automatic Computer), realizat la
Universitatea din Cambridge Massachusetts (1949);
- UNIVAC I (Universal Automatic Computer), fabricat de firma Sperry Rand
(1951), este primul calculator destinat comercializrii;
- EDVAC la Universitatea din Princeton (1952).

Datorit principiilor constructive elaborate de von Neumann, calculatoarele electronice
ale primelor patru generaii vor fi denumite calculatoare von Neumann.

n funcie de componenta electronic de baz, calculatoarele au nregistrat mai multe
generaii (periodizarea este relativ):

Generaia 1 cuprinde calculatoarele construite ntre 1946-1958. Au drept
component de baz tubul electronic, utilizeaz sistemul de numeraie binar i logica
boolean, iar programarea se fcea n limbaj de asamblare. Sunt caracterizate prin
volum mare i fiabilitate redus. Capacitatea memoriei interne era de 2 KB, iar viteza de
prelucrare era de 10 instruciuni pe secund.

Generaia a 2-a - cuprinde calculatoarele construite ntre 1959-1963, la care s-
au folosit tranzistorii. n 1956, W. Shockley, J . Barden i W.H.Brattain primeau
premiul Nobel n fizic pentru inventarea tranzistorului. Aceast descoperire care a
revoluionat electronica a fost fcut n 1948 n laboratoarele Bell.
Memoria intern este realizat din inele de ferit, ceea ce-i confer rapiditate,
fiabilitate mai bun, capacitate de stocare a datelor pn la 32 KB. Viteza de calcul
ajunge la 2 x 10
5
instruciuni pe secund.
Apar echipamentele periferice (cititorul de cartele, imprimanta, banda magnetic),
sunt programate proceduri de interfa (drivere) care asigur legtura dintre dispozitivul
de intrare/ieire, memorie i unitatea de control i de calcul (CPU). Se realizeaz primele
produse software de baz, care vor revoluiona programarea: asambloare, linkeditoare,
compilatoare etc.

Generaia a 3-a cuprinde calculatoarele construite n perioada 1964-1970 i
care utilizeaz circuitele integrate. n 1953 Harwick J ohnson prezint patentul pentru
circuite integrate. Un circuit se realizeaz printr-o tehnologie MOS (Metal-Oxide-

Bazele informaticii economice 31


Semiconductor) i reprezint echivalentul unui numr mare de componente electronice.
n funcie de capacitate circuitele integrate se mpart n:
MSI (Medium Scale Integration), pn la 500 de componente;
LSI (Large Scale Integration), peste 500 de componente;
VLSI (Very Large Scale Integration), peste 10.000 de componente.
Calculatoarele de generaia a 3-a au la baz circuite integrate MSI. Memoria
intern ajunge la 2 MB, viteza de calcul la 5 MIPS (milioane de instruciuni pe
secund). Se dezvolt limbajele de programare de nivel foarte nalt.

Generaia a 4-a cuprinde perioada 1971 prezent i implic o serie de
progrese tehnologice i arhitecturale. Se utilizeaz microprocesoarele ce conin circuite
larg integrate (LSI) i foarte larg integrate (VLSI). Microprocesorul inventat de Marcian
Ted Hoff n anul 1971 a fost o reacie american la expansiunea japonez pe piaa
calculatoarelor miniaturizate.
Se utilizeaz memorii externe perfecionate care permit reducerea timpului de
acces la informaiile stocate pe suporturi magnetice. Viteza de prelucrare crete sensibil,
ajungnd la 30 MIPS, se generalizeaz teleprelucrarea i modul de lucru interactiv.
Se dezvolt facilitile de conectare n reele de calculatoare, crete ponderea
implementrilor de sisteme de gestiune a bazelor de date i apar limbajele de
programare orientate pe obiect.

Generaia a 5-a de calculatoare cuprinde perioada dup 1990. De fapt
nceputul a fost marcat de proiectul japonez lansat n 1981 legat de dezvoltarea
inteligenei artificiale (AI-Artificial Intelligence).
Proiectul prevede construirea i implementarea unor sisteme inteligente pentru
procesarea cunotinelor (Knowledge Base System). Aceasta presupune existena unei
baze de cunotine i a unui motor inferenial care s permit prelucrarea logic,
simulnd astfel gndirea uman: deducia i inducia ca procese fundamentale ale
raiunii.



2.2. Structura general a unui calculator
[DOD87], [JOR95], [LIX94]

Un sistem electronic de calcul este alctuit din dou componente:
- sistemul de echipamente (hardware), care reunete toate componentele fizice
folosite n culegerea, memorarea, prelucrarea datelor i transmiterea rezultatelor
prelucrrii;
- sistemul de programe (software), reprezint componenta logic i cuprinde
totalitatea programelor care asigur conducerea, supravegherea, controlul i realizarea
procesului de prelucrare; dintre elementele software un rol deosebit revine sistemului de
operare.
Indiferent de structura constructiv, de sistemul de operare i de domeniul de
utilizare, arhitectura calculatoarelor se dezvolt n jurul urmtoarelor concepte
funcionale:
- funcia de memorare;
- funcia aritmetic logic;

32 Curs pentru nvmnt la distan



- funcia de comand i control;
- funcia de intrare ieire.
Unitile funcionale se concretizeaz n componente materiale ce formeaz
arhitectura calculatorului.
Una din formele de abordare sistemic utilizate n cibernetic o reprezint
metoda black box (metoda cutiei negre). Astfel la un prim nivel calculatorul se poate
vedea ca o cutie neagr n care se introduc programele i datele de prelucrat i de la care
se obin rezultatele (figura 5.1).






Figura 5.1.

Matematicianul J ohn von Neumann (1903-1957) stabilete n 1946 principiile
constructive ale viitoarelor calculatoare electronice. Astfel calculatoarele primelor patru
generaii vor fi denumite calculatoare tip von Neumann .
Un calculator clasic este compus din (figura 5.2):


Figura 5.2.

A. Unitatea central cu rol de prelucrare i comand; realizeaz memorarea
(temporar) i prelucrarea datelor.
B. Ansamblul de periferice permite memorarea datelor (memoria extern),
introducerea datelor i programelor n calculator i extragerea rezultatelor.

A. Unitatea central este compus din:
Program
Date
Calculatorul
electronic
Rezultate

UNITATEA CENTRAL

Unitatea de
comand
Unitatea aritmetic i
logic
Rezultate
Date

Memoria
Central
Ansamblul de periferice

Bazele informaticii economice 33


1. Memoria central (intern);
2. Blocul de calcul (procesorul) este format din:
a) unitatea de comand;
b) unitatea aritmetic i logic.

1. Memoria central (MC)
a) Rolul memoriei centrale
Memoria central (intern sau principal) face parte din unitatea central a
calculatorului, pstreaz informaii reprezentnd programe ale sistemului i ale
utilizatorului, datele de prelucrat, rezultatele intermediare i finale ale prelucrrii.

b) Coninutul memoriei centrale este redat n figura 5.3.




Figura 5.3.

c) Organizarea
Memoria central poate fi considerat o succesiune de elemente fizice (celule
elementare) care pot memora o informaie binar. Un grup ordonat de 8 celule binare
formeaz un octet (byte). Octeii sunt numerotai cresctor ncepnd cu 0. Numrul
asociat fizic fiecrui octet din memoria intern se numete adresa absolut. Cea mai
mic unitate adresabil n memoria central este octetul. Prin specificarea adresei, un
octet este precis localizat n memorie. Unui octet i se poate schimba coninutul, dar
adresa i rmne ntotdeauna aceeai.
Un grup de octei consecutivi formeaz o zon de memorie. Identificarea unei
zone de memorie se face prin adresa i lungimea ei. De regul, adresa unei zone de
memorie este adresa celui mai din stnga octet, iar lungimea este dat de numrul
octeilor din zona respectiv.

d) Funcionarea memoriei centrale
Este comandat de unitatea de comand. Cantitatea de informaie accesibil la
un moment dat pentru procesor o constituie cuvntul memorie. Operaiile de citire /
scriere (adresarea memoriei) sunt efectuate prin intermediul a doi regitri specializai
(figura 5.4).

0 1 2
R


A

Registrul de
adres

adresare

locaie
memorie




Dispozitiv
de

Registru de

34 Curs pentru nvmnt la distan



Selecie memorie
R M


Figura 5.4

- Registrul de adres (RA) sau registrul de selectare a memoriei conine
adresa cuvntului care urmeaz s fie scris sau citit; dimensiunea lui
depinde de capacitatea memoriei.

- Registrul de memorie (RM) conine informaia detectat dup citire, sau
informaia care urmeaz s fie stocat n memorie la adresa indicat de
(RA).
Registrul de memorie este o zon de tranzit obligatorie; are aceeai
dimensiune cu cuvntul memorie.

Citirea unui cuvnt memorie dup analiza i decodificarea adresei
cuvntului (coninut n RA) informaia citit este transferat n RM.
Scrierea unui cuvnt memorie dup analiza i decodificarea adresei
cuvntului (coninut n RA) informaia din RM este transferat i stocat
n locaia selectat.
e) Caracteristicile memoriei centrale sunt:
- capacitatea de memorare, adic numrul maxim de locaii de memorie adresabile
independent, unitatea de msura este KB;
- timpul de acces (durata ciclului de memorie) este intervalul minim de timp ntre
operaii consecutive de scriere sau citire n/din memorie;
- dimensiunea cuvntului memorie.

f) Clasificarea memoriei interne
Se poate face n funcie de natura accesului la informaie. Principalele tipuri de memorie
sunt:
RAM (Random Access Memory) memorie cu acces aleator pentru citire i
scriere, volatil, adic informaia stocat poate fi tears i nlocuit cu alta, ns la
oprirea calculatorului, informaia memorat se terge; memoria RAM ocup cea mai
mare parte a memoriei interne.
ROM (Read Only Memory) memorie pentru citire, nevolatil i programabil
numai de constructor; informaia pe care o conine este esenial pentru calculator i de
obicei reprezint componenta de baz a sistemului de operare.
PROM (Programmable Read Only Memory) memorie permanent (nevolatil),
programabil o singur dat de utilizator; informaia este esenial pentru utilizator, care
o va folosi n mod frecvent..
EPROM (Erasable Programable Read Only Memory) memorie permanent
programabil ce poate fi tears; utilizatorul poate modifica n funcie de necesiti,
coninutul memoriei.

2. Unitatea aritmetic i logic (UAL)
a) Rolul unitilor aritmetice i logice
Execut dou funcii, necesare prelucrrii datelor:
- calculul logic: deplasare, funcii logice;

Bazele informaticii economice 35


- calculul aritmetic: adunare, scdere.
Calculatorul poate executa aceste operaii numai dac primete o succesiune de ordine
elementare (instruciunile), care reprezint programul utilizatorului.

b) Noiunea de instruciune
Instruciunea, ca orice informaie este n prealabil nregistrat n MC. Ne vom
referi la instruciunile n limbaj de asamblare care descriu n general o singur operaie
n cod main (de exemplu ncarc un registru cu coninutul unei locaii de memorie,
adun la valoarea memorat ntr-un registru o valoare dispus n alt registru sau ntr-o
locaie de memorie etc.). Aciunea descris de o instruciune a unui limbaj de nivel nalt
presupune, de obicei, execuia unei secvene de operaii n cod de main.
Se numete format al instruciunii, descrierea coninutului ordinului elementar dat
calculatorului. Formatul unei instruciuni conine:
- codul operaiei (COP), care indic natura ordinului de executat;
- adresa operanzilor (AOP).
Observaie. Datele sunt indicate prin adresa lor n MC; aceasta pstreaz caracterul
general, independent al programului de valorile concrete ale datelor de prelucrat.

c) Structura i funcionarea UAL
Execuia unei operaii logice sau aritmetice se poate face n dou moduri:
- modul de lucru cu 3 adrese, presupune cunoaterea urmtoarelor elemente:
codul operaiei, adresa primului operand n MC, adresa celui de-al doilea
operand n MC, adresa locaiei de memorie unde va fi depus rezultatul.
Deci, UAL trebuie s conin 3 regitri, conform schemei (figura 5.5):


Rezultat








Operand 1

Operand 2


Figura 5.5

- modul de lucru cu acumulator, presupune existena unui registru
acumulator; acest registru special va conine, succesiv primul operand, apoi
rezultatul. Astfel, execuia unei operaii simple necesit urmtorii pai:
Pasul 1. ncrcarea primului operand n registrul acumulator
Pasul2. Execuia operaiei ntre coninutul registrului acumulator i al doilea
operand, rezultatul rmnnd n registrul acumulator;
Pasul 3. Depunerea coninutului registrului acumulator n memoria central.

Acest mod de lucru este reprezentat n figura 5.6.

C Co om ma an nd da a
o op pe er ra a i ie ei i

36 Curs pentru nvmnt la distan




Acumulator



Operand 2

Operand 1

Figura 5.6.

3. Unitatea de comand (UC)
a) Funciile unitii de comand sunt:
- comand i controleaz execuia operaiilor de calcul n UAL, conform
instruciunilor;
- determin instruciunea care urmeaz s fie executat dup terminarea
instruciunii curente;
- controleaz operaia de citire din memorie a instruciunii urmtoare;
- controleaz operaiile de introducere/extragere a datelor n/din calculator.

b) Structura unitii de comand (figura 5.7).
Pentru a asigura aceste funcii, unitatea de comand conine doi regitri eseniali:
1. contorul de adrese (program counter (CA)) controleaz derularea
secvenial i nlnuie automat instruciunile programului; contorul de
adresa conine adresa instruciunii care urmeaz s fie executat;
2. registrul instruciune (RI) conine instruciunea extras din memoria
central.
Unitatea de comand posed i un generator secvenial care, dup analiza codului
operaiei, d comenzile necesare pentru execuia diferitelor faze ale instruciunii.


CA
Contorul de adrese
+1


Codul operaiei
Zona adrese
operanzi
RI
Generator secvenial
secvenial



Figura 5.7.

c) Funcionarea unitii de comand

Bazele informaticii economice 37


- se citete instruciunea de executat, adresa fiind coninut n contorul de adres
(CA);
- aceast instruciune este transferat din registrul memorie (RM) n registrul
instruciune (RI);
- codul operaiei este decodificat i informaia este transmis circuitelor de
comand;
- contorul de adrese este incrementat automat, fiind astfel pregtit s adreseze
urmtoarea instruciune;
- n funcie de codul operaiei este comandat citirea din memorie a operanzilor i
este iniiat operaia de efectuat n unitatea aritmetic i logic.

Observaie. Pentru a lansa un program n execuie unitatea de comand (UC) trebuie s
cunoasc adresa primei instruciuni de executat (adresa de start); aceast adres este
ncrcat n CA. n UC este ncrcat ntotdeauna instruciunea aflat la adresa precizat
de CA.

B. Ansamblul de periferice

Realizeaz legtura cu mediul exterior, ndeplinind urmtoarele funcii:
- permite schimbul de informaii ntre utilizator i sistemul de calcul; prin dialogul
utilizator calculator poate fi supravegheat funcionarea calculatorului,
introducerea programelor i datelor, lansarea n execuie sau ntreruperea execuiei
unui program;
- are rolul de memorii auxiliare (externe), putnd nmagazina un mare volum de
informaii.
Performanele tehnice ale diferitelor tipuri de periferice vizeaz n general dou aspecte:
- capacitatea de nmagazinare a informaiei;
- viteza de transfer a informaiei.

Ansamblul de periferice conectat la unitatea central reprezint configuraia unui
calculator electronic. Numrul i tipul perifericelor ce formeaz configuraia unui
calculator constituie o opiune a utilizatorului. Orice sistem de calcul are n general o
structur modular, n sensul c o configuraie poate fi modificat prin adugarea de noi
dispozitive. n funcie de necesiti (volumul datelor de prelucrat, numrul i tipul
aplicaiilor), utilizatorul poate opta pentru o configuraie adecvat, care s-i permit
rezolvarea problemelor.



2.3. CALCULATOARE PERSONALE
[BVB 97], [JOR95], [LIX94], [NIR96], [SPB99]

Primul microcalculator este construit n Frana n 1973, la societatea R2E
condus de Andr Troung Thi. Se numea MICRAL i era construit cu microprocesorul
Intel 8008, avnd o memorie intern de 256 B extensibil pn la 2 KB.
n 1975, n California, Stephen Wozniak (26) i Steve J obs (20) construiesc un
calculator numit APPLE I, introducnd o dat cu el noiunea de calculator personal.

38 Curs pentru nvmnt la distan



n anul 1980, firma IBM intr n competiia productorilor de microcalculatoare
i realizeaz primul calculator personal.
Politica firmei de a impune calculatorul IBM PC (Personal Computer) ca un
standard mondial n domeniu este susinut de o puternic campanie publicitar i de
publicarea specificaiilor tehnice. n aceste condiii, majoritatea firmelor ncep s fabrice
calculatoare compatibile IBM PC, iar programele de aplicaii sau de baz trebuie s
aib acea caracteristic tot mai des folosit de compatibil PC.
Problema compatibilitii se refer la un minim de cerine:
- Microprocesor de tip INTEL;
- Sistem de operare compatibil MS-DOS.

Calculatorul IBM PC era construit cu microprocesorul Intel 8088, memorie
intern de 128 K extensibil la 640 K, unitate de disc flexibil de 180 K i ecran
monocrom.

Arhitectura standard a unui calculator personal (PC) conine: microprocesor,
memorie intern, memorie extern, periferice, toate acestea comunicnd prin
intermediul magistralelor de comunicaie (de adres, de date i de comenzi). O schem
general a unui PC este prezentat n figura 5.8.



Unitatea central

Microprocesor

Memorie intern
ROM RAM





Interfee de intrare ieire




tastatur imprimant mouse

ecran disc
(FD/HD/CD
/DVD)
modem
Figura 5.8

J ohn von Neumann a fost primul care a realizat un computer cu o memorie de
lucru (ceea ce astzi se numete RAM). Dac aplicm acest model la un PC actual vom
obine schema de mai jos:

Bazele informaticii economice 39



1. Microprocesorul

Microprocesorul este un circuit integrat complex care poate efectua operaii aritmetice
i logice sub controlul unui program. Este componenta principal a unitii centrale a
calculatorului, specializat pe operaii de calcul, comand i control. Reprezint creierul
calculatorului.


Microprocesorul

Microprocesorul controleaz ntreaga activitate a calculatorului: trimite i recepioneaz
semnalele de control (prin magistrala de control), adresele de memorie (prin magistrala
de adrese) i datele (prin magistrala de date) de la o component la alta a calculatorului
(figura 5.9.)


40 Curs pentru nvmnt la distan



Rolul microprocesorului este de a executa programele scrise n limbaj main, aflate n
memoria intern a calculatorului.


Figura 5.9.

Microprocesorul cuprinde mai multe uniti specializate interconectate. Cele mai
importante sunt: unitatea aritmetic i logic i unitatea de comand i control.
Structura de baz a unui microprocesor este descris n figura 5.10.





RALU

UC


BLD

BLA

BLC




DBUS ABUS CBUS


Figura 5.10 Schema bloc a unui microprocesor [NIR96]

UC - unitatea de comand la nivel microprogram; realizeaz secvenierea



Microprocesor


I
N
T
E
R
F
E

E

Memoria
intern
Magistrala de date
Magistrala de
Magistrala de comenzi
adrese
UCPG
BDI

Bazele informaticii economice 41


aciunilor elementare asociate execuiei unei instruciuni, genereaz
secvene pentru RALU i semnale de sincronizare spre exterior
(comenzi); conine un registru de instruciuni (RI) n care se aduce codul
instruciunii curente i care comand n continuare evoluia automatului
pentru execuia instruciunii;
RALU - unitatea aritmetic i logic i registrele; execut operaiuni aritmetice,
logice i transferuri de date ntre registre la comanda UC;
UCPG



- unitatea de comand a programelor; comand secvenierea
instruciunilor extrase din memoria principal (intern), asociind fiecrei
instruciuni o secven de microinstruciuni care vor comanda efectiv
sistemul;
- pentru adresarea datelor i a instruciunilor sunt necesare urmtoarele
registre n UCPG:
- contorul de adres (CA), ce conine adresa din memoria intern a
instruciunii ce urmeaz a fi executat;
- registrul de adres (RA), ce furnizeaz adresa datelor citite/scrise
din / n memorie la execuia unei instruciuni.
BLA, BLD, BLC - blocuri (zone) speciale de memorie distincte adreselor,
datelor i comenzilor;
DBUS, ABUS, CBUS - magistralele de date, adrese i comenzi.
BDI - magistrala intern de date.

Un microprocesor este caracterizat de viteza de lucru, capacitatea maxim de
memorie pe care o poate adresa i setul de instruciuni pe care le poate executa.
Viteza de lucru a microprocesorului este determinat de:
- frecvena ceasului intern;
- dimensiunea registrelor interne;
- capacitatea magistralei de date;
- existena i capacitatea memoriei cache;
- tipul constructiv al microprocesorului.

Ceasul intern este un oscilator ce emite pulsaii la intervale de timp egale. Toate
activitile sunt coordonate de aceste pulsaii periodice emise de ceasul intern. Ceasul
intern nu are nici o legtur cu ceasul sistem care d timpul curent (ora i data),
contorizat de memoria CMOS i care poate fi modificat prin comenzi ale sistemului de
operare.
Frecvena cu care sunt generate pulsaiile se numete frecvena ceasului intern.
Unitatea de msur este hertz-ul care are ca multipli kilohertz-ul (1kHZ = 10
3
Hz),
megahertz-ul (1 MHz = 10
6
Hz), gigahertz-ul (1 GHz = 10
9
).
Fiecare microprocesor se caracterizeaz printr-o valoare maxim a frecvenei de
ceas la care funcioneaz. De exemplu, un procesor Intel Celeron poate funciona la
2.80 GHz.
Dimensiunea registrelor interne i capacitatea magistralei de date sunt
importante pentru viteza de lucru a microprocesorului. Procesoarele actuale folosesc
registre interne de 32 bits. Cu ct dimensiunea registrelor este mai mare, cu att numrul
operaiilor de transfer cu memoria intern este mai mic i deci timpul de lucru se
micoreaz.

42 Curs pentru nvmnt la distan



De asemenea, cu ct dimensiunea magistralei de date este mai mare, cu att
volumul de date care circul pe aceast magistral este mai mare, iar viteza
calculatorului crete.
Dimensiunea magistralei de adrese d posibilitatea de adresare. Procesoarele
recente dispun de o magistral de adrese pe 32 bits, ceea ce extinde posibilitile de
adresare pn la 4 GB memorie RAM, iar dimensiunea magistralei de date este de 64
bits.
n general, magistrala care leag memoria de procesor nu este suficien de rapid
fa de frecvena ceasului. Procesorul lucreaz n acest caz cu o frecven intern
ridicat, care este frecvena efectiv a prelucrrilor, n timp ce frecvena extern, mai
mic, corespunde schimburilor de informaii cu exteriorul. Pentru a evita ca procesorul
s piard timp ateptnd instruciunile sau datele venind de la memoria volatil (RAM)
se utilizeaz un mecanism de memorie format dintr-o memorie ultrarapid integrat
procesorului i care este rezervat pentru stocarea intermediar a instruciunilor sau
datelor. Aceast memorie cache intern are o capacitate limitat i nu trebuie
confundat cu memoria cache extern intermediar ntre microprocesor i memoria
RAM.
Memoria cache este de tip SRAM (Static Random Access Memory), cu un timp
de access de 12 ns (o nanosecund este egal cu 10
-9
secunde).
Memoria cache se comport ca o oglind a memoriei RAM, pstrnd o copie a
datelor i programelor din diverse zone ale memoriei interne. Eficiena memoriei cache
se msoar printr-o rat (hit ratio) ce indic numrul cererilor de acces ale procesorului
rezolvate de memoria cache.
Viteza microprocesorului depinde de tipul constructiv i de firma productoare.
Printre cele mai performante microprocesoare sunt cele din familia PENTIUM, produse
de firma INTEL. Pentium aprut n 1993 nu mai respect regula de denumire I 80x86,
avnd un nume comercial care poate fi protejat din punct de vedere legal.
Setul de instruciuni pe care un calculator le poate executa este n general
caracterizat de tipul microprocesoruluui i a nregistrat o cretere ascendent
corespunztoare dezvoltrii procesoarelor.
n realizareaa procesoarelor s-au aplicat dou tehnologii diferite: CISC i RISC.
Tehnologia CISC (Complex Instruction Set Computer) a promovat ideea de a
mri setul de instruciuni prin includerea unor instruciuni din limbaje de nivel nalt.
Tehnologia RISC (Reduced Instruction Set Computer) const din implementarea
hard doar a instruciunilor simple, urmnd ca instruciunile complexe s fie simulate
prin programe. Obiectivul arhitecturilor RISC este atingerea unei instruciuni la fiecare
btaie de ceas (pulsaie), ajungndu-se ca viteza procesoarelor RISC s depeasc de 3
ori viteza procesoarelor CISC.

2. Memoria intern

Memoria intern face parte alturi de microprocesor din unitatea central i
constructiv se compune din circuite integrate.

Memoria ROM conine informaii permanente despre operaiile de baz ale
calculatorului. Acestea sunt informaii fundamentale pentru orice calculator, cum ar fi
programul de pornire care verific prile componente ale calculatorului nainte de
activarea sistemului de operare. n memoria ROM este stocat n primul rnd, programul

Bazele informaticii economice 43


BIOS (Basic Input Output System), care controleaz modul n care informaiile sunt
apelate sau transferate la monitor, tastatur, uniti externe de memorie, memorii RAM
i ROM. Programele din ROM, livrate odat cu calculatorul de productor, alctuiesc
firmware ul (un intermediar ntre software i hardware). Se pot diferenia:
- POST (Power On Self Test)
- SETUP-ul, care face legrura cu CMOS-ul
- BIOS-ul, care face legtura cu diferitele periferice
- BOOT-ul, care apeleaz sistemul de operare (DOS, OS/2 sau Windows)


Memoria ROM


Memoria RAM ofer stocarea temporar a informaiilor, crend zona de lucru a
calculatorului.



Memorie RAM

n afara sistemului principal, diverse tipuri de RAM se gsesc i n alte zone ale
calculatorului avnd diferite utilizri:
- memoria cache (prezentat anterior la microprocesor);
- memoria tampon pentru imprimant (printer buffer) pstreaz datele ce
urmeaz a fi tiprite pn ce imprimanta le poate prelua. n acest mod, calculatorului i

44 Curs pentru nvmnt la distan



se permite s transmit datele respective i apoi s continue lucrul n timp ce
imprimanta tiprete;
- memoria video (video buffer) permite afiarea rapid pe monitor a unor
imagini video complexe;
- memoria fantom (shadow RAM) sporete viteza de lucru a calculatorului
copiind informaiile din ROM n RAM. n acest mod informaiile elementare de intrare /
ieire sunt citite din RAM, operaie mult mai rapid dect citirea din ROM BIOS.
Duplicarea se realizeaz prin utilizarea unitii de gestiune a memoriei (MMU
Memory Management Unit) ncorporat n procesor.
- memoria CMOS ( Complementary Metal Oxide Semiconductor) este o
memorie RAM semipermanent. Informaiile depozitate sunt pstrate de ctre o baterie
ce alimenteaz non-stop circuitul integrat CMOS. Cnd bateria se consum, datele se
pierd i trebuie rencrcate sau transferate de pe disc. Memoria CMOS conine
informaii eseniale despre calculator, cum ar fi: memoria disponibil, tipul monitorului,
mrimea i tipul fiecrei uniti de memorie extern, data i ora curent.


Rolul memoriei CMOS
3. Memoria extern
Are rolul de a stoca n mod permanent volume mari de date i programe.
Suportul tehnic de date reprezint mediu material pe care informaiile sunt stocate.
Acest termen generic cuprinde toate tipurile de memorie extern: hard disk, floppy disk,
band magnetic, CD-ROM, DVD, etc.
n configuraia calculatorului personal exist dispozitive ce permit citirea / scrierea,
din/n aceste suporturi tehnice de date (unitatea de hard disk, unitatea de floppy disk,
unitatea CD, unitatea DVD, etc.).

3.1. Unitatea de disc fix (hard disk)
Un disc fix (hard disk) este format din unul sau mai multe platane (plates), fiecare avnd
dou fee; pe fiecare fa se afl cte un cap de citire scriere. nregistrarea magnetic
se face pe piste concentrice (tracks), numerotate de la 0 ..n, ncepnd de la periferice
spre centru; pistele cu acelai numr de ordine de pe toate feele alctuiesc un cilindru.
Pe pist, nregistrarea datelor se face n mod ordonat pe grupe de 512 octei, numite
sectoare.


Bazele informaticii economice 45



Hard-disk

Capacitatea unui disc se poate calcula astfel:

C = nr. fee x nr.piste / fa x nr.sectoare / pist x nr.octei / sector

Capacitatea de stocare depinde de densitatea de nregistrare a informaiei. n cazul
discului hard pentru nregistrarea datelor se utilizeaz formatul CAV (Constant Angular
Velocity), adic viteza de rotaie constant i deci volumul ocupat de o informaie
depinde de locul de nregistrare a acesteia pe disc, densitatea de scriere fiind mai mare
n apropierea axului central, deoarece viteza liniar este diferit.
Datorit tehnologiilor actuale tot mai performante, capacitatea de stocare este n prezent
de ordinul GB, iar preul exprimat n sensul raportului pre / GB a sczut treptat.

46 Curs pentru nvmnt la distan



3.2. Unitatea de disc flexibil (floppy disk)
A fost inventat n laboratoarele IBM din San Jos n 1967. Dimensiunile dischetei au
evoluat (n sensul micorrii) de la 8 inch la 5.25 inch iar n prezent configuraiile
calculatoarelor personale prezint doar uniti floppy de 3.5 inch ( 1 inch = 2.54 mm).
n prezent exist tendina de renunare la acest sistem de memorare.


Unitate de Floppy Disk

3.3. Unitatea de band magnetic
Este cunoscut sub numele de streamer. Banda magnetic este un suport neadresabil de
mare capacitate. Se utilizeaz pentru arhivare, adic pstrarea unor copii de siguran
ale unor fiiere mari de date de pe un calculator pe altul.

3.4. Unitatea CD
Discul CD ROM (Compact Disk Read Only Memory) reprezint un mediu performant
de stocare a datelor prin mijloace optice. nregistrarea datelor pe CD se face n format
CLV (Constant Linear Velocity), sectoarele succedndu-se continuu n form de spiral.
Pentru a avea la citire / scriere o vitez de trasnsfer uniform, rotaia discului este
variabil n funcie de poziia sectorului. Unitile CD - ROM au n prezent o larg
rspndire, deoarece reprezint un mijloc important de distribuie a informaiei
tiinifice i principalul mod de livrare a produselor software. Din punct de vedere al
posibilitilor de imprimare exist dou categorii: CD-R (imprimabile o singur dat) i
CD-RW (imprimabile de mai multe ori).


Bazele informaticii economice 47



Unitate de CD-ROM

4. Dispozitive periferice
Asigur interfaa dintre utiliztor i calculator introducerea comenzilor, programelor i
a datelor precum i extragerea rezultatelor.

4.1. Tastatura (keyboard)
Reprezint dispozitivul principal de intrare pentru comenzi i date n sistem. Se permite
astfel, intervenia n desfurarea unui proces. Tastatura standard dezvoltat de IBM
conine 101 taste. Ordonarea literelor pe tastatur este dat de frecvena apariiei lor n
diferite limbi, de exemplu prima linie este AZERTY n cazul tastaturii franuzeti i
QWERTY la tastatura englezeasc.

4.2. Monitorul ( VDU Video Display Unit)
Este un dispozitiv de ieire utilizat pentru comunicarea om calculator. Cea mai
rspndit tehnologie de fabricaie a monitoarelor este cea a tubului catodic. Conform
standardelor video, imaginea se obine prin baleierea ecranului cu un fascicul de
electroni, linie cu linie, n mod repetat.
n cazul calculatoarelor laptop monitoarele utilizeaz tehnologia bazat pe cristale
lichide (LCD Liquid Cristal Display) sau pe plasm (GPD Gas Plasma Display).
Noile tehnologii propuse pentru monitoarele plate urmresc economisirea energiei
utilizate i limitarea radiaiilor (Low Radiation).
Caracteristicile unui monitor sunt:
- definiia orice imagine afiat pe ecran este realizat dintr-o mulime
de puncte numite pixeli. Dimensiunea (diametrul) unui pixel d definiia
monitorului: cu ct aceast valoare este mai mic, cu att imaginea este
mai clar;
- rezoluia este dat de dimensiunea matricei de pixeli;
- dimensiunea monitorului este reprezentat de lungimea diagonalei
ecranului i este dat n inches;

48 Curs pentru nvmnt la distan



- rata de mprosptare a imaginii reprezint numrul de imagini afiate pe
secund i deci viteza cu care se realizeaz remprosptarea imaginii.
Pixelii monitorului sunt pui n coresponden bijectiv cu celulele
binare din memoria video, aflat n blocurile memoriei interne.
Transformarea informaiilor din form binar n forma semnalelor video
care se transmit monitorului se realizeaz cu ajutorul unui adaptor video.

4.3. Imprimanta
Este un periferic suplimentar destinat tipririi informaiilor.
Principalele caracteristici:
- rezoluia se msoar n dpi (dots per inch), adic numrul de puncte
tiprite pe un inch.
- viteza de tiprire se msoar n caractere pe secund (cps) sau pagini pe
minut (ppm).
- dimensiunea hrtiei utilizate depinde de mrimea carului (n general
poate fi A3 sau A4).
Exist n prezent mai multe tipuri:
- imprimante matriceale (imprimante cu ace (pins)): capul de tiprire avnd
9, 18 sau 24 de ace acioneaz asupra benzii tuate; rezoluia este mic
(180 360 dpi) la o vitez ntre 120 i 800 cps; sunt zgomotoase i sunt pe
cale de dispariie;
- imprimante cu jet de cerneal (imprimante color) au o rezoluie nalt (600
dpi) i o vitez de aproximativ 8 9 ppm. Cerneala este pulverizat printr-
o serie de mici capilare (duze speciale) la nivelul hrtiei, realiznd
caractere sau imagini ntr-o mare varietate de culori.
- imprimante laser utilizeaz tehnologia copiatoarelor: o raz laser
polarizeaz electrostatic un cilindru care va atrage cantiti variabile dintr-
un praf de crbune (toner) care se va fixa astfel pe hrtie. Au o rezoluie
foarte bun (600 dpi) iar viteza poate ajunge la 200 ppm.

4.4. Alte periferice

Mouse dispozitiv de intrare, care permite deplasarea unui simbol luminos pe monitor
realiznd selectarea unei opiuni prin punctare (click) sau deplasarea obiectelor pe
ecran. Face parte din configuraia standard a unui PC.

Trackball deplasarea cursorului se realizeaz prin micarea unei bile; se ntlnete la
calculatoarele portabile (laptop, notebook).

Touch Screen ecranul tactil selecia este realizat direct de utilizator pe ecranul
sensibil la atingere; se folosete similar mouse-ul.

Touch Pad este o mic suprafa sensibil la atingere, folosit ca dispozitiv de
punctare pe unele calculatoare portabile.


Bazele informaticii economice 49


Scanner dispozitiv pentru introducerea (preluarea de imagini) i texte. Procesul de
scanare const din baleierea imaginii cu o raz luminoas i n analiza cantitativ a
luminii reflectate cu ajutorul celulelor fotosensibile.

Plotter dispozitiv de desenat ce permite realizarea de desene tehnice, hri etc. de
mare precizie pe suporturi de hrtie, calc, film.

Modem dispozitiv care permite calculatorului s transmit date prin liniile telefonice,
realiznd conversia digital analogic la transmitere i analogic digital la recepie.

4.5. Interfee pentru cuplarea dispozitivelor periferice
Permite comunicarea: unitate central periferic, prin adaptarea semnalelor de pe
magistrala microprocesorului la cerinele perifericului. Interfaa se cupleaz la unitatea
central printr-un port. Conceptul de interfa este generic, el corespunznd unor
denumiri particulare, ca de exemplu:
- adaptor video (plac video) pentru interfaa cu monitorul;
- cuplor (controller) de disc pentru interfaa cu discul.
n funcie de modalitatea de transmitere a datelor interfee se pot clasifica n:
- Interfee seriale transferul datelor se realizeaz bit cu bit pe linia de
comunicaie. Sunt necesare mecanisme de serializare / deserializare a
informaiilor. Interfaa serial (asincron) este mai lent i se ntlnete la
tastatur, mouse etc.
- Interfee paralele modul de lucru permite transmiterea simultan a 8 bits.
Este necesar s se asigure sincronizarea ntre diversele semnale transmise
simultan pe mai multe linii fizice. Interfaa paralel (sincron) se ntlnete
n general la imprimant.
- USB (Universal Serial Bus) permite conectarea oricror periferice.

Modem extern Modem intern








50 Curs pentru nvmnt la distan



2.4. SISTEME DE OPERARE
[ALB 96], [BVB 97], [LIX 94], [NIR 96], [SPB 99]

Sistemul de operare reprezint componenta logic de baz i este o colecie
organizat de programe care permite utilizarea eficient a resurselor sistemului de
calcul.
Sistemul de operare asigur alocarea i controlul tuturor resurselor, nlnuirea
proceselor de prelucrare i interfaa cu utilizatorul.
Sistemul de operare se livreaz pe suporturi magnetice i optice (floppy-disk,
CD-ROM), utilizatorul generndu-i un sistem de operare personalizat, n funcie de
configuraia calculatorului su i de tipurile de aplicaii pe care dorete s le utilizeze.
Sistemul de operare astfel generat este reinut pe discul hard.
Se manifest n prezent tendina ca tot mai mule funcii ale sistemului de operare
s fie implementate la nivelul hard-ului n memorii de tip ROM, aceste programe
alctuind firmware-ul.

Principalele funcii ale unui sistem de operare sunt:
a) gestiunea unitii centrale are ca scop lansarea n execuie a programelor,
planificarea derulrii proceselor, depistarea erorilor i tratarea acestora;
b) gestionarea memoriei interne cuprinde evidenierea strii de alocare a fiecrei
locaii de memorie, alocarea zonelor de memorie, etc.
c) gestiunea datelor asigur organizarea, identificarea i protecia datelor grupate n
fiiere; aceast funcie este ndeplinit de sistemul de gestiune al fiierelor;
d) gestionarea dispozitivelor periferice const n alocarea i eliberarea acestora,
iniierea operaiilor de intrare / ieire;
e) asistena acordat utilizatorului comunicarea este asigurat prin interfee
prietenoase uor de utilizat.

Interfaa dintre utilizator i sistemul de calcul este concretizat, n cadrul
sistemului de operare, de un interpretor al comenzilor utilizatorului exprimate cu
ajutorul unui limbaj de comand.
Procesul este un concept cheie al oricrui sistem de operare i reprezint un
program n execuie. El poate avea unul sau mai multe subprocese, se poate afla n
anumite stri, se poate sincroniza cu alte procese, poate comunica cu alte procese etc.
Evoluia sistemelor de operare urmeaz ndeaproape evoluia sistemelor de
calcul.
Primele sisteme de operare (corespunznd generaiei a doua de calculatoare)
realizau prelucrarea pe loturi ( sisteme de operare batch). Erau sisteme de operare
monoutilizator i monotasking, adic un singur program este prezent n memorie i se
execut la un moment dat.
Caracteristica de baz a modelului de prelucrare pe loturi o reprezint
imposibilitatea interveniei utilizatorului pentru a interaciona cu programul su.
Perfecionarea sistemelor de operare a fost impus de dezvoltarea hard-ului i de
cerinele utilizatorilor legate de uurina n exploatarea sistemelor.
Concepul de multiprogramare presupune c la un moment dat n memoria
sistemului se afl ncrcate pentru execuie mai multe procese care concureaz, pe baza
unei scheme de prioriti, pentru accesul la anumite resurse ale sistemului.

Bazele informaticii economice 51


Sistemele cu multiprogramare rezolv problemele de alocarea optim a
resurselor, evitarea interblocrilor, protecia utilizatorilor i protecia sistemului n
raport cu utilizatorii.
Sistemele de operare monoutilizator i multitasking permit unui singur utilizator
s lanseze n execuie, n acelai timp, mai multe programe, utilizatorul avnd senzaia
c toate programele se execut simultan. n realitate programele utilizeaz concurent
resursele sistemului, procesorul fiind disponibil ntr-un anumit moment unui singur
program.
Minicalculatoarele permit conectarea prin intermediul terminalelor a mai multor
utilizatori. Sistemele de operare implemenate pe minicalculatoare s-au particularizat
prin caracterul lor interactiv i prin introducerea conceptului de multiacces.
Interactivitatea, care va fi preluat de toate sistemele de operare ulterioare, presupune
dialogul ntre utilizator i sistem (utilizatorul trimite comenzi sistemului, n caz de
eroare sistemul de operare lanseaz mesaje de atenionare i asist utilizatorul la
depanarea lor). Multiaccesul presupune conectarea interactiv a mai multor utilizatori la
acelai calculator.
Aceste sisteme multiuser (multiutilizator) au ridicat probleme noi privind
gestiunea concurent a programelor lansate de diveri utilizatori, posibilitatea
comunicrii ntre utilizatori plasai la terminale diferite i asigurarea unui sistem de
protecie corespunztor.
n cazul sistemelor de operare multiuser i multitasking, mai muli utilizatori
sunt conectai simultan, dar procesul lucreaz n tehnica time-sharing (timp divizat,
partajat) n care alocarea timpului de acces se realizeaz pe baza unor cuante de timp
fixe sau variabile, utilizatorii avnd impresia c lucreaz simultan cu sistemul.
Dac sistemul de calcul dispune de mai multe procesoare (multiprocessing) pe
fiecare din ele se execut cte un proces; n acest caz programele se execut simultan n
mod efectiv.
Sistemele de operare n timp real permit controlul execuiei lucrrilor n
interiorul unui interval de timp specificat. Aceste sisteme se caracterizeaz prin
preluarea imediat a datelor de intrare, asigurnd un timp de rspuns minim i sunt
implementate pe calculatoare pentru rularea unor aplicaii ce necesit rspunsuri n timp
util (rezervri de locuri, conducerea operaiilor bursiere etc.).
Din punct de vedere al modului de exploatare a echipamentelor informatice, au fost
elaborate sisteme de operare specializate:
a) sisteme de operare pentru exploatare individual a calculatoarelor: MS-DOS,
UNIX, WINDOWSxx etc.
b) sisteme de operare pentru reele de calculatoare.

Sistemele de operare au un limbaj de comand destinat interfeei cu utilizatorul.
Instruciunile acestui limbaj se numesc comenzi i sunt interpretate de componenta
numit interpretorul de comenzi ce determin aciuni ale sistemului de operare.
Majoritatea sistemelor de operare sunt structurate pe dou nivele:
a) Nivelul fizic apropiat de hardware, este n general transparent pentru utilizator.
Interfaa hardware este compus din programe care controleaz componentele fizice ale
calculatorului. Acest software este parial sau integral stocat permanent n memoria
ROM. Rolul lui este de a gestiona i controla componentele hardware. Comunicarea se
face prin intermediul unui sistem de ntreruperi prin care se semnaleaz anumite
evenimente din sistem. La apariia unei ntreruperi, controlul este dat unor rutine de pe

52 Curs pentru nvmnt la distan



nivelul logic, n scopul tratrii ntreruperii i al informrii utilizatorului despre cauzele
cea au generat-o.
b) Nivelul logic constituie interfaa cu utilizatorul. Acesta comunic cu sistemul prin
comenzi, instruciuni, mesaje. Interfaa poate fi de tip linie de comand sau grafic GUI
(Graphic User Interface).

Sistemul de operare MS-DOS (Micro Soft Disc Operating System) este un sistem
monoutilizator i monotasking, implementat pe calculatoarele cu o arhitectur de tip
IBM-PC.
Sistemul de operare MS-DOS ofer o serie de avantaje:
- interfa utilizator simpl, accesibil, uor de utilizat, de tip linie de comand;
- mecanism evoluat de detectare i tratare a erorilor;
- posibilitatea conectrii unui numr mare de dispozitive periferice;
- gestionarea unei structuri de fiiere eficient cu o organizare ierarhic-arborescent;
- contabilitatea datei i orei curente, sistemul inserndu-le n informaiile legate de
fiiere la crearea i modificarea acestora.

Fiiere i directoare
Gestionarea datelor pe disc este una din funciile cele mai importante ale sistemului de
operare. Fiierul reprezint elementul fundamental al organizrii informaiei pe discuri.
Fiecare sistem de operare i are propriile reguli de organizare a fiierelor pe disc, reguli
care formeaz sistemul de gestiune a fiierelor.
Sistemul de operare MS-DOS grupeaz fiierele pe disc ntr-o structur
arborescent format dintr-un director rdcin (root) i mai multe subdirectoare. Un
disc n format MS-DOS este divizat n patru pri:
- zona BOOT este destinat programului de ncrcare al sistemului de operare;
- zona FAT (File Allocation Table) conine informaii de gestiune a sectoarelor; se
marcheaz sectoarele defecte pentru a fi izolate i precizeaz pentru fiecare sector
utilizabil dac a fost ocupat sau este nc liber;
- zona ROOT Directory pstreaz informaiile de gestiune asupra tuturor fiierelor i
directoarelor: denumirea, lungimea, data crerii, atributele;
- zona FILE este cea mai mare i cuprinde fiierele grupate n directoare.

Sistemul de operare WINDOWS este n prezent cel mai rspndit n rndul utilizatorilor
de calculatoare personale. Anunat pentru aprilie 1984 ca o extensie a sistemului MS-
DOS, sistemul este livrat n noiembrie 1985, avnd disponibile doar 25 de aplicaii
compatibile. A cunoscut o dezvoltare rapid i mai multe, versiuni, fiind disponibil n
prezent pe tot globul, ntr-un mare de limbi.
Sistemele Windows 3.0, Windows 3.1, Windows 3.11 funcionau mpreun cu sistemul
MS-DOS i nu reprezentau sisteme de operare propriu-zise, ci doar medii grafice de
operare. n anul 1995 apare sistemul Windows 95, un sistem de operare pe 32 de bits,
complet independent i integrat, care poate exploata i aplicaii scrise n MS-DOS.
Sistemele Windows 95, 98, 2000, XP au posibiliti de lucru multitasking i
multithreading (adic facilitatea de a efectua lucrri pe poriuni ale unei aplicaii
complexe, economisind astfel timp). Dintre caracteristicile mediului Windows, amintim:
- interfaa WIN accesat prin pictograme (ICON);

Bazele informaticii economice 53


- un numr mare de accesorii i utilitare prin care sistemul comunic cu utilizatorii
si;
- protocolul OLE (Object Linking and Embedding) pentru realizarea de documente
complexe; de exemplu pot fi astfel incorporate grafice, tabele n documente, iar
modificrile pot fi fcute fr a prsi documentul;
- permite crearea de legturi active ntre aplicaii;
- tehnologia Plug and Play permite ca instalare unui nou periferic s nu impun
restartarea calculatorului.


2.5. REELE DE CALCULATOARE
[BVB 97], [LIX94], [NAS98], [NIR6], [SPB 99]

Modelul unui singur calculator care rezolv problemele mai multor utilizatori
este rapid nlocuit cu modelul unui numr de calculatoare interconectate ntr-un sistem
numit reea de calculatoare. Ideea formarii de reele pentru a face posibil partajarea
diferitelor resurse i schimbul de informaii apare n anii70.
Legtura ntre calculatoare se face instalndu-le ca noduri ntr-o reea;
interconectrile se pot face prin cabluri electrice, fibre optice, laser, satelit, semnale
radio de frecven nalt (microwave).

Avantajele reelelor de calculatoare:
- partajarea resurselor hardware mai muli utilizatori pot avea acces la periferice
costisitoare;
- partajarea resurselor software informaiile existente n reea pot fi accesibile
utilizatorilor, evitndu-se astfel existena unor copii multiple pentru date sau programe;
accesul este controlat prin parole, atribute ale fiierelor i directoarelor i drepturi de
acces specifice fiecrui utilizator, aceste probleme fiind rezolvate de administratorul de
reea;
- flexibilitatea posibilitatea extinderii simple i integrrii de noi echipamente ntr-o
reea deja existent;
- funcionalitate crescut prin distribuirea i multiplicarea unor aplicaii pe mai
multe calculatoare, astfel nct, dac din motive tehnice se defecteaz o parte a reelei,
partea intact poate continua s funcioneze, fr a altera prea mult performanele sale;
- diversificarea serviciilor oferite utilizatorilor, posibilitatea de comunicare ntre
utilizatorii aceleiai reele, ceea ce permite o mai bun coordonare i eficientizarea
activitii;
- realizarea unor sisteme adaptabile la noile cerine, fiabile i robuste;
- costul sczut al unei reele fa de un calculator mare, n condiiile unei
productiviti apropiate.

n funcie de aria geografic de cuprindere, reelele de calculatoare se clasific n:
- Reele locale (LAN Local Area Networks). Sunt primele reele aprute. Statistic s-a
observat c peste 60% din informaiile generate ntr-un birou se folosesc n aceeai
cldire sau perimetru al firmei. Aria lor de cuprindere se limiteaz la spaiul unei
organizaii (instituie financiar-bancar, firm, bibliotec, universitate, etc.), permind
conectarea unui numr mare de calculatoare ntr-un spaiu geografic limitat (de ordinul

54 Curs pentru nvmnt la distan



a ctorva kilometri). Aceste reele se pot interconecta la alta reele mai mari (MAN sau
WAN) prin puni de comunicaie (gateway) ce asigur compatibilitatea software i
hardware ntre dou medii.
- Reele metropolitane (MAN Metropolitan Area Networks). Se ntind la limita unui
ora, permind interconectarea filialelor unei firme, instituii bancare etc. O astfel de
reea poate interconecta mai multe reele locale prin tehnologii speciale.
- Reele mari (WAN Wide Area Networks) de mare ntindere geografic, la nivel
continental i planetar. S-au dezvoltat de asemenea i reelele VAN (Value Added
Networks), care reprezint reele pe arii extinse private, realizate i gestionate de firme
specializate. Reelele private VAN sunt specializate n realizarea transferurilor
electronice de date (EDI Electronic Data Interchange) n domenii cum ar fi: comerul
electronic, servicii financiare, bursiere etc.

Reele locale (LAN)
O reea local este format dintr-un ansamblu de calculatoare, elemente periferice
(imprimante, scannere, plottere, etc.), elemente de conectare (cablu, plci de interfa,
dispozitive nodale de comunicaie HUB).
Staiile existente ntr-o reea local pot fi de dou tipuri:
- Calculatoare server (FS-File Server) care controleaz ntreaga activitate a reelei;
dispun de o memorie extern mare i conin toate sau o mare parte din programele i
fiierele comune. Pe server este instalat un sistem de operare specializat pentru lucrul n
reea numit NOS (Network Operating System).
- Staiile de lucru (WS Work Station) sunt calculatoare personale ce pot lucra
independent sau accesnd resursele harware i software ale serverelor.
Un server poate lucra numai pentru controlul reelei (server dedicat), sau poate lucra
simultan cu controlul reelei i ca staie de lucru (server nededicat).

ntreaga activitate a unei reele de calculator este controlat de un software
specializat, de exemplu: sistemul NetWare al firmei Novell, sistemul Windows NT
(firma Microsoft), sistemul UNIX (firma Santa Cruz Operation).
Principalele funcii ale unui software de reea sunt:
- partajarea fiierelor mai muli utilizatori pot lucra n acelai timp asupra unui
fiier;
- stabilirea unor mecanisme de protecie i securitate a informaiilor;
- gestiunea cozilor de ateptare pentru utilizarea resurselor comune puse la dispoziia
staiilor de lucru de ctre server;
- stabilirea protocolului care determin regulile de acces la reea pentru a evita
coliziunile dintre mesajele care circul la un moment dat n reea.
n funcie de modul de conectare a calculatoarelor n reea, exist mai multe topologii de
reele locale, pentru care s-au definit standarde:
- Topologia de tip stea (star) n care file server-ul este plasat n centrul reelei, staiile
de lucru fiind conectate fizic la server. Toate mesajele trimise de o staie de lucru ajung
la server, care le distribuie staiilor destinatare. Topologia are avantajul c poate fi uor
extins, iar n cazul defectrii unei staii funcionarea reelei nu este influenat.
Standardul specific acestei topologii este ARCNET.

Bazele informaticii economice 55


- Topologia de tip inel (ring) se caracterizeaz prin conectarea calculatoarelor din
reea printr-o cale de comunicaie ce formeaz un inel complet. Pentru aceast topologie
standardul specific este TOKEN RING.
- Topologia de tip magistral (bus) presupune existena unui canal unic de
comunicaie dual (mesajele pot circula n dou sensuri) mprit ntre staii. Mesajele
transmise sunt recepionate de toate staiile, acestea selectndu-i informaiile care le
sunt adresate. Defectarea unei staii nu afecteaz funcionarea reelei, dar
disfuncionalitile la nivelul magistralei (ca i n cazul topologiei inel), afecteaz
ntreaga reea. Se utilizeaz standardul ETHERNET.

Pentru topologiile care utilizeaz o cale unic de comunicaie s-au elaborat dou
protocoale de acces:
- Metoda CSMA/CD (Carrier Sense Multiple Access / Collision Detection) const n
ascultarea liniei de fiecare staie i depistarea, dac exist, a unei emisii n curs, pentru a
stabili disponibilitatea reelei. Dac dou staii emit simultan apare o coliziune detectat
de emitori, care ateptnd un timp diferit (interval aleatoriu de ordinul
milisecundelor), vor emite din nou fr a produce o nou coliziune.
- Metoda Token Passing permite staiei de lucru s sesizeze starea de disponibilitate a
cii de comunicaie, cu ajutorul unui mesaj, numit jeton (pachet de control), pe care
staia l recepioneaz. Jetonul poate fi marcat ca liber sau ocupat de un mesaj. O staie
care vrea s emit trebuie s atepte jetonul i s-l verifice dac este liber poate
declana emisia i marcheaz jetonul ca ocupat. Acesta trece apoi pe la fiecare staie
care verific adresa destinatarului, staia receptoare copiaz mesajul i las jetonul s
treac nemodificat. Emitorul va modifica valoarea jetonului, elibernd astfel calea de
comunicaie, dar nu va putea s-l ocupe imediat pentru a evita fenomenul de acaparare a
sistemului de o singur staie.

Conceptual, reelele locale pot fi clasificate astfel:
- Reele bazate pe arhitectura client server. Acest model este caracterizat de
existena n cadrul reelei a unuia sau mai multor calculatoare cu rol de server i a unui
numr de alte calculatoare reprezentnd staiile de lucru, puse la dispoziia utilizatorilor.
Clientul reprezint entitatea care cere execuia sarcinii, server-ul reprezint entitatea
care execut un set de sarcini, rspunznd astfel solicitrii clientului. Dintre avantajele
acestei arhitecturi, folosit n sistemele informatice, amintim:
- adaptabilitate sporit la nevoile utilizatorilor;
- asigurarea integritii datelor din baza de date;
- actualizarea aplicaiilor se poate face dintr-un punct central al reelei;
- reducerea costurilor prin partajarea resurselor hardware i software.

- Reele bazate pe modelul peer-to-peer. Se caracterizeaz prin faptul c toate
calculatoarele prezint aceleai funcii n reea. Resursele fiecrui calculator pot fi
partajate n reea, dar cu performane reduse. Modelul se caracterizeaz prin
flexibilitate, uurin i simplitate n instalare, administrare i utilizare.

- Reele false, n care interconectarea a dou calculatoare se face prin intermediul
interfeelor (porturilor) seriale sau paralele existente, fr a utiliza echipamente speciale
de interconectare (plci de reea). Interconectarea se face ocazional pentru transferuri de
fiiere, cu ajutorul unor programe utilitare.

56 Curs pentru nvmnt la distan






Reele mari (WAN)
n contextul procesului de informatizare a ntregii societi, interconectarea
reelelor locale a devenit o necesitate.
ntr-o reea mare pot fi interconectate calculatoare i reele de calculatoare
eterogene din punct de vedere al tehnologiei, protocoalelor de comunicaie i al
software-ului utilizat, situate n zone geografice diferite. Un astfel de exemplu l
constituie reeaua INTERNET (Internetwork System sistem de interconectare ale
reele).
Internet-ul reprezint o supermagistral informaional i un adevrat spaiu
cibernetic. Este o reea descentralizat, din punct de vedere administrativ fiind
gestionat de ISOC (Internet SOCiety), o asociaie de voluntari, fondat n 1992, care
are ca scop analizarea noilor tehnologii i definirea strategiilor de viitor. ISOC alege n
fiecare an un consiliu IAB (International Architecture Board), care are ca sarcin
realizarea unor pe termen lung privind arhitectura internet i standardizarea tehnologiei
folosite.
Internet i are originea n reeaua american ARPA (Advanced Research Project
Agency), iniiat n anul 1969 de Ministerul Aprrii al S.U.A. ncepnd la anul 1980,
marile universiti americane, muzee, biblioteci i instituii guvernamentale s-au
conectat la reeaua ARPA. Deoarece aceasta devine foarte solicitat i n consecin greu
de utilizat, o agenie a guvernului american NSF (National Science Foundation)
realizeaz o reea numit NSFNET, care atrage o parte din utilizatorii reelei ARPANET.

Tehnologia Internet ofer o serie de avantaje:
- calculatoarele conectate la reea pot partaja i transfera informaii text sau
multimedia;
- calculatoarele din reea pot avea instalate diferite sisteme de operare i poate fi
utilizat orice hardware;
- se pot realiza conexiuni ntre dou calculatoare aflate n reea n vederea transmiterii
de mesaje;
- ofer o interfa grafic ce permite o navigare uoar, transparent;
- programarea n limbajul HTML singurul standard universal pentru comunicaii
electronice;
- utilizatorii dein controlul informaiei, prin legturile ce permite regsirea fiierelor
n site-ul local sau pe alte site-uri.

Serviciile oferite de Internet sunt aplicaii de reea bazate pe principiul client server.
Principalele servicii sunt:
- serviciul de pot electronic (e-mail) asigur transmiterea i recepionarea de
masaje n reea, utiliznd adresele Internet;
- conectarea la distan (telnet) permite conectarea unui terminal utilizator local la
un server aflat la distan;
- transfer de fiiere (FTP File Transfer Protocol) permite transferul fiierelor ntre
dou noduri ale reelei Internet;

Bazele informaticii economice 57


- serviciul de informare (WWW World Wide Web) asigur funcia de regsire a
informaiei.




ntocmii o cerere de ofert pentru achiziionarea unui calculator necesar
pentru secretariatul unei firme.
(Documentul va avea o pagin A4 i va conine antetul firmei. Redactare n
Word, font Arial 12)





S ne reamintim...
Un sistem electronic de calcul este alctuit din dou componente:
- sistemul de echipamente (hardware), care reunete toate componentele
fizice folosite n culegerea, memorarea, prelucrarea datelor i transmiterea
rezultatelor prelucrrii;
- sistemul de programe (software), reprezint componenta logic i cuprinde
totalitatea programelor care asigur conducerea, supravegherea, controlul i
realizarea procesului de prelucrare; dintre elementele software un rol deosebit revine
sistemului de operare.




Rezumat
Indiferent de structura constructiv, de sistemul de operare i de domeniul de
utilizare, arhitectura calculatoarelor se dezvolt n jurul urmtoarelor concepte
funcionale:
- funcia de memorare;
- funcia aritmetic logic;
- funcia de comand i control;
- funcia de intrare ieire.

J ohn von Neumann a fost primul care a realizat un computer cu o memorie de
lucru (ceea ce astzi se numete RAM). Dac aplicm acest model la un PC actual
vom obine schema de mai jos:

58 Curs pentru nvmnt la distan




Sistemul de operare reprezint componenta logic de baz i este o colecie
organizat de programe care permite utilizarea eficient a resurselor sistemului de
calcul.
Sistemul de operare asigur alocarea i controlul tuturor resurselor,
nlnuirea proceselor de prelucrare i interfaa cu utilizatorul.


Principalele funcii ale unui sistem de operare sunt:
a) gestiunea unitii centrale are ca scop lansarea n execuie a programelor,
planificarea derulrii proceselor, depistarea erorilor i tratarea acestora;
b) gestionarea memoriei interne cuprinde evidenierea strii de alocare a fiecrei
locaii de memorie, alocarea zonelor de memorie, etc.
c) gestiunea datelor asigur organizarea, identificarea i protecia datelor grupate
n fiiere; aceast funcie este ndeplinit de sistemul de gestiune al fiierelor;
d) gestionarea dispozitivelor periferice const n alocarea i eliberarea acestora,
iniierea operaiilor de intrare / ieire;
e) asistena acordat utilizatorului comunicarea este asigurat prin interfee
prietenoase uor de utilizat.


Modelul unui singur calculator care rezolv problemele mai multor utilizatori este
rapid nlocuit cu modelul unui numr de calculatoare interconectate ntr-un sistem
numit reea de calculatoare. Ideea formarii de reele pentru a face posibil partajarea
diferitelor resurse i schimbul de informaii apare n anii70.

Avantajele reelelor de calculatoare:
- partajarea resurselor hardware mai muli utilizatori pot avea acces la

Bazele informaticii economice 59


periferice costisitoare;
- partajarea resurselor software informaiile existente n reea pot fi accesibile
utilizatorilor, evitndu-se astfel existena unor copii multiple pentru date sau
programe; accesul este controlat prin parole, atribute ale fiierelor i directoarelor i
drepturi de acces specifice fiecrui utilizator, aceste probleme fiind rezolvate de
administratorul de reea;
- flexibilitatea posibilitatea extinderii simple i integrrii de noi echipamente
ntr-o reea deja existent;
- funcionalitate crescut prin distribuirea i multiplicarea unor aplicaii pe mai
multe calculatoare, astfel nct, dac din motive tehnice se defecteaz o parte a
reelei, partea intact poate continua s funcioneze, fr a altera prea mult
performanele sale;
- diversificarea serviciilor oferite utilizatorilor, posibilitatea de comunicare ntre
utilizatorii aceleiai reele, ceea ce permite o mai bun coordonare i eficientizarea
activitii;
- realizarea unor sisteme adaptabile la noile cerine, fiabile i robuste;
- costul sczut al unei reele fa de un calculator mare, n condiiile unei
productiviti apropiate.


Test de evaluare a cunotinelor
1. Precizai principalele momente ale evoluiei dispozitivelor de calcul.
2. Generaii de calculatoare.
3. Structura general a unui calculator. Memoria central.
4. Structura general a unui calculator. Unitatea de comand.
5. Structura general a unui calculator. Unitatea aritmetic i logic.
6. Structura general a unui calculator. Ansamblul de periferice.
7. Calculatoare personale. Microprocesorul.
8. Calculatoare personale. Memoria intern.
9. Calculatoare personale. Memoria extern.
10. Calculatoare personale. Dispozitive periferice.
11. Sisteme de operare (definiie, principale funcii, tipuri de sisteme,
structurare).
12. Sistemele de operare MS-DOS i Windows.
13. Reele de calculatoare (structura unei reele, topologii, avantaje, tipuri
de reele, funciile unui software de reea).


60 Curs pentru nvmnt la distan



Unitatea de nvare 3. ALGORITMI




Introducere
Acest capitol familiarizeaz studenii cu noiunile de algoritm, limbaj algoritmic,
tabel de decizie, ofer exemple ample penrtu o nelegere n detaliu i creaz un
fundament logic ce poate fi utilizat n proiectri viitoare de sisteme informatice.




Competenele unitii de nvare
Dup parcurgerea acestei pri studenii vor nelege urmtoarele concepte:
principiile teoretice ale programrii structurate
limbajul algoritmic
analiza algoritmilor
tabele de decizie
structuri elementare de date
algoritmi fundamentali



Durata medie de parcurgere a primei uniti de nvare este de 4 ore.



3.1. Caracterizare general
[BVB97], [CTT97], [LIG86], [LIX94], [MAR96], [PMM94]

Noiunea de algoritm nu are o definiie. Termenul deriv de la numele
matematicianului arab Abu Jafar Mohamed ibn Msa al Kahowrizmi (n limba arab
algoritm = al-khrezmi).
Algoritmul este un concept
(1)
folosit n mod intuitiv pentru a desemna o mulime
finit de operaii cunoscute, care, executate ntr-o ordine bine stabilit, pornind de la o

(1)
n cadrul matematicii i logicii, algoritmii apar ca metode generale pentru rezolvarea tuturor
problemelor dintr-o clas dat.
n perioada 1931-1947 s-au dezvoltat n cadrul logicii matematice un numr de concepte de
algoritm bine delimitate care precizeaz noiunea intuitiv. Cele mai importante sunt rezolvarea
ecuaiilor (J. HERBRAND, K. GDEL, S.C., KLEENE, aproximativ n perioada 1931-1936), maina lui
Turing (A.M. TURING, 1936), - calcul (A. CHURCH, 1936) i conceptele algoritmice ale lui E.L.
POST (1936) i A.A. MARKOV (1947).
Semnificativ este faptul c toate aceste noiuni sunt echivalente n sensul c aceleai funcii
definite pe domeniul numerelor naturale, aa numitele funcii recursive pot fi calculate prin fiecare din
ele. Pe baza acestei echivalene se poate adopta punctul de vedere prin care conceptul intuitiv de algoritm
ctig astfel precizie. Acest punct de vedere a fost formulat n 1936 de ctre Church i este cunoscut n
literatura matematic ca ipoteza lui Church.


Bazele informaticii economice 61


mulime de valori numit domeniul de definiie, produce n timp finit un alt set de valori
(ieirea).
Algoritmul constituie baza programrii calculatoarelor electronice. n
activitatea de rezolvare a problemelor cu calculatorul elaborarea algoritmilor reprezint
cea mai important etap, obligatorie i de multe ori dificil. De calitatea algoritmului
proiectat depinde calitatea i fiabilitatea programului i succesul execuiei acestuia.
Studiul unei probleme compatibile din punctul de vedere al calculatorului
(principial rezolvabil i cu soluie practic realizabil) conduce la formalizarea i
abstractizarea ei, n scopul nelegerii de ctre calculator. Rezolvarea cu calculatorul a
unei probleme concrete const din parcurgerea urmtoarelor etape:
a) Formularea exact a problemei de rezolvat:
- definirea datelor problemei (intrrile) caracterizndu-le prin tip, proprieti,
domeniul valorilor;
- definirea rezultatelor problemei (ieirile);
- precizarea relaiilor dintre date i rezultate.
b) Descrierea modului de rezolvare a problemei (algoritmul).
c) Scrierea ntr-un limbaj de programare convenabil a unui program pe baza
algoritmului definit anterior i a datelor de prelucrat.
Acest proces este prezentat schematic n figura 3.1



Principalele caracteristici ale unui algoritm sunt:
Generalitatea reprezint proprietatea algoritmului de a fi aplicabil tuturor
problemelor din clasa de probleme pentru a fost elaborat.
Finitudinea algoritmului presupune c ntr-un timp determinat (un numr finit de
pai, cunoscut sau necunoscut), problema se consider soluionat. n caz contrar
algoritmul cicleaz, adic algoritmul va efectua la infinit transformri asupra
datelor de intrare.
Claritatea (unicitatea) algoritmului presupune ordinea exact a pailor i perfecta
lor determinare i inteligibilitate; totul trebuie exprimat corect, fr ambiguiti i
neclariti.

Succesiunea logic i determinat de operaii prin care se trece de la informaia
iniial la informaia final, reprezint paii algoritmului.
n practica programrii se utilizeaz diverse forme de reprezentare a
algoritmilor, dintre care vom prezenta:
1. Schema logic constituie un mod intuitiv de reprezentare a unui algoritm,
utiliznd simboluri grafice ce permit o vizualizare expresiv i sintetic, uor de
urmrit, a algoritmilor.
2. Limbajul convenional permite exprimarea neambigu a ordinii de execuie a
pailor unui algoritm cu ajutorul unor reguli sintactice simple.
3. Limbajul algoritmic constituie o form intermediar ntre limbajul natural i
limbajul de programare.
Algoritm
+
Date
codificare abstractizare
Program Problema
Figura 3.1

62 Curs pentru nvmnt la distan



4. Tabela de decizie permite reprezentarea compact a unor clase de algoritmi (cu
numr mare de decizii bazate pe condiii complexe).

Deoarece activitatea de elaborare a unui algoritm este strns legat de etapa
urmtoare de codificare i transpunere ntr-un limbaj de programare (etapa de
programare), este necesar ca abordarea construciei i analizei algoritmilor s se fac
prin prisma principiilor programrii structurate.


3.2. Principiile teoretice ale programrii structurate
[BVB97], [LIG86], [LIX94], [LPG81], [PMM94]

Un program poate fi privit ca un sistem. Structura unui program, adic
elementele i relaiile dintre ele, a fost studiat atent odat cu dezvoltarea teoriei
programrii structurate.
Programarea structurat este o metod de concepere, organizare, codificare,
testare, meninere i documentare a programelor.
Programarea structurat reprezint modalitatea de ordonare a activitii mentale
desfurate n scopul obinerii de programe constituite din structuri fundamentale
(secvenial, alternativ, repetitiv), n condiiile minimizrii efortului de programare,
dar realizrii unor produse program fiabile i de bun calitate.
nceputul programrii structurate aparine profesorului E.W. Dijkstra de la
Universitatea Eindhoven care n 1965 propune construirea unor programe mai bune prin
evitarea folosirii instruciunii de salt necondiionat (GOTO).
Fundamentarea matematic este fcut de Bhm i Jacopini ntr-un articol
publicat n 1966, n care demonstreaz c sunt suficiente trei tipuri de structuri de
transfer a execuiei pentru a exprima logica intern a oricrui program: secvena,
selecia i iteraia.
n 1974, Knuth prezint dou situaii n care utilizarea instruciunii GOTO nu
modific claritatea programelor.
a) situaia n care se dorete s se ias din mai multe repetiii ierarhizate pe nivele,
astfel nct s se ajung pe primul nivel;
b) situaia unei selecii multiple n care variantele selectate sunt apropiate; n cazul n
care soluia unei variante poate fi redus la soluia unei alte variante printr-un
calcul simplu, cel mai natural mod de a rezolva prima variant este efectuarea unui
salt necondiionat.

n 1972 Mills d o fundamentare riguroas programrii structurate, modelnd programul
cu ajutorul conceptului de funcie.
Schema logic (organigrama) este rezultatul unei analize inductive, care duce
la o nlnuire de aciuni i teste. Fcnd abstracie de unele convenii de reprezentare,
organigrama unui proces de calcul conine 3 tipuri de simboluri:
a) Aciunea elementar poate fi o instruciune simpl (instruciune de atribuire,
apel de subrutin, instruciuni de intrare/ieire), proceduri interne sau externe cu o
singur intrare i o singur ieire; aciunea elementar include i grupurile de
instruciuni care se execut secvenial; se reprezint:

Bazele informaticii economice 63



b) Predicatul (condiie, expresie boolean, text) ia valoarea de adevr (T) sau de
fals (F); corespunztor acestor valori se continu execuia pe un arc sau pe cellalt;
se reprezint:


c) Simbolul de regrupare pentru a continua pe un singur arc; se asigur astfel
ieirea sau intrarea ntr-o structur standard; se reprezint:





n continuare se prezint n sintez principalele structuri i teoremele fundamentale
legate de acestea.

1) Structura D (Dijkstra) conine:
1. aciunea elementar;
2. compoziia (nlnuirea secvenial):




unde a, b sunt structuri D. Aceast diagram se va nota SEQ (a, b).

3. selecia (structura alternativ):



unde a, b sunt structuri D,
iar p este un predicat

Aceast diagram se va nota IF-THEN-ELSE (p, a, b);

4. ciclul cu test iniial (structura repetitiv condiionat anterior):
a b
a
1

P
a
P
b
T
F

64 Curs pentru nvmnt la distan





unde a este o structur D,
iar p este un predicat


aceast diagram se va nota DO-WHILE (p, a);

2) Structura D - reprezint o extindere a structurii D. Conine:
1. structura D;
2. selecia redus (structura pseudoalternativ):



unde a este o structur D,
iar p este un predicat



Aceast diagram se va nota cu IF-THEN (p, a). Se observ c se poate introduce
pe ramura fals o aciune elementar vid, notat cu , obinnd astfel echivalena:

IF-THEN (p, a) IF-THEN-ELSE (p, a, ) (3.1)

3. ciclul cu test final (structura repetitiv condiionat posterior):



unde a este o structur D,
iar p este un predicat


Aceast diagram se va nota DO-UNTIL (p, a); ntre structurile DO WHILE i
DO-UNTIL se stabilesc urmtoarele echivalene:

DO-UNTIL (p, a) SEQ (a, DO WHILE (p, a)) (3.2)

DO-WHILE (p, a) IF-THEN (p, DO UNTIL (p, a)) (3.3)


Tema: demonstrai cu ajutorul organigramelor echivalenele (3.1), (3.2) i (3.3).





P
a
F
T
a
P
T
F
a
P
T
F

Bazele informaticii economice 65



4. selecia multipl (structura alternativ multipl):


Aceast diagram se va nota ( )
n
a a a , , , ; OF CASE
2 1
o .

3) Structura L este o structur oarecare bine format, adic pe orice cale avem un
drum de la intrare la ieire; poate conine instruciuni de salt necondiionat; nu exist
restricii asupra predicatelor.

Definiia 3.1. Dac o schem logic are numai structuri D sau D, atunci ea se
numete schem logic structurat.

Definiia 3.2. O structur
1
S este convertibil funcional ntr-o structur
2
S ,
dac i numai dac pentru orice intrare,
2
S calculeaz aceeai funcie ca i
1
S .


TEOREMA DE STRUCTUR A LUI BHM I JACOPINI
a) Orice structur L este echivalent funcional cu o structur D (D).
b) n conversia funcional a unei structuri L ntr-o structur D (D) sunt
eventual folosite un numr finit de variabile booleene de control.

Not. La sfritul acestui paragraf, n aplicaiile 1 i 2 se exemplific modul de
transformare a unui structuri L ntr-o structur D (D). Schemele logice prezentate
determin diferena a dou mulimi date sub form de vectori:

{ } B x A x x B A C e e = = i /


COROLARUL TOP DOWN
Un program structurat este echivalent cu un program pus sub una din formele:
( ) b a SEQ P , =
( ) b a p ELSE THEN IF P , , =
( ) a p WHILE DO P , =
( ) a p UNTIL DO P , =
unde p este un predicat, iar a i b sunt structurile privilegiate D sau D; dac se pornete
de la un program nestructurat i se realizeaz echivalentul su structurat, p poate fi i o
variabil boolean.
Corolarul top-down este aplicat la analiza problemelor dup principiul de sus
n jos, realizndu-se descompuneri succesive pn la ultimul nivel.

a
1

o
a
n

o
1

o
n


66 Curs pentru nvmnt la distan



Exemplu:
Programul:





P=



poate fi descompus succesiv pn ultimul nivel astfel:

P = SEQ(f1,f2,s6)
f1 = IF-THEN-ELSE(p1,f4,f5)
f4 = SEQ(s1,s2)
f5 = IF-THEN-ELSE(p2,s3,f6)
f6 = DO-UNTIL (p3,s4)
f2 = DO-WHILE(p4,s5)

Rezult c structura programului P poate fi scris sub forma:
P = SEQ (IF-THEN-ELSE (p1,SEQ(s1,s2),
IF-THEN-ELSE(p2, s3, DO-UNTIL (p3, s4))),
DO-WHILE (p4, s5),s6)




SCHEME LOGI CE STRUCTURATE

Schema logic (organigrama) este o reprezentare grafic a unui algoritm, care folosete
diferite figuri geometrice avnd o anumit semnificaie; figurile sunt unite prin sgei
care arat modul n care acestea se nlnuiesc. Pentru sporirea claritii se admit
urmtoarele simboluri grafice pentru reprezentarea schemelor logice:
T
T F
T
F
s5
s6
s3
s4 p3
s1 s2
p1
p2
p4
F
F
T

Bazele informaticii economice 67



Simbolul Denumire Utilizare

bloc terminal
marcheaz nceputul
START sau sfritul STOP
al unei scheme logice;



bloc de calcul
sunt evideniate calculele i
atribuirile ce se efectueaz;

bloc de intrare / ieire
indic citirea / scrierea
valorilor unor variabile;




bloc de intrare pentru introducerea datelor;



bloc de ieire pentru extragerea datelor;




bloc de decizie
marcheaz ramificaiile n
funcie de o anumit
condiie;


bloc conector
leag diferitele puncte ale
unei scheme logice;

sgeata
arat nlnuirea blocurilor
ntr-o schem logic;



bloc de procedur
reprezint o prescurtare a
ceea ce urmeaz s se
dezvolte sau exiat i doar
se utilizeaz.
sau






Not. n paginile urmtoare se exemplific modul de transformare a unei structuri L
ntr-o structur D (D).


68 Curs pentru nvmnt la distan



Aplicaia 1. Diferena a dou mulimi date sub forma de vectori.

Exemplu de structura L














Bazele informaticii economice 69


Aplicaia 2. Diferena a dou mulimi date sub forma de vectori.



Exemplu de structura D











70 Curs pentru nvmnt la distan



3.3. Limbajul algoritmic
[ARG93], [BVB97], [DOD87], [GNC96], [LIG86], [LIX94], [PMM94]

Limbajul algoritmic realizeaz o scriere mai apropiat de cea liniar. Permite
folosirea unor instruciuni care conin condensat cteva subscheme utilizate frecvent i
cteva reguli simple de aliniere a textului scris.
Avnd un algoritm descris ntr-un astfel de limbaj, translatarea n limbaj de
programare nu presupune dect o concentrare asupra aspectelor sintactice.
Limbajul algoritmic (pseudocodul) realizeaz specificarea algoritmilor prin dou
tipuri de enunuri: nestandard i standard:
- enunurile nestandard sunt fraze n limbaj natural, care pot fi utilizate de
programator n schiarea formelor iniiale ale algoritmilor; ele pot fi nlocuite treptat cu
enunuri standard; sunt marcate cu simbolul *;
- enunurile standard exprim operaii cu corespondene directe n limbajele de
programare.

Observaie. Limbajul algoritmic nu este conceput cu un limbaj de programare; are
puine reguli sintactice, lsnd o mare libertate de exprimare a aciunilor algoritmilor.
Principalele elemente ale limbajului algoritmic sunt:
A. Cuvintele cheie sunt cuvinte care identific o instruciune; vor fi evideniate n
scris.
B. Datele pot fi clasificate conform mai multor criterii:
- dup tip: date numerice (ntregi i reale); logice (booleene) i ir de caracter;
- dup natur: constante i variabile;
- constantele ntregi i reale sunt numere ntregi i reale reprezentante n
modul uzual;
- constantele booleene (logice) sunt adevr (T) i fals (F);
- variabilelor li se asociaz un nume, care este un ir de caractere
alfanumerice (litere sau cifre), ncepnd cu o liter;Organizarea
datelor admitem urmtoarele moduri de organizare a datelor: tablouri
(vectori i matrice), lista, stiva, coada, articolul i fiierul.
Operaiile cu date depind de natura i organizarea datelor;
- asupra datelor numerice se folosesc operaiile uzuale: adunarea, scderea,
nmulirea, mprirea i exponenierea, comparaiile uzuale (<, >, , , =, ),
rezultatul fiind exprimat printr-o valoare logic;
- asupra datelor logice se pot efectua operaiile de disjuncie (or), conjuncie
(and) i negaie (not);
- asupra irurilor de caractere se pot efectua concatenarea i comparaiile (bazate
pe ordinea lexicografic).

C. Instruciunile limbajului algoritmic

1. Instruciuni de citire/scriere:
read lista variabile
write lista variabile

Citirea const din transferul de valori de pe mediul de intrare n locaiile de memorie ale
calculatorului. Scrierea const din transferul coninutului (valorii) unor variabile de

Bazele informaticii economice 71


memorie pe mediul de ieire. Pentru citirea/scrierea unor variabile de tip tablou vom
utiliza forma:
( ) n , 1 i , v
i
= sau ( ) n , 1 j , m , 1 i , a
ij
= =

2. Instruciunea de atribuire:

variabil: = expresie

Se evalueaz expresia i rezultatul este atribuit variabilei.

3. Instruciunea de oprire:
stop

Marcheaz sfritul algoritmului.

4. Instruciunea de ramificare:
if condiie
then secvena 1
else secvena 2


Observaie. Prin secven nelegem un grup de instruciuni scrise una dup alta.

5. Instruciunea repetitiv condiionat anterior (ciclul cu test iniial):

while condiie
do secvena

Se execut secvena att timp ct condiia este adevrat; dac rezultatul evalurii este
fals execuia se termin.

6. Instruciunea repetitiv condiionat posterior (ciclul cu test final):





repeat

until


secvena
condiie

Se execut secvena (cel puin o dat) pn condiia devine adevrat.

7. Instruciunea repetitiv cu un numr fixat de pai (ciclul cu contor):

for contor = val. iniial, val. final, pas
do secvena


Observaie. Instruciunea ciclul cu contor o considerm echivalent cu:

Contor : = val. iniial

72 Curs pentru nvmnt la distan




while (contor val. final) pas 0
do secven
contor: = contor + pas


8. Instruciunea de ramificare multipl:
case expresie of
C1 : secvena 1

Cn : secvena n
else secvena n + 1


Se evalueaz expresia; dac valoarea expresiei este egal cu C1, C2, . . . , Cn se execut
secvena corespunztoare: secvena 1, secvena 2, . . ., secvena n. n caz contrar se
execut secvena n + 1.

9. Instruciunea de ramificare redus:
if condiie
then secvena

10. Instruciunea de ieire dintr-un ciclu:
exit

Determin trecerea la execuia primei instruciuni care urmeaz celui mai interior ciclu
while, repeat, for care o conine, ieindu-se deci din acel ciclu.

11. Comentariul are forma:
/* ir de caractere */

Comentariul poate aprea oriunde n program, avnd rolul de a mri claritatea
algoritmului, oferind explicaii suplimentare.

Exemple.
1. Algoritmul de calcul al factorialului N N = 3 2 1 ! se poate prezenta n limbaj
algoritmic astfel:

read N read N read N
1 := F 1 : ; 1 : = = i F 1 : ; 1 : = = i F
for 1 , , 1 N i =
do i F F = :

while i N > repeat
i F F = :
i : = i + 1
do i F F = :
1 : + = i i
write F Write F until i N <
write F
stop stop stop

2. Diferena a dou mulimi date sub form de vectori (trecerea n limbaj algoritmic a
schemei logice structurate prezentate n paragraful 3.2).

Bazele informaticii economice 73



/* diferena a dou mulimi */
read ( ) ( ) n j b m i a n m
j i
, 1 , , , 1 , , , = =
0 := l ; 1 := i
repeat
1 := j logic: =T
repeat
if
j i
b a =
then logic: = F
else 1 : + = j j
until ( ) n j > or (not logic)
if logic
then 1 : + = l l

i l
a c = :

1 : + = i i
until ( ) n i >

if 0 = l
then write diferena este vid
else write ( ) l j c
i
, 1 , =
stop.


PROCEDURI I FUNCII
Un program poate face apel la unul sau mai multe subprograme.
Structura programului complet conine:
- un program principal, care nu poate fi apelat ca subprogram;
- o structur de subprograme.
Dac programul P face apel la un alt program P
1
, atunci P se numete program
apelant, iar P
1
se numete program apelat (subprogram).
Subprogramele reprezint secvene de operaii executate n scopul rezolvrii
unei probleme. Aceeai seciune din algoritm n mai multe puncte ale acestuia, poate fi
scris o singur dat i apelat ori de cte ori este nevoie.
Utilizarea procedurilor i funciilor conduce la creterea eficienei activitii de
programare: pri ale algoritmului pot fi proiectate, codificate i testate independent una
fa de alta. Se pot construi mult mai uor algoritmi cu complexitate mare, utiliznd
module deja proiectate i verificate. Aceasta sporete fiabilitatea programelor i reduce
efortul de programare.

1. Utilizarea procedurilor:
procedure nume (parametrii formali)
secvena
end
apelul procedurii

74 Curs pentru nvmnt la distan



call nume (parametrii efectivi)
2. Utilizarea funciilor:
function nume (parametrii formali)
secvena
end
apelul funciei:
nume (parametrii efectivi)

Exemplu.
Calculul formulei
( )! !
!
k n k
n
C
k
n

= se poate realiza utiliznd o funcie pentru
calculul factorialului.
function FACT(M)
FACT: =1
for i=1,M,1
do FACT: = FACT i

end
Programul principal este:
read n, k
( ) ( ) ( ) k n FACT k FACT n FACT c = / / :
write c
stop
Comentarii.
- O procedur poate avea un numr oarecare de parametrii, eventual zero; de
exemplu, o procedur care realizeaz tiprirea unui mesaj fix nu are parametrii.
- ntre parametrii formali i cei efectivi se realizeaz o coresponden biunivoc;
corespondena este poziional. Parametrii actuali i cei efectivi trebuie s
corespund cu numr i tip.
- Pentru funcii, lista de parametrii formali conine doar parametrii de intrare;
singurul parametru de ieire este chiar numele funciei, care este utilizat n
secvena de operaii a funciei ca orice parametru; apelul unei funcii este
considerat ca un operand al expresiilor.


ITERATIVITATE I RECURSIVITATE

I terativitatea este procesul prin care rezultatul este obinut ca urmare a execuiei
repetate a unui set de operaii, de fiecare dat cu alte valori de intrare. Numrul de
iteraii poate fi cunoscut, dar determinabil pe parcursul execuiei. Indiferent de situaie,
numrul de iteraii trebuie s fie finit.
Recursivitatea este procesul iterativ prin care valoarea unei funcii se determin
pe baza uneia sau mai multora dintre propriile ei valori anterioare, prin autoapelarea
funciei.
Valorile unei funcii recursive se calculeaz din aproape n aproape, pe baza
valorilor cunoscute ale funciei pentru anumite argumente iniiale.

Bazele informaticii economice 75


Puterea de exprimare a recursivitii const n posibilitatea definirii unui numr
infinit de calcule printr-un program recursiv, chiar dac acesta nu conine repetri
explicite.
Instrumentul necesar i suficient folosit la exprimarea calculelor recursive este
subprogramul (procedur sau funcie) deoarece acest mecanism permite identificarea
printr-un nume a mai multor instruciuni.
Subprogramul P este direct recursiv dac se autoapeleaz, adic P conine o
referire explicit la el nsui.
Subprogramul P este indirect recursiv dac P conine un apel la subprogramul
Q, care conine o referire direct sau indirect la P.
Pentru a nu conduce la calcule infinite, un subprogram recursiv trebuie s
conin o condiie C care la un moment dat devine fals, caz n care se ncheie apelarea
recursiv.
Schema unei proceduri recursive poate fi descris astfel:

procedure P
if C then . . .
call P
..
end

Tehnica cea mai des utilizat pentru a termina apelul recursiv const n definirea
unei funcii ( ) x f , astfel nct ( ) 0 s x f determin terminarea apelului recursiv.
Dac se poate demonstra c la fiecare apel valoarea funciei scade, atunci rezult
caracterul finit al calculului descris de procedura respectiv.
Pentru a exemplifica procedeul considerm funcia factorial descris de:

( )
( )

>
=
=
1 dac , 1 - n fact n
0 dac , 1
n
n
n fact

Calculul pentru 4 = n decurge astfel:

( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) . 24 6 4 2 3 4
1 2 3 4 1 1 2 3 4 0 1 2 3 4
1 2 3 4 2 3 4 3 4 4
= = =
= = = =
= = = =
fact
fact fact fact fact


Funcia recursiv va fi:
function ( ) n FACT
if o n = then 1 := FACT
else ( ) 1 : = n FACT n FACT
end
Un algoritm recursiv poate fi nlocuit cu unul iterativ echivalent cu el.
n general forma iterativ a unei funcii este mai eficient dect cea recursiv n
ceea ce privete timpul de execuie i memoria ocupat. Pentru probleme de
complexitate redus este preferat varianta iterativ.

76 Curs pentru nvmnt la distan



Forma recursiv este preferat n cazurile n care transformarea recursivitii n
interaie cere un efort de programare deosebit, algoritmul pierzndu-i claritatea
exprimrii, testarea i ntreinerea devenind astfel foarte dificile.

Aplicaie.
Se consider polinomul ( )
n n
n n
a x a x a x a x P + + + + =

1
1
1 0
cu
9 e
i
a , n i , 0 = . S se calculeze valoarea polinomului pentru
0
x dat.
Polinomul se poate scrie:
( ) ( ) ( )
n n
a x a x a x a x P + + + =
1 1 0
i rezult relaiile de recuren:

0
a P =
,
0 i
a x P P + = pentru n i , 2 , 1 =
Algoritmul iterativ de calcul a valorii polinomului este:
read ( )
0
, , 0 , , x n i a n
i
=
1 : ; :
0
= = k a P
while n k s
do
k
a x P P + =
0
:
1 : + = k k
write P x ,
0

stop

n variant pentru determinarea valorii polinomului ( ) x P de grad n trebuie
calculat funcia ( ) n pol definit recursiv astfel:
( )
( )

> +
>
=
1 dac , 1 pol
1 dac ,
0
0
n a x n
n a
n pol
Algoritmul recursiv de calcul a valorii polinomului este:
function ( ) n POL
if 0 = n then
0
: POL a =
else ( )
n
a x n + =
0
1 POL : POL

end
read ( )
0
, , 0 , , x n i a n
i
=
( ) n P POL :=
write P x ,
0

stop




3.4. ANALIZA ALGORITMILOR
[BAU91], [BVB97], [GNC96], [LIG86], [PMM94]


Bazele informaticii economice 77


Pentru rezolvarea unei probleme se pot construi mai muli algoritmi, care pot
avea o comportare diferit, chiar dac setul de date de intrare este acelai. Comportarea
se refer la timpul de execuie i la memoria necesar.
Analiza unui algoritm nseamn determinarea resurselor necesare pentru
funcionare (timp de execuie i necesare de memorie).
Datorit evoluiei sistemelor de calcul, problema memoriei a devenit secundar.
Timpul necesar execuiei unui algoritm este n general dependent de numrul datelor de
intrare.
Pentru fiecare algoritm se poate estima n funcie de diverse date de intrare
(numrul de parametrii, mrimea tablourilor folosite etc.) un ordin de mrime al
timpului n care se realizeaz comparrile cuprinse n acel algoritm (se consider) c
fiecare operaie de comparare se execut ntr-un segment de timp care se ia ca unitate).
Fie * : R N f o funcie arbitrar

Definiia 3.3. Ordinul lui ( ) n f este mulimea funciilor ( ) n g mrginite
superior de un multiplu pozitiv al lui ( ) n f , adic:
( ) ( ) ( ) ( ) { } n f c n g N n R c R N g n f O s e e - =
+
, , * :
n aceast idee, dac o implementare a unui algoritm, nu ia mai mult de ( ) n g
secunde pentru a rezolva o problem cu n comparaii (sau operaii aritmetice), atunci
orice alt implementare a aceluiai algoritm ia un timp de ordinul lui ( ) n g secunde.
Spunem c un astfel de algoritm ia un timp de ordinul lui ( ) n f pentru orice funcie
* : R N f astfel ca ( ) ( ) ( ) n f O n g e .
n general ns se ncearc exprimarea ordinului unui algoritm ca timpul de
rulare al celei mai simple funcii f astfel ca ( ) ( ) ( ) n f O n g e .
S presupunem c printr-o analiz riguroas s-a ajuns pentru timpul de execuie
al unui algoritm la expresia:
( ) c bn an n T + + =
2

De la un n suficient de mare termenul preponderent devine
2
an , ceilali avnd o
contribuie nesemnificativ la valoarea exact pentru ( ) n T i deci vor fi neglijai. De
asemenea, factorul constant din expresia termenului principal va fi ignorat, pentru c i
el devine nesemnificativ n caracterizarea ordinului de mrime. Pentru rezultatul obinut
prin aceste simplificri vom nota:
( ) ( )
2
n O n T =
Practica a impus ca acceptabili numai algoritmii cu comportare n timp
polinomial, adic pentru care 0 > -k cu ( ) ( )
k
n O n T = .
Algoritmii cu comportare n timp exponenial sunt considerai inacceptabili;
pentru o ntreag clas de astfel de algoritmi nu se cunoate dac pot fi redui la
algoritmi cu eficacitate polinomial.
n tabelul 3.1, se prezint variaia timpului de execuie n cazul comportrii
polinomiale i exponeniale pentru mai multe valori ale lui n.

Tabelul 3.1. ([BAU91])

78 Curs pentru nvmnt la distan



( ) n O
n =10 n = 20 n = 30 n = 40 n = 50 n = 60
n 0.00001
sec
0.00002
sec
0.00003
sec
0.00004
sec
0.00005
sec
0.00006
sec
2
n
0.0001
sec
0.0004
sec
0.0009
sec
0.0016
sec
0.0025
sec
0.0036
sec
3
n
0.001
sec
0.008
sec
0.027
sec
0.064
sec
0.125
sec
0.216
sec
5
n
0.1
sec
3.2
sec
24.3
sec
1.7
sec
5.2
sec
13.0
sec
n
2
0.001
sec
1.0
sec
17.9
min
12.7
zile
35,7
ani
366
secole
n
3
0.059
sec
58
min
6.5
ani
38.55
secole
8
10 2
secole
13
10 3 . 1
secole

n general se consider c un algoritm este mai eficient dect altul dac are un
ordin de mrime pentru timpul de execuie mai mic.

Exemplu. Determinarea minimului i maximului elementelor unui vector.
Se d vectorul ( )
n
a a a A , , ,
2 1
= ; s se determine;
{ }
n
a a a m , , , min
2 1
= i { }
n
a a a M , , , max
2 1
= .

Metoda 1.
O metod evident este de a determina n paralel cele dou valori. Algoritmul
este:
/* algoritmul MINIMAX1*/
read ( ) n i a n
i
, 1 , , =
1 1
: ; : a M a m = =

for n i , 2 =
do if m a
i
<

if
then
1
: a m =

M a
i
>


then
i
a M = :


write M m,
stop
Numrul de comparaii efectuate ntre elementele vectorului A i valorile m i M
este ( ) 1 2 n

Metoda 2.
Algoritmul prezentat anterior poate fi mbunti dac se efectueaz comparaia
M a
i
> numai n cazul n care condiia m a
i
< este fals.

Bazele informaticii economice 79


Algoritmul este urmtorul:
/* algoritmul MINMAX2 */
read ( ) n i a n
i
, 1 , , =
1 1
: ; : a M a m = =

for n i , 2 =
do if

then
1
: a m =

else
if M a
i
>


then
i
a M = :






write m, M
stop
Cazul cel mai defavorabil apare atunci cnd elementele vectorului sunt n ordine
cresctoare, numrul de comparaii fiind ( ) 1 2 n . Se poate arta c numrul mediu de
comparaii n acest caz este 1 2 / 3 n .

Metoda 3.
n funcie de paritatea lui n, se ncepe cu una din urmtoarele iniializri:
- dac n par { }
2 1
, min : a a m = { }
2 1
, max : a a M =
- dac n impar
1
: a m =
1
: a M =
Se consider perechi succesive de elemente de forma:
( )
1
,
+ k k
a a cu k =3, 5, , n-1 pentru n par;
i k = 2, 4, , n-1 pentru n impar.
Se compar m cu min { }
1
,
+ k k
a a i M cu max { }
1
,
+ k k
a a actualizndu-se
eventual valorile variabilelor m i M.

80 Curs pentru nvmnt la distan



Algoritmul pentru aceast metod este:
/* algoritmul MINMAX3 */
read n, ( ) n i a
i
, 1 , =
if n mod 2 = 0


then

if

2 1
a a <



then
2 1
: ; : a M a m = =
else
1 2
: ; : a M a m = =




3 := k
else
2 : ; : ; :
1 1
= = = k a M a m


while 1 - n k

do

if ( )
1
,
+ k k
a a

then
if m a
k
<

then
k
a m = :





if M a
k
>
+1


then
1
:
+
=
k
a M





else

if M a
k
<
1 +





then
1 +
= :
k
a m




if M a
k
>


then
k
a M = :





2 : + = k k


write m,M
stop

Dac s n = 2 se efectueaz o comparaie la iniializare la iniializare i
( ) 1 3 s comparaii n continuare
2
2
3
2 3
(


=
n
s comparaii, unde | |

+ < < +
=
=
1 dac , 1
dac ,
n x n n
n x n
x
Dac 1 2 = s n nu se efectueaz nici o comparaie la iniializare i ( ) 1 3 s
comparaii n rest, deci 2
2
3
3 3
(


=
n
s comparaii.

Bazele informaticii economice 81


Propoziia 3.1. Orice algoritm care determin cel mai mic i cel mai mare
element al unei mulimi neordonate cu n elemente necesit cel puin
2
2
3

n
comparaii.
Concluzie. Algoritmul prezentat n metoda 3 este optim.


VERIFICAREA CORECTITUDINII ALGORITMILOR
Algoritmul trebuie s furnizeze rezultate corecte pentru orice set de date-testarea
unui algoritm pentru toate seturile de date nu este n general posibil.
Datorit caracterului secvenial al calculelor efectuate, un algoritm corect se
ncheie dup parcurgerea unui numr finit de pai; n caz contrar se spune c algoritmul
cicleaz.
Verificarea corectitudinii unui algoritm cuprinde dou probleme:
a) problema corectitudinii parial const n verificarea corectitudinii
rezultatelor, n ipoteza c algoritmul se ncheie ntr-un numr finit de pai;
b) verificarea terminrii ntr-un numr finit de pai.
Cele dou aspecte: a) i b) formeaz problema corectitudinii totale.


3.5. LIMBAJUL CONVENIONAL
[BVB97], [VAD76]
n limbaj convenional algoritmul se reprezint printr-un ir ordonat de
propoziii care se numeroteaz (paii algoritmului).
Se utilizeaz:
- propoziii nestandard (care pot fi transformate n propoziie standard);
- propoziii standard.
Notm:
o- condiie simpl (predicat sau compus;
|- bloc de calcul, sau transfer la un alt pas;
v - variabil

0
v - valoarea iniial a variabilei
e - expresie aritmetic.
Propoziii standard sunt:
- dac o atunci
1
| altfel
2
| ;
-
0
v v (iniializare);
- e v (valoarea calculat a expresiei este atribuit variabilei);
- stop (marcheaz sfritul algoritmului);
- citete / intrare (introducere datelor);
- scrie / ieire (extragerea datelor).





Exemple.

82 Curs pentru nvmnt la distan



1. Generarea unei variabile aleatoare simpl (variabil discret) de forma:
, :
2 1
3 2 1
|
|
.
|

\
|

n
p p p
x x x
X 1
1
1
=

=
p
n
i

se poate realiza prin metoda invers dup urmtorul algoritm:
Pasul 0. Iniializeaz RND (algoritmul de generare pentru numere aleatoare uniforme pe (0,1)).
Pasul 1. Intrare: n i x
i
, 1 , = ; ,
i
p n i , 1 = .
Pasul 2. Se calculeaz: . , 1 ,
1
n i p F
j
i
j
i
= =

=

Pasul 3. 0 j ; genereaz U cu RND
Pasul 4. 1 + j j
Pasul 5. Dac
j
F U < transfer la pasul 4.
Pasul 6. Ieire
j
x X = . Stop.

2. Evaluarea stocurilor prin metoda prima intrarea prima ieire (FIFO) se
bazeaz pe principiul potrivit cruia loturile procurate primele sunt i primele primele
ieite ceea ce determin faptul c ultimele loturi rmn n stoc i vor impune preul de
inventariere.
Algoritmul de evaluare a stocului pentru un produs este:

Pasul 0. Intrare:
0
S (stocul iniial),
0
P (preul unitar)
Se calculeaz: soldul_ iniial
0 0
P S =
Pasul 1. Intrri n cursul perioadei (stoc, pre unitar):
( ) . , 1 , , n i P S
i i
=
Se calculeaz: valoare_intrri
i i
n
i
P S =

=1

Pasul 2. sold_maxim_disponibil = sold_iniial +valoare_intrri
Pasul 3. Se determin stocul inventariat Q (prin evaluare direct)
sold_inventar 0
Pasul 4. Dac
n
S Q >
atunci sold_inventar =sold_inventar +
n n
P S
1 ; n n S Q Q
n

i transfer la pasul 4.
altfel sold_inventar =sold_inventar +
n
P Q
Pasul 5. Se determin:
Valoare_vnzri = sold_maxim disponibil sold_inventar
Pasul 6. Ieire: valoare_vnzri, sold_inventar.
Stop.



Bazele informaticii economice 83


3.6 TABELE DE DECIZIE
[LIX94], [POV88]

Tabele de decizie este un nou mod de reprezentare a unui algoritm, permind
formalizarea i sintetizarea proceselor complexe de prelucrare a datelor precum i
verificarea corectitudinii lor.
Tabele de decizie reprezint un instrument util de comunicare ntre persoanele
care particip la realizarea unui proiect de sistem informatic.
Cu ajutorul tabelelor de decizie este posibil analiza proceselor complexe de
decizie i evidenierea eventualelor ambiguiti.
n esen un proces de decizie este determinat de condiii i aciuni n relaie
unele cu altele.
Legarea unei anumite situaii, caracterizat prin realizrile concrete ale factorilor
de influen, de o anumit variant de adoptat se va numi regul pentru cel ce ia decizia.

Definiia 3.4. O tabel de decizie ( TD ) asociat unui proces de prelucrare P este un
tablou bidimensional (cu dubl intrare) avnd forma prezentat n figura 3.2, unde:
n i C
i
, 1 , = sunt condiiile (situaiile semnificative) ale procesului P; aceste condiii sunt
variabile logice, fiecare condiie
i
C putnd s ia ( ) 2 >
i i
v v valori logice alternative;
m j A
j
, 1 , = sunt aciunile posibile (programele de aciuni) ale procesului P, care se iau
cnd condiiile ndeplinesc anumite sisteme de valori;
M k R
k
, 1 , = sunt regulile ce precizeaz aciunile ce se execut pentru sistemul de
valori asociat condiiilor.
Se noteaz ( ) M m n TD TD , , = . Se observ c numrul maxim posibil de
reguli distincte ale unei tabele de decizie este:
i
n
i
v N
t
=
=
1


(3.4)
Deoarece
n
i
N v 2 2 > > .
R
1
R
2
R
M




Condiii
C
1

C
2

.
.
.
C
n

C
11

C
21




C
n1

C
12

C
22




C
n2


Intrri condiii


C
1M

C
2M



C
nM




Aciuni
A
1

A
2

.
.
.
A
m

*
*



Intrri aciuni

*



*

Figura 3.2


84 Curs pentru nvmnt la distan



n consecin, tabela de decizie este o matrice de forma ( ) M m n + , primele n
linii reprezentnd condiiile i urmtoarele m reprezentnd aciunile; cele M coloane ale
matricei reprezint regulile.
Exist dou tipuri de reguli de decizie: AND i OR. Regula
k
R se numete
regul de tip ND dac legtura dintre valorile condiiilor este: C
1k
AND C
2k
AND
AND C
nk
i se numete de tip OR dac C
1k
OR C
2k
OR . . . OR C
nk
.

Definiia 3.5. O tabel de decizie care conine toate regulile posibile (M=N) se
numete tabel de decizie cu intrri complete.
n descrierea proceselor de prelucrare a informaiilor tabelele de decizie nu sunt
ntotdeauna complete.
De exemplu, dac tabela are M reguli, N M < , tabela nu are intrri complete i
deci nu este complet; pentru a o transforma ntr-o tabel complet mulimea regulilor
care lipsesc se identific cu o nou regul (regula 1 + M ) denumit regula ELSE, care
se ataeaz tabelei. Dac pentru regula ELSE nu este asociat o aciune atunci la aceast
regul se asociaz aciunea E=eroare.
Deci, cnd se construiesc tabele de decizie, acestea trebuie s fie complete;
numai astfel se pot descrie procesele complete de prelucrare, cerin ce se impune
oricrui algoritm de calcul.

Definiia 3.6. Tabela de decizie RD (n, m; M) se numete cu intrri limitate
dac 2 , , 1 = e
i
v n i . n acest caz se iau intrri ale condiiilor valorile:
( ) TRUE C D
i
= i ( ) FALSE C N
i
= .
Dac exist n i , 1 e , nct >
i
v 2 tabela se numete cu intrri extinse.

Observaie. Orice tabel de decizie cu intrri extinse este echivalent cu o anumit
tabel de decizie cu intrri limitate. Tabela cu intrri limitate obinut prin transformare
are acelai numr de reguli ca i cea iniial, dar un numr de condiii mult mai mare.


REDUCEREA TABELEI DE DECIZIE
Dac mai multe reguli distincte ale tabelei conduc la aciuni identice, atunci n
anumite condiii tabela de decizie este redundant, adic acele reguli se pot reduce la
una singur.
S presupunem c exist
i
v reguli pentru care intrrile condiiilor i j C
j
= , (i
fixat) sunt identice, iar condiia
i
C ; atunci cele
i
v reguli se reduc la o singur regul
pentru care condiia
i
C ia valoarea convenional indiferent, notat ~. Aceast
operaie, efectuat pentru toate seturile de reguli redondante se numete operaia de
reducere a tabelei de decizie; iar tabela rezultant se numete tabela redus.

Definiia 3.7. Regula
k
R din tabela cu intrri limitate se numete elementar
dac " =
ik
C ~, n i , 1 e i se numete compus dac n i , 1 e - , nct C
ik
= ~.


Bazele informaticii economice 85


Observaie. Dac regula compus R
k
are r intrri ~ atunci aceasta conine 2 reguli
elementare.
Definiia 3.8. O tabel de decizie este ambigu dac exist regulile compuse
k
R i
l
R cu l k = nct u =
l k
R R , adic regulile compuse au cel puin o regul
elementar comun.
- Dac u =
l k
R R , i
l k
A A = , atunci
k
R i
l
R sunt contradictorii (cele
dou reguli compuse conin reguli elementare contradictorii);
- Dac u =
l k
R R , i
l k
A A = , atunci
k
R i
l
R sunt redundante (cele
dou reguli compuse conin reguli elementare redundante).

Exemplu.
S analiz tabela de decizie redus:


1
R
2
R
3
R
4
R
5
R
6
R
7
R
8
R
1
C
D N N N N N N N
2
C
~ D D ~ N N D D
3
C
~ D ~ ~ ~ ~ N D
4
C
~ ~ D N D N D N
A
1
A
2
A
2
A
2
A
2
A
2
A
2
A
2
A

Observm c
1
R este independent de toate celelalte reguli deoarece pe linia
condiiei
1
C avem (D), iar toate celelalte reguli au (N). Exist 6 perechi de reguli
dependente:
1) ( )
3 2
, R R conin n comun regula elementar (NDDD);
2) ( )
4 2
, R R conin n comun regula elementar (NDDN);
3) ( )
8 2
, R R conin n comun regula elementar (NDDN);
4) ( )
7 3
, R R conin n comun regula elementar (NDND);
5) ( )
6 4
, R R conin n comun regulile elementare (NNDN) i (NNNN);
6) ( )
8 4
, R R conin n comun regula elementar (NDDN);
Numrul total de reguli ce ar rezulta din cele 4 condiii este 16 2
4
= .
Tabele conine 22 1 1 2 2 2 2 2 2
2 3
= + + + + + + + reguli, din care 7 sunt
comune, deci n tabel exist 15 reguli din 16 posibile.
Rezult c:
- tabela este incomplet;
- tabela este ambigu;
- toate ambiguitile sunt redundane.







86 Curs pentru nvmnt la distan




ALGORITMUL DE CONSTRUIRE A TABELEI DE DECIYIE CU INTRRI
COMPLETE.
Presupunem c fiecare din cele n condiii, n i C
i
s s 1 , , are
i
v alternative; se
accept ordinea de scriere pe vertical
n
C C C , ,
2 1
.

Pasul 1. Se calculeaz
1 1
/ v N N = , cu N dat de (3.4). Se scrie pe linie n dreptul
condiiei
1
C de
1
N ori fiecare din cele
1
v valori logice ale condiiei:
rezult N valori logice ale condiiei
1
C , fiecare din valori repetndu-se n
grupe de
1
N .
Pasul 2. Pentru n i , , 3 , 2 = se calculeaz
i i i
v N N /
1
= , pe linia lui
i
C se
vor scrie sub fiecare din grupele de valori constante ale condiiei
1 i
C de
i
N ori, fiecare din cele
i
v valori ale condiiei
i
C . Se observ c
1 =
n
N , adic ultima condiie va avea repetate de un numr de ori
valorile sale n aceeai ordine.

Not. O interesant aplicare a tabelelor de decizie se poate realiza n studiul i
elaborarea legislaiei. O lege juridic se refer de obicei la un anumit domeniu.
Prevederile legii sunt exprimate prin referiri la materii ( o materie poate fi interpretat
ca o condiie cu mai multe valori logice descris prin termeni).
ndeplinirea unui sistem de condiii referitoare la materii conduce la o aciune
juridic. Deci, o lege poate fi descris compact cu ajutorul unei tabele de decizie.
Aceast tabel poate fi redus se va asigura astfel conciziunea legii. Stabilirea
regulilor redundante i ambigue conduce la stabilirea corectitudinii legii; se pot astfel
elimina, n faza de elaborare, eventualele prevederi contradictorii ale legilor.
Pentru a exemplifica conceptul de tabel de decizie se prezint dou aplicaii, n
care regulile de decizie vor fi de tipul AND.

1. Sistemul de credite transferabile (ECTS) a fost introdus la Facultatea de tiine
Economice a Universitii Transilvania din Braov ncepnd cu anul universitar 1998-
1999.
Prevederile extrase din regulament care acioneaz la trecerea din anul I n anul
II sunt:
a) nscrierea n anul II este condiionat de obinerea a minim 40 p.c.;
b) promovarea anului I este condiionat de obinerea a 60 p.c.;
c) punctele de credit alocate ciclului I (primii 2 ani de studiu) trebuie obinute n
maxim 3 ani, n caz contrar studentul este exmatriculat;
d) n cazul unui concediu medical mai mare de 30 de zile de activitate didactic
pe semestru, prevederea de la punctul a) se reduce la 30 p.c., urmnd ca n anul
II studentul s-i completeze studiile, obinnd cel puin 50 p.c. pentru a
promova, astfel nct perioada de 3 ani s nu fie depit.

Din analiza acestor prevederi, se deduc urmtoarele condiii;
C
1
numrul de puncte de credite obinute I: <30, [30, 40), [40, 60), > 60 (4
valori);

Bazele informaticii economice 87


C
2
dac are concediul medical mai mare de 30 zile de activitate didactic pe semestru:
D, N, (2 valori);
C
3
dac a fost 2 ani n anul I: D, N (2 valori).

Aciunile sunt:
A
1
studentul este declarat promovat i este nscris n anul II;
A
2
studentul este nscris n anul II;
A
3
studentul rmne n anul I (prelungire de colaritate);
A
4
studentul este exmatriculat.
Tabela de decizie cu intrri complete va avea 16 reguli. Aplicnd algoritmul de
construire a tabelei de decizie cu intrri complete, se obine:

R
1
R
2
R
3
R
4
R
5
R
6
R
7
R
8
R
9
R
10
R
11
R
12
R
13
R
14
R
15
R
16

C
1
E60 E60 E60 E60 E40 E40 E40 E40 E30 E30 E30 E30 E30 E30 E30 E30
C
2
D D N N D D N N D D N N D D N N
C
3
D N D N D N D N D N D N D N D N
A
1
* * * *
A
2
* * * * * *
A
3
* * *
A
4
* * *
Observaie. S-a notat dou valori ale condiiei C
1
astfel: | ) 40 , 30 cu E30 i
| ) 60 , 40 cu E40.

Tabela redus este:
R
1
R
2
R
3
R
4
R
5
R
6
R
7
C
1 E60 E40 E30 E30 E30 E30 E30
C
2
D N N

C
3
D N D N
A
1
A
2
A
2
A
4
A
3
A
4
A
3

2. Algoritmul de interclasare a trei fiiere
Se consider trei fiiere secveniale FA, FB, FC, avnd aceeai structur i
sortate dup valorile unui cmp cheie (cheia de sortare) K. S se construiasc tabela de
decizie asociat procesului de prelucrare care realizeaz interclasarea acestor fiiere. n
urma procesului de interclasare rezult un fiier FD avnd nregistrrile sortate dup
acelai criteriu.
Din studiul problemei rezult urmtoarele condiii ( cu intrri limitate):
C
1
nceputul procedurii;
C
2
s-a terminat fiierul FA (EOF (FA));
C
3
s-a terminat fiierul FB (EOF (FB));
C
4
s-a terminat fiierul FC (EOF (FC));
C
5
cheia nregistrrii SA este mai mic dect a nregistrrii SB (KATKB);
C
6
cheia nregistrrii SA este mai mic dect a nregistrrii SC (KATKC);
C
7
cheia nregistrrii SB este mai mic dect a nregistrrii SC (KBTKC);

Aciunile sunt:
A
1
scrierea nregistrrii SA n FD;

88 Curs pentru nvmnt la distan



A
2
citirea fiierului FA;
A
3
scrierea nregistrrii SB n FD;
A
4
citirea fiierului FB;
A
5
scrierea nregistrrii SC n FD;
A
6
citirea fiierului FC;
A
7
reluarea examinrii tabelei;
A
8
ncheierea procedurii.

Algoritmul de interclasare este cel general i const n:
Pasul 1. Citirea simultan a celor trei fiiere.
Pasul 2. Din tripletul (SA, SB, SC) se alege nregistrarea cu cea mai mic valoare i
aceasta va fi scris n fiierul rezultat FD.
Pasul 3. Tripletul este refcut prin citirea urmtoarei nregistrri din fiierul ce
conine ultima nregistrare scris n FD.
Pasul 4. Dup ce s-a atins sfritul unui fiier, procesul continu pentru celelalte
fiiere rmase.
Pasul 5. n momentul n care se depisteaz i sfritul celui de-al doilea fiier,
articolele rmase n cel de-al treilea vor fi transferat n FD.

Tabele de decizie obinut este:

R
1
R
2
R
3
R
4
R
5
R
6
R
7
R
8
R
9
R
10
R
11
R
12
R
13
R
14

C
1
D N N N N N N N N N N N N N
C
2


N N N N N N N D D N D D D
C
3


N N N N N D D N N D N D D
C
4


N N N D D N N N N D D N D
C
5


D N

D N

C
6


D

N

D N

C
7


D N

D N

A
1
* * * *
A
2
* * * * *
A
3
* * * *
A
4
* * * * *
A
5
* * * *
A
6
* * * * *
A
7
* * * * * * * * * * * * *
A
8
*
P1 P
2
P
3
P
4
P
2
P
3
P
2
P
4
P
3
P
4
P
2
P
3
P
4
P
5



3.7. STRUCTURI ELEMENTARE DE DATE
[BVB97], [CRA98], [GNC96], [IVA92], [LIG86], [LIX94], [PMM94], [TUD94]

Rezolvarea unei probleme cu calculatorul ncepe cu definirea structurilor de
date, continu cu utilizarea acestora i se ncheie cu stocarea rezultatelor prelucrrii tot
sub forma unor structuri de date.

Bazele informaticii economice 89


Limbajele de programare n marea lor diversitate se aseamn prin tipurile de
date care pot utilizate. Trecerea de la un limbaj la altul n condiiile cunoaterii
caracteristicilor generale ale structurilor de date, devine posibil cu un efort minim.
Fiecrui tip de dat i mod de structur i corespund anumite situaii n care
utilizarea conduce la timp de acces la informaie i necesare de memorie reduse. n caz
contrar, pot aprea operaii de prelucrare suplimentare (conversii, citiri i scrieri) care
micoreaz viteza de obinere a rezultatelor, conducnd la creterea costului prelucrrii.
Organizarea datelor este un proces complex n care se stabilesc structurile
logice i fizice de date. Modul de organizare a datelor influeneaz hotrtor calitatea
programelor i eficiena prelucrrii.
Data scalar (elementar) este o entitate indivizibil att n raport cu informaia
pe care o reprezint, ct i n raport cu procesorul care o prelucreaz.
Data scalar este definit de un triplet de forma: (identificator, atribut, valoare).
- identificatorul este numele datei pentru a o putea distinge de alte date i a o
putea referi n procesul de prelucrare;
- atributele precizeaz proprieti ale date: domeniul de valori, apartenena la
o anumit clas de date, mod de reprezentare, precizie. Atributele determin
modul de prelucrare al datei.
- valorile pe care le poate lua data, se pot preciza prin enumerare sau printr-o
proprietate comun.

Structura de date reprezint o colecie de date pe care s-a definit o structur i
pentru care s-au stabilit procedee de nregistrare i identificare a componentelor.
Componentele unei structuri de date pot fi date elementare sau alte structuri de
date. Acestea sunt identificate i selectate prin nume (identificatori) sau prin poziia pe
care o ocup n structur..


3.7.1. STRUCTURA DE TABLOU

Tabloul este o structur de date constituit dintr-o mulime de elemente de
acelai tip.
Specificarea unui tablou se face preciznd numele, dimensiunea, tipul
componentelor, limitele valorilor indicilor pentru fiecare dimensiune.
Tabloul cu o dimensiune se numete vector iar cel cu dou dimensiuni matrice.
Referirea elementelor se realizeaz specificnd numele tabloului i poziia
elementului sub forma unei expresii indiciale pentru fiecare dimensiune n parte.
Memoria intern a unui calculator poate fi considerat ca fiind structurat liniar.
Variabilele simple ocup cte o locaie de memorie, iar elementele unui vector ocup n
ordine locaii succesive de memorie.
Fie A o matrice de m linii i n coloane; pentru memorarea ei se pot folosi dou
metode:
a) sunt memorate succesiv coloanele matricei;
b) sunt memorate succesiv liniile matricei.

n cazul memorrii pe coloane se realizeaz o coresponden bijectiv ntre
indicii matricei ( ) n m A i numrul locaiei de memorie corespunztor:


90 Curs pentru nvmnt la distan



{ } { } n m n m f , , 2 , 1 , , 2 , 1 , , 2 , 1 :

( ) ( ) k i m j j i f = + = 1 ,
(3.5)

Calculul funciei inverse
1
f ;

( ) m j k i
m
k
j = +
(


= 1 , 1
1
(3.6)

unde | | n x = dac 1 + < s n x n (partea ntreag inferioar).
Fie
n
A A A , , ,
2 1
mulimi total ordonate; se noteaz cu ( ) s <, cele n relaii de
ordine. Atunci pe mulimea
n
A A A
2 1
se pot introduce urmtoarele relaii de
ordine:
1) relaia de ordine lexicografic: pentru ( )
n
a a a a , , ,
2 1
= avem ' a a s dac:
' a a = sau
' a a = , adic e -i { } 1 , , 1 , 0 n astfel nct:

'
1 1
' '
1 1
, , ,
+ +
< = =
i i i i
a a a a a a
2) relaia de ordine invers lexicografic: ' a a s dac:
' a a = sau
' a a = , adic e -i { } n , , 2 , 1 astfel nct:

' '
1 1 i
, , , '
n n i i
a a a a a a = = <
+ +


Observaie. Pentru o matrice ( ) n m M A e , ordinea de memorare pe linii
corespunde ordinii lexicografice, adic:
( ) ( ) ( ) < < < < < 1 , 2 3 , 1 2 , 1
iar ordinea de memorare pe coloane corespunde ordinii invers lexicografice, adic:
( ) ( ) ( ) ( ) < < < < < < 2 , 2 2 , 1 1 , 3 1 , 2

Bazele informaticii economice 91


3.7.2. STRUCTURA DE LIST

Lista liniar este o structur de date omogen, secvenial format din elemente
aparinnd unei mulimi date. Cele dou capete ale listei se numesc baz, respectiv vrf.
Fiecare element al listei informaia specific i eventual informaia de legtur.
Poziia elementelor din list definete ordinea elementelor.
Asupra listelor se pot efectua operaii de tipul:
- accesul la un anumit element, identificat prin numrul de ordine din list sau
prin valoare;
- tergerea (eliminarea) unui element dintr-o list;
- concatenarea listelor;
- inserarea unui element ntr-un anumit loc din list;
- reordonarea elementelor conform unui anumit criteriu;
- descompunerea unei liste n mai multe liste.
Memorarea listelor liniare se poate face n mai multe moduri:

a) Alocarea secvenial (static) const din memorarea elementelor listei n
locaii succesive de memorie, conform ordinii din list (elementele vecine
ocup poziii alturate n memorie). Adresa de baz reprezint adresa primului
element din list (figura 3.3).



1
e
2
e
n
e

adresa de baz
Figura 3.3

Operaiile de acces la un element din list, parcurgerea listei i adugarea unui
element la sfritul listei se fac fr dificultate, n timp ce operaiile de inserare
i tergere de elemente din mijlocul listei presupun deplasarea unor elemente.

b) Alocarea nlnuit (dinamic) presupune c fiecare element al listei are dou
pri (figura 3.4):
- o parte de informaie;
- o parte de legtur ce conine adresa urmtorului element din list
(pointerul la elementul urmtor).



Figura 3.4.

Alocarea nlnuit cere mai mult memorie dect alocarea secvenial. tergerea i
inserarea de elemente se fac prin modificarea unor adrese de legtur (figurile 3.5 i
3.6). Cutarea unui element se face, ca i n cazul alocrii statice, prin parcurgerea
secvenial a listei, de la nceputul ctre sfritul listei.
inf inf
inf inf

92 Curs pentru nvmnt la distan






inf


inf


inf


inf


inf





inf


Elementul
ters

Elementul
inserat

Figura 3.5 Figura 3.6


Pentru a putea referi cu uurin elementul dinaintea elementului curent se poate
utiliza lista dublu nlnuit (figura 3.7). Fiecare element conine trei pri:
- o parte de informaie;
- adresa elementului predecesor din list;
- adresa elementului urmtor din list.



Figura 3.7.

Avantaj alocarea dublu nlnuit permite refacerea cu uurin a drumului invers de la
un element la primul element.


3.7.3. STRUCTURA DE STIV

Prin stiv (stack) se nelege o list liniar cu proprietatea c operaiile de
introducere i extragere din stiv se fac pe la vrful stivei. Elementul vizibil este ultimul
introdus n structur (figura 3.8).

Figura 3.8.



inf inf inf inf





elementul
vizibil
(vrful stivei)
baza stivei

Bazele informaticii economice 93


Stiva mai poart numele, dup disciplina de lucru, de lista LIFO (Last Input First
Output), adic, ultimul intrat este primul ieit.
Stiva se poate implementa folosind alocarea secvenial sau alocarea nlnuit;
implementarea presupune un spaiu limitat de memorie.
n cazul alocrii secveniale, elementele stivei vor fi memorate ntr-un vector;
dimensiunea vectorului reprezint capacitatea maxim a stivei.
n cazul alocrii nlnuite, adresa de baz este adresa vrfului stivei, legturile
mergnd de la ultimul spre primul element (de la vrf spre baz).
ncercarea de a scoate un element dintr-o stiv vid sau de a aduga un element
unei stive pline conduce la eroare (underflow / overflow).
ntreaga teorie a recursivitii se bazeaz pe structura de tip stiv.


3.7.4. STRUCTURA DE COAD
Prin coad (queue) se nelege o list n care introducerile se efectueaz la baza
listei, iar extragerile se fac la vrful listei. Coada se mai numete lista FIFO (First Input
First Output) dup disciplina de lucru, adic primul intrat este primul ieit (figura 3.9).

Figura 3.9.

n cazul cozii, elementul vizibil este cel mai vechi introdus.
Coada se poate implementa folosind alocarea secvenial sau alocarea nlnuit.


3.7.5. STRUCTURILE DE GRAF I ARBORE

Definiia 3.9. Un graf neorientat este o pereche ( ) I = , X G , unde X este o mulime
finit, nevid de elemente numite noduri, iar X X c I este o mulime de perechi
(neordonate) ale lui X, numite muchii.

Definiia 3.10. Numim lan o succesiune de muchii de forma
( ) ( ), , , , ,
1 2 1 n n
i i i i

notat ( )
n
i i i i , , , ,
3 2 1
; dac nodurile sunt distincte, lanul este
elementar.
Numim ciclu elementar un lan ( )
1 2 1
, , , , i i i i
n
unde ( ) 3 , , , ,
2 1
> n i i i
n
este
un lan elementar.

Definiia 3.11. dac orice dou noduri ale grafului sunt unite prin cel puin un lan
graful se numete graf conex.

Definiia 3.12. Un digraf (graf orientat) ( ) I = , X G are proprietatea c I este o
mulime de perechi ordonate de elemente din X. Elementele lui X se numesc n acest
caz vrfuri, iar elementele lui I se numesc ace. n acest caz lanul se numete drum,
iar ciclul se numete circuit.

Baza Vrful
Elementul vizibil

94 Curs pentru nvmnt la distan




Definiia 3.13. Se numete arboreun graf neorientat, conex i fr cicluri.


TEOREMA DE CARACTERIZARE A ARBORILOR
G este un graf cu 1 > n noduri. Urmtoarele afirmaii sunt echivalente:
1. G este un arbore;
2. G are 1 n muchii i nu conine cicluri;
3. G are 1 n muchii i este conex;
4. Oricare dou vrfuri din G sunt unite printr-un lan mic.

Definiia 3.14. Un arbore n care fiecare nod are cel mult doi descendeni se numete
arbore binar.

Arborii au o mare aplicabilitate n modelarea proceselor i fenomenelor
economice. Organizarea ierarhic este ntlnit n cele mai diverse domenii, de la
organizarea administrativ a unei ri i conducerea unei organizaii (firm, instituie
etc.), la reprezentarea bazelor de date i a directoarelor n care sunt grupate fiierele de
pe disc.
ntr-o concepie sistematic, n general, orice entitate din natur sau societate
poate fi reprezentat ca o ierarhie de componente.
n literatura de specialitate se utilizeaz o serie de termeni consacrai, preluai
din terminologia n cazul arborilor genealogici.
De exemplu, n cazul structurii de reprezentare arborescent (figura 3.10)
spunem:


nivel = 1; adncime = 0



. . . nivel = 2; adncime = 1


. . . nivel = 3; adncime = 2

Figura 3.10

- | este fiul lui o
- | i sunt frai
- o este un descendent al lui o
- o este un ascendent (strmo) al lui o

Nodurile fr descendeni ( ) o c o , , , sunt denumite noduri terminale sau
frunze. Nodul o se numete rdcina arborelui.
Adncimea unui nod este dat de lungimea drumului de la rdcin la acel nod.
Nivelul unui nod este egal cu (1 + adncimea nodului). Rdcina are nivelul 1.

o c
o
|
o

Bazele informaticii economice 95


nlimea unui arbore este egal cu maximul dintre nivelurile nodurilor
terminale, sau poate fi definit recursiv: nlimea unui arbore = 1 + maximul dintre
nlimile subarborilor si.
nlimea arborelui din figura 3.10 este 3.


REPREZENTAREA UNUI ARBORE OARECARE cu n noduri se poate face
memornd pentru fiecare nod, urmtoarele dou informaii:

FIU ( ) j i = , dac j este primul descendent al nodului i (se presupune existena unei
ordini ntre descendenii aceluiai vrf primul este cel din stnga);
FRATE ( ) j i = , dac j este descendent al tatlui lui i (adic i i j au acelai printe) i j
urmeaz imediat lui i.
Lipsa fiului, respectiv a fratelui este marcat prin valoarea 0.

Exemplu.

Figura 3.11

Pentru arborele din figura 3.11 cei doi vectori FIU i FRATE vor fi:

1 2 3 4 5 6 7 8 9 10 11 12
FIU 2 5 7 0 0 9 0 11 0 0 0 0


FRATE 0 3 4 0 6 0 8 0 10 0 12 0

Celor doi vectori li se adaug un vector INF ( ) n , 1,2 , = i i , n care se memoreaz
informaia din fiecare nod.
O alt modalitate de reprezentare a unui arbore oarecare este de a forma pentru
fiecare nod o list a descendenilor si. Se va utiliza vectorul INF ( ) n , 1,2 , = i i cu
aceeai semnificaie ca mai sus, vectorul CAP cu n componente cu semnificaia:

8
4
12
6
1 1
2
5 7
10
9
3
11

96 Curs pentru nvmnt la distan



( )

=
adresa la ncepe lui ilor descenden lista dac ,
terminal; vrf este i dac , 0
a i a
i CAP
i o matrice MAT cu dou linii i 1 n coloane n care se memoreaz listele
descedenilor, folosind pentru ele alocarea nlnuit:

MAT ( ) i , 1 - reprezint un descendent al nodului pentru care lista ataat conine
coloana i din MAT;
MAT ( ) i , 2 - reprezint numrul coloanei (adresa) corespunztoare urmtorului
descendent sau 0, dac nu exist vreun alt descendent.

Pentru exemplu considerat n figura 3.11 avem:

1 2 3 4 5 6 7 8 9 10 11 12
CAP 1 4 6 0 0 8 0 10 0 0 0 0

1 2 3 4 5 6 7 8 9 10 11 12
MAT 2 2 3 0 5 0 7 0 9 0 11 0

De exemplu:
CAP (3) = 6, deci lista descendenilor nodului 3 ncepe la adresa (coloana) 6 din MAT.
Rezult c MAT (1, 6) = 7, adic primul descendent este 7, iar MAT (2, 6) = 7, adic la
adresa (coloana) 7 din MAT vom gsi urmtorul descendent, care este MAT (1,7) = 8.
Deoarece (2, 7) =0, rezult c lista descendenilor nodului 3 s-a ncheiat.

Oricrui arbore i se poate ataa un arbore binar, identificnd FIU cu ST
(vectorul descendenilor stngi), iar FRATE cu DR (vectorul descendenilor drepi).
Corespondene este biunivoc.

ST ( ) j i = , dac nodul j este primul descendent (descendent stng) al nodului i; ST
(i)=0, dac nu exist descendent stng;
DR ( ) j i = , dac nodul j este al doilea descendent (descendentul drept) al nodului i; DR
(i) = 0, dac nodul i nu are descendent drept.

Pentru arborele binar din figura 3.12, cei doi vectori ST i DR vor fi:

1 2 3 4 5 6 7
ST 2 5 6 0 0 0 0

DR 0 3 4 0 0 7 0



Exemplu

Bazele informaticii economice 97



Figura 3.12

PARCURGEREA ARBORILOR
Un algoritm de parcurgere a unui arbore trebuie s precizeze ordinea n care se
viziteaz (prelucreaz) nodurile arborelui, fiecare nod fiind considerat o singur dat.
Corespondena descris reduce parcurgerea arborilor oarecare la parcurgerea
arborilor binari ataai. La un arbore binar distingem:
- rdcina ( R)
- subarborele stng (Ss)
- subarborele drept (Sd)
Parcurgerea arborilor binari se poate realiza n trei moduri:
1. parcurgere n preordine (R, , Sd);
2. parcurgere n inordine (Ss, R, Sd)
3. parcurgere n postordine (Ss, Sd, R).

Pentru arborele binar din figura 3.12, parcurgerile sunt urmtoarele:
- preordine : 1, 2, 5, 3, 6, 7, 4
- inordine : 5, 2, 6, 7, 3, 4, 1
- postordine : 5, 7, 6, 4, 3, 2, 1
Pentru reprezentarea unui graf oarecare ( ) I = , X G cu n noduri se utilizeaz matricea
adiacent ( )
ij
a A = definit astfel:
( )

I e
=
contrar caz n 0,
, dac , 1 j i
a
ij

Exemplu.
Figura 3.13

7
7
1
3
6
2
5
4
4
1
3
6
2
5
1: 1
2
3
4
1
5
6


7
8
9
11
10

98 Curs pentru nvmnt la distan



Pentru digraful din figura 3.13 matricea adiacent este:
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(

=
0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 1 1 1 0
A

Observaie.
n cazul unui graf oarecare, matricea adiacent este simetric.


3.8. ALGORITMI FUNDAMENTALI
[CRA98], [CTT97], [GNC96], [LIG86], [LIX94], [PMM94], [TUD94]

3.8.1. PROBLEMA CUTRII
Fie ( )
n
a a a A , , ,
2 1
= i x o valoare: se cere s se determine dac x se afl
printre elementele vectorului A.

Rezolvare.
a) Dac A este un vector oarecare, atunci trebuie parcurse secvenial elementele
vectorului; sunt necesare cel mult n comparaii n cazul unei cutri cu succes i exact n
comparaii n cazul unei cutri fr succes.
Numrul mediu de comparaii n cazul unei cutri cu succes este:


2
1 2 1 +
=
+ + + n
n
n

b) Dac A are elementele n ordine cresctoare:


n
a a a s s s
2 1

se aplic algoritmul de cutare binar.
Algoritmul se bazeaz pe metoda divide et impera: se compar x cu elementul
din mijloc, adic cu
i
a , unde
(

+
=
2
1 n
i .
- dac x a
i
= cutarea se ncheie cu succes;
- dac x a
i
= se caut n secvena:

{ }
1 2 1
, , ,
i
a a a dac
i
a x < , sau n secvena

Bazele informaticii economice 99


{ }
n i
a a , ,
1

+
dac
i
a x > .

Soluia va fi exprimat sub forma:

( )
( ) { }
( ) { }

+ e < <
e =
=

1 n , 1,2, p , a x dac , , 0
, , 2 , 1 , x dac , , 1
,
p 1

p
p
a p
n p a p
p cod

unde: + = =
+1 0
,
n
a a
Propoziia 3.2. Pentru
j j
n 2 2
1
< s

n cazul unei cutri cu succes se fac cel


mult j comparaii, iar n cazul unei cutri fr succes se fac ( ) 1 j sau j comparaii.

Observaie. Algoritmul de cutare binar prezentat este optim n privina numrului
mediu de comparaii.

Algoritmul de cutare binar.
read ( ) ( ) n i i a x n , 1 , , , =
1 := p ; n u = : ; 0 : cod =
while ( ) u p s and ( ) 0 = cod


(

+
=
2
: do
u p
i
if ( ) x i a =

then cod: = 1
p: = i
else if ( ) x i a <

then 1 : + = i p
else 1 : = i u






scrie (cod, p)
stop

Exemplu.
Dat vectorul A = (3, 5, 7, 8, 11, 15)
- pentru x =7 cod = 1, p = 3
- pentru x = 10 cod = 0, p = 5
- pentru x = 2 cod = 0, p = 1



3.8.2. PROBLEMA SORTRII


100 Curs pentru nvmnt la distan



Problema sortrii const n a aranja elementele unei mulimi date astfel nct
acestea s se gseasc n relaie de ordine lexicografic.
Dat vectorul ( )
n
a a a A , , ,
2 1
= problema sortrii const n a ordona cresctor
elementele acestui vector. Se prezint n continuare mai multe metode de sortare.

A. SORTAREA PRIN INTERSCHIMBARE.

Metoda const din modificri succesive de forma
1 +

i i
a a pn cnd
elementele vectorului apar n ordine cresctoare; sortarea se termin cnd pornind cu
perechea ( )
2 1
, a a i terminnd cu perechea ( )
n n
a a ,
1
nu s-a efectuat nici o
schimbare.

Algoritmul de sortare prin interschimbare


read ( ) ( ) n i i a n , 1 , , =
repeat

logic: = T

for i =1, n-1, 1


do
if ( ) ( ) 1 + > i a i a

then

( )
( ) ( )
( )
1
: log
: 1
1
:
+

=
= +
+ =
=
i i
a a
F ic
w i a
i a i a
i a w








until logic


write ( ) ( ) n i i a , 1 , =

stop

Observaie. Timpul de lucru este de ordinul ( )
2
0 n ; memoria suplimentar este
constant.

B. SORTAREA PRIN NUMRARE.
Metoda const n a numra pentru fiecare element
i
a cte elemente mai mici
strict dect el exist; numerele obinute se memoreaz ntr-un vector K, iar pe baza lui
elementele din A vor fi aranjate ntr-un alt vector B. (Elementele lui A se presupun
distincte).



Algoritmul de sortare prin numrare.

Bazele informaticii economice 101



read ( ) ( ) n i i a n , 1 , , =

for i = 1, n, 1



do ( ) 0 := i k


for 1 , , 2 n j =

do for 1 , 1 , 1 = j i

do if ( ) ( ) j a i a <

then ( ) ( ) 1 : + = j k j k
else ( ) ( ) 1 : + = i k i k






for 1 , , 1 n i =

do ( ) ( ) ( ) i a i k b = + : 1



write ( ) ( ) n i i b , 1 , =

stop
Observaie. Sunt necesari 2 vectori de lucru de diemnsioune n, iar timpul de execuie
este de ordinul ) (
2
n O


C. SORTAREA PRIN INSERTIE DIRECT

Se consider pe rnd fiecare element al irului i se insereaz n subirul ordonat
creat anterior din elementele precedente.
Fie j cu proprietatea
1 2 1
s s s
j
a a a ; se compar pe rnd
j
a cu
, 2 1
,
j j
a a pn cnd se ajunge la primul
i
a cu
j i
a a s ; ca urmare se va insera pe
j
a dup
i
a ; operaia de inserare implic deplasarea spre dreapta a unei secvene.

read ( ) ( ) n i i a n , 1 , , =

for 1 , 2 n j =


do ( ) 1 : ; : log ; 0 : ; : = = = = j i F ic k j a x


repeat



if ( ) x i a s



then T ic i k = = : log ; :


else ( ) ( ) 1 : ; : 1 = = + i i i a i a




until ( ) 1 < i or logic



( ) x k a = + ; 1




102 Curs pentru nvmnt la distan




write ( ) ( ) n i i a , 1 , =

stop

Observaii. Algoritmul necesit n cazul cel mai defavorabil un timp de ordinul ( )
2
n O ;
memoria suplimentar este constant.
O metod derivat o constituie sortarea prin inserie binar n care poziia fiecrui
element care se insereaz n subirul ordonat creat anterior se determin prin ctare
binar.

D. SORTAREA PRIN SELECIE.

Const n a plasa la fiecare pas un element al vectorului pe poziia sa final. La
primul pas este determinat

{ }
n k
a a a a , , , min
2 1
=
i este efectuat interschimbarea
k
a a
1
, deci cel mai mic element este plasat pe
poziia sa final.
n general la pasul ( ) 1 , , 2 , 1 = n i i se determin
{ }
n i i k
a a a a , , , min
1

+
=
i se efectueaz interschimbarea .
k i
a a
Algoritmul de sortare prin selecie.


read ( ) ( ) n i i a n , 1 , , =

1 := i

repeat



i k = : ; ( ) k a = min; ; k j = :

repeat


if ( ) 1 min + > k a



then ( ) 1 : min + = k a


1 : + = k j


1 + k : k



until n k =



( ) ( ) i a j a = :


( ) min := i a

i : i + 1

until n i =



write ( ) ( ) n i i a , 1 , =

stop

Observaie. Timpul de lucru este de ordinul ( )
2
n O , iar memoria suplimentar este
constant.

Bazele informaticii economice 103




E. ALGORITMUL DE SORTARE RAPID QUICKSORT (C.A. HOARE).

Folosete metoda general Divide et impera. Dat o secven
{ }
q p p
a a a , , ,
1

+
prin interschimbri de elemente ale secvenei se poziioneaz
p
a pe
locul k , adic se ajunge la situaia:

t k s
a a a s s pentru { } 1 , , e k p s i { } q k t , , 1 + e
n continuare se pot sorta secvenele:

Algoritmul QUICKSORT (varianta nerecursiv).

read ( ) ( ) n i i a n , 1 , , =
1 := s ; ( ) 1 : 1 _ stiva = st ; ( ) n dr stiva = : 1 _
1 : = s s ; st i = : ; dr j = : ; ( ) | | ( ) 2 / : j i a x + =

repeat

st :=stiva_st (s) ; dr := stiva_dr (s)
s :=s-1 ; i :=st; j :=dr ; x := a ([(i+j) / 2])
repeat


while ( ) x i a <


do 1 : + = i i




while ( ) j a x <


do 1 : = j j



if j i s


then ( ) i a w = : ; ( ) ( ) ( ) w j a j a i a = : ; :

1 : ; 1 : = + = j j i i


until j i >



if j st <


then ; 1 : + = s s ( ) st s st = : _ stiva ; ( ) j s dr stiva = : _




if dr i <



then ; 1 : + = s s ( ) i s st = : _ stiva ; ( ) dr s dr stiva = : _



until 0 = s


write ( ) ( ) n i i a , 1 , =


104 Curs pentru nvmnt la distan



stop


Algoritmul QUICKSORT (varianta recursiv)

read ( ) ( ) n i i a n , 1 , , =
quicksort ( ) n , 1
write ( ) ( ) n i i a , 1 , =
stop


procedure quicksort ( ) d s,



s i = : ; d j = :


|
.
|

\
|
(

+
=
2
:
j i
a x

repeat


while ( ) x i a <



do 1 : + = i i



while ( ) j a x <


do 1 : = j j


if j i s


then ( ) ( ) j a i a

1 : + = i i
1 : = j j


until j i >

if j s <


then quicksort ( ) j s,





if d i <



then quicksort ( ) d i,



end




3.8.3. PROBLEMA INTERCLASRII

Se dau 2 vectori:

Bazele informaticii economice 105


( )
m
a a a A , , ,
2 1
= i ( )
n
b b b B , , ,
2 1
=
avnd elementele ordonate cresctor. Se cere s se interclaseze cele dou iruri, adic s
se construiasc un vector:
( )
n m
c c c C
+
= , , ,
2 1

care s conin att elementele lui A ct i ale lui B n ordine cresctoare.
Dac se compar
i
a cu
j
b sunt posibile dou situaii:
- dac
j i
b a < se introduc n vectorul C elementul
i
a i toate elementele care
i succed lui
i
a n vectorul A i sunt mai mici dect
j
b ;
- dac
i j
a b < atunci se introduc n C att elementul
j
b ct i elementele care
i succed lui
j
b n vectorul B i sunt mai mici dect
i
a ;
- n momentul n care un vector este epuizat, elementele neparcurse ale
celuilalt vector sunt introduse n C i algoritmul se termin.

Algoritmul de interclasare.

read ( ) ( ) ( ) ( ) n j j b m i i a n m , 1 , , , 1 , , , = =


1 := i ; 1 := j ; 0 : = k


while ( ) m i s and n j s




do 1 : + = k k


if ( ) ( ) j b i a s


then ( ) ( ) i a k c = :
1 : + = i i

else ( ) ( ) j b k c = :
1 : + = j j




if m i >

then for 1 , , n j s =


do 1 : + = k k

( ) ( ) s b k c = :


else for 1 , , m i s =


do 1 : + = k k


( ) ( )
s a := k c





write ( ) ( ) n m k k c + = , 1 ,
stop

Observaie. Numrul de comparaii n cazul cel mai defavorabil este ( ) 1 + n m .


106 Curs pentru nvmnt la distan




3.9. APLICAII
[BVB97], [LIG86], [LIX94]

1. GENERAREA ELEMENTELOR UNUI PRODUS CARTEZIAN

Fie A i B dou mulimi distincte sau nu.
Mulimea tuturor perechilor ordonate ( ) y x, , unde A xe i B xe se numete
produs cartezian a lui A cu B i se noteaz B A , deci:

( ) { } B y A x y x B A e e = i / ,
n cazul a m mulimi produsul cartezian se definete astfel:

( ) { } m A x x x x A x A A
i i m m
s e = 1 , / , , ,
2 1 2 1



Fie m mulimi
m
A A A , , ,
2 1
, unde pentru fiecare { } m i , , 2 , 1 e card
i i
n A = . Elementele fiecrei mulimi
i
A se consider n coresponden bijectiv cu
mulimea { }. , , 2 , 1
i
n Se pune problema generrii tuturor celor
[
=
m
n
i
n
1
elemente ale
produsului cartezian ..
2 1 n
A x A A
Elementele produsului cartezian vor fi generate succesiv ntr-un vector V cu m
componente, astfel:
- se pleac de la vectorul (1, 1, . . ., 1);
- pentru a construi succesorul vectorului V se determin cel mai mare indice i
pentru care
i i
n v < i drept succesor al lui V se alege vectorul:
( ) 1 , , 1 , 1 , , ,
1
+
i i i
v v v
- dac un astfel de indice i nu exist nseamn c vectorul V curent este
( )
m
n n n , , ,
2 1
care este cel mai mare n ordine lexicografic i deci
procesul de generare s-a ncheiat.
De exemplu, dac { } 3 , 2 , 1
1
= A , { } 2 , 1
2
= A i { } 2 , 1
3
= A , produsul cartezian
3 2 1
A A A va avea 12 2 2 3 = elemente care vor fi generate conform
algoritmului n ordinea: (1, 1, 1), (1, 2, 1), (1, 2, 2), (2, 1, 1), (2, 1, 2), (2, 2, 1), (3, 1, 1),
(3, 1, 2), (3, 2, 1), (3, 2, 2).

Algoritmul de generare a elementelor unui produs cartezian.

read ( ) m i n m
i
, 1 , , =

for 1 , , 1 m i =


do 1 :=
i
v




write ( ) m j v
j
, 1 , =


Bazele informaticii economice 107



F ic = : log

repeat

m i = :
repeat


if
i i
n v <



then 1 : + =
i i
v v


T ic = : log


else 1 :=
i
v



1 : = i i

until ( ) 1 < i or logic


if logic


then write ( ) m j v
j
, 1 , =



logic: = not logic
until logic

stop


2. GENERAREA TUTUROR SUBMULIMILOR UNEI MULIMI

Fie mulimea A cu n elemente. O submulime B a lui A este orice mulime ale
crei elemente aparin toate lui A. Submulimile B ale lui A care sunt distincte de A se
numesc submulimi proprii ale lui A.
Numrul de submulimi ale unei mulimi este
n
2 .
De exemplu, dac { } b a A , = atunci
( ) { } { } { } { } b a b a A P , , , , | = .
Fiind dat o mulime A cu n elemente, se pune problema determinrii celor
n
2
submulimi ale mulimii A.
Dac { }
n
a a a A , , ,
2 1
= se definete vectorul caracteristic al unei submulimi
, A B c vectorul { }
n
C 1 , 0 e :

e
e
=
B a
B a
c
i
i
i
dac 0,
dac , 1

Problema se reduce la generarea combinaiilor de succesiuni de 0 i 1 ce se pot
forma pe n poziii, unde n reprezint cardinalul mulimii A.
Pentru a obine toate aceste combinaii se genereaz de fapt toate elementele
produsului cartezian:
{ } { } { } 1 , 0 1 , 0 1 , 0 x (de n ori)
Vectorul (0, 0, . . . , 0) corespunde mulimii vide, iar vectorul (1, 1, . . . ,1)
corespunde mulimii totale A.

108 Curs pentru nvmnt la distan



n acest mod se genereaz toate submulimile unei mulimi date, n ordine
lexicografic (relaia de ordine se refer la reprezentarea lor prin vectorul caracteristic).
Se observ c vectorii generai reprezint tocmai numerele naturale (0, 1, . . . , 2
n

1 scrise n baza 2.


3. VERIFICAREA RELAIEI DE ECHIVALEN DEFINIT PE O
MULIME.

Fie { }
n
e e e M , , ,
2 1
= o mulime finit i notm cu R o relaie definit pe
aceast mulime. S se verifice c R este o relaie de echivalen.
Relaia R este dat de o mulime A de tip ( ) n n unde:

=
rest n , 0
dac , 1
j i
ij
e R e
a
Relaia R este reflexiv dac
i i
e R e pentru orice i = 1, 2, . . . , n, adic matricea
A are toate elementele de pe diagonala principal egale cu 1.
Relaia R este simetric: dac
j i
e R e atunci
i j
e R e pentru orice i, j = 1, 2, . . . ,
n, adic matricea A este simetric.
Relaia R este tranzitiv: dac
j i
e R e i
k j
e R e atunci
k i
e R e pentru orice i, j,
k = 1, 2, . . . , n, adic tranzitivitatea este satisfcut dac avem 1 1 = =
ik jk ij
a a a
pentru orice i, j, k diferii ntre ei.
Se vor utiliza 3 subprograme de tip function care vor fi apelate din programul
principal i care vor verifica dac relaia este reflexiv, simetric i tranzitiv.

Algoritmul de verificare a relaiei de echivalen


read ( ) n j n i a n
ij
, 1 , , 1 , , = =


if reflex ( ) n a, and simet ( ) n a, and tranz ( ) n a,



then write R este relaia de
echivalen

else write R nu este relaia de
echivalen



stop


function reflex ( ) n a,


reflex: = true
for n i , 1 =



do
if 0 =
ii
a



then reflex: = false ; exit




end

Bazele informaticii economice 109




function simet ( ) n a,



simet : = true
for 1 , 1 = n i

do for n j j , 1 + =

do
if
ji ij
a a =


then simet : = false ; exit







end




function tranz ( ) n a,



tranz : = true
for n i , 1 =

do for n j , 1 =

do
for n k , 1 =


do
if ( ) j i = and ( ) k i = and ( ) k j = and
( ) 1 =
jk ij
a a



then
if 1 =
ik
a


then tranz := false: exit










end






S ne reamintim...
Algoritmul este un concept folosit n mod intuitiv pentru a desemna o mulime finit
de operaii cunoscute, care, executate ntr-o ordine bine stabilit, pornind de la o
mulime de valori numit domeniul de definiie, produce n timp finit un alt set de
valori (ieirea).




Rezumat
Algoritmul constituie baza programrii calculatoarelor electronice. n activitatea de
rezolvare a problemelor cu calculatorul elaborarea algoritmilor reprezint cea mai
important etap, obligatorie i de multe ori dificil. De calitatea algoritmului
proiectat depinde calitatea i fiabilitatea programului i succesul execuiei acestuia.
Studiul unei probleme compatibile din punctul de vedere al calculatorului
(principial rezolvabil i cu soluie practic realizabil) conduce la formalizarea i
abstractizarea ei, n scopul nelegerii de ctre calculator. Rezolvarea cu calculatorul

110 Curs pentru nvmnt la distan



a unei probleme concrete const din parcurgerea urmtoarelor etape:
a) Formularea exact a problemei de rezolvat:
- definirea datelor problemei (intrrile) caracterizndu-le prin tip, proprieti,
domeniul valorilor;
- definirea rezultatelor problemei (ieirile);
- precizarea relaiilor dintre date i rezultate.
b) Descrierea modului de rezolvare a problemei (algoritmul).
c) Scrierea ntr-un limbaj de programare convenabil a unui program pe baza
algoritmului definit anterior i a datelor de prelucrat.

Programarea structurat reprezint modalitatea de ordonare a activitii mentale
desfurate n scopul obinerii de programe constituite din structuri fundamentale
(secvenial, alternativ, repetitiv), n condiiile minimizrii efortului de
programare, dar realizrii unor produse program fiabile i de bun calitate.

Limbajul algoritmic realizeaz o scriere mai apropiat de cea liniar. Permite
folosirea unor instruciuni care conin condensat cteva subscheme utilizate frecvent
i cteva reguli simple de aliniere a textului scris.
Avnd un algoritm descris ntr-un astfel de limbaj, translatarea n limbaj de
programare nu presupune dect o concentrare asupra aspectelor sintactice.
Limbajul algoritmic (pseudocodul) realizeaz specificarea algoritmilor prin
dou tipuri de enunuri: nestandard i standard:
- enunurile nestandard sunt fraze n limbaj natural, care pot fi utilizate de
programator n schiarea formelor iniiale ale algoritmilor; ele pot fi nlocuite treptat
cu enunuri standard; sunt marcate cu simbolul *;
- enunurile standard exprim operaii cu corespondene directe n limbajele de
programare.

Rezolvarea unei probleme cu calculatorul ncepe cu definirea structurilor de date,
continu cu utilizarea acestora i se ncheie cu stocarea rezultatelor prelucrrii tot
sub forma unor structuri de date.
Limbajele de programare n marea lor diversitate se aseamn prin tipurile de
date care pot utilizate. Trecerea de la un limbaj la altul n condiiile cunoaterii
caracteristicilor generale ale structurilor de date, devine posibil cu un efort minim.
Fiecrui tip de dat i mod de structur i corespund anumite situaii n care
utilizarea conduce la timp de acces la informaie i necesare de memorie reduse. n
caz contrar, pot aprea operaii de prelucrare suplimentare (conversii, citiri i scrieri)
care micoreaz viteza de obinere a rezultatelor, conducnd la creterea costului
prelucrrii.
Organizarea datelor este un proces complex n care se stabilesc structurile
logice i fizice de date. Modul de organizare a datelor influeneaz hotrtor calitatea
programelor i eficiena prelucrrii.





Bazele informaticii economice 111


Unitatea de nvare 4. ORGANIZAREA DATELOR
N FIIERE




Introducere
n aceast parte se va discuta despre:
structura de articol i fiier
operaii de prelucrare (gestiune) a fiierelor
interclasarea i sortarea fiierelor



Competenele unitii de nvare
Dup parcurgerea acestei pri studenii vor nelege urmtoarele conceptele de
articol, fiier precum operaiile care care se pot efectua la nivelul structurilor de
articol i fiier.



Durata medie de parcurgere a primei uniti de nvare este de 4 ore.

4.1. Structura de articol i fiier
[JOR95], [LIX94], [POP86], [VJF81]

Organizarea datelor este un proces complex care include identificarea,
clasificarea i descrierea proprietilor acestora, gruparea lor n colecii, reprezentarea
pe purttori tehnici, definirea i realizarea procedurilor de prelucrare.
Procesul de organizare extern a datelor cuprinde dou niveluri de abordare:
logic i fizic.
n momentul prelucrrii, datele trebuie s se gseasc n memoria central (intern); n
caz contrar prin comenzi acestea pot fi aduse n memorie. Pentru a fi utilizate direct de
ctre beneficiari sau pentru a servi i n alte prelucrri, rezultatele prelucrrii se
nregistreaz, de asemenea, pe suporturi tehnice.
n domeniul economic este specific prelucrarea unui volum mare de date, cu
particularitatea c sunt uniform structurate. Documentele primare, fiele, situaiile etc.
cuprind succesiuni de date care au n general aceleai structuri.
Forma de organizare i de conservare a datelor o constituie fiierul.

Definiia 4.1. Fiierul este o colecie organizat de date omogene din punctul
de vedere al semnificaiei i al cerinelor de prelucrare
Exemplu. Fiierul stocurilor de materiale, fiierul studenilor, fiierul de
contracte.
Pentru a da o formalizare noiunii de fiier se consider:
C - o mulime finit de obiecte care trebuie descrise din punct de vedere
informaional;

112 Curs pentru nvmnt la distan




{ } - e = = N n n i c C
i
; , , 2 , 1

Elementele
i
c sunt caracterizate printr-o mulime finit Ade atribute (proprieti):
{ } - e = = N m m k a A
k
; , , 2 , 1

De exemplu:
{ } r studenilo mulimea = C
{ } facultatea adresa, naterii, data nume, = A
Se noteaz:
ik
v - valoarea atributului
k
a pentru componenta
i
c .

Fie
{ } { } { } s e = n n n i v V
i i ik k
i , , 2 , 1 mulimea valorilor pe care atributul
k
a le poate lua; - reprezint o valoare special asociat atributului
k
a , atunci cnd
nu este cunoscut pe moment valoarea acestuia pentru elementul
i
c .

Fiierul F se poate acum defini astfel:
( ) { } m k n i v a c F
ik k i
, , 2 , 1 ; , , 2 , 1 , , = = =

Definiia 4.2. Dat funcia:
m
V V V C f
2 1
: valoarea ( )
i
c f
reprezint o nregistrare logic (articol).

Orice unitate semantic din cadrul unui articol formeaz o dat. n descrierea
operaiilor de prelucrare se folosete noiunea generic de cmp, unde da reprezint
coninutul cmpului.
Lungimea unui articol este dat de suma lungimilor cmpurilor care l compun.
n general, nregistrrile logice ale unui fiier pot fi de lungime fix sau de lungime
variabil.
Un fiier omogen const din nregistrri logice de lungime fix.
Pe suport nregistrrile logice pot fi grupate n uniti distincte numite blocuri
sau nregistrri fizice.
nregistrarea fizic constituie unitatea de informaie transferat n cursul unei
operaii de intrare / ieire.
Memorarea blocat are ca avantaje: creterea capacitii de memorare i
creterea vitezei de prelucrare prin introducerea unui volum mai mare de date n
memoria central la o operaie I/O.
Legtura dintre bloc i articol este realizat automat de ctre sistemul de
gestiunea al fiierelor component a sistemului de operare.

Structura de tip articol este un arbore ale crui cmpuri (structuri de nivel 1)
sunt descendenii rdcinii, subcmpurile (structuri de nivel 2) fiind descendenii
acestora etc.





Bazele informaticii economice 113



De exemplu:


persoana

nume

adresa

sex (nivel 1)










localitatea strada numr (nivel 2)

Din punct de vedere al structurii datelor dintr-un articol, distingem: date
elementare (nume, localitatea ) i date grupate (adresa) ce se compun din alte date
elementare sau grupate.

Principiile dup care se memoreaz articolele unui fiier pe purttorul extern, cu
asigurarea proteciei i regsirii acestora, constituie metoda de organizare.
Tipul de acces reprezint modalitatea de regsire (localizare) a articolelor din
fiier. Noiunea de acces se refer att la operaia de scriere ct i de citire a datelor.
Unei organizri a datelor i este caracteristic una sau mai multe metode de acces la
articole.
Accesul poate fi:
a) Secvenial prelucrarea se fac n ordinea fix a poziiei fizice n cadrul
fiierului; accesul la articolul n este permis numai dup ce s-a citit/scris articolul
( ) 1 n .

O problem important care se pune la consultarea (citirea) n acces secvenial este
controlul ajungerii la sfritul fiierului. Poziia din/n care se face citirea scrierea n
cadrul fiierului este indicat de un pointer (figura 4.1).

art
1
art
2
art
3
. . . art
n
EOF



Figura 4.1

Pointerul de fiier avanseaz la citire i scriere de la un articol la altul. Dup citirea
ultimului articol pointerul indic marcatorul de sfrit de fiier - EOF (End of File).
n limbajele de programare se regsesc dou modaliti de sesizare a sfritului
de fiier:
- sesizarea sfritului de fiier n cadrul operaiei de citire a marcatorului EOF (Cobol);
pointer

114 Curs pentru nvmnt la distan



- sesizarea sfritului de fiier independent de operaia e citire )Pascal, C); dac a fost
citit ultimul articol, pointerul se afl naintea marcatorului EOF; urmtoarea citire
produce eroare de intrare/ieire; n limbajul Pascal exist funcia EOF ( ) care
returneaz valoarea TRUE dac pointerul se afl dup ultimul articol (art n) i FALSE
n caz contrar.
b) Direct prelucrarea se face ntr-o ordine oarecare, indiferent de poziia
articolelor n fiier; este posibil numai la fiierele care au o anumit organizare; accesul
direct se bazeaz pe existena unui algoritm implementat n sistem care asigur
localizarea (regsirea) articolelor n funcie de o informaie de regsire. Valoarea
pointerului este determinat direct, fr s depind de valoarea sa anterioar. n funcie
de algoritm i de informaia de regsire exist dou tipuri de acces direct: dup cheie i
dup numrul relativ al articolului (acces relativ).

Organizarea secvenial un fiier F este organizat secvenial dac ntre articolele sale
este definit o relaie de ordine, astfel nct:
art
1
< art
2
< . . . < art
n

Fiierele organizate secvenial cu articole de lungime variabil admit numai
accesul secvenial, cele organizate secvenial cu articole de lungime fix admit att
accesul secvenial ct i pe cel relativ.
Accesul relativ este realizat de sistem printr-o deplasare secvenial fa de
nceputul acestuia, deplasare care este egal cu valoarea expresiei:
numr relativ x lungime articol.

Organizarea indexat se consider o mulime de articole:
{ } n i r R
i
, 2 , 1 = =
fiecare articol
i
r este identificat n mod unic printr-o valoare
i
k asociat unei chei.
Fie { } n i p k I
i i
, , 2 , 1 , = =
unde:
i
p este un pointer spre articolul
i
r . O pereche ( )
i i
p k , este numit index.
Mulimea I este ordonat dup valorile primei componente a fiecrei perechi.
Se numete fiier indexat o pereche (R,I), I constituind mulimea de indeci
asociat fiierului.
Aceast organizare determin o metod simpl de acces la articole: fiind dat o
valoare
i
k , se caut mai nti n mulimea I, perechea ( )
i i
p k , care are prima
component identic cu valoarea dat (se poate folosi o metod de cutare rapid,
mulimea I fiind ordonat); accesul direct la articol se obine folosind cea de-a doua
component pointerul
i
p .
Mulimea I este memorat sub forma unui tabel, numit tabel de indeci.
n cazul n care este posibil i accesul secvenial la articole, se spune c fiierul
are organizare secvenial indexat, modul de acces fiind numit acces mixt.








Bazele informaticii economice 115


Operaii de prelucrare (gestiune) a fiierelor

A. Operaii la nivel de fiier:

- copierea unui fiier este operaia prin care se obine o copie identic a
acestuia pe un alt suport;
- tergerea fiierului;
- validarea i interzicerea accesului la fiier.
B. Operaii la nivel de articol:
- crearea fiierului const n memorarea articolelor pe un suport tehnic;
- consultarea fiierului este operaia prin care articolele unui fiier sunt
selectate n vederea efecturii unui proces de prelucrare definit asupra
ntregului fiier sau numai asupra unei pri a acestuia;
- actualizarea este operaia prin care se pot aduga noi articole, se pot terge
acele articole care nu mai conin date actuale, se pot modifica n unele
articole datele care nu mai sunt actuale.


4.2. Interclasarea i sortarea fiierelor
[GNC96], [LIX94]

Interclasarea fiierelor
Dou fiiere F1 i F2 avnd aceeai structur sunt ordonate cresctor dup
cmpul cheie cod; se pune problema interclasrii celor dou fiiere pentru a alctui un
al treilea fiier F3, de asemenea ordonat cresctor ic are va conine toate articolele din
cele dou fiiere.
Not. Se va considera n algoritmii care se vor prezenta c sesizarea sfritului de filier
se face idnependent de operaia de citire aceasta presupune existena funciei EOF
(nume fiier).


Algoritmul de interclasare a dou fiiere.

* iniializare fiierele F1,F2,F3;
read articol F1 {cod1, . . . }
read articol F2 {cod2, . . . }
k1:=F ; k2:=F
repeat
if cod 1 s cod2
then write articol F1 n F3
if EOF (F1)
then k1: =T
else read articol_F1 {cod1, . . .}

else write articol_F2 n F3
if EOF (F1)
then k1: =T
else read articol_F2 {cod2, . . .}

116 Curs pentru nvmnt la distan




until k1 or k2

if k1


then write articol_F2 n F3

while not EOF (F2)


do read articol_F2 {cod2, . . .}
write articol_F2 n F3


else write articol_F1 n F3

while not EOF (F1)


do read articol_F1 {cod1, . . .}
write articol_F1 n F3




* nchide fiierele F1,F2,F3
stop

Sortarea unui fiier
Sortarea este o operaie de ordonare a nregistrrilor unui fiier n funcie de
valorile unui cmp ala cestora, numit cheie de sortare. Dac procesul de sortare se poate
realiza cu pstrarea tuturor nregistrrilor n memoria intern, atunci sortarea este
numit sortare intern. Dac volumul de date este mare i procesul de ordonare
necesit i utilizarea memoriei auxiliare, atunci sortarea este denumit sortare extern.
Se exemplific n continuare o metod de sortare extern care folosete ca operaie de
baz interclasarea. Pornind de la observaia c ntr-un ir de nregistrri exist n mod
natural sau se pot constitui subiruri ordonate (monotonii), principiul interclasrii a
condus la metoda de sortare propriu-zis. Reprezentativ n acest sens este sortarea prin
interclasare direct utiliznd dou fiiere de manevr.
Fie un fiier denumit F care conine numere ntregi (acestea pot fi interpretate i ca
valori ale cmpului cheie).Presupunem c fiierul are 12 articole:

F 12 23 2 3 9 54 34 4 67 11 32 69

* se descompune n secvene cresctoare (monotonii):
12 23 2 3 9 54 34 4 67 11 32 69

* se transfer monotoniile alternativ n dou fiiere temporare:
Manevra 1 : 12 23 34 11 32 69

Manevra 2 : 2 3 9 54 4 67

* se interclaseaz cele dou fiiere de manevr considernd perechi de monotonii:
rezult fiierul original:

2 3 9 12 23 34 54 4 11 32 67 69

F

Bazele informaticii economice 117


* procesul de distribuire interclasare se repet pn cnd monotonia obinut arat c
fiierul original este complet sortat;
* rezult dup distribuire:
Manevra 1: 2 3 9 12 23 34 54

Manevra 2: 4 11 32 67 69

* dup o nou interclasare se obine fiierul sortat.

2 3 4 9 11 12 23 32 34 54 67 69


Algoritmul de sortare a unui fiier

* iniializare fiierele F, Man_1, Man_2;

repeat
- distribuie monotoniile fiierului F succesiv n fiierele temporare Man_1 i
Man_2;
- interclaseaz Man_1 i man_2 n F (interclasarea se face considernd perechi
succesive de monotonii);
until * F este sortat (conine o singur monotonie);

* nchide fiierele;
stop


4.3. Aplicaii economice
[LIX94]

1. Fiierul de urmrire a contractelor CONTRACT are structura
NRC - numr contract;
CODP - cod produs;
CODB - cod beneficiar
QCANT - cantitatea contractat;
QLIV - cantitatea livrat;
PU - preul unitar
DATAF - termenul de finalizare al contractului;

S se obin situaia centralizat pe beneficiari a valorii totale a contractelor
ncheiate i a valorii cantitilor livrate.







F

118 Curs pentru nvmnt la distan



De exemplu:
Nr.crt. Cod beneficiar Valoare contract Valoare livrat
1. 2105 1.589.000 458.000
2. 2953 5.750.000 5.750.000
3. 3417 2.000.000 0

Total:

77.950.524

50.800.000

Rezolvare:
* iniializare fiierul CONTRACT
* se sorteaz fiierul cresctor dup cheia CODB
val_tot: =0; liv_tot: =0; nrcrt: =1
read ONTRACT {NRC, CODP, CODB, QCANT, QLIV, PU, DATAF}
benef : = CODB ; val : = QCANT x PU ; liv : = QLIV x PU
while not EOF (CONTRACT)
do read CONTRACT {NRC, CODP, CODB}
if benef = CODB
then val:= val+QCANT x PU
liv: = liv+QLIV x PU
else write nrcrt, benef, val, liv
val_tot: = val_tot+val
liv_tot: = liv_tot+liv
benef: = CODB; nrcrt: = nrcrt+1
val: = QCANT x PU; PU; liv:=QLIV x PU
write nrcrt, benef, val, liv
val_tot: = val_tot + val; liv_tot:=liv_tot + liv
write TOTAL =, val_tot,val_liv
close CONTRACT
stop

2. Fiierul TRANZACII are structura:
NR - numr;
DATA - data ncheierii tranzaciei;
CONTP - contul pltitorului;
CONTB - contul beneficiarului
SUMA - suma
Iar fiierul CONTURI are structura :
CONT - cont
VAL - valoare
Prin consultarea secvenial a fiierului TRANZACII se actualizeaz n acces
direct fiierul CONTURI; valoarea (SUMA) este transferat din contul pltitorului
(CONTP) n contul beneficiarului (CONTB).

Observaii.
Fiierul CONTURI este indexul dup cmpul cheie CONT.
Citirea n acces direct a unui fiier va fi indicat prin:
Read cheie nume fiier


Bazele informaticii economice 119


Analog pentru scrierea n acces direct fiier:
Write cheie nume fiier
Pentru a testa existena articolului cu valoarea cheie se va utiliza funcia logic
FOUND ( ).
Rezolvare:

* Iniializare fiierele TRANZACII i CONTURI
while not EOF (TRANZACII)
Do read TRANZACII (NR,DATA,CONTP,CONTB,SUMA)
read CONTP CONTURI {CONT, VAL}
if FOUND ( )
then cp: = CONT; vp: = VAL
read CONTB CONTURI {CONT,VAL}
if FOUND ( )
then cb: = CONT; vb: = VAL
if vp > SUMA
then vp: = vp SUMA
vb: =vb + SUMA
write cp CONTURI {cp,vp}
write cb CONTURI {cb,vb}
else write efectuarea plii imposibil
else write cont beneficiar eronat
else write cont pltitor eronat

* nchide fiierele TRANZACII i CONTURI
stop

3. Fiierul STOCURI are structura:
CODP - cod produs
CANT - cantitate;
VAL - valoare;
iar fiierul TRANZACII are structura:
DOC - tipul documentului poate fi:
BI - bon de intrare;
BT - bon de transfer;
BC - bon de consum;
CODT - cod produs
CANT_T - cantitate
VAL_T - valoare

S se calculeze stocul la un moment dat pentru un anumit produs.








120 Curs pentru nvmnt la distan




Rezolvare:

* iniializare fiierele STOCURI i TRANZACII
read kod (codul produsului pentru care calculm stocul)
read kod STOCURI {CODP, CANT, VAL}
if FOUND ( )
then cantitate: = CANT
valoare: = VAL
else cantitate: =0
valaore: =0


while not EOF (TRANZACII)
do read TRANZACII {DOC, CODT, CANT_T, VAL_T}
if kod = CODT
then
case DOC of
BI : cantitate: = cantitate + CANT_T
valoare : = valoare + VAL_T
BT,BC : cantitate : = cantitate-CANT_T
valoare : = valoare-VAL_T

write kod,cantitate,valoare
* nchide fiierele TRANZACII i STOCURI
stop



S ne reamintim...
Organizarea datelor este un proces complex care include identificarea,
clasificarea i descrierea proprietilor acestora, gruparea lor n colecii,
reprezentarea pe purttori tehnici, definirea i realizarea procedurilor de prelucrare.
Procesul de organizare extern a datelor cuprinde dou niveluri de abordare:
logic i fizic.




Rezumat
Orice unitate semantic din cadrul unui articol formeaz o dat. n descrierea
operaiilor de prelucrare se folosete noiunea generic de cmp, unde da reprezint
coninutul cmpului.
Lungimea unui articol este dat de suma lungimilor cmpurilor care l
compun. n general, nregistrrile logice ale unui fiier pot fi de lungime fix sau de
lungime variabil.
Un fiier omogen const din nregistrri logice de lungime fix.
Pe suport nregistrrile logice pot fi grupate n uniti distincte numite
blocuri sau nregistrri fizice.
nregistrarea fizic constituie unitatea de informaie transferat n cursul unei

Bazele informaticii economice 121


operaii de intrare / ieire.
Memorarea blocat are ca avantaje: creterea capacitii de memorare i
creterea vitezei de prelucrare prin introducerea unui volum mai mare de date n
memoria central la o operaie I/O.
Legtura dintre bloc i articol este realizat automat de ctre sistemul de
gestiunea al fiierelor component a sistemului de operare.

Structura de tip articol este un arbore ale crui cmpuri (structuri de nivel 1)
sunt descendenii rdcinii, subcmpurile (structuri de nivel 2) fiind descendenii
acestora etc.

Operaii de prelucrare (gestiune) a fiierelor

A. Operaii la nivel de fiier:

- copierea unui fiier este operaia prin care se obine o copie identic a
acestuia pe un alt suport;
- tergerea fiierului;
- validarea i interzicerea accesului la fiier.
B. Operaii la nivel de articol:
- crearea fiierului const n memorarea articolelor pe un suport tehnic;
- consultarea fiierului este operaia prin care articolele unui fiier sunt
selectate n vederea efecturii unui proces de prelucrare definit asupra
ntregului fiier sau numai asupra unei pri a acestuia;
- actualizarea este operaia prin care se pot aduga noi articole, se pot
terge acele articole care nu mai conin date actuale, se pot modifica n
unele articole datele care nu mai sunt actuale.



Test de evaluare a cunotinelor
Precizai care sunt principalele operaii ce se pot face la nivelul fiierelor.
















122 Curs pentru nvmnt la distan




Tem de control
PROBLEME PROPUSE


1. Artai c operatorul nici (NOR) formeaz o baz pe mulimea operatorilor ce se pot
defini pe
2
B .
2. Demonstrai echivalena propoziiilor compuse ( ) 2 P 1 P :
P1: not (( A or B) and C )
P2: C (not A and not B )

3. S se verifice c propoziiile urmtoare sunt ntotdeauna adevrate (tautologii):
a) ( ) ( ) A not B not B A (reductio ad absurdum)
b) ( ) ( ) B or A not B A
c) ( ) ( ) ( ) ( ) C A C B B A

4. Folosind reprezentarea n cod complementar pe doi octei artai c:
12 xor 22 = 26
3 and 2 = 2
3 or 2 = -1

5. S se elaboreze schema logic structurat i limbajul algoritmic pentru reuniunea i
intersecia a dou mulimi sub form de vectori.
S se descrie structura programelor obinute aplicnd corolarul top-down.

6. Se consider un i de n numere reale. S se scrie programul n limbaj algoritmic care
s decid dac acest ir este sau nu monoton.

7. S se elaboreze programele n limbaj algoritmic pentru efectuarea urmtoarelor
operaii cu matrice: adunarea, nmulirea i transpusa.

8. Se dau n intervale ale dreptei reale | | ; , , , , n l i B A
i i
= s se descrie algoritmul care
determin intersecia lor.

9. Pentru o selecie de volum n s se calculeze parametrii statistici: valoarea medie (M),
dispersia (D), amplitudinea (A):

=
=
n
i
i
x
n
M
1
1
( )

=
=
n
i
i
M x
n
D
1
2
1

min max
x x A =

Se cere chema logic i limbajul algoritmic.

10. Pentru o matrice A de tip ( ) r r s se calculeze urmtorii coeficieni:


Bazele informaticii economice 123


( )
|
.
|

\
|
=
s s s s
j i a C
r i r j
, min max
1 1
1
( )

=
s s
=
r
j
r i
j i a C
1
1
2
, min

( ) ( ) ( )
|
|
.
|

\
|
=

=
s s
r
k
r j i
k j a k i a C
1
, 1
3
, , , min min
Se cere schema logic structurat i limbajul algoritmic.
11. O matrice nenegativ se numete stochastic, dac suma elementelor din fiecare
linie a sa este egal cu 1. S se scrie programul n limbaj algoritmic care s determine
dac o matrice de tip ( ) n m este stochastic.

12. Se d matricea distanelor pe cale ferat i osea dintre n localiti, definit astfel:

ij
d cu j i > reprezint distana pe cale ferat dintre localitile i i j;

ij
d cu j i < reprezint distan pe osea dintre localitile i i j.
Dat o localitate k, s se determine cea mai apropiat i cea mai ndeprtat localitate pe
osea, respectiv pe cale ferat.
Se cere rezolvarea n limbaj algoritmic.

13. Matricea ( ) n m A definete repartiia comun a dou variabile aleatoare. S se
determine repartiiile marginale (definite de suma elementelor de pe fiecare linie i de
pe fiecare coloan).
Se cere schema logic structurat i limbajul algoritmic.

14. ntr-un sondaj de opinie referitor la U.E., pentru un eantion de N persoane se
nregistreaz informaiile: (vrst, cod-rspuns), unde;

cod rspuns = { 1, dac rspunsul este DA
2, dac rspunsul este NU
3, dac rspunsul este NU TIU

S se determine procentul rspunsurilor DA, pentru grupele de vrst [21,30], [31,40],
[41,50]. Se cere rezolvarea n limbaj algoritmic.

Indicaie. Rezultatele sondajului se pot memora n 2 vectori (V vrst, R rspuns),
sau ntr-un vector avnd elementele articole cu structura { vrst, cod-rspuns }.

15. Se d o list cu structura {cont, suma}, ordonat cresctor cmpul cont, n care pot
exista dou sau mai multe conturi egale. S se genereze situaia conturilor care au valori
mai mari dect o valoare W dat.
Se cere rezolvarea n limbaj algoritmic.
Indicaie. Lista poate fi dat sub forma a doi vectori, sau a unui vector avnd elementele
articole cu structura {cont, suma}, sau a unui fiier cu un numr necunoscut de articole,
avnd structura {cont, suma}.


124 Curs pentru nvmnt la distan



16. Se d matricea ( ) n n A . S se afieze coloanele care reprezint iruri ordonate
cresctor i liniile care reprezint iruri ordonate descresctor. (Limbaj algoritmic).

17. Se d matricea ( ) n n A . S se afieze toate perechile de linii identice i toate
perechile de coloane identice.

18. Se consider dou fiiere identice ca structur 1 F i 2 F , sortate dup valorile unei
chei de identificare K. Construii tabela de decizie asociat procesului de prelucrare ce
realizeaz interclasarea celor dou fiiere.
19. La un magazin se vnd dou produse A i B. Un cumprtor poate solicita unul din
produse sau pe amndou. Dac nu exist unul din produse vnztorul face o comand
de aprovizionare (comanda are aceeai form pentru ambele produse). Dac produsul
solicitat exist se elibereaz nsoit de factur fiscal i chitan i se actualizeaz stocul.
n cazul n care cumprtorul nu dorete nici un produs, i se dau informaii suplimentare
privind caracteristicile tehnice i calitative ale produselor. S se construiasc tabela de
decizie privind gestiunea stocului. S se reduc tabela de decizie obinut.

20. S se scrie n limbaj algoritmic funcii recursive pentru a determina:
a) suma elementelor unui tablou unidimensional cu n elemente;
b) produsul elementelor unui tablou unidimensional cu n elemente;
c) produsul scalar a doi vectori cu cte n componente reale.

21. Se d un polinom cu coeficieni reali ( ) x P de grad n. S se determine valoarea
polinomului derivat n punctul R x e
0
. (Limbaj algoritmic).

22. Se d un polinom cu coeficieni reali de dou variabile ( ) y x P , , avnd gradul m n
raport cu x i n n raport cu y, reprezentat sub forma unei matrice ( ) m i aij s s 0 , ,
n j s s 0 , unde
ij
a reprezint coeficientul monomului
j i
y x . S se scrie un program
n limbaj algoritmic care s determine valoarea polinomului ntr-un punct dat ( )
0 0
, y x .

23. Se d un polinom cu coeficieni reali de dou variabile ( ) y x P , , memorat matriceal.
S se scrie un program n limbaj algoritmic care s determine polinoamele obinute prin
derivarea parial a lui ( ) y x P , n raport cu x i y.

24. Se d un ir de numere reale avnd 3 > n componente. Se spune c acest ir are o
variaie de monotonie n poziia 1 2 , s s n i i , dac
1 1 +
> <
i i i
x x x sau
1 1 +
< >
i i i
x x x .
S se scrie un program n limbaj algoritmic care determin numrul variaiilor de
monotonie ale irului.

25. Se dau dou iruri de ntregi, X cu m elemente i Y cu n elemente ( ) m n < . S se
scrie un program n limbaj algoritmic care s decid dac irul Y este inclus n irul X i
n caz afirmativ de cte ori.

Bazele informaticii economice 125



26. Fiierul de urmrire a contractelor CONTRACT are structura:
* numr contract NRC
* cod beneficiar CODB
* cod produs CODP
* cantitate contractat QC
* cantitate livrat QL
* pre unitar PU
* data final de livrare DATAL

S se elaboreze programele n limbaj algoritmic pentru urmtoarele situaii:
a) indicnd data curent (DATAC), s se genereze situaia contractelor restante,
centralizat pe produse, sub forma:
| cod produs | cantitate restant | valoare |
Indicaie. Un contract se consider restant, dac:
(DATAC > DATAL ) and (QC > QL )

b) S se genereze situaia contractelor finalizate, centralizat pe produse, cantitativ i
valoric.
Indicaie. Un contract se consider finalizat dac: QC = QL.

c) Indicnd data curent (DATAC), s se genereze situaia centralizat pe produse, a
cantitilor care urmeaz s fie livrate din contractele nerestante.
Indicaie. Un contract este nerestant dac: DATAC < DATAL.

d) S se stabileasc lista primilor k beneficiari, ca valoare total a contractelor ncheiate.

27. Fiierul de stocuri STOC are structura:
* cod produs CODP
* denumire produs DENP
* unitate de msur UM
* stoc STOC
* stoc minim (limit) STOCM
* data ultimei aprovizionri DATAU
S se elaboreze programele n limbaj algoritmic pentru urmtoarele situaii:

a) Situaia produselor pentru care STOC < STCM, n vederea lansrii unei comenzi
urgente de reaprovizionare.

b) Indicnd data curent (DATAC), s se obin situaia produselor pentru care nu s-
a mai realizat o aprovizionare de un numr (NRZ) de zile.

28. Se d fiierul INTRARI cu structura:
* cod produs CODP
* cantitate CANT
* pre unitar PU
* data intrrii n stoc DATA
i fie Q stocul inventariat, prin evaluare direct.

126 Curs pentru nvmnt la distan




S se elaboreze programele n limbaj algoritmic de evaluare a stocului pentru produsul
cu codul K prin metodele: FIFP i LIFO. Se va determina valoarea vnzrilor i soldul
inventar.

29. Se d fiierul STUDENT cu structura:
* numr matricol NRMAT
* nume i prenume NUME
* grupa GRUPA
* nota1, credit1 N1, C1
* nota2, credit2 N2, C2
* nota3, credit3 N3, C3
S se elaboreze programele n limbaj algoritmic pentru urmtoarele situaii:

a) Lista studenilor din grupa G, care au promovat cele trei examene, sub forma:
| Numr curent | Nume | Media |
Indicaie. Se va calcula media ponderat astfel ( )


i i i
credit credit nota /

b) Lista studenilor restanieri din grupele G1 i G2, sub forma:
| Numr curent | Nume | Grupe | Numr de restane |

30. Se d fiierul CANDIDAT cu structura:
* numr legitimaie NRL
* nume i prenume NUME
* media concurs admitere MEDIA
* opiune 1 OP1
* opiune 2 OP2
* opiune 3 OP3

S se elaboreze programul n limbaj algoritmic care realizeaz repartizarea
studenilor pe specializri n funcie de medie i opiuni. Se cunoate numrul de locuri
repartizat pentru fiecare opiune: N1, N2, N3.

Algoritmul de cutare binar

program cutare binare;
(* algoritmul de cutare binar *)
uses crt;
const
din_max = 50;
var
a : array [1 . . din_max] of real;
u, p, n, i : integer;
cod : boolean;
x : real;
rspuns : char;
begin

Bazele informaticii economice 127


clrscr;
write (dimensiunea vectorului : ) ; readln (n) ;
for i := 1 to n do begin
write ( a [, i :2, ] = ) ;
readln (a [i] ;
end;
writeln;
repeat
write (valoarea cutat : ); readln (x);
p : =1; u : = n; cod : = false;
while (p< = u) and (cod = false)
do begin
i : = (p+u) div 2;
if a [i] = x then begin
cod : = true;
p : = i
end
else if a[i] < x then p : = i+1
else u : = i-1
end;
case cod of
false : writeln (R : cutare fr succes / , p);
true : writeln (R : cutare cu succes / , p);
end;
writeln;
write ( dorii o nou cutare [d/n] ? : );
readln (rspuns);
until upcase (rspuns) = N;
end.

Algoritmul de sortare prin insertie directa

program sort_insertie_directa;
uses crt;
const
dimmax = 100;
type
vector = array [1 . . dimmax] of real;
var
a : vectory;
n, i, j, k : integer;
logic : boolean;
x : real;
begin
clrscr;
write (Dimensiunea vectorului : );
readln (n)
for i : = 1 to n do

128 Curs pentru nvmnt la distan



begin
write (a [,i : 2, ] = );
readln (a[i] );
end;
for j : =2 to n do
begin
x : =a [j]; k : = 0;
logic : = false; i : = j-1;
repeat
if a [i] <= x
then begin
k : = i;
logic : = true
end
else begin
a [i+1] : = a [i];
i : = i-1
end
until ( i < 1 ) or logic;
a [k+1] : = x
writeln (Vectorul sortat : );
for i : = 1 to n do
write (a [i] : 8 : 2);
writeln;
repeat until keypressed
end.

Algoritmul de sortare prin interschimbare

program sort_interschimbare;
uses crt;
const
dinmax = 100;
type
vector = array [1 . . dimax] of real;
var
v : vector;
aux : real;
n, i : integer;
k : boolean;

begin
clrscr;
write (Dimensiunea vectorului : ) ;
readln (n)
for i : = 1 to n do
begin
write (v [ , i:2, ] = ];

Bazele informaticii economice 129


readln (v [i]);
end;
repeat
k : = true;
for I : = 1 to n-1 do
if v [i] > v [i+1]
then begin
aux : = v [i];
v [i] : = v [i+1];
v [i+1] : = aux
k : = false
end;
until k;
writeln (Vectorul sortat : );
for i : = 1 to n do
write (v [i]:8:2;
writeln;
repeat until keypressed
end.

Algoritmul de sortare prin selectie

program sort_selectie;
uses crt;
dinmax = 100;
type
vector = array [1 . . dinmax] of real;
var
a : vector;
n, i, j, k: integer;
min : real;
begin
clrscr;
write (Dimensiunea vectorului : ) ;
readln (n)
for i : = 1 to n do
begin
write (a [ ,i:2, ] = );
readln (a [ i ] );
i : = 1;
repeat
k:=i; min:= a [k]; j:= k;
repeat
if min > a [k+1]
then begin min:= a[k+1]; j:=k+1 end;
k:=k+1
until k=n;
a [j]:=a [i];

130 Curs pentru nvmnt la distan



a [i]: = min;
until i = n;
writeln ( Vectorul sortat : );
for i: =1 to n do
write (a [i]:8:2);
writeln;
repeat until keypressed
end.

Algoritmul de soretare QUICKSORT varianta nerecursiva

Program quicksort_nerecursiv ;
uses crt;
const
dinmax = 100;
type
vector = array [1 . . dinmax] of integer;
stack = array [1 . . 10] of record s, d:integer end;
var
v : vector;
stiva : stack;
n, i, j, st, dr, ind, w, x : integer;
begin
clrscr;
write (Dimensiunea vectorului : ) ;
readln (n)
for i :=1 to n do
begin
write (v [, i:2, ] = );
readln (v [ i ]);
end;
ind:=1 { initializarea stivei}
stiva [1].s :=1;
stiva [1].d :=n;
repeat
st:=stiva [ind].s; dr:=stiva [ind].d;
ind:= ind-1; {extragere din stiva }
i:=st; j:=dr; x:=v[ (i+1) div 2];
repeat
while v[i] < x do i:=i+1;
while x < v [j] do j:=j-1;
if I <= j then
begin
w:=v[j];
v [i]:=v [j];
v [j]:= w;
i:=i+1;
j:=j-1;

Bazele informaticii economice 131


end
until i > j;
if i < dr then
begin
ind:=ind+1; {creare stiva partitia dreapta}
stiva [ind].s:= i;
stiva [ind].dr:=dr
end;
if st < then
begin
ind:ind+1; {creare stiva partitia stanga}
stiva [ind].s:=st;
stiva [ind].d:=j
end;
until ind=0;
writeln (Vectorul sortat : );
for i:=1 to n do
write (v[ i ]:8);
writeln;
repeat until keypressed
end.

Algoritmul de sortare QUICKSORT varianta recursiv

Program quicksort_recursiv;
uses crt;
const
dinmax = 100;
type
vector = array [1 . . dinmax] of real;
var
v : vector;
n, i : integer;

procedure QUICKSORT (var a: vector; st, dr : integer);
{procedura de sortare rapida
QUICKSORT varianta recursiva}
var i, j integer; x,w : real;
begin
i:=st; j:=dr; x:=a [ (i+j) div 2];
repeat
while a [i] < x do i:=i+1;
while x < a [j] do j: = j-1;
if i <= j then
begin w:=a [i];
a [i]:=a [j];
a [j]:= w;
i:=i+1

132 Curs pentru nvmnt la distan



j:=j-1
end
until i >j;
if st > j then quicksort (a, st, j);
if i < dr then quicksort (a, i, dr)
end;
begin
clrscr;
write (Dimensiunea vectorului : );
readln (n) ;
for i:=1 to n do
begin
write (v [, i:2, ] = ];
readln (v[i]);
end;
quicksort (v, 1, n);
writeln (Vectorul sortat : );
for i:=1 to n do
write (v [i]:8:2);
writeln;
repeat until kezpressed
end.

Crearea unei liste nlnuite i tiprirea ei conform disciplinei FIFO i LIFO
program lista_exemplu;
uses crt;
type
sir = string [10];
lista =^pers;
pers = record
nume :sir;
sal : real;
adr :lista;
end;
var prim, prec, p:lista;
wn: sir; ws : real;
function cautare (n:sir) : boolean; forward;
procedure citeste;
begin
write (numele (sf = press return) : ); readln (wn);
if wn <> then begin
write (salariu : ); readln (ws)
end
end;
procedure generare;
begin
citeste;
new (prin);

Bazele informaticii economice 133


prim^.nume :=wn;
prim^.sal :=ws;
prim^.adr :=nil;
prec :=prim;
repeat
citeste;
if wn <>
then if not cautare (wn)
then
begin
new (p);
p^.nume := nw; p^.sal := ws;
prec^.adr := p; prec := p;
p^.adr := nil;
end
else writeln (Numele exista !);
untile wn = ;
end;
procedure lista_fifo;
begin
p: = prim;
while p<> nil do
begin
writeln (p^.nume, :10, p^.sal:8:2);
p:= p^.adr
end;
end;
procedure lista_lifo (p:lista);
begin
if p<> nil then begin
lista_lifo (p^.adr);
writeln (p^.nume, :10, p^.sal:8:2)
end
end;
function cautare;
var raspuns : boolean;
begin
p: = prim; raspuns : = false;
while (p <> nil) and not raspuns do
if p^.nume = n then raspuns : = true
else p : = p^.adr;
cautare : = raspuns
end;
begin
clrscr;
generare;
writeln; writel ( Lista FIFO :);
lista_fifo;

134 Curs pentru nvmnt la distan



writeln; writeln (Lista LIFO :);
lista_lifo (prim);
repeat until keypressed
end.

Testarea operaiilor de lucru cu stiva utiliznd alocarea nlnuit

Program stiva_exemplu;
uses crt;
type
stiva =^st;
st = record
informatie : integer;
adr : stiva
end;
var virf : stiva;
x : integer;
allege : char;
tasta : char;
procedure listare_stiva;
var s : stiva;
begin
if virf = nil
then writeln (Stiva este vida)
else begin
s:= virf;
while s <> nil
do begin
writeln (s^.informatie);
s:=s^.adr
end;
end;
end;
procedure stergere_stiva;
var s : stiva;
begin
if virf = nil
then writeln (Stiva este vida)
else begin
s:= virf^.adr;
dispose (virf);
while s <> nil
do begin
virf: = s;
s:= s^.adr;
dispose (virf)
end;
virf:=nil

Bazele informaticii economice 135


end;
end;
procedure introducere_element;
var s : stiva;
element : integer;
begin
write ( introducere element :); readln (element);
new (s);
s^.informatie:= element;
s^.adr :=virf;
virf :=s;
end;
function element_extras:integer;
var s : stiva;
element : integer;
begin
if virf = nil
then element_extras:= -1
else begin
s:=virf^.adr;
element:= virf^.informatie;
dispose (virf);
virf:=s;
element_extras : = element;
end ;
end ;
begin
virf := nil ;
repeat
clrscr ;
writeln (=========== MENIU =========== ) ;
writeln ( Listare stiva - L);
writeln ( Introducere element -I);
writeln ( Extragere element -E);
writeln ( Stergere stiva -S);
writeln ( Sfarsit -Q);
writeln; writeln;
write (Alegere meniu : ); readln (alegere);
case alege of
L : listare_stiva;
I : introducere_element;
E : begin
x:= element_extras;
if (virf = nil) and (x=-1)
then writeln ( Stiva este vida)
else writeln (Elementul extras : ,x)
end;
S : stergere_stiva;

136 Curs pentru nvmnt la distan



else halt
end;
write (Pentru reluare testate orice tasta);
tasta:= readkey
until allege=q
end.


Programul realizeaz calculul coeficientului T al lui Kendall de corelaie al
rangurilor pentru o selecie de volum n asupra vectorului (X,Y)
(Tratat de Statistic Matematic, vol.IV, pag.93, Ed. Academiei, Bucureti, 1981)

program coeficientul_lui_Kendall
uses crt;
type din 1 . . 30;
vector = array [din] of real;
matrice = array [dim, dim] of integer;
var x,y : vectory;
i, j, k, n : dim;
t,s : real;
mx, my : matricea;
begin
clrscr;
write ( Volumul selectiei (<=30) : ); readln (n)
writeln ( Valorile vectorului (X, Y) :) ;
for i := 1 to n do
begin
write (X(, i:2,) = );
readln (x[ i ], y [ i ];
end;
writeln;
for i :=1 to n do
for j :=1 to n do
begin
if x [ i ] < x [ j ]
then mx [i, j] := 1
else if x [ i ] = x [ j ]
then mx [ i, j ] := 0
else mx [ i, j ] := -1;
if y [ i ] < y [ j ]
then my [ i, j] :=1
else if y [ i ] = y [ j ]
then my [ i, j ] := 0
else my [ i, j ] := -1;
end;
s:= 0;
for i:= 1 to n do
for k :=1 to n do

Bazele informaticii economice 137


s := s + mx [ i, k] * my [ i, k];
t : = s/n/ (n-1);
writeln (Coeficientul de corelatie T al rangurilor ) ;
writeln ( de selectie (KENDALL) este : , t :6 :3) ;
readln
end.


Programul realizeaz calculul coeficientului lui SPEARMAN de corelaie al
rangurilor pentru o selecie de volum n asupra vectorului (X,Y) (Tratat de
Statistic Matematic, vol. IV, pag. 89-92, Ed. Academiei, Bucuretu, 1981)

program coeficientul_lui_Spearman;
uses crt;
type dim 1 . . 30;
vector array [dim] of real;
var x, y : vector;
i, j, k, n : dim;
r : real;
procedure spearman (x, y : vector; var r : real);
type matrice array [dim, dim] of integer;
var mx, my : matrice;
bx, dy : vector;
a, sbd, st : real;
begin
for i : = 1 to n do
for j : = 1 to n do
begin
if x [ i ] < x [j]
then mx [i, j] :=1
else if x [ i] = x [j]
then mx [i, j] := 0
else if y [i] = y [i] = y [j]
then my [i, j] :=0
else my [i, j] : = -1;
end;
sbd : = 0;
for i : = 1 to n do
begin
bx [i] : = 0; dy [i] : = 0;
for k : = 1 to n do
begin
bx [i] = bx [i] + mx [i, k];
dy [i] : = dy [i] + my [i, k]
end;
sbd : = sbd + bx [i] * dy [i]
end;
a : = n* (n-1) * (n+1)/3;

138 Curs pentru nvmnt la distan



r := sbd/a
end;
{
Programul principal
}
begin
clrscr;
write ( Volumul selectiei (<=30) : );
writeln ( Valorile vectorului (X,Y) :);
for i : = 1 to n do
begin
write (X (, i:2, ) = );
readln (x [ i ], y [ i ]);
end;
writeln;
spearman (x, y, r);
writel (Coeficientul de corelatie al rangurilor);
writeln ( de selectie (SPEARMAN) este : ,r : 6 :3) ;
repeat until keypressed
end.





























Bazele informaticii economice 139


Bibliografie
[ALB96] Albeanu G., Sisteme de operare, Editura Petrion, Bucureti, 1996.
[BVB97] Barbu Ghe., Vduva I., Boloteanu M., Bazele informaticii, Ed. Tehnic,
Bucureti, 1997.
[DOD87] Dodescu Ghe. i alii, Informatica, Editura tiinific i Enciclopedic,
Bucureti, 1987.
[FLY94] Flynn J., Gestionarea memoriei, Editura Teora, Bucureti, 1994.
[GER79] Georgescu-Roegen N., Legea entropiei i procesul economic, Editura Politic,
Bucureti, 1979.
[IVA92] Ivan I., Adam R., Structuri de date, A.S.E. Bucureti, 1992.
[JOR95] Jolivet F., Reboul G., Informatique applique la gestion, Ed. Dunod,
Paris, 1995.
[KOH90] Kolb F., Herman A., Informatique et organisation, Les Editions
dOrganisation, Paris, 1990.
[LIX91] Lixndroiu D., Vntu M., Programarea n Turbo Pascal cu aplicaii,
Universitatea Transilvania din Braov, 1991.
[LIX94] Lixndroiu D., Bazele informaticii, Universitatea Transilvania din Braov,
1994.
[LPG81] Livovschi L., Popovici C., Georgescu H., ndreanu N., Bazele informaticii,
Ed. Didactic i Pedagogic, Bucureti, 1981.
[MAR96] Mranu R., Informatic general, Ed. Tehnic, Bucureti, 1996.
[NAS98] Nstase P., Nstase F., Internet Word Wide Web JavaScript HTML Java,
Editura Economic, 1998.
[NIR96] Nichi ., Racovian D. i alii, Bazele prelucrrii informaiilor i tehnologie
informaional, Ed. Intercredo, Deva, 1996.
[OPR99] Oprea D., Analiza i proiectarea sistemelor informaionale economice,
Editura Polirom, Iai, 1999.
[POP72] Popovici C., Calculatoare cu program i teoria programrii, Ed. tiinific,
Bucureti, 1972.
[POP86] Popescu I., Rdulescu D., Modelarea sistemelor de producie, Ed. Tehnic,
Bucureti, 1986.
[SCA97a] Scarlat E., Chiri N., Bazele ciberneticii economice, Ed. Economic,
Bucureti, 1997.
[SCA97b] Scarlat E., Chiri N., Sisteme cibernetice ale economiei de pia,
Ed. Economic, Bucureti, 1997.
[SPB99] Stanciu V., Pan A., Bran F., Erhan F., Bazele utilizrii calculatoarelor
personale, Editura Economic, Bucureti, 1999.