Sunteți pe pagina 1din 113

1

Cuprins


Software de sistem i software de aplicaie
1. Software de sistem
1.1. Drivere de dispozitiv
1.2. Sistem de operare
1.2.1. Nucleul sistemului de operare
1.2.2. Interfaa sistemului de operare
1.2.3. Utilitare de sistem
2. Programare tabelar
2.1. Programul de calcul tabelar Excel
2.2. Editarea foilor electronice de calcul
2.3. Calcule financiare
2.4. Tabele de decizie
2.5. Tabele de date
2.6. Grafice (diagrame)
3. Internet
3.1. Structura reelei Internet
3.2. Instrumente Web
3.3. Pota electronic
3.4. Comer electronic
3.4.1. Site de comer electronic
3.4.2. Vnzarea on-line
3.4.3. Sisteme electronice de plat

Structuri de date i programare structurat
1. Conceptul de algoritm
2. Principiile programrii structurate
3. Elemente din teoria bazelor de date
3.1. Structuri de date
3.1.1. Tipuri de legturi ntre diferite colecii
3.1.2. Tipuri de structuri de date
3.2. Concepte de reprezentare a datelor
3.2.1. Modelul de reprezentare liniar
3.2.2. Modelul ierarhic (arborescent)
3.2.3. Modelul reea
3.2.4. Modelul relaional
3.3. Algebra relaional Modelul relaional
3.3.1. Integritatea modelului relaional
3.3.2. Calculul operaional
3.4. Elementele unei baze de date
2
3.4.1. Definirea noiunii de baz de date
3.4.2. Criterii de clasificare a bazelor de date
3.4.3. Sisteme de gestiune a bazelor de date (SGBD)
3.4.4. Funciile unui SGBD
3.4.5. Sisteme de gestiune a bazelor de date relaionale
4. Limbaje algoritmice
4.1. Datele
4.2. Instruciunile limbajului algoritmic
4.3. Programare modular. Subprograme
4.3.1. Proceduri
4.3.2. Funcii
4.3.3. Iterativitate i recursivitate
Aplicaii

Bibliografie



Software de sistem i software de aplicaie 3





Software de sistem i software de
aplicaie


Componenta logic a sistemelor de calcul (software) este
constituit din dou elemente: software de sistem i de aplicaie:


Software-ul de sistem permite calculatorului s execute
operaiile de baz, cum ar fi cele de intrare i de ieire i include:
sistemul de operare i modulele software cunoscute sub numele de
utilitare de sistem. Cea mai mare parte din utilitarele implementate
ntr-un sistem de calcul sunt neeseniale pentru funcionarea
sistemului dar includ uniti software care extind facilitile sistemului
SOFTWARE
DE
SISTEM
SOFTWARE
DE
APLICAIE
Drivere de
dispozitiv
Utilitare de
sistem
Sistem de
operare
Limbaje de
programare
Baze de date
Calcul
tabelar
Grafic
Procesoare
de texte
Comunicaii
Educaie Afaceri
Proiectare

S
O
F
W
A
R
E
4 Software de sistem i software de aplicaie

de operare permind utilizatorului s desfoare activiti specifice
sau s i dezvolte propriile aplicaii.
Software-ul de aplicaie este destinat executrii unor operaii
specificate de utilizatori.

Componentele sistemului de operare sunt structurate pe dou
nivele: nivelul fizic (mai apropiat de hard i, n general, transparent
pentru utilizator) i nivelul logic (mai apropiat de utilizator,
constituind interfaa cu utilizatorul):

Cea mai important parte a programelor de sistem care
coordoneaz activitatea PC-ului i furnizeaz servicii eseniale pentru
programele de aplicaii sunt implementate din construcie ntr-o
memorie de tip ROM, constituind sistemul de intrare/ieire de baz -
BIOS (Basic Input Output System). BIOS-ul reprezint interfaa
dintre echipamentele hardware ale calculatorului i sistemul de
operare i conine programe de conversaie cu elementele hardware
ale PC-ului. Destinaia sa principal o constituie ncrcarea sistemului
de operare de pe dispozitivul de iniializare i autotestarea
componentelor n momentul pornirii PC-ului (dispozitivul de
iniializare este, de obicei, hard disk-ul sau portul de reea). Tipurile
moderne de BIOS incorporeaz faciliti de determinare a

HARD
BIOS
BIOS
SISTEM
DE OPERARE
PROGRAME UTILITARE
SOFTWARE DE APLICAIE
U
T
I
L
I
Z
A
T
O
R
I
U
T
I
L
I
Z
A
T
O
R
I
Software de sistem i software de aplicaie 5



Pornire
Power On
Self Test
Booting
Hard
disc
configuraiei i de alocare a resurselor prin intermediul standardului
PnP (Plug and Play - conectare i folosire).
Sarcina esenial a BIOS-ului este aceea de asigura
independena sistemului de operare de partea hard. La punerea sub
tensiune a calculatorului sunt activate pe rnd secvene program ale
BIOS-ului care includ:
secvena de pornire a calculatorului
care stabilete configuraia
componentelor PC-ului (conexiunea
cu diferite tipuri de tastaturi, display-
uri, imprimante, periferice speciale);
secvenele de autotest
(POST - Power On Self Test),
realizeaz autotestarea PC-ului, constnd n detectarea
eventualelor erori de funcionare a componentelor);
secvena de ncrcare a sistemului de operare de pe suportul de
stocare pe care a fost depus (booting).

1. Software de sistem

1.1. Drivere de dispozitiv

Sistemul de operare conine informaii generale despre
dispozitivele ce pot fi conectate la calculator. Driverele de dispozitiv
(device drivers) sunt programe ce ofer calculatorului informaii
specifice privind un anumit echipament hardware i asigur
comunicarea cu acesta. Fiecare driver este proiectat individual pentru
un anumit tip de dispozitiv (imprimant, disc, monitor, etc.) i
traduce cererile formulate n termeni generali ntr-o secven de
instruciuni specifice dispozitivului ataat acelui driver. Astfel sistemul
de operare nu trebuie s in cont de detaliile constructive ale
dispozitivelor periferice ataate calculatorului.
Unele drivere sunt generale, deoarece dispozitivele pe care le
controleaz sunt construite conform unei anumite specificaii. De
exemplu, exist un numr mic de drivere de mouse care controleaz
6 Software de sistem i software de aplicaie

majoritatea dispozitivelor mouse. Cnd dispozitivele sunt foarte
variate, fiecare tip necesit un driver corespunztor. Imprimante
aproape identice, construite de acelai productor, vor avea drivere
diferite care exploateaz caracteristicile fiecrei imprimante.

Sistemul Plug and Play (PnP) este un procedeu modern prin
care interfeele sau dispozitivele periferice i manifest prezena n
cadru sistemului de calcul i este disponibil pentru sistemele de baz
ISA, PCI, SCSI i IDE astfel nct instalarea componentelor hardware
noi este mult simplificat. Pentru ca PnP s funcioneze, sunt
necesare urmtoarele componente: hardware PnP, BIOS PnP i un
sistem de operare PnP (opional). ntr-un sistem PnP, BIOS PnP va
stabili automat plcile compatibile PnP n spaiul componentelor
deja existente. Plcile adaptoare PnP comunic cu BIOS-ul sistemului
i cu sistemul de operare pentru a transmite informaii despre ce
resurse ale sistemului sunt necesare. n schimb, BIOS-ul i sistemul
de operare rezolv conflictele (acolo unde se poate face acest lucru)
i informeaz plcile adaptoare despre ce resurse specifice ar trebui
folosite. De abia apoi placa adaptoare i poate modifica configuraia
pentru a folosi resursele specificate.

Specificaia PnP a BIOS a fost dezvoltat de firme prestigioase
cum sunt Compaq, Intel i Phoenix Technologies. Trsturile PnP ale
BIOS sunt implementate printr-o extindere POST.

1.2. Sisteme de operare

. Definiie
Sistemul de operare reprezint o colecie de programe
destinat a organiza o gestiune eficient a resurselor hardware
i software ale sistemelor de calcul. Sistemul de operare
adapteaz resursele hardware ale calculatorului la cerinele
utilizatorului asigurnd interfaa cu utilizatorul, de cele mai
multe ori ntr-un mod interactiv.
Un sistem de operare const din unul sau mai multe programe
Software de sistem i software de aplicaie 7



care interacioneaz cu BIOS-ul pentru a controla hardware-ul
calculatorului. Sistemul de operare ofer un set de funcii standard ce
pot fi utilizate de aplicaii pentru comunicarea cu BIOS. n cursul
utilizrii calculatorului, sistemul de operare are sarcina de a detecta
dac un dispozitiv nu funcioneaz corect (de exemplu, dac un disc a
fost eliminat dintr-o unitate sau dac imprimanta nu este conectat).
Sistemele de operare gestioneaz operaiile de intrare i ieire prin
monitorizarea i controlarea fluxului de date i a altor programe.
Datele introduse de utilizator sunt preluate de la tastatur, mouse
sau alt dispozitiv de intrare i sunt dirijate ctre memorie i CPU.
Datele de ieire sunt transmise ctre ecran, ctre imprimant sau alt
dispozitiv. Prin comunicarea cu BIOS, sistemul de operare
gestioneaz i operaiile de intrare/ieire pentru dispozitivele de
stocare.

~ Observaie
Fiecare sistem de operare este conceput pentru a lucra cu o
anumit arhitectur hardware (inclusiv BIOS-ul). Un sistem de
operare proiectat pentru un calculator Macintosh nu va
funciona pe un PC. Un PC mai vechi bazat pe microprocesorul
8088 nu are resursele necesare pentru rularea unui sistem de
operare destinat s funcioneze pe un Pentium.

Sistemul de operare este responsabil i cu alocarea resurselor
sistemului - atribuirea de echipamente hardware diferitelor programe
i funcii pentru a asigura funcionarea eficient a calculatorului. De
exemplu, sistemul de operare poate aloca o poriune a unui hard disc
pentru a fi utilizat ca memorie virtual, sau poate utiliza o parte din
memorie pentru operaii de cache. De asemenea, sistemul de operare
gestioneaz operaiile de stocare, de citire de pe disc i de scriere pe
disc a noilor fiiere. O alt sarcin este determinare numrului de
utilizatori ce pot obine acces la calculator n acelai timp.

8 Software de sistem i software de aplicaie

n funcie de activitile pe care un calculator trebuie s le
execute simultan, sistemele de operare pot fi implementate n dou
variante:
Sisteme monotasking care pot executa la un moment dat
o singur sarcin.
Sisteme multitasking capabile s coordoneze executarea
mai multor sarcini simultan. Acest proces implic probleme
legate de partajarea timpului afectat diferitelor activiti
(time sharing), de echilibrarea ncrcrii (load balacing) sau
de comutare ntre sarcini (scaling scalare).

Fiecare sistem de operare conine dou componente principale:
o Nucleul (kernel) - conine acele componente soft care
efectueaz operaii primare, necesare pentru funcionare
calculatorului.
o Interfa cu utilizatorul (shell) - partea sistemului de operare
care preia comenzile de la utilizator i le transfer ctre nucleul
acestuia. n funcie de sistemul de operare, interfaa cu
utilizatorul poate fi bazat pe text sau grafic.

1.2.1. Nucleul sistemului de operare

Componenta principal a sistemului de operare este denumit
nucleu i cuprinde:
o Gestionarul de fiiere (File Manager), care permite
administrarea informaiilor memorate pe suporturile de stocare
sub forma unor entiti numite fiiere.
o Administratorul de memorie (Memory Manager) care
susine activitatea de coordonare a utilizrii memoriei principale
a calculatorului.

File Manager

Multe sisteme de administrare a fiierelor permit gruparea lor n
uniti denumite directoare (directory) sau dosare (folder). n
Software de sistem i software de aplicaie 9



acest mod utilizatorul poate plasa familiile de fiiere n acelai grup,
mai mult chiar, permindu-se ca directoarele s conin alte
directoare, se poate realiza o organizare ierarhizat. Secvena de
directoare care indic drumul pn la un anumit subdirector sau fiier
se numete cale (path).

Informaiile necesare pentru gsirea i manipularea fiierelor
sunt stocate ntr-o zon de memorie principal numit descriptor de
fiier (file descriptor), iar operaiile individuale asupra unui fiier
se fac prin informaiile aflate aici.

Memory Manager

Activitatea de coordonare a utilizrii memoriei principale a
calculatorului este susinut de administratorul de memorie, acest
lucru fiind necesar mai ales n mediile de operare multitasking n care
calculatorul trebuie s rspund mai multor utilizri n acelai timp. O
situaie important n care trebuie s intervin Memory Manager este
aceea n care cantitatea total de memorie solicitat depete
dimensiunea memoriei disponibile. n acest caz se aplic conceptul de
memorie virtual (virtual memory) conform cruia se creeaz un
spaiu special pe disc, rotind datele ntre memoria principal i disc
sub form de pagini (astfel se pot satisface cereri de memorie mai
mari dect memoria fizic instalat, dar n detrimentul vitezei de
lucru a calculatorului).

1.2.2. Interfaa sistemului de operare

Interfee bazate pe text

n cadrul unei interfee bazate pe text, utilizatorul tasteaz
comenzi pentru a da instruciuni calculatorului (linii de comand).
Primul sistem de operare pentru PC-uri, CP/M (Control Programs for
Microcomputers), era un sistem de operare bazat pe text. CP/M a fost
proiectat de Digital Research. Firma Microsoft a conceput sistemul de
10 Software de sistem i software de aplicaie

operare IBM PC-DOS pentru calculatoare personale IBM (1981). DOS
reprezint acronimul pentru Disk Operating System (sistem de
operare pe discuri) ntruct iniial sistemul de operare era stocat pe
dischete. Linia de comand DOS este prefixat de un prompter, care
informeaz utilizatorul c sistemul este pregtit s primeasc
instruciuni. Instruciunile sunt tastate dup prompter. Dup fiecare
instruciune, utilizatorul trebuie s apese tasta Enter pentru a
prelucra instruciunea.

UNIX este un alt sistem de operare bazat pe text, conceput la
nceputul anilor 70 de laboratoarele AT&T Bell. UNIX reprezint un
sistem de operare multiutilizator pentru PC-uri care a cunoscut
numeroase mbuntiri, rezultnd astfel diverse versiuni , cum ar fi:
BSD UNIX (mbuntiri ale versiunii UNIX realizate la Universitatea
Berkeley din California), XENIX, AIX (IBM UNIX) i A/UX /UNIX
(pentru calculatoare Macintosh). Unele versiuni de UNIX conin o
interfa grafic cu utilizatorul.

Interfee grafice

Interfaa grafic de referin a fost conceput de firma Apple
pentru a fi utilizat pe sisteme Macintosh. Sistemul de operare pentru
Macintosh (Mac OS), este un shell care se numete Finder.

O interfa grafica de tipul Finder utilizeaz mici imagini numite
pictograme pentru reprezentarea programelor i a instruciunilor.
Pentru a da o instruciune sistemului de operare, utilizatorul indic o
pictogram i efectueaz clic pe mouse. O alt posibilitate de a da
comenzi este efectuarea de selecii din meniuri aflate n shell.

Datorit facilitilor sistemului de operare, calculatoarele Mac
au exercitat o influen puternic n anumite domenii ale pieei
calculatoarelor, n special n editare i educaie. Utilizatorii de Mac-uri
erau etichetai cu termenul wimps: utilizatori de ferestre (windows),
pictograme (icons), hri (maps) i pixeli.
Software de sistem i software de aplicaie 11



Sistemul Microsoft Windows, lansat n mai 1990, sub denumirea
Windows 3.0 este, n esen, un nveli (shell) pentru DOS, primete
instruciuni prin intermediul mouse-ului i le transform n comenzi ce
pot fi acceptate i executate de DOS. A urmat Windows 3.1, o
versiune mbuntit, considerat un standard industrial i utilizat mai
mult dect orice alt sistem de operare.


~ Observaie
La actualizarea unui produs, acesta primete un numr al noii
versiuni. Dac actualizarea presupune modificri eseniale,
atunci se schimb partea ntreag a numrului ce exprim
versiunea. De exemplu, DOS 4.0 a reprezentat o actualizare
esenial a sistemului DOS 3.0. Dac au loc numai modificri
minore, se schimb doar cifra ce urmeaz numrului versiunii:
DOS 3.0 - DOS 3.1. n cadrul referirii la software, termenul
3.x semnific orice versiune 3 (3.0, 3.1, 3.22). 3.x sau mai
nou nseamn orice versiune de software cu numrul egal sau
mai mare dect 3.0.

Windows 95 (98) este un sistem de operare care include
funcii ale sistemului de operare Windows 3.1. Microsoft deine i o
versiune multiutilizator a sistemului Windows, numit Windows NT.
Windows NT 3.1 utilizeaz interfaa grafica a lui Windows 3.1.
Windows NT 4.0 are ca model Windows 95. Windows XP reunete
faciliti Windows 95 i NT.









12 Software de sistem i software de aplicaie


Interfaa grafic Windows (9x, Millennium, XP)

Desktop
Desktop-ul reprezint ntreaga suprafa de ecran din afara
barei de aplicaii (taskbar) pe care se afieaz toate celelalte
elemente interactive ale interfeei grafice:
Ferestrele (de aplicaii i de document);
Casetele de dialog (conin informaii, avertismente sau
controale pentru executarea unor comenzi;
Pictogramele - icons (imagini grafice asociate aplicaiilor sau
documentelor);
Meniurile (list de elemente din care utilizatorul poate alege
una din ele).

Taskbar

Taskbar-ul este bara de operaii ce apare n partea de jos a
ecranului. Sarcina barei de task-uri este de a face comutarea ntre
diverse aplicaii prezentnd toate programele deschise la un moment
Software de sistem i software de aplicaie 13



dat. Se poate aduce, astfel, n prim plan programul dorit, indiferent
cte programe se afl n execuie la acel moment de timp. Bara de
aplicaii conine butonul Start i, opional, cteva controale (butoane
informative) referitoare la: ora i data sistemului, parametrii de
afiare, parametrii sunetului etc.

Butonul Start permite deschiderea meniului principal al
Windows-ului, meniu coninnd opiunile:
Programs - prin care se lanseaz programele i
aplicaiile instalate n sistem precum i task-uri Web.
Documents - ofer acces rapid la informaiile cu care s-a
lucrat recent coninnd o list cu ultimele documente
deschise.
Settings - pentru configurarea sistemului (controlul
anumitor componente i funcii) i a perifericelor.
Search (Find) - cutarea de fiiere i directoare sau site-
uri pe Internet (dup criterii completate interactiv de
ctre utilizator).
Help and Support - apelarea informaiilor de ajutor.
Run comenzi textuale (Windows sau DOS).
Log Off - deconectarea utilizatorului (lucru n reea).
Turn Off Computer (Shut Down) - nchiderea
sistemului de operare n vederea opririi calculatorului sau
pentru repornire.

Ferestre

Aplicaiile precum i majoritatea dialogurilor beneficiaz de cte
o fereastr. Este posibil a avea mai mult de o singur fereastr pe
ecran n acelai timp. n acest caz ele sunt aranjate n dou moduri:
cascade (suprapuse) sau tile (alturate).

Elementele comune ferestrelor de aplicaie sunt:
14 Software de sistem i software de aplicaie

Window Display Area (aria de lucru) este zona ocupat
de fereastr pe ecran.

Title Bar (antetul ferestrei) linia n care este afiat
numele programului sau al documentului asociat ferestrei.
Control Menu permite selectarea unor opiuni pentru
controlul ferestrei (Restore restabilire, Move -mutare,
Size -redimensionare, Maximize -maximizare, Minimize -
minimizare, Close -nchidere).
Horizontal i Vertical Scroll linii cu butoane care
permit afiarea informaiei neincluse n spaiul curent de
afiare.
Minimize Window - buton care reduce fereastra
i o plaseaz n taskbar.
Maximize Window - expandeaz afiarea
coninutului ferestrei la nivelul ntregului ecran.
Close Window - nchide fereastra activ.
Menu Bar linia meniului principal care permite alegerea
unui element dintr-o list de opiuni i subopiuni.
Close Window
Maximize Window
Title Bar Control Menu
Menu Bar
Vertical
Scroll
Bar
Horizontal Scroll Bar Window Display Area
Toolbar
Format Bar
Window
Borders
Minimize Window
Software de sistem i software de aplicaie 15



Toolbar (bara de instrumente) permite activarea
funciilor principale ale aplicaiei.
Format bar (linia de formatare) pentru stabilirea
caracteristicilor textuale.
Windows Borders (chenarul exterior). Fiecare fereastr
poate fi redimensionat, prin tragerea marginilor
acesteia, schimbrile putndu-se efectua pe lime,
nlime sau pe diagonal.

Pictograme

Pictogramele (icons) sunt elemente interactive ce se pot ntlni
att pe suprafaa desktop-ului, ct i n interiorul ferestrelor de
explorare a coninutului de fiiere al discurilor. Ele sunt compuse
dintr-o imagine (sugernd voit coninutul la care se refer) i din
denumirea coninutului. Coninutul poate fi un fiier (executabil sau
document), un director, element al sistemului, o aplicaie de sistem
sau o scurttur (shortcut) spre astfel de coninut. Asupra
pictogramelor se pot executa operaii de activare (click), deschidere
(dublu clic) sau gestionare (clic cu butonul drept deschiderea
meniului contextual Properties).

Shortcut-urile (scurtturile) sunt indicatoare de fiiere,
directoare sau programe. Ele nsele sunt de fapt nite fiiere i sunt
tratate de sistem ca atare, permind ajungerea la orice component
a sistemului de calcul sau a reelei: documente, aplicaii, directoare,
imprimante etc.

Principalele pictograme pe care le vom regsi pe orice calculator
avnd instalat Windows -ul sunt:
Recycle Bin -coul de gunoi, acumulnd fiierele i
directoarele terse (prin tergere simpl, fiierele i directoarele
nu sunt eliminate efectiv, coninutul acestora putnd fi
recuperat din Recycle Bin);
16 Software de sistem i software de aplicaie

My Documents directorul de documente al pachetului de
programe Microsoft Office;
My Computer - permite explorarea resurselor informaionale
(uniti de disc, imprimante, directoare, fiiere etc.);
Network Neighborhood - referitor la conexiunile dintre
calculatoare prin intermediul reelei.

1.3. Utilitare de sistem

Programele utilitare sunt programe utilizate mpreun cu
sistemul de operare pentru a controla i a utiliza echipamentele
hardware ale unui calculator, sau pentru a gestiona fiierele de date
i programe. Majoritatea utilitarelor trateaz operaiile de stocare i
gestionare a fiierelor. Utilitarele sunt folosite pentru o gam larg de
operaii, cum ar fi:
O Formatarea unui disc n vederea stocrii de date i programe
O Gestionarea datelor i programelor - copierea, mutarea,
redenumirea sau tergerea fiierelor de date i programe
O Asigurarea securitii datelor prin controlul existenei viruilor
sau crearea de copii de rezerv sau a unor copii codificate ale
documentelor importante
O Restabilirea datelor i programelor pierdute
O Efectuarea de teste de diagnosticare asupra echipamentelor
hardware
Sistemele de operare conin utilitare necesare operaiilor
minimale de gestionare a dispozitivelor. De exemplu, DOS conine
urmtoarele utilitare:
O FORMAT, utilizat pentru pregtirea unui disc n vederea stocrii
de date
O COPY, utilizat pentru copierea fiierelor dintr-o locaie n alta
O RENAME, utilizat pentru modificarea numelui unui fiier
O BACKUP i RESTORE, utilizate pentru efectuarea unor copii ale
fiierelor pe un alt disc
O UNDELETE, pentru regsirea fiierelor terse din greeala
O DEL, utilizat pentru tergerea fiierelor
Software de sistem i software de aplicaie 17




Lucrul cu fiiere i directoare

Fiiere

Fiierul (file) reprezint o colecie de date nregistrate pe disc,
date organizate astfel nct prezint o nsemntate concret pentru
aplicaia cu care interacioneaz. Dup cum informaia rezident se
mparte, n general, n aplicaii i date, la nivelul fiierelor exista
fiiere executabile i fiiere de date / informaii.

Fiierul executabil este un program executabil i determin o
aciune a sistemului. Informaia din cadrul fiierului executabil este,
de fapt, o niruire de instruciuni n cod main.

Fiecare fiier are asociat un identificator constituit dintr-un
nume, de pn la 256 de caractere i o extensie din maximum trei
caractere. n identificator pot apare i spaii, caractere speciale ca, de
exemplu, virgul, punct i virgul, egal i paranteze drepte. Dac
apar caractere mari i caractere mici, sistemul le va memora ca atare
(Windows regsete denumirea indiferent dac este scris cu litere
mari sau mici). n anumite situaii, ntre nume i extensie se
regsete caracterul . (punct). Rolul extensiei numelui de fiier este
de a arta categoria creia i aparine fiierul (avnd o valoare
informativ att pentru sistemul de operare ct i pentru utilizatori).
Cele mai utilizate nume de extensii sunt: EXE - fiier executabil
(aplicaie), COM - fiier comand executabil, HLP - fiier cu
informaii de ajutor (help), TXT- fiier text (text nativ, numit i
ASCII), DOC - fiier document Word, DBF - fiier de tip baz de date,
XLS - fiier de calcul tabelar Excel, etc.

Nu este obligatorie specificarea complet a numelui i a
extensiei putndu-se folosi caracterele * i ? pentru a suplini un grup
de caractere, respectiv un singur caracter din denumirile respective.
Astfel pot fi identificate sub aceeai denumire mai multe fiiere (de
18 Software de sistem i software de aplicaie

exemplu A*.doc semnific toate fiierele a cror nume ncepe cu A
dar avnd extensia doc).

Asupra fiierelor sunt posibile urmtoarele operaii: creare,
modificare a coninutului, redenumire, mutare sau copiere n alt
director, tergere.

Directoare

Directorul (folder, dosar, map, catalog) poate fi privit ca
un nume asociat unui grup de fiiere (numele unui recipient abstract
n care se pot nscrie fiiere). Directoarele se definesc pe disc ntr-o
structur ierarhic ramificat: exist un director rdcin (avnd
numele unitii de disc) n care se pot nscrie mai multe
subdirectoare, iar fiecare dintre acestea poate conine mai multe
fiiere sau subdirectoare.

Fiecrui fiier sau director i se asociaz informaii pentru
stabilirea unor atribute care pot avea urmtoarele valori:
o R - read-only: nu se permite dect citirea (protejat la
scriere);
o A - arhiv: semnaleaz proveniena dintr-o arhiv;
o H - hidden (ascuns): fiier invizibil la operaiile uzuale de
cutare;
o S - system: fiier rezervat de sistemul de operare (care, n
nici un caz nu trebuie ters).
~ Observaii
Fiecare aplicaie are propriul ei director.
Directorul curent este cel n care se salveaz fiierele la un
moment dat (numit i director de lucru) sau n care rezid
aplicaia aflat n execuie.
Directorul rdcin are denumirea identic cu cea a discului pe
care se afl. Discurile organizate logic pe sistem au urmtoarele
denumiri: A - prima unitate de dischete, B - a doua unitate de
dischete, C - primul hard-disk sau prima partiie ( aici se afl,
Software de sistem i software de aplicaie 19



de regul, sistemul de operare), D - cel de-al doilea hard-disk
(a doua partiie sau prima unitate de CD-ROM), etc.
Directorul n care se afl un subdirector se consider, pentru
acesta din urm, director printe, ceea ce subliniaz
organizarea ierarhic a directoarelor.
Nici un director nu permite existena mai multor fiiere sau
subdirectoare cu acelai nume (nume incluznd i extensia).
Orice fiier poate fi identificat prin precizarea complet i
unitar a cii (path). O cale reprezint un ir de caractere care
conine, separate prin backslash (\), numele directoarelor
din succesiunea ierarhic pn la fiierul n cauz (exemplu:
c:\My Documents\Gestiune\catalog.doc).
Organizarea standard a PC-urilor include n configuraie o
singur dischet (A), un hard-disk (C) i un CD-ROM (D). Volumul
fizic al hard-disk-ului poate fi mprit n mai multe discuri logice
numite i partiii, iar procesul iniial prin care se genereaz din
volumul unui hard-disk mai multe partiii se numete partiionare.

Directoarele suport urmtoarele comenzi: citirea coninutului
(parcurgere, afiare), schimbarea directorului curent, crearea unui
nou director (denumirea), redenumire, mutare, tergere.

My Computer,Windows Explorer i Network Neighborhood

My Computer i Windows Explorer sunt utilitare sistem de lucru
cu fiiere i directoare. Cele mai multe programe vor fi lansate prin
shortcut-uri, fie din meniul Start, fie de pe suprafaa de lucru, cele
dou utilitare gsind obiectele crora le sunt ataate scurtturi. ntr-o
fereastr Windows Explorer deschis se poate vedea n partea stng
ierarhia de dosare; dac unul din dosare este deschis, n partea
dreapt va fi afiat coninutul acestuia.


20 Software de sistem i software de aplicaie


Navigarea prin reea se realizeaz cu ajutorul aplicaiei Network
Neighborghood, accesibil de pe suprafaa de lucru. Navigarea prin
reea cu Network Neighborhood este similar cu cutarea pe un hard-
disk local, asigurnd mobilitatea i integrarea n reeaua local prin
casetele de dialog standard.

Operaii executate asupra fiierelor i a directoarelor

Principalele operaii executate asupra fiierelor i a directoarelor
sunt:
O Cutarea fiierelor cu programul Search (Windows XP).
Pentru a gsi un fiier sau un director al crui nume se
cunoate, se execut urmtorii pai:
o se execut clic pe butonul Start, se selecteaz Search i apoi
For Files or Folders;
o se precizeaz scopul cutrii (Pictures..., Documents, All
files and folders). Se pot folosi i caracterele de substituire
* i ?) n caseta numelui de fiier sau folder;
o se execut clic pe Search pentru a lansa cutarea.
Software de sistem i software de aplicaie 21















O Selectarea fiierelor i a directoarelor pentru a fi mutate,
redenumite sau copiate. Selectarea se poate realiza global sau
parial. Selectarea global presupune alegerea opiunii Select
All a meniului Edit. Selectarea parial presupune ncadrarea
ntr-un dreptunghi a pictogramelor corespunztoare cu ajutorul
mouse-ului (butonul drept).

O Crearea unui director. Pentru a crea un director pe suprafaa
de lucru se execut clic dreapta ntr-un loc liber al suprafeei de
lucru (desktop sau alt director) i se selecteaz din meniu New
Folder dup care se nscrie numele noului director.

O tergerea fiierelor i a directoarelor se poate realiza n dou
moduri:
o tergerea logic prin care elementele supuse acestei operaii
sunt nmagazinate n Recycle Bin (se efectueaz prin
apsarea tastei Delete sau prin clic dreapta i selectarea
opiunii Delete din meniul contextual o alt metod este de
a trage pictograma obiectului i de a o aduce deasupra
coului de gunoi). Aceste tergeri pot fi refcute (opiunea
Restore din Recycle Bin) sau transformate n tergeri fizice
(tergeri din Recycle Bin).
o tergerea fizic, tergere definitiv ce nu mai poate fi
22 Software de sistem i software de aplicaie

refcut (se apas tastele Shift+Delete).

O Partajarea (Sharing) se refer la faptul c un disc,
imprimant, director sau fiier se poate utiliza de ctre mai
muli utilizatori care lucreaz n reea. Aceasta poate fi te tip
Read only sau Full Acces i presupune utilizarea unor parole (se
realizeaz fie prin clic dreapta, fie prin alegerea opiunii Sharing
din meniul contextual).

O Mutarea i copierea fiierelor i a directoarelor se poate
realiza folosind comenzile Cut (decupare), Copy (copiere),
Paste (lipire). Aceste comenzi pot fi lansate, dup selectarea
obiectului corespunztor, prin clic dreapta cu mouse-ul sau prin
combinaiile de taste, Ctrl+X (decupare), Ctrl+C (copiere),
Ctrl+V (lipire). Astfel operaia de mutare (Move) se desfoar
n succesiunea: selectare surs, Cut, stabilire destinaie, Paste,
n timp ce, pentru copiere, trebuie parcuri urmtorii pai:
selectare surs, Copy, stabilire destinaie, Paste. Mutarea
obiectelor poate fi efectuat i prin utilizarea procedeului Drag
and Drop cu mouse-ul.

O Redenumirea fiierelor i a directoarelor se execut prin dublu
clic sau clic dreapta (i alegerea opiunii Rename din meniul
contextual) pe nume dup care acesta se va putea edita.











Software de sistem i software de aplicaie 23



Meniul principal
Linia cu instrumente standard
Linia cu instrumente pentru format
Linia de editare Adresa celulei active
Meniul principal
Linia cu instrumente standard
Linia cu instrumente pentru format
Linia de editare Adresa celulei active
2. Programare tabelar

2.1. Programul de calcul tabelar Excel

Excel este un program de calcul tabelar, care face parte din
familia de utilitare Microsoft Office pstrnd, n general, aceeai
manier de lucru (meniul principal, linia cu instrumente standard,
linia cu instrumente pentru format, etc.).

Un program de calcul tabelar (Spreadsheets), numit i "foaie
electronic de calcul" este un produs ce cuprinde faciliti de lucru
cu tabele, baze de date i posibiliti de reprezentare grafic a foilor
de calcul. Programele de calcul tabelar se adreseaz utilizatorilor
neprogramatori ce prelucreaz date statistice, financiare,
tiinifice, fiind, datorit funciilor predefinite puse la dispoziie, un
instrument flexibil i uor de nvat. De asemenea foile electronice
24 Software de sistem i software de aplicaie

de calcul permit cele mai diverse operaii asupra informaiilor de
pia, preiau datele colectate i pstrate n fiiere sau date captate
prin intermediul reelelor de transmisie. Cele mai multe studii de
pia care se comercializeaz la ora actual n lume, se livreaz n
fiiere tip foaie electronic de calcul.

Editarea unei foi electronice de calcul se face cu ajutorul tastelor
ordinare (litere, cifre, caractere speciale) sau prin combinaii de taste,
n pagina logic. Pagina logic este ncadrat n pagina fizic (coala de
hrtie, de obicei de format A4) prin margini (dreapta/stnga, sus/jos).
La lansarea Excel-ului cursorul se afl n poziia Home (colul stnga
sus al ecranului i al paginii logice).

Excel-ul ofer posibilitatea editrii simultane a mai multor
documente, nscrise n mai multe ferestre de editare. Comenzile de
editare pot fi lansate utiliznd meniul principal (intrare n meniul
principal prin F10 sau Alt+litera subliniat) sau butoanele din liniile de
instrumente.

Comutarea ferestrelor de editare (notate, la prima deschidere, cu
Book1, Book2, sau cu numele fiierelor sub care au fost salvate foile
electronice de calcul) presupune selectarea opiunii Window (Alt+W)
din meniul principal, n care sunt afiate ferestrele active la un moment
dat.

Documentele care se creeaz sub Excel sunt fiiere stocate pe
diferite suporturi (dischet, hard-disc, CD-ROM), avnd extensia
implicit xls. Cnd se dorete editarea (modificarea) unui document,
fiierul corespunztor documentului trebuie copiat n memoria intern
-deschidere (Open). Operaia de stocare a unui document aflat n
editare, ca fiier, se numete salvare (Save).

Software de sistem i software de aplicaie 25




~ Observaie
Exist un istoric al ultimelor fiiere editate. Acest istoric poate fi
folosit pentru relansarea n editare a acestora.

Comenzile mediului de editare Excel

Comanda New (Ctrl+N) permite deschiderea n editare a unui
nou document (lansare prin meniu : File, New).

Comanda Open (Ctrl+O) permite ncrcarea fiierelor Excel n
memoria intern (lansare prin meniu : File, Open).

Comanda Save (Ctrl+S) realizeaz salvarea documentelor ca
fiiere pe disc (lansare prin meniu : File, Save). Comanda Save As
realizeaz salvarea documentelor sub un nume diferit de cel curent
(lansare prin meniu : File, Save As).

Editeaz un document existent
Editeaz un document nou
Inchide editarea documentului
Salveaz fiierul sub un alt nume
Salveaz fiierul
Afieaz coninutul imprimrii
Imprim documentul
Istoricul documentelor editate
Ieire Excel
26 Software de sistem i software de aplicaie

Comanda Print (Ctrl+P) realizeaz tiprirea documentelor
editate (lansare prin meniu File, Print).
Comanda Print Preview are rolul vizualizrii documentelor
editate (lansare prin meniu File, Print Preview).

Funcia de imprimare este dependent de imprimanta selectat la
instalarea Windows-ului (exist i posibilitatea selectrii ulterioare). Un
document editat poate fi tiprit. Comanda Print Preview ofer
posibilitatea previzualizrii documentului, n forma n care aceasta va fi
imprimat pe hrtie, folosind toate informaiilor specifice imprimantei
utilizate.

Comenzile Undo (Ctrl+Z), Redo (Ctrl+Y) au ca scop
anularea sau repetarea aciunilor de editare anterioare.

Majoritatea mediilor de editare memoreaz un istoric al
ultimelor operaiuni efectuate, ncepnd cu cea mai recent dintre
ele. Folosind butonul Undo (prin meniu: Edit, Undo) se pot anula,
secvenial, mai multe aciuni anterioare. Exist i posibilitatea
repetrii ultimilor aciuni efectuate utiliznd Redo (prin meniu: Edit,
Redo). n cazul cnd au fost iniiate operaii (de obicei prin
deschiderea unor ferestre asociate acestora), ce trebuie anulate se
poate apsa butonul Cancel sau tasta Esc.

Comanda Exit (Alt+F4) ncheie lucrul cu Excel (prin meniu File,
Exit). Funcia Close (lansare prin meniu File, Close) finalizeaz
editarea unui document.
Comanda Help permite descrierea comenzilor i utilizarea
acestora:, exemple i demonstraii, lista comenzilor Excel (Index),
ajutor interactiv (Asistent Office), etc.


Software de sistem i software de aplicaie 27



Foaia electronic de calcul

Foaia electronic de calcul este mprit n linii i
coloane i este prevzut cu un sistem de coordonate. Coloanele
sunt notate cu litere, iar liniile cu cifre arabe (tabl de ah),
interseciile liniilor i coloanelor numindu-se celule (de exemplu
celula G3 este pe coloana G linia 3). Cu ajutorul acestui sistem de
coordonate o celul este determinat n mod unic.

Fiecare celul poate conine unul din urmtoarele trei tipuri
de date : un text, un numr sau o formul. Ultimul tip este
"gselnia" problemei. Numerele aflate n celule sunt legate ntre ele
prin formule, astfel nct dac se modific coninutul unei celule,
aceasta va afecta n lan multe altele. De exemplu, dac celulele B1,
B2, B3, B4, B5, conin cifre, se poate aduna coninutul lor, printr-o
formul plasat n alt celul: B1+B2+B3+B4+B5 sau SUM(B1:B5).
Un program de calcul tabelar ofer zeci de funcii de calcul, att
matematice, ct i financiare i statistice. Acestea pot fi
interconectate dup toate regulile matematicii, fapt ce permite
descrierea unui algoritm de calcul, utilitatea calculului tabelar
fiind verificat ca valoare i funcionalitate n multe domenii de
activitate.

Instrumentele principale de lucru ale unui program de calcul
tabelar sunt tabelul i graficul. Prezentarea datelor n form
tabelar i n form grafic contribuie la redarea concentrat a
informaiilor.

Tabelele de date trebuie s fie astfel constituite nct:
o s asigure o prezentare compact a datelor numerice;
o s nu fie suprancrcate cu detalii (deseori dou tabele
scurte sunt preferabile unui tabel lung);
o s includ un titlu complet i clar pentru identificarea
imediat a coninutului lor;
o s precizeze, dac este cazul, unitile de msur;
28 Software de sistem i software de aplicaie

o s indice tipul de pre (curent sau constant);
o s prezinte datele sub form procentual sau ca indici,
atunci cnd este necesar un plus de claritate.

Unitatea de lucru, pe foaia electronic de calcul, fiind celula,
aciunile de editare se desfoar la nivel de celul i sunt
vizualizate n linia de editare.

Editarea celulelor are ca scop introducerea celor trei tipuri de
informaie : text, numere, formule.
Introducerea textului presupune tastarea oricrui ir de
caractere. Alinierea textului se face la stnga celulei. Este posibil
ca lungimea textului introdus ntr-o celul s depeasc
capacitatea celulei, n acest caz textul aflat n exces fiind afiat
peste celulele urmtoare dac acestea nu sunt vide (n caz contrar
se afieaz coninutul acestora).

Introducerea numerelor se face cu ajutorul cifrelor, semnelor +
i (plus i minus) , virgulei zecimale (,) i eventual a
exponentului (E). Numerele sunt implicit aliniate la dreapta. Dac
un numr trebuie s fie tratat ca text este necesar ca mai nti s
fie tastat un apostrof (exemplu: '20765).
Introducerea formulelor trebuie s nceap prin tastarea
semnului =(egal). Expresiile de calcul pot s conin : operatori,
constante, identificatori de celule, nume de funcii pentru calcul i
trebuie alctuite conform regulilor algebrice.
Constantele conin valori sub form de numere ntregi (ex:
1, -23), numere reale n format fix (ex: 22,31, -12,234),
numere reale n format exponenial (ex: 12,76E3) sau date
procentuale (ex: 125%).
Identificatorii de celule permit referirea acestora (ex: A1,
D10, A1:E8).
Funciile de calcul pot fi :
- financiare
- statistice
Software de sistem i software de aplicaie 29



- matematice i trigonometrice
- logice
Operatorii, mpreun cu ordinea lor de evaluare sunt
descrii n urmtoarea tabel :

Operator Nivel
^ (exponenial) 1
+ (pozitiv), - (negativ) 2
* (nmulire), / (mprire) 3
+ (adunare), - (scdere) 4
= (egal), <> (diferit)
< (strict mai mic)
> (strict mai mare)
<= (mai mic sau egal cu)
>= (mai mare sau egal cu) 5

Tastele utilizate cel mai frecvent pentru deplasarea cursorului
sunt:
Tasta Micarea cursorului
sau cu o celul, la stnga sau la dreapta
sau cu o linie, mai sus sau mai jos
Home pe prima celul din linie
PgUp la nceputul ferestrei precedente
PgDn la nceputul ferestrei urmtoare
Ctrl+Home n colul din stnga sus al foii de calcul
Ctrl+End n colul din dreapta jos al foii de calcul
Ctrl+G sau F5 la celula specificat


Exemplu
Foaie electronic de calcul a rdcinilor ecuaiei de gradul 2,
pentru diferite valori ale coeficienilor a, b, c:



30 Software de sistem i software de aplicaie






Coninutul celulelor de calcul
E3 : =B4^2-4*B3*B5 (b
2
4 a c)
E4 : =IF(E3>=0;(-B4+SQRT(E3))/(2*B3);F2)
E5 : =IF(E3>=0;(-B4 - SQRT(E3))/(2*B3);F2)
celulele E4, E5, pentru determinarea rdcinilor x1, x2, conin
funcia de testare IF (dac) i funcia SQRT (radical). Dac
delta 0 atunci afieaz numerele reale, n caz contrar afieaz
mesajul complex.

2.2. Editarea foilor electronice de calcul

Editarea coninutului unei celule

Editarea coninutului unei celule selectate, se poate realiza prin
apsarea tastei F2 sau prin poziionare direct, cu ajutorul mouse-
ului, n linia de editare numit i formula bar, folosind urmtoarele
taste:
Tasta Aciune
sau salt cu un caracter, la stnga sau la dreapta
Home salt la nceputul liniei de editare
End salt la sfritul liniei de editare
Backspace terge caracterul din stnga cursorului
Delete terge caracterul de pe poziia cursorului
Shift + sau selecie unul sau mai multe caractere

Software de sistem i software de aplicaie 31



Coninutul curent al celulei poate fi validat dac se acioneaz
tasta Enter sau dac se iniiaz deplasarea cursorului ntr-o alt
celul. Pentru anularea operaiei se poate utiliza tasta ESC .

Inserarea liniilor i a coloanelor

Inserarea liniilor sau a coloanelor se face ntotdeauna before
(naite) de linia curent sau coloana curent. Operaia de inserare
efectiv se realizeaz prin meniu: Insert Row/Column
1
.

Selectarea unui domeniu de celule

Punerea n eviden (highlighting) a unui bloc (domeniu) de
celule se face n vederea executrii de ctre Excel a unei aciuni
ulterioare asupra acestuia (copiere, tergere, construirea graficelor,
etc.).
Selecia unui bloc se realizeaz folosind tastele sgei sau cu
ajutorul mouse-ului. Un bloc de celule poate fi alctuit dintr-o singur
celul, dintr-o linie de celule, dintr-o coloan de celule sau oricare
alt poriune dreptunghiular a foii de calcul.
Specificarea unui bloc de celule se poate face prin precizarea
primei i ultimei celule din bloc (Ex. B3:B7, D2:E7).

Ajustarea dimensiunilor liniilor i a coloanelor

Prin limea coloanei se precizeaz numrul de caractere
coninute de o celul aparinnd acesteia. Limea implicit a unei
coloane este de 8.43 caractere normale. Dac o celul conine text n
exces acesta este afiat peste celulele urmtoare, cu condiia ca
acestea s nu fie vide. Datele numerice care depesc ca numr de
caractere limea celulei sunt afiate n format exponenial iar dac i
acest mod de afiare nu este posibil se tiprete irul de caractere
###### (depire de format).

1
Inserare Rnduri/Coloane
32 Software de sistem i software de aplicaie

Schimbarea dimensiunii unei coloane/linii se poate realiza prin
meniu (Format, Column, Width... / Format, Row, Height...)
2
sau
utiliznd mouse-ul, prin culisarea liniilor gril pentru coloane i
rnduri.

Referine absolute i relative de celul

Celulele pot fi referite n dou moduri, modurile de referire
rezultnd din tabelul urmtor :
Referire Exemple
coloan relativ, linie relativ A2
coloan absolut, linie absolut $A$2
coloan relativ, linie absolut A$2
coloana absolut, linie relativ $A2
O referire absolut nseamn o poziie fix n foaia de calcul,
poziie care nu este afectat de modificri n foaia de calcul.
Modificrile din foaia de calcul (tergeri de linii i coloane) se reflect
i n referinele relative.
Copierea formulelor dintr-o celul de calcul n alt celul de
calcul este influenat de modul de referire a celulelor. Toate referirile
relative sunt "translatate", n timp ce referirile absolute rmn
nemodificate.

Copierea i mutarea coninutului celulelor

Copierea coninutului celulelor:
se selecteaz celula, coloana, linia sau domeniul,
se selecteaz Edit, Copy
3
din meniu sau se apas Ctrl+C ,
se deplaseaz cursorul pe locul unde se va face copierea,
se apas tasta Enter.

Mutarea coninutului celulelor:
se selecteaz celula, coloana sau linia sau domeniul,

2
Format, Coloan, Lime / Format, Rnd, nlime
3
Editare, Copiere
Software de sistem i software de aplicaie 33



se selecteaz Edit, Cut
4
din meniu sau se apas Ctrl+X ,
se deplaseaz cursorul pe locul unde se va face mutarea,
se apas tasta Enter.

Formatarea coninutului celulelor
Modul de afiare a coninutului unei celule (afiarea numerelor,
alinierea, fontul, aspectul liniilor de bordare, umplerea) poate fi
schimbat prin meniu Format Cells
5
, sau Format, Style... Modify
6
, n
funcie de tipul informaiei pe care-l conine.

Funcii de calcul

Excel ofer posibilitatea efecturii unor calcule diverse prin
funcii de calcul financiare, statistice, matematice i trigonometrice,
pentru baze de date, etc. Sintaxa i numrul de argumente ale
acestor funcii este furnizat prin acionarea butonului sau prin
meniu Insert, Function...
7


2.3. Calcule financiare

Funciile financiare efectueaz calcule obinuite pentru afaceri,
ca de pild determinarea plii pentru un mprumut, valoarea viitoare
sau valoarea net actualizat a unei investiii i valorile obligaiunilor
sau cupoanelor.

Argumentele comune pentru funciile financiare includ:
Valoarea viitoare (fv) valoarea investiiei sau
mprumutului dup ce s-au efectuat toate plile.


4
Editare, Decupare
5
Format Celule
6
Format Stil Modificare
7
Inserare, Funcie
34 Software de sistem i software de aplicaie

Numrul de perioade (nper) numrul total de pli
sau perioade ale unei investiii.
Valoarea actualizat (pv) valoarea unei investiii sau
a unui mprumut la nceputul perioadei de investiie. De
exemplu, valoarea actualizat a unui mprumut este capitalul
de baz care este mprumutat.
Rata (rate) rata dobnzii sau rata de actualizare
pentru un mprumut sau o investiie.
Tip (type) intervalul la care sunt efectuate plile n
timpul perioadei de plat, ca de pild la nceputul unei luni
sau la sfritul acesteia.

~ Observaii
Unele funcii financiare se folosesc pentru anuiti. O anuitate
const dintr-o serie de pli constante efectuate pe o perioad
continu (de exemplu un mprumut pentru un autoturism, sau un
mprumut ipotecar).
n funciile de anuiti, sumele pltite, cum ar fi depozitele
pentru economii, sunt reprezentate de numere negative; sumele
primite, cum ar fi un cec de dividente, sunt reprezentate prin
numere pozitive.
Se recomand consecven n legtur cu unitile utilizate
pentru specificarea argumentelor rate i nper (de exemplu, pentru
pli lunare la un mprumut pe un numr de ani, rata dobnzii va fi
mprit ntotdeauna cu 12, iar nper va fi nmulit cu 12 i cu
numrul de ani).

Funcia FV

Funcia FV ntoarce valoarea viitoare a unei investiii bazate pe
pli periodice i constante i o rat a dobnzii constant.
Sintaxa:

FV(rate;nper;pmt;pv;type)

Software de sistem i software de aplicaie 35



o argumentele pv i type pot fi omise;
o rate - rata dobnzii pe o perioad;
o nper - numrul total de perioade de plat dintr-o anuitate;
o pmt - plata efectuat periodic, neschimbat pe durata
anuitii (n mod tipic, argumentul pmt conine capital i
dobnd, dar nu i alte taxe i datorii);
o pv - valoarea actualizat, sau suma global pe care o serie
de pli viitoare o reprezint n momentul actual (dac
argumentul pv este omis, se consider zero);
o type este 0 sau 1 i indic momentul cnd sunt datorate
plile (dac type este omis, se consider 0).

Exemplu
O persoan fizic depune 8 milioane lei ntr-un cont de economii
cu o dobnd anual de 26% i i planific s mai depun cte un
milion de lei la nceputul fiecreia din urmtoarele 12 luni. Ci bani va
avea n cont la sfritul celor 12 luni?
=FV(26%/12;12;-1000000;-8000000;1) 24.178.497 lei








Funcia PV

PV ntoarce valoarea actualizat a unei investiii. Valoarea
actualizat este suma total pe care o reprezint n prezent o serie de
pli viitoare. De exemplu, pentru mprumut, suma mprumutat este
valoarea actualizat pentru creditor.
Sintaxa:

PV(rate;nper;pmt;fv;type)
36 Software de sistem i software de aplicaie


argumentele fv i type pot fi omise;
rate - rata dobnzii pe perioad;
nper - numrul total de perioade de plat dintr-o anuitate;
pmt - plata efectuat periodic, neschimbat pentru toat durata
anuitii (n mod tipic, argumentul pmt include capital de baz i
dobnd, dar nu i alte onorarii sau taxe);
fv - este valoarea viitoare, sau balana n numerar la care se
ajunge dup efectuarea ultimei pli (dac fv este omis, se presupune
a fi 0 - valoarea viitoare a unui mprumut, de exemplu, este 0);
type - este 0 sau 1 i indic momentul cnd sunt datorate
plile.

Exemplu
Ca urmare a depunerii cu o dobnd anual de 25% a unei
sume, o banc returneaz lunar 2 milioane de lei timp de cinci ani.
Care este valoarea acestei sume?
=PV(25%/12;5*12;2000000) -68.140.028 lei









Funcia NPER

Funcia NPER furnizeaz numrul de perioade pentru o
investiie bazat pe pli periodice constante i o rat constant a
dobnzii.
Sintaxa:

NPER(rate; pmt; pv; fv; type)
Software de sistem i software de aplicaie 37




argumentele fv i type pot fi omise;
rate - rata dobnzii pe o perioad;
pmt - plata fcut n fiecare perioad, neschimbat pe parcursul
anuitii (tipic, pmt conine capital i investiii, dar nu i alte onorarii
sau taxe);
pv - valoarea actualizat, sau valoarea global pe care ar
reprezenta-o n acest moment o serie de pli viitoare;
fv - este valoarea viitoare, sau o balan n numerar, obinut
dup efectuarea ultimei pli (dac fv este omis, se presupune a fi
egal cu 0 - valoarea viitoare a unui mprumut, de exemplu, este 0).

~ Observaie
Valoarea returnat este de tip real, de aceea aceasta trebuie
rotunjit.

Exemple

1
0
Dup cte luni se va atinge un sold propus de 30 milioane lei
pentru depuneri lunare de 1,5 milioane lei i la o rat a dobnzii de
25% ?
=NPER(25%/12;-1500000;-30000000) 16,89 17 luni









2
o
tiind suma lunar care se poate investi i rata dobnzii
oferit de o banc oarecare s se calculeze cte rate sunt necesare
pentru a se atinge soldul propus:

38 Software de sistem i software de aplicaie

Coninutul celulelor de calcul
E1 : =-NPER(B2/12;-B1;-B3)
E2 : =ROUND(E1;0)
E3 : =FV(B2/12;E2;-B1)
A6 : =1
B6 : =D6
C6 : =0
D6 : =$B$1
E6 : =D6
A7 : =A6+1
B7 : =B6+C7+D7
C7 : =B6*$B$2/12
D7 : =$B$1
E7 : =E6+D7
coninutul celulelor din domeniul A8:E20 se obine prin copierea
rndului 2 din tabel (linia 7)

Funcia PMT

PMT calculeaz plata pentru un mprumut bazat pe pli
constante i o rat constant a dobnzii.
Sintaxa:
Software de sistem i software de aplicaie 39




PMT(rate;nper;pv;fv;type)

argumentele fv i type pot fi omise;
o rate - rata dobnzii pentru mprumut;
o nper - numrul total de pli pentru mprumut;
o pv - valoarea actualizat, sau suma total pe care o
valoreaz n prezent o serie de pli viitoare, denumit i
capital de baz;
o fv - valoarea viitoare, sau balana n numerar la care se
ajunge dup efectuarea ultimei pli (dac fv este omis, se
presupune a fi zero, ceea ce nseamn c valoarea viitoare a
mprumutului este zero);
o type - este 0 sau 1 i indic momentul cnd sunt datorate
plile.

Exemplu
Ct trebuie s economisii lunar ca, dup 10 ani, contul n banc
s fie de 150 milioane lei la o dobnd lunar de 1% ?
=PMT(1%;-10*12;-150000000) -652.064 lei









Funcia IPMT

IPMT ntoarce plata dobnzii pentru o perioad dat, pentru o
investiie bazat pe pli periodice constante i o rat constant a
dobnzii.
Sintaxa:
40 Software de sistem i software de aplicaie


IPMT(rate;per;nper;pv;fv;type)

argumentele fv i type pot fi omise;
rate - rata dobnzii periodice;
per - perioada pentru care se calculeaz dobnda cuprins n
intervalul [1, nper];
nper - numrul total de perioade de plat dintr-o anuitate;
pv - valoarea actualizat, sau valoarea global pe care ar
reprezenta-o n acest moment o serie de pli viitoare;
fv - valoarea viitoare, sau balana n numerar obinut dup
efectuarea ultimei pli (dac fv este omis, se presupune a fi egal cu
0 - valoarea viitoare a unui mprumut, de exemplu, este 0);
type - este 0 sau 1 i indic momentul cnd sunt datorate
plile (dac type este omis, se consider 0).

Exemplu
Care este dobnda datorat n al doilea an pentru un mprumut
de 100 milioane de lei pe trei ani la o rat a dobnzii anuale de 30% ?
=IPMT(30%;2;3;100000000) - 22.481.203 lei











2.4. Tabele de decizie

Un tabel de decizie este o zon de celule care arat modul n
care modificrile anumitor valori referite n formule afecteaz
rezultatele formulelor. Tabelele de decizie ofer facilitatea de a
calcula variante multiple ale unei operaii i un mod de a vizualiza i
Software de sistem i software de aplicaie 41



compara rezultatele (prognozarea valorilor cu ajutorul analizei: ce se
ntmpl dac What If). Aceste tabele de date se construiesc pe
baza unei formule avnd ca date de intrare una sau dou valori
numite celule de intrare (prin meniu: Data Tables...)
8
:


Tabelele de decizie cu o variabil (un singur factor de
influen) preiau date dispuse pe coloane (linii) le trec prin
formula de calcul i le afieaz pe coloane (linii). Pentru afiarea
unor rezultate pe coloane se selecteaz domeniul coninnd
coloana intrrilor i a rezultatelor (inclusiv formula) dup care se
completeaz caseta Column input cell
9
cu adresa celulei de intrare:



Tabelele de decizie cu dou variabile (doi factori de
influen) preiau date dispuse pe linii i coloane, le trec prin
formula de calcul i le afieaz tabelar. Pentru afiarea rezultatelor

8
Date, Tabel
9
Celul de intrare pe coloan
Formula
Celula de intrare

Re-
zul-
ta-
te
I
n
t
r

r
i
42 Software de sistem i software de aplicaie

Formula
Celula de intrare pe linie


Rezultate
Celula de intrare pe coloan
I n t r r i
I
n
t
r

r
i
se selecteaz domeniul corespunztor al intrrilor i al rezultatelor
(inclusiv formula) dup care se completeaz casetele Row input
cell i Column input cell
10
cu adresele celulelor de intrare pentru
linii i coloane:













Exemplu

Pentru un mprumut de 225 milioane de lei se ramburseaz lunar
anumite sume. tiind c valoarea la zi a ratei dobnzii anuale este de
40% i c valoarea maxim estimat a acesteia pentru urmtorii ani
este 47% s se calculeze plile lunare pentru diverse valori ale ratei
dobnzii n situaia n care plile pot fi ealonate pe un numr de 3, 4
sau 5 ani.

10
Celul de intrare pe rnd, Celul de intrare pe coloan
Software de sistem i software de aplicaie 43





Se va construi un tabel de date cu dou variabile. Celula de
intrare pentru coloan este C5 iar pentru linie este C4. Formula
de calcul (n B8) va conine funcia PMT.

2.5. Tabele de date

Tabelele de date reprezint un grup de date organizate pe linii
i pe coloane (baze de date relaionale), astfel nct, principalele
elemente care definesc un tabel de date sunt:
nregistrrile (articole, records), entitatea de lucru a bazei
de date.
Cmpurile (fields), informaiile distincte din cadrul unei
nregistrri.
Linia de antet (header row) care permite identificarea
informaiilor din cadrul unei nregistrri.

Analogia cu un tabel obinuit const n identificarea unei
nregistrri cu o linie, a coloanelor cu cmpurile tabelului de date, iar
a capului de tabel cu linia de antet.
44 Software de sistem i software de aplicaie

Dup definirea structurii unui tabel de date, ceea ce nseamn
scrierea etichetelor prin care se vor identifica cmpurile tabelului de
date, se poate trece la definirea coninutului. Datele se pot introduce
n celule inndu-se cont de semnificaia lor.

~ Observaii
Etichetele prin care sunt precizate cmpurile tabelului de date
trebuie s fie difereniate n mod corespunztor. Dac un titlu de
coloan trebuie scris pe mai multe rnduri se poate folosi
combinaia de taste Alt + Enter sau se poate utiliza opiunea
Format, Cells...
11
Opiunea menionat permite ca n tab-ul
Alignment (aliniere) s se fac precizri legate de afiarea textului
cum ar fi:
o alinierea textului pe orizontal sau pe vertical
(Horizontal, Vertical),
o scrierea multirnd (Wrap text),
o adaptarea dimensiunii textului la dimensiunea celulei
(Shrink to fit),
o contopirea mai multor celule (Merge cells),
o orientarea direcional a textului (Orientation).
datele de pe coloan trebuie s fie de acelai tip;
liniile (coloanele) nu trebuie s fie goale sau ntrerupte;
datele de tip text nu trebuie s nceap cu spaiu (se pot crea
probleme la cutarea sau sortarea n list);
pentru a uura citirea tabelului este recomandat a se formata
coloanele (cmpurile) n mod diferit.

Prelucrarea tabelelor de date

Excel ofer o posibilitate comod de a efectua prelucrri asupra
nregistrrilor, prin utilizarea formularului de date (opiunea Data,
Form
12
din meniul principal).


11
Format, Celule
12
Date, Machet
Software de sistem i software de aplicaie 45



Trece la nreg.
urmtoare
Adaug
Trece la
nregistrarea
precedent
Caut o
nregistrare
conform unui
criteriu
terge
Anuleaz
Cmpurile tabelului de
date
Prelucrare
Coninutul nregistrrii curente
Condiia de baz, pentru iniializarea unei prelucrri a datelor
constituite n tabele de date este de a seleciona tabelul baz de date
(de obicei acesta se personalizeaz prin Format, AutoFormat...
13
).
Asupra tabelului de date se pot executa anumite operaii cum ar fi:

1
0
Cutarea prin formularul de date i opiunea Criteria
(criterii).


















2
0
Sortarea. De cele mai multe ori datele trebuie prelucrate
ntr-o ordine diferit de cea n care au fost introduse n tabelul de
date. Procedeul de ordonare a tabelelor de date, dup diferite criterii,
numite chei de sortare poate fi realizat prin meniu (Data, Sort...)
14
.
Ordonarea poate fi ascendent sau descendent. Pot fi selectate,
drept chei de sortare (chei de sortare primare sau secundare)
cmpurile tabelului de date. Se pot utiliza, de asemenea i butoanele
de sortare rapid din bara de instrumente standard:

13
Format, Autoformatare
14
Date, Sortare
46 Software de sistem i software de aplicaie













3
0
Filtrarea (selecia pe orizontal) care reprezint
posibilitatea de a introduce n prelucrare doar datele care ndeplinesc
o anumit condiie. Pentru a putea realiza selecia se poate folosi
opiunea Data, Filter
15
din meniul principal. Filtrarea se poate realiza
pe o valoarea anumit cuprins n unul din cmpurile tabelului de
date (AutoFilter)
16
sau poate fi personalizat prin criterii (Data, Filter)
acionnd sgeata de derulare pentru introducerea opiunii de
filtrare particularizat (Custom), care permite precizarea condiiilor
logice: Is Greater Than (mai mare dect), Equals (egal cu), Does Not
Equal (diferit de), Begin With (ncepe cu), etc.

~ Observaie
Pentru a reafia ntreaga list (toate nregistrrile) se
selecteaz (Data, Filter, Show All), iar pentru a dezactiva
opiunile AutoFilter se selecteaz Data, Filter, AutoFilter (astfel
se va reafia vechiul mod de afiare al listei, fr sgeile de
derulare).


15
Date, Filtrare
16
Filtrare automat
Software de sistem i software de aplicaie 47





~













4
0
Interogarea care reprezint posibilitatea obinerii unor
informaii statistice din tabelul de date cum ar fi totaluri, subtotaluri,
contorizri, etc.

2.6. Grafice (diagrame)

Datele din tabele devin mai convingtoare atunci cnd sunt
prezentate sub form de histograme, diagrame circulare, grafice
liniare, etc. Mediile de realizare a foilor de calcul electronic conin
faciliti de redare grafic a tabelelor.

Construirea unui grafic pornind de la un tabel dat, presupune
urmtoarele etape :

1
o
Alegerea tipului de grafic:
a
o
linii (lines)
b
o
bare (bars)
c
o
stiv de bare (stacked bars)
48 Software de sistem i software de aplicaie

d
o
diagrame circulare (pie)

2
o
Alegerea zonelor din tabel n care se gsesc seriile de
date, care se doresc a fi reprezentate i seria de date care va
constituii axa orizontal a graficului (de regul date temporale - ani,
zile, etc.).

3
o
Alegerea datelor ce vor fi marcate pe axa vertical (de
regul cantiti, preuri, etc.).

4
o
Alegerea titlurilor axelor i a titlului graficului.

5
o
Stabilirea legendelor i a altor detalii care contribuie la
claritate reprezentrii grafice.

6
o
Alegerea datelor care vor fi marcate cu valori n clar n
interiorul graficului.

~ Observaii
pentru a putea stabili corelaii ntre diverse serii de date se
recomand reprezentare simultan pe acelai grafic a unui a
mai multor serii de date, dar nu a mai mult de ase;
marcarea axelor, scrierea titlurilor i folosirea legendelor;
folosirea, dac este necesar identificarea unor valori pe
grafic, a liniilor paralele verticale care prelungesc gradaiile
verticale;
marcarea valorilor reprezentative pe grafic;

Crearea unui grafic n Excel ncepe cu specificarea datelor
(seriilor) ce vor fi reprezentate i presupune selectarea blocurilor de
date numerice din foaia electronic de calcul. Liniile din cadrul unui
bloc selectat constituie, de obicei, seriile.



Software de sistem i software de aplicaie 49



Etapele realizrii unui grafic :
1
o
Se selecteaz seriile;
2
o
Se fixeaz colul stnga-sus al zonei unde va fi afiat graficul;
3
o
Se selecteaz Insert, Chart...
17

4
o
n fereastra Chart Wizard (tipuri de diagram) se alege tipul
de grafic.
Componentele unui grafic sunt constiruite din obiecte i pot fi
modificate prin instrumente de tip Chart (titlul graficului, denumirea
axelor, etichetarea datelor, legende). Pentru aceasta este necesar ca
opiunea Chart s fie activat (prin meniu View, Toolbars, Chart)
18
.
Pentru a modifica oricare din obiectele care constituie un grafic
se poate aciona folosind lista derulant Chart Objects (obiecte din
diagram) sau, mai simplu prin dublu clic cu mouse-ul pe obiectul
vizat.

17
Inserare Diagram
18
Vizualizare, Bare de instrumente, Diagram
Formatarea
graficului
Tipul graficului
Lista derulant
Chart Objects
50 Software de sistem i software de aplicaie


3. Internet
Ce este INTERNET-ul ?
INTERNET este cea mai mare colecie de reele de calculatoare, n
sistem descentralizat care a devenit cel mai popular mijloc de schimb de
informaii. Prin intermediul INTERNET-ULUI abonaii trimit i primesc
coresponden comercial, particular (e-mail), angajeaz discuii de grup
pe orice tem (grupuri de discuii), ofer servicii sau primesc oferte, se
informeaz din domeniul comercial, marketing, cultur, tehnic etc.
INTERNET-ul trebuie vzut ca o reea global format din mii de
reele de calculatoare aparinnd diverselor instituii guvernamentale,
universiti, companii private, servicii informaionale comerciale precum i
abonai individuali. Oricine poate s aib acces la informaiile oferite, gratuit
sau n schimbul unor taxe. Biblioteca Congresului SUA, de exemplu, ofer
gratuit accesul la cele 100 milioane de obiecte din colecia sa - cri, filme,
hri, partituri, fotografii.
TCP/IP (Transmission Control Protocol/Internet Protocol) este
protocolul de transmisie utilizat de INTERNET. Reeaua INTERNET din SUA
este CIX (Commercial INTERNET Exchange) iar n Europa EUNet. Pentru a
utiliza CIX sau EUNet utilizatorul trebuie s fie membru al INTERNET. Un
instrument oferit de INTERNET este Mosaic, o interfa grafic ce permite
utilizatorilor s vizioneze filme, imagini fotografice sau text, nsoite de
sunet. Multe firme din lume comercializeaz software pentru accesul la
INTERNET. Noile sisteme de operare pentru PC-uri ncepnd cu Windows'95,
Windows NT, Unix incorporeaz module software necesare conectrii la
INTERNET. Toi utilizatorii de PC-uri pot comunica ntre ei, n mod text sau
video/audio. Astfel aceast reea multimedia devine o magistral
informaional.

Cine guverneaz INTERNET-ul ?
Nu exist o autoritate central pentru ntreg INTERNET-ul. Acesta nu
are preedini, directori sau responsabili cu funcionarea sa. Reelele
constitutive pot avea preedini i directori executivi, dar nu exist o
autoritate central pentru ntreg INTERNET-ul. Nu exist nici o firm
INTERNET Inc. care s colecteze plile de la toate reelele INTERNET sau
de la utilizatori. n schimb toat lumea pltete pentru partea sa. Exist un
mit c INTERNET-ul este gratis, dar adevrul este c cineva pltete pentru
fiecare conexiune. De multe ori aceste pli nu sunt date de utilizatori, ceea
ce d iluzia de acces gratis.
Reelele se adun i decid cum s se conecteze mpreun, apoi
creeaz fonduri pentru aceste interconexiuni. Un colegiu ori o corporaie
pltete pentru conectarea sa la o reea regional, care la rndul ei pltete
pentru un furnizor naional pentru accesul la o reea internaional.
Autoritatea ultim privitoare la direcia n care se va ndrepta
INTERNET-ul revine Societii INTERNET sau ISOC. ISOC este o organizaie
de voluntari al crei scop este s promoveze un schimb global de informaie
prin intermediul tehnologiei INTERNET. Ea stabilete un consiliu format din
Software de sistem i software de aplicaie 51



membrii mai vechi ai INTERNET-ului, care are responsabilitatea conducerii
tehnice i a direciilor ctre care se va ndrepta INTERNET-ul.
Utilizatorii INTERNET i pot exprima prerile prin intermediul
INTERNET Engineering Task Force (IETF), alt organizaie de voluntari care
se ntlnesc regulat pentru a discuta probleme tehnice i de funcionare ale
INTERNET-ului.

Cine sunt utilizatorii INTERNET ?
Peste 50% din activitile INTERNET sunt comerciale, management,
reclam i marketing. Clienii cei mai importani au devenit bncile,
companiile de publicitate, publicaiile, companiile de consultan i
avocatur, companiile de vnzri prin coresponden, companiile
specializate n studii de marketing, agenii de informaii comerciale i
publice.
Pentru ca utilizatorul de servicii INTERNET s poat desfura o
activitate susinut este necesar s posede un calculator, eventual modem-
linie telefonic individual, software de conectare.

Utilizare Internet
E-MAIL. Prin pota electronic se poate realiza schimbul de mesaje, ce
reprezint documente scrise, cu toi abonaii INTERNET din ntreaga lume.
Spre deosebire de mijloacele clasice schimbul de mesaje se poate face
aproape instantaneu, eliminndu-se riscul pierderii.
FAX. Fax-urile transmise prin INTERNET vor putea fi recepionate rapid
(faxurile transmise interurban se pltesc la tariful telefonic local, datorit
conectrii la un nod local).
Culegerea de informaii din INTERNET. n INTERNET informaiile se
gsesc sub form de fiiere ca pagini WEB. Apelarea fiierelor se face cu
ajutorul unor programe FTP (File Transfer Protocol). Prin aceast
metod, se poate face transferul de fiiere spre i dinspre orice server legat
la INTERNET la tarife telefonice locale. Paginile WEB sunt documente ce
conin texte i imagini. Utilizatorul i poate defini tema ce l intereseaz,
aceste programe putnd cuta pe toate serverele legate la INTERNET toate
informaiile legate de tema cutat.
Publicitate n INTERNET. INTERNET-ul d posibilitatea utilizatorului de a
se prezenta cu ajutorul uneia sau a mai multor pagini WEB (texte, poze,
grafice, animaii, sunete) i prin aceasta s se fac cunoscut.
Comerul prin INTERNET. La paginile de prezentare (ale firmei proprii de
exemplu) se pot aduga i cataloage de comand pentru produse. Pe baza
acestora orice client poate s| fac comenzi prin completarea unui formular
aflat pe aceeai pagin WEB. Dup completarea formularului acesta este
transmis prin INTERNET, iar comanda poate fi onorat n scurt timp.
Conferinele tematice (FORUMS). n prezent exist un numr mare de
forumuri organizate dup cele mai diverse criterii, aderarea la aceste
forumuri fiind liber.
Discuii prin INTERNET. Prin INTERNET se pot purta discuii libere cu toi
cei care sunt conectai la acest sistem.

52 Software de sistem i software de aplicaie

3.1. Structura reelei Internet

Internet-ul este o reea global format din mii de reele de
calculatoare aparinnd diverselor instituii guvernamentale,
universiti, companii private, servicii informaionale comerciale
precum i abonai individuali. Conectarea fizic a calculatoarelor la
reea poate fi realizat prin linie telefonic (analogic sau digital),
prin cablu direct, prin radio sau prin satelit.
Informaia este stocat n Internet sub form de site-uri
(pagini). Calculatoarele din reea capabile s furnizeze informaii se
numesc Server (sau Host). Interconectrile ntre diversele grupuri
de calculatoare se fac cu ajutorul dispozitivului numit Router.
Principiul de funcionare al Internet-ului este cel denumit
principiul client - server (un utilizator trimite cereri ctre server
i primete servicii). Pentru a accesa informaie pe Internet
utilizatorul folosete un program client (cum ar fi un browser), n timp
ce server-ul trebuie s ruleze un program server, cele dou programe
fiind dedicate aceluiai serviciu de Internet.
Internet Service Providers (ISP) sunt companii furnizoare
de servicii Internet. Conectarea la un ISP se poate realiza prin linii
telefonice (via modem) sau alte conexiuni (radio, satelit). Protocolul
de transmisie este TCP/IP (Transmission Control Protocol/ Internet
Protocol).

Program client Web
(browser, navigator, viewer)
Program server Web
Protocol
Document
Web
Internet
Software de sistem i software de aplicaie 53



Servicii Internet

Serviciu Descrierea serviciului
E-mail Pota electronic. Permite trimiterea i recepionarea mesajelor de la ali
utilizatori de Internet.
Gopher

Un instrument de cutare ce permite utilizatorilor s desfoare operaii
de localizarea a informaiilor printr-un sistem adecvat de meniuri. Este
nlocuit treptat de WWW.
FTP File Transfer Protocol. Reprezint un sistem ce permite utilizatorilor
transferul de fiiere de pe un calculator pe altul.
Usenet
news
Un sistem distribuit de buletine informaionale referitoare la un anumit
subiect, pentru schimbul de articole ntre diverse grupuri de utilizatori
(newsgroup uri).
WWW World Wide Web (prescurtat Web). Accesat utiliznd un browser de
Web cum ar fi Netscape Navigator sau Internet Explorer, pentru
cutarea i afiarea informaiei stocate pe Internet.
IRC Internet Relay Chat (conversaie pe Internet). Este un sistem de
discuii ce permite utilizatorilor s converseze online.
Telnet Este un sistem ce permite conectarea la alte calculatoare i rularea unor
aplicaii sau accesul la fiiere aflate pe aceste sisteme.

Adrese Internet

Dei din punct de vedere tehnic World Wide Web este doar o
poriune a lnternet-ului, acesta permite accesul la tot mai multe
servicii. Web-ul reprezint o combinaie ntre TCP/IP, protocolul de
transmitere a documentelor n reea, cu o metod complet nou de
localizare i acces la documentele aflate pe diverse reele.
Mecanismul de localizare a informaiilor transmise prin reeaua
Internet utilizeaz un ir de caractere numit localizator universal
de resurse (URL - Universal Resource Locator), care identific
numele i adresa fiecrui document disponibil n Web:
O Tipul protocolului de server utilizat n locaia
54 Software de sistem i software de aplicaie

documentului. Un server configurat special pentru
documentele Web utilizeaz protocolul de transfer al
hipertextelor (HTTP Hyper Text Transfer Protocol).
O Tipul site-ului, n general WWW, FTP sau Gopher.
O Adresa calculatorului gazd (numele unui server)
constituit din:
o subdomeniu (n general numele unei reele, al unei
universiti sau al unei firme);
o domeniu - abrevieri din 2 sau 3 litere ale instituiei,
organizaiei sau rii care deine domeniul respectiv
(com, edu,net, ro)
O Locaia unui document n reeaua respectiv (directoare i
subdirectoare, urmate de numele fiierului).
Exemplu:
http://www.microsoft.com/msoffice/train_cert/word.htm
Protocol: http
Tip site: www
Subdomeniu: microsoft
Domeniu: com
Document: msoffice/train_cent/word.htm
Un document din Web conine un hypertext (text, grafic,
audio, video) i are asociat o adres care permite accesul la acesta
direct din alte documente cu ajutorul limbajului de marcare HTML
(Hypertext Markup Language). De la un document la altul este creat
o legtur (Hyper-Link) sub forma unor cuvinte subliniate.
Efectuarea unui clic pe o legtur iniiaz ncrcarea documentului de
pe calculatorul gazd al acestuia.


3.2. Instrumente Web

Browser
Un document din Web se numete pagin Web. Un Browser
(Navigator, Viewer) este un pachet deschis i integrat de software
pentru Internet, care furnizeaz un set complet de instrumente
integrate pentru toate categoriile de utilizatori, de la servicii
Software de sistem i software de aplicaie 55



Back
Forward
Stop
History Mail
Print
Address
elementare (transmiterea mesajelor e-mail, afiarea de pagini Web,
deplasarea ntre diferite site-uri Web, salvarea, transferul, copierea
sau tiprirea documentelor gsite, evidena locurilor vizitate) la
funcionaliti complexe pentru conferine, difuzare n reea i creaii
Web. Cele mai utilizate navigatoare sunt: Internet Explorer, Netscape
Comunicator, Opera, Mozilla, etc. Produsele ofer e-mail integrat i
servicii de tiri (nouti), marcaje de pagin pentru nsemnarea site-
rilor interesante, faciliti de securitate pentru a preveni accesul
neautorizat la informaii despre utilizatori, precum i alte trsturi
care faciliteaz navigarea prin Web.





Afiarea documentelor asociate (alctuind un site) n spaiul de
afiare al browser-ului ncepe ntotdeauna de la pagin iniial
(homepage). Navigarea n Web presupune utilizarea unor opiuni
care s permit executarea unor operaii cum ar fi:
Introducere adresei documentului n caseta Address.
Trecerea la afiarea paginii anterioare sau urmtoare (Back,
Forward).
56 Software de sistem i software de aplicaie

Mrirea spaiului de afiat la ntregul ecran (Fullscreen).
Folosirea istoricului (History), o list a celor mai recente
pagini Web vizitate, pentru selecia adreselor.
ntreruperea transportului paginii aflat n curs de ncrcare
(Stop).
Imprimarea documentului (Print).
Folosirea serviciilor de e-mail (Mail).

Instrumente de cutare
Un instrument de cutare (numit i motor de cutare) este
o aplicaie din Web care permite cutarea anumitor site-uri Web pe
baza unor cuvinte sau concepte cheie. Motoarele de cutare (ex.
Altavista, Google) utilizeaz un program numit spider (robot) care se
deplaseaz automat prin structura hipertext a Web-ului, gsete un
document, apoi identific toate documentele referite de primul. Dup
regsirea documentelor, acestea sunt trecute ntr-o list de index prin
care utilizatorul este dirijat spre pagina Web corespunztoare.
Navigarea prin Web necesit cunoaterea diferitelor
instrumente de cutare disponibile i a particularitilor acestora. De
exemplu, Yahoo este organizat dup subiect, deci este foarte potrivit
pentru cutarea unor colecii de resurse legate de un singur subiect.
Fiecare instrument de cutare este prevzut cu propriile reguli de
dirijare a unui proces de cutare (de aceea se recomand citirea
fiierelor de Help disponibile n homepage-ul instrumentului).
Cel mai popular motor de cutare este Google. Google
utilizeaz tehnici sofisticate de cutare pentru a gsi paginile care
sunt importante i relevante. De exemplu, cnd Google analizeaz o
pagin, urmrete ce relevan au inclusiv legturile din acea pagin.
De asemenea, Google prefer paginile n care termenii cutrii sunt
unii lng alii. Caracteristici Google:
o "i" este implicit. Google afieaz doar paginile care includ toi
termenii cutrii. Nu este necesar includerea unui "and" ntre
termeni. Pentru a rafina cutarea, se pot aduga ali termeni.
o Cuvinte stop. Google ignor cuvinte i caractere comune,
cunoscute drept cuvinte stop. Google sare automat termeni ca "http"
Software de sistem i software de aplicaie 57



i ".com", ca i anumite cifre sau litere singulare, deoarece aceti
termeni rareori ajut la rafinarea cutrii, n schimb o pot ncetini
semnificativ.
o Semnul "+" este folosit pentru a include cuvinte stop n
cutare. Este necesar includerea unui spaiu nainte de semnul "+"
(se poate, de asemenea, include semnul "+" n cutri frazale).
o Fiecare rezultat Google conine unul sau mai multe citate din
pagina web, care arat cum apar termenii cutrii n context.
o Familia cuvntului. Pentru a furniza cel mai bun rezultat, Goolge
nu caut dup familia de cuvinte i nici nu suport cutare parial.
Altfel spus, Google caut exact cuvntul introdus. Cutarea "googl"
sau "googl*" nu va conine "googler" sau "googlin".
o Google nu face diferen ntre majuscule i minuscule. Toate
literele, indiferent cum sunt acestea introduse, vor fi considerate ca
minuscule. De exemplu, cutri dup "google", "GOOGLE" i
"GoOgLe" vor da aceleai rezultate.
o Cutrile Google sunt insensibile la accente i diacritice. Adic,
[Muenchen] i [Mnchen] vor gsi aceleai pagini. Pentru a se face
discriminare ntre astfel de cuvinte, se poate folosi semnul +, ca n
[+Muenchen] fa de [+Mnchen].

O alt metod folosite de cutare a informaiei Web (Altavista)
este prin cuvinte cheie (keywords). Pot fi utilizate cuvinte, fraze
sau cuvinte cheie compuse cu ajutorul unor operatori: + (plus), -
(minus) sau * (asterisc). Frazele de cutare trebuie delimitate prin
(ghilimele). Exemple, pentru cuvintele Mona Lisa:
mona lisa Gsete documentele care conin ambele cuvinte
n oricare variant cu majuscule (Mona, MONA,
liSA, Lisa).
Mona Lisa Gsete documentele care conin cuvintele
Mona Lisa fr a lua n considerare variante cu
majuscule.
58 Software de sistem i software de aplicaie

+mona +lisa Caut documentele care conin cuvintele fr a
ine cont de ordinea n care apar (a nu se lsa
spaiu dup semnul plus).
"Mona Lisa" Cutare dup fraz (coninutul frazei este
respectat ntocmai).
+"Mona Lisa"
-Louvre
Gsete documentele care conin fraza
"Mona Lisa" dar care nu conin cuvntul "Louvre".
+ Mona +Lis* Caut documente coninnd cuvntul Mona i
oricare cuvnt care ncepe cu Lis (asteriscul are
semnificaie de orice).
Instrumentele de cutare pot pune la dispoziia utilizatorilor i
opiuni de cutare mai complexe Advanced Search, folosind operatori
logici (AND, NOT, OR) sau identificatori de domeniu i adrese Web.
Exemple:
cars AND bmw AND
mercedes

Gsete documentele care conin aceste
cuvinte innd cont de ordinea n care
sunt scrise (primul este cars).
(bmw AND mercedes)
AND NOT (used OR
ferrari)

Caut documentele care conin cuvintele
bmw i mercedes dar care nu conin used
sau ferrari
Domain:gov AND nuclear
power plant*

Limiteaz cutarea la domeniu
guvernamental cutnd fraza nuclear
power plant (sau nuclear power plants).
Golf AND Monterey AND
url:golf
Limiteaz cutarea la paginile care includ
fraza Golf Montery i la adresa web golf.



Software de sistem i software de aplicaie 59



3.3. Pota electronic

Fiecare utilizator (user) care folosete serviciul de pot
electronic are o cutie potal pstrat pe server-ul la care are
deschis contul (account number). Adresa cutiei potale este de fapt
identificatorul utilizatorului de e-mail i este stabilit de ctre
administratorul de ISP sau poate fi obinut de pe site-urile care ofer
servicii gratuite de e-mail (cum ar fi yahoo.com, hotmail.com).
Account number este compus din numele utilizatorului urmat de
semnul @ i numele server-ului de e-mail ca de exemplu:
J.Burnes@yahoo.com.

Dispunnd de un cont (cutie potal) de e-mail se pot trimite
sau recepiona mesaje (coresponden electronic) folosind un
program specializat pe pot electronic (Microsoft Outlook,
Netscape Messenger, Eudora, etc.). Accesul la propria cutie potal
presupune declinarea identitii de ctre utilizator, printr-un dialog cu
server-ul, care solicit: numele utilizatorului i parola de identificare
(aceasta nu apare vizibil cnd se tasteaz de ctre utilizator).

Un mesaj e-mail, fie c este recepionat, fie c este expediat,
are urmtoarele componente:
adresa e-mail a expeditorului (From);
adresa e-mail a destinatarului (To);
data i ora la care a fost emis (sunt completate automat de
ctre sistem);
subiectul (titlul) mesajului (Subject);
coninutul (textul propriu-zis) mesajului.

Recepionarea mesajelor sosite se realizeaz prin comanda
explicit pus la dispoziie de programul de e-mail (Get Message,
Send and Receive, Retrieve, Check Mail,). Dac s-a realizat
corect conexiunea, mesajele (scrisorile) vor fi transportate de pe
server pe calculatorul client.

60 Software de sistem i software de aplicaie

Trimiterea unui mesaj se iniiaz din programul de e-mail
printr-o comand de genul New Message i presupune n primul
rnd completarea casetei To: cu adresa destinatarului. Acelai mesaj
poate fi trimis mai multe destinaii dac, n cmpul de adrese, se
scriu adresele separate prin ; (punct i virgul). Cmpurile Cc:
(Carbon copy, copie la indigo) i respectiv BCc: (Blind Cc) realizeaz
copierea mesajului, acesta din urm fcnd duplicarea fr ca
destinatarul principal (cel nscris n cmpul To:) s-i dea seama c
mai sunt i ali destinatari. O dat compus mesajul, se poate expedia
prin comanda Send, disponibil din bara de instrumente a
programului de pot electronic.

Scrisorile recepionate sau trimise sunt stocate ca fiiere, ntr-o
structur de directoare care conine:
directorul Inbox scrisori recepionate;
directorul Outbox scrisori care urmeaz a fi trimise;
directorul Sent Items scrisori trimise;
directorul Deleted Items (Trash) scrisori trimise sau
recepionate terse (dar nu eliminate definitiv).

Pe lng posibilitile de recepionare sau expediere amintite
anterior, programele de e-mail ofer i alte faciliti cum ar fi:
Attachment: posibilitatea de a anexa mesajului fiiere (prin
comanda Attach File, Insert File), care ajung la destinaie
exact n forma n care au fost trimise.
Forward: reexpedierea mesajului curent (cel citit) ctre o alt
adres e-mail.
Reply: o metod de a rspunde la mesajul curent: programul
creeaz imediat un mesaj nou n care completeaz automat
cmpul destinaie cu adresa expeditorului mesajului original,
cmpul de subiect cu subiectul mesajului, precedat de particula
Re: i, eventual, include n zona mesajului propriu-zis i
mesajul iniial.


Software de sistem i software de aplicaie 61



3.4. Comer electronic

Comerul electronic este o tranzacie financiar pentru un
produs sau serviciu, efectuat printr-o reea de calculatoare
(Internet). Comerul electronic, adesea cunoscut sub denumirea de
e-com-merce", devine pe zi ce trece o necesitate, astfel nct multe
companii au fcut din acesta o parte important a activitii lor.

Comerul electronic se mparte n dou categorii:
Comer electronic de consum (cumprturi pe Web).
Comerul electronic de consum const n vnzarea de bunuri i
servicii direct ctre clieni persoane fizice. Printre exemple se numr
vnzrile de software, nregistrri muzicale, calculatoare,
electrocasnice, cri, etc.
Comer electronic ntre firme. Comerul electronic ntre firme
presupune tranzacii ntre dou companii. Acest tip de comer
reprezint, practic, cea mai mare parte din piaa comerului
electronic. Precursorul acestui tip de tranzacii este setul de
standarde EDI - Electronic Data Interchange (Schimb electronic de
date). Sistemul EDI are o prezen important n universul corporativ
i guvernamental, unde zilnic se fac electronic multe tranzacii. Pe
viitor, acest tip de comer va fi derulat de companiile capabile s
accead la irurile web ale altor companii pentru a comanda produse,
a vizualiza nivelul stocurilor, a face verificarea comenzilor i a efectua
manual sau automat achiziii de materiale.
Comerul electronic nu a ajuns nc la fructificarea ntregului
su potenial. Doar o mic parte din firme i-au pus n practic o
strategie de comer electronic i multe n-au reuit nc s aib succes
n aceast direcie. i totui, exist suficiente exemple de reuit n
domeniul comerului electronic, pentru a demonstra c poate fi o
surs de venituri pentru companiile potrivite.
Tranzaciile de comer electronic au loc pe pagini World Wide Web
care arat, n principiu, la fel ca oricare alte pagini de pe Internet.
Exist, ns, multe elemente complexe care depesc nivelul unui site
normal de Internet, pentru a ncorpora multe funcii diferite, cum ar
62 Software de sistem i software de aplicaie

fi lansarea de comenzi, securizarea, autorizarea creditului, urmrirea
comenzilor i sistemele de plat.

3.4.1. Site de comer electronic

Un site de comer electronic trebuie s cuprind urmtoarele
patru componente:
1. Prezentare comercial electronic. n esen, e vorba de un
site web care s permit prezentarea produselor pe Internet. Este
adesea denumit catalog on-line i, n general, este organizat n aa fel
nct utilizatorii s-l poat rsfoi pentru a detecta descrieri ale
bunurilor care se comercializeaz.
2. Un co de cumprturi virtual. Trebuie s existe o modalitate
prin care clienii s poat alege i comanda bunuri i servicii. Clienii
aleg articolele dorite i le stocheaz n coul virtual, pn n
momentul cnd sunt gata s fac plata.
3. Una sau mai multe metode de plat. Clienii pot plti n mai
multe modaliti posibile, inclusiv cu carte de credit sau prin diverse
alte metode electronice de plat. Indiferent de metoda folosit, plile
se fac electronic, fr transfer fizic de bani. Atunci cnd se folosesc
cri de credit, numrul crii de credit se cripteaz i se trimite
electronic prin Internet ctre un server de tranzacii, dup care se
face verificarea creditului cumprtorului i se trece suma n contul
crii de credit. Alte opiuni de plat comport diverse metode de
transferare a fondurilor.
4. Integrare cu alte servicii de operaiuni interne. Aceasta
este o component opional i include automatizarea anumitor
operaiuni: onorarea comenzilor, facturarea, producia,
expedierea, gestiunea stocurilor i chiar procesele de lansare a
comenzilor de aprovizionare ctre furnizori. Aceast integrare
complet, pe tot parcursul traseului de la client la furnizori,
presupune un grad ridicat de complexitate i este ndeobte
cunoscut sub denumirea de activitate electronic de afaceri" -
electronic business". Exist situri dedicate care pot prelua i onora
comenzi n mod foarte eficient, fr intervenie uman,
Software de sistem i software de aplicaie 63



automatiznd ntregul proces de activitate al unei companii, de la
nceputul i pn la sfritul lanului valorii. Scopul activitii
electronice de afaceri este s realizeze o eficien maxim a
costurilor de vnzare.
O unitate comercial implementeaz un sit web de comer
electronic pentru a-i lrgi aria de desfacere dincolo de zona local
proprie. Un client vede catalogul on-line (adic prezentarea
comercial electronic) i gsete produsele pe care le dorete, dup
care i nregistreaz achiziia printr-un browser de web sigur,
mpreun cu numrul criptat al crii de credit, printr-o conexiune
sigur pe Internet. Tranzacia este trimis la serverul de tranzacii,
care apoi transmite datele crii de credit la instituia financiar a
comerciantului, pentru verificare. Se face verificarea financiar i
tranzacia este automat finalizat i trecut n creditul
comerciantului. Serverul de web trimite informaiile aferente
comenzii clientului la serverul de operaiuni interne al comerciantului.
Ca parte din soluia de activitate electronic a companiei, serverul de
Internet
Internet
Serverul de operaiuni interne
integrate al comerciantului execut
prelucrarea comenzii, facturarea,
expedierea, producia i gestiune
stocurilor
Serverul de comer electronic pe
web al comerciantului: prezentare
comercial electronic i co de
cumprturi virtual
Serverul de tranzacii valideaz
cartea de credit u face tranzacia
cu instituia financiar a
comerciantului
Stocul epuizat declaneaz
comanda la furnizor
Internet
Produsul expediat la
consumator
Trimite
datele
comenzii
la server
INSTITUTIIA
FINANCIAR
CONSUMATOR
64 Software de sistem i software de aplicaie

producie primete informaiile privind comanda clientului n baza sa
de date i genereaz comanda. Comanda este apoi introdus n
softul de onorare a comenzilor folosit de comerciant, unde este pre-
lucrat.
Softul integrat de expediere ntocmete pn i buletinul de
expediie, cu informaii din baza de date privind greutatea de
transport a produsului i distana. Softul de expediii al
comerciantului nregistreaz produsul i acesta este ridicat de
compania de transport, care ncepe s urmreasc traseul de
expediere a coletului.
Clientul poate s verifice oricnd pe Internet n ce etap de
expediie se afl produsul. Singurul moment cnd cineva intervine
fizic n acest proces este la mpachetarea i livrarea produsului.
Pe msur ce se acumuleaz comenzi, serverul urmrete
nivelul stocurilor i evidena vnzrilor, genereaz comenzi de
producie, ntocmete comenzi de aprovizionare ctre principalul
furnizor al comerciantului.
Unele bunuri pot fi distribuite electronic. De exemplu,
programele informatice i nregistrrile muzicale pot fi descrcate de
pe Internet dup ce clientul le-a pltit.

Avantajele comerului electronic se refer la:
o Distribuie. Activitatea unui mijlocitor sau distribuitor pltit poate
fi substituit electronic. Adesea, se face referire la acest lucru cu
termenul de dezintermediere".
o Arie mai larg de acoperire a pieei. Comerul electronic poate
asigura o acoperire geografic mai mare dect cea realizat, n mod
normal, cu resurse limitate. Expansiunea geografic normal necesit
adesea mai mult personal de vnzri, mai muli distribuitori i mai
muli bani.
o Eficien. Multe soluii de activitate electronic integreaz
verificarea creditului, contabilitatea, gestiunea stocurilor,
aprovizionarea i procesele de producie n cadrul soluiei de comer
electronic.
Software de sistem i software de aplicaie 65



Soluiile de comer electronic pot aduce avantaje i clienilor.
Comerul electronic le ofer n general clienilor posibilitatea de a
face cumprturi oricnd i oriunde, deci comoditate; preuri mai
bune (uneori) dect ar obine n alt parte, o selecie mai bun i
variante mai bune de a cumpra.
Securitate este cea mai mare problem cu care se confrunt
comerul electronic. Ameninarea cu nclcarea securitii exist att
pentru consumatori, ct i pentru comerciani. n ciuda celor mai bune
metode de securizare i criptare, exist ntotdeauna riscul ca orice
tranzacie s poat fi interceptat sau s se intre ntr-un server n
mod ilicit. Dar pericolul real e mult mai mic. Pentru ca tranzaciile s
fie sigure, trebuie folosit software de criptare.
O soluie spre comerul electronic este gzduirea sitului la un
furnizor de servicii Internet (ISP), muli dintre furnizorii ISP oferind
softul necesar i serviciile necesare pentru elaborarea unui sit web.
Muli productori de servere vnd servere special fcute pentru situri
web.
A exploata la maximum o soluie complet de activitate
electronic de cibervnzare nseamn integrarea n funciile de
operaiuni interne, cum ar fi facturarea, gestiunea stocurilor i
producia. Soluiile de activitate electronic impun un angajament
uria n materie de timp i de bani, precum i ajutorul unui
consultant de specialitate.

3.4.2. Vnzarea on-line

Securitatea. Securitatea este preocuparea numrul unu a
consumatorilor care cumpr de pe Internet. Trebuie inut pasul cu
tehnologia cea mai recent n materie de securitate. n prezent,
standardul principal pentru tranzacii sigure pe Internet este cel
denumit SSL (Secure Sockets Layer - Strat de socluri sigur), care
utilizeaz criptarea pentru a codifica informaiile de natur financiar,
cum ar fi numerele crilor de credit. Aceasta garanteaz practic c
nimeni nu va putea intercepta tranzaciile de pe Internet i nici nu
va putea descifra numerele de pe crile de credit ale utilizatorilor.
66 Software de sistem i software de aplicaie

Tehnologia de criptare, denumit SET (Transactions Secure Electronic),
este standardul elaborat de MasterCard i Visa pentru tranzaciile cu
cri de credit. Pot fi puse n funciune metode alternative de plat,
dar puin probabil s fie tot att de populare ca utilizarea numerelor
criptate de pe crile de credit dect, poate, cu excepia
cumprtorilor nrii" de pe Internet, care nu se las intimidai de
nimic. Tranzacia n sine nu reprezint dect o parte a preocuprii
pentru securitate. Interceptarea ntmpltoare a unei tranzacii
financiare este o mare lovitur pentru un hacker. Un avantaj al
tehnologiei SET este c informaiile aferente crilor de credit sunt
stocate la instituia financiar a comerciantului i nu pe serverul
acestuia, deci nu exist nici o ans s v fie furate date din sediu.


Metoda de plat. Modalitatea de plat cea mai des folosit pe
Internet este, de departe, utilizarea numerelor criptate ale crilor de
credit. Criptarea se face prin codificarea numerelor de pe cartea de
credit a cumprtorului i decriptarea lor pe server. Att protocolul
SSL, ct i SET, cripteaz date aferente crilor de credit. Exist,
totui, mai multe soluii alternative de efectuare a plilor pe
Internet. Sistemele electronice de plat cunoscute sub denumirea de
bani electronici" (e-cash") i bani digitali" (digital cash") permit
comercianilor s debiteze conturile bancare ale clienilor cu sumele
cuvenite. Avantajul acestui mod de plat este c utilizatorii nu mai
trimit prin Internet numerele crilor de credit. Portofelele electronice
stocheaz pe unitile hard ale utilizatorilor informaii de pe cartea
de credit i elemente digitale de identificare. De fiecare dat cnd
utilizatorii fac o achiziie, calculatorul lor trimite informaii criptate la
magazinul electronic, pentru efectuarea plii, iar n cartea lor de
credit apare operaiunea exact ca pentru oricare alt tranzacie.
Desigur, fiecare dintre aceste sisteme de plat include i posibilitatea
de validare a creditului nainte de autorizarea achiziiei. Cartela
inteligent funcioneaz ca o carte de debit i poate fi introdus ntr-un
cititor de cartele aezat lng calculator, pentru a plti o tranzacie, i
poate chiar s fie rencrcat printr-un ciberbancomat.

Software de sistem i software de aplicaie 67




3.4.3. Sisteme electronice de plat

Mod de plat Descriere
Criptare carte de
credit
Autorizarea crii de credit i criptarea numrului
crii de credit
Bani electronici /
Bani digitali
Utilizeaz conturi bancare electronice pentru
transferul numeric al banilor digitali
Portofele electronice Stocheaz informaii ale crii de credit i certificri
digitale pe calculator; poate folosi mai multe
modaliti de plat i stocheaz chitanele pentru
tranzacii
Micropli Pentru pli n sum foarte mic: ntre 0,25 i 10
Cartele inteligente Cartelele ncrcate" electronic sunt folosite prin
introducere n cititoare de cartele inteligente,
conectate la calculator (adic dispozitive hard
adugate la calculator)

Construirea unei prezene on-line poate fi un mare pas
nainte pentru orice firm. Utilizarea eficient a unui sit pe World
Wide Web poate ajuta majoritatea companiilor s ajung la noi clieni
poteniali, s-i micoreze costurile de asisten i s-i
mbunteasc imaginea. Prin extinderea prezenei pe Web pentru a
cuprinde i tranzacii electronice, pot spori n mod semnificativ
vnzrile i se pot reduce costurile de gsire a clienilor i de
vnzare, rezultnd mbuntirea propriilor procese interne de
activitate.

68 Structuri de date i programare structurat



Structuri de date i
programare structurat


1. Conceptul de algoritm

. Definiie
Algoritmul este un concept intuitiv reprezentnd o mulime
finit i ordonat de pai executabili descrii fr echivoc, care,
pornind de la o mulime de valori, numit domeniul de definiie
(intrarea), produce n timp finit o alt mulime de valori
(ieirea).

Termenul de algoritm deriv de la numele matematicianului
arab Abu Jafar Mohamed ibn Msa al Kahowrizm.

Procesul de rezolvare a problemelor cu ajutorul calculatorului
const n dou activiti: dezvoltarea algoritmului i reprezentarea
acestuia ca program. Procesul de elaborare al algoritmului reprezint
etapa cea mai important, obligatorie i de cele mai multe ori cea mai
dificil. Descoperirea algoritmului nseamn gsirea unei metode de
rezolvare a problemei, claritatea i calitatea acestuia impunnd
fiabilitatea i calitatea programului. n contextul dezvoltrii
programelor, etapele de rezolvare ale problemelor corespund cu cele
definite de matematicianul G. Polya n 1945:

nelegerea problemei este etapa cea mai important i
const n:
definirea datelor de intrare (tip, proprieti, domeniul
valorilor),
definirea rezultatelor (ieirile),
Structuri de date i programare structurat 69



stabilirea relaiilor dintre date i rezultate.
Conceperea modului de rezolvare a problemei i descrierea
acestuia printr-un algoritm.
Reprezentarea algoritmului ca program.
Evaluarea programului din punct de vedere al corectitudinii
i ca potenial instrument pentru rezolvarea altor probleme.

Acest proces poate fi reprezentat schematic astfel:

Reprezentarea unui algoritm trebuie s in cont de
urmtoarele caracteristici:
Claritatea presupune inteligibilitatea i ordonarea exact
a pailor pentru o exprimare corect i fr ambiguiti.
Generalitatea aplicarea algoritmului la o clas mai mare
de probleme.
Finititudinea soluionarea problemei ntr-un timp
determinat.

n practica reprezentrii algoritmilor se utilizeaz diverse forme
cum ar fi schemele logice, limbajul algoritmic (pseudocod),
tabelele de decizie, limbajele de programare, ns, indiferent de
modul de descriere al acestora, se stabilete o mulime bine definit
de blocuri elementare numite primitive. Definirea precis a
primitivelor duce la ndeplinirea dezideratelor de claritate i determin
modul n care aceste primitive pot fi combinate pentru reprezentarea
ideilor mai complexe. Fiecare primitiv este constituit din dou
elemente: sintaxa i semantica. Sintaxa se refer la reprezentarea
simbolic a primitivei, n timp ce semantica se refer la conceptul
reprezentat (semnificaia primitivei).

Problema
Algoritm
+
Date

Program
abstractizare codificare
70 Structuri de date i programare structurat

Ansamblul de primitive ales pentru reprezentarea algoritmilor
trebuie s fie adaptat la specificul de calcul electronic. De obicei
aceste primitive sunt definite la un nivel mai nalt dect cel oferit de
limbajul n cod main, astfel nct abordarea construciei i analizei
algoritmilor se face prin prisma unor concepte moderne, cum ar fi
principiile programrii structurate.

2. Principiile programrii structurate

Programarea structurat este o metod de concepere,
organizare, codificare, testare, meninere i documentare ale
algoritmilor de calcul prin definirea unui set de primitive grupate n
trei forme de structuri fundamentale: secvena, selecia i ciclul.
Aceste structuri sunt constituite n scopul optimizrii procesului de
programare prin realizarea unor produse program fiabile i de bun
calitate.

Termenul de programare structurat este introdus n 1972 de
E.W. Dijkstra, ns fundamentarea matematic este fcut de Bhm
i Jacopini ntr-un articol publicat n 1966.

Construirea algoritmilor, conform principiilor de programare
structurat are n vedere dou elemente:

Aciunea elementar, tradus n
instruciuni simple (instruciunea de
atribuire, instruciunea de apel subprogram, instruciuni de
intrare/ieire, subprograme).

Condiia (control, test, expresie
boolean) cu valoare de adevrat (True)
sau neadevrat (False).



Aciune
Condiie C
True
False
Structuri de date i programare structurat 71



Aciune a Aciune b
Condiie C
True
False
Aciune a
Aciune b
True
Condiie C
False
Aciune a
Un algoritm adaptat programrii structurate se reprezint prin
trei primitive astfel (structura D Dijkstra):

C Secvena (una sau mai
multe aciuni elementare).
Aceast primitiv se va nota: a; b


C Selecia (structura
alternativ).
Aceast primitiv se
va nota:
IF C THEN a ELSE b


C Ciclul cu test iniial
(structura repetitiv,
iteraia).
Aceast primitiv care semnific
repetarea aciunii att timp ct
este ndeplinit condiia C va fi notat: WHILE C DO a

O extensie a structurii D este structura D care conine:

C Structura D.

C Selecia redus (selecia
pseudoalternativ).
Aceast primitiv se va
nota: IF C THEN a

C Ciclul cu test final
(structura repetitiv
condiionat posterior).
Notaie: REPEAT a UNTIL C
Condiie C
True
False
Aciune a
False
True
Condiie C Aciune a
72 Structuri de date i programare structurat



C Selecia multipl
(structura alternativ
multipl).


Notaie: CASE OF i 1:a
1
2:a
2
n:a
n


Conform teoremei de structur al Bhm Jacopini, orice
algoritm coninnd o secven de structuri D sau D este un algoritm
de programare structurat.

Una din metodele de proiectare a algoritmilor este metoda
rafinrii pas cu pas. Aceast metod i propune mprirea
problemei n mai multe subprobleme (permind elaborarea
algoritmilor n mai multe etape), n ideea c fiecare n parte este mai
uor de rezolvat dect problema n ansamblul ei. Din acest punct de
vedere rafinarea pas cu pas este o metodologie descendent
(metoda top down, de sus n jos).

Urmtorul algoritm, schematizat sub forma unui program
structurat,
poate fi descompus succesiv pn la ultimul nivel, astfel:

s
2 s
1

s
3
s
5
False
C
1
a
1
False
True
False
True
C
2
a
4
C
3
a
3
a
2
C
4
a
6
a
5
True
True
False
s
4
Caz i
i=1
i=n
Aciune a
1
Aciune a
n
Structuri de date i programare structurat 73




P: s
1
; s
2
; a
6

s
1
: IF C
1
THEN s
3
ELSE s
4

s
3
: a
1
; a
2

s
4
: IF C
2
THEN a
3
ELSE s
5

s
5
: REPEAT a
4
UNTIL C
3

s
2
: WHILE C
4
a
5


Rezult un program care poate fi scris sub forma:
IF C
1
THEN a
1
; a
2

ELSE
IF C
2
THEN a
3

ELSE REPEAT a
4

UNTIL C
3

WHILE C
4
a
5

a
6



3. Elemente din teoria bazelor de date

3.1. Structuri de date

. Definiie
O structur de date definete un grup de date (omogene sau
eterogene) ntre care s-au stabilit o serie de legturi n scopul
realizrii unor mecanisme de identificare, selecie i prelucrare a
componentelor acestui grup.

Organizarea datelor n structuri se realizeaz pe dou nivele:
logic i fizic. Procesul de prelucrare a datelor (mai ales cnd acestea
sunt de volum mare) impune necesitatea ca acestea s fie uniform
structurate, conform unor modele nivelul logic. La nivel fizic forma
de organizare i conservare a datelor este fiierul, care permite
stocarea, identificarea i consultarea datelor memorate pe suporturile
de stocare. Fiecare fiier cuprinde un grup de elemente numite
nregistrri, articole (record). nregistrarea este o entitate
semantic care asociaz (prin legturi) date de tip diferit, conform
modelului de organizare utilizat.
74 Structuri de date i programare structurat

Materiale Produse
M
2
M
1 0
M
3 0
M
4 0
0
P
1
0
P
2
legturi interne
legturi externe
Studeni Matricole
S
2 0
S
3 0
S
1 0
0
M
1
0
M
2
0
M
3

3.1.1. Tipuri de legturi ntre diferite colecii de date

Elementele (numite i realizri) unei colecii de date intr n
anumite legturi (asocieri). Ele pot fi legturi n cadrul aceleiai colecii
(legturi interne) sau legturi ntre colecii diferite (legturi
externe). De exemplu pentru coleciile de date Produse i Materiale
legturile interne rezult prin aceea c mai multe materiale aparin
aceluiai sortiment iar cele externe prin faptul c mai multe materiale
particip la realizarea unui produs, aa cum unul sau mai multe
produse se pot obine pe seama unui singur material.







Legturile ntre realizrile diferitelor colecii de date pot fi binare
i n-are.
Legturile binare sunt determinate de existena a dou colecii
de date numite domeniu i codomeniu (legturile interne sunt relaii
binare la care domeniul i codomeniul sunt identice). Se disting
urmtoarele tipuri de legturi:
legturi unu la unu (1 - 1 sau biunivoce). Unui element din
domeniu i corespunde un singur element din codomeniu i
invers. Exemplu: relaia dintre coleciile de date Studeni i
Matricole. O matricol este atribuit unui singur student, iar un
student poate beneficia de o singura matricol.






Structuri de date i programare structurat 75



Grupe Studeni
G
2 0
G
1 0
0
S
1
0
S
2
0
S
3
0
S
5
0
S
4
Materiale Produse
M
2
M
1 0
M
3 0
M
4 0
0
P
1
0
P
2
0
P
3
d
1
d
2
d
3 d
n
legturi unu la muli (1- n). Unui element din domeniu i
corespund zero una sau mai multe realizri din codomeniu. De
exemplu un student face parte dintr-o singur grup, o grup
poate avea mai muli studeni.





legturi muli la muli (m - n). Unui element din domeniu i
corespund mai multe realizri din codomeniu corespondena
realizndu-se i invers. De exemplu un produs este realizat din
mai multe materiale, acelai material folosindu-se la fabricarea
mai multor produse.







Legturile n-are sunt legturile prin care sunt asociate mai
multe colecii de date (ele pot fi descompuse n legturi binare). Aceste
tip de legturi este luat n considerare n algebra relaiilor care
constituie baza teoretic pentru tratarea bazelor de date relaionale.

3.1.2. Tipuri de structuri de date

Principalele tipuri de structuri de date care impun modul de
organizare al datelor sunt structura liniar, structura arborescent,
structura reea, i structura relaional.

Structura liniar este definit printr-o relaie de ordine pe un
grup de date sub forma denumit list.


76 Structuri de date i programare structurat

Furnizor Sortiment
Materiale
F
1

F
2

S
1

S
2

M
1

M
2

M
4

M
3

S
3

a
2
a
1
r

b
4
b
5
b
1
b
2
b
3
a
3
b
6
b
7
c
1
c
2
Nivel 0
Nivel 1
Nivel 2
Nivel 3
Elementele unei liste sunt nlnuite conform urmtoarelor
principii:
a. orice element neterminal al listei are un succesor unic (list
simplu nlnuit);
b. primul element nu are predecesori;
c. ultimul element nu are succesori;
d. dac ultimul element se nlnuie cu primul element lista se
numete list circular;
e. dac nlnuirea se definete i n sens invers (de la fiecare
element al listei spre predecesorul su) lista se numete list
dublu nlnuit.
Exemplu:






Structura arborescent (ierarhic sau descendent) este
definit printr-o relaie de ordine pe un grup de date astfel:
a. elementele grupului de date se numesc noduri i sunt dispuse
pe nivele;
b. exist un singur nod pe primul nivel nod rdcin;
c. orice nod diferit de rdcin are un predecesor imediat unic;
d. orice nod neterminal are un numr finit de succesori imediai;
e. legturile stabilite ntre noduri sunt de tipul 1 n (o structur
arborescent definit numai prin legturi de tip 1 2 se
numete arbore binar).



Structuri de date i programare structurat 77



Aceast structur se bazeaz pe existena unei mulimi de
colecii de date i o mulime de legturi ierarhice. Fiecrui tip de
colecie de date i se atribuie un numr de nivel (exist o singur
colecie de date de nivel 1 numit rdcin). Coleciile de date pe
acelai nivel formeaz o familie de date. Exemplu:

Structura reea este definit printr-o relaie de ordine avnd
urmtoarele proprieti:
a. o reea este un graf n care ntre dou noduri exist legturi
bidirecionale;
b. un nod are mai muli predecesori i el nsui poate fi
predecesor pentru propriul lui predecesor;
c. o succesiune de legturi n care nodul iniial este acelai cu
nodul final determin un ciclu al reelei (o reea care nu
posed nici un ciclu se numete reea simpl, in caz contrar se
numete reea complex);
Furnizori
Clieni Materiale
F
1

F
2

P
1

P
2

M
1

M
2

M
3

C
1

Produse
Comenzi
C
2

Com
1

Com
2

F
3

F
4

Nivel 0
Nivel 1
Nivel 2
78 Structuri de date i programare structurat

d. ntre elementele(nodurile) reelei se stabilesc legturi de tipul
m - n.
Structura de reprezentare n reea se bazeaz pe existena unei
mulimi de colecii de date i a unei mulimi de relaii ierarhice care,
spre deosebire de structurile arborescente, admite ca o colecie de
date s aib mai multe colecii de date suplimentare. Exemplu:


Structura relaional este definit prin tabele (relaii, tablouri)
de date elementare ntre care exist se stabilesc legturi n-are.

a
2
a
3
b
3
b
4
b
5
b
6
b
7
a
1
b
1
b
2
c
1
c
3
Nivel 0
Nivel 1
Nivel 2
Nivel 3
r
2
r
1

Produse
Contracte
Note de
comanda
P
1

P
2

C
1

F
1

N
1

N
2

N
3

Ct
1

Clieni
Materiale
Ct
3

M
1

M
2

P
3

Ct
2

Furnizori
F
2

Nivel 0
Nivel 1
Nivel 2
Structuri de date i programare structurat 79



3.2. Concepte de reprezentare a datelor

3.2.1. Modelul de reprezentare liniar

Realizarea fizic a modelului este lista, care poate fi
asimetric (cnd informaia corespunztoarea fiecrei realizri are
asociat adresa urmtoarei realizri sau simetric (cnd, la fiecare
realizare se asociaz dou adrese: precedent i urmtoare).

n scopul optimizrii operaiilor de cutare a informaiilor n list
au fost elaborate structuri de reprezentare liniar specializate : stack
(stiva) i queue (coada).

Stiva este o structur asimetric care permite ca operaiile de
adugare, consultare i tergere s se poat efectua n capul coleciei
de date. Ea este bazat pe principiul LIFO (Last Input First Output),
astfel nct ultima realizare adugat s fie prima consultat.

Coada este o structur simetric care permite adugri la
sfritul listei i consultri/tergeri la nceputul listei. Principiul se
numete FIFO (First Input First Output.

Un fiier de date construit pe baza modelului liniar const ntr-o
succesiune de nregistrri, de lungime variabil. De exemplu, pentru
structura arborescent prezentat anterior, lund n considerare
posibilitatea descompunerii acesteia n structuri liniare, se poate
constitui un fiier care conine urmtoarele nregistrri:

(P
1
,C
1
) (P
1
,C
2
) (P
2
,M
3
,Com
1
) (P
2
,M
3
,Com
2
) (P
2
,M
1
,F
4
) (P
2
,M
1
,F
3
)..

d
1
d
2
d
n
d
1
d
2
d
n
80 Structuri de date i programare structurat

3.2.2. Modelul ierarhic (arborescent)

Modelul de reprezentare arborescent se poate realiza fizic cu
ajutorul unor adrese care indic adresa primei realizri din cadrul
coleciei i adresa urmtoarei realizri din cadrul coleciei (organizare
FIU, FRATE).

Modelul ierarhic permite organizarea datelor pe orice tip de
suport magnetic (sau optic) i prezint urmtoarele caracteristici:

consultarea datelor este permis numai prin intermediul
rdcinii;
accesul la realizrile coleciilor de date inferioare coleciei
rdcin se face prin specificarea tuturor coleciilor care se
gsesc ntre colecia rdcin i colecia pe care dorim s o
consultm.

Practic consultarea se face n mod "top-down" (de sus n jos
i de la stnga la dreapta).

Limite modelului sunt date de problemele legate de actualizarea
fiierelor de date:
adugarea de noi nregistrri se poate face numai cu
specificarea coleciilor superioare;
tergerea unei realizri determin tergerea tuturor
realizrilor subordonate.

r

a
1
a
2
a
3
b
1
b
2
b
3
c
1
c
2
Structuri de date i programare structurat 81



La nivel fizic, un fiier de date constituit pe baza modelului
conine nregistrri de lungime variabil. Exemplu:

(P
1
,C
1
) (P
1
,C
2
) (P
2
(M
3
(Com
1
, Com
2
))) (P
2
(M
1
(F
3
, F
4
),M
2
(F
1
, F
2
)))

3.2.3. Modelul reea

Modelul reea este un model conceptual complet de structurare
a datelor, bazat pe structurile de reprezentare reea i tipurile de
relaii 1-1, 1-n caracteristica principal a acestui model fiind aceea c
acesta accept ca orice colecie de date s se situeze la nivelul 1,
ceea ce permite s se realizeze accesul direct la realizrile coleciilor.

Exemplu: legturile dintre coleciile de date "PRODUSE" i
coleciile de date MATERIALE



3.2.4. Modelul relaional

Acest model se bazeaz pe teoria matematic a relaiilor i pe
calculul relaional i este independent de suportul fizic. Cu ajutorul lui
structura conceptual poate fi reprezentat sub forma unei mulimi
de tabele legate ntre ele prin intermediul unor chei.

Considernd coleciile de date din structura arborescent
anterioar, se pot constituii urmtoarele tabele:


P
1
M
1
M
2
M
3
M
4
M
4
P
1
82 Structuri de date i programare structurat


Produse Clieni Produse Materiale Furnizori Produse Materiale Comenzi
P
1
C
1
P
2
M
1
F
3
P
2
M
3
Com
1

P
1
C
2
P
2
M
1
F
4
P
2
M
3
Com
2

P
2
M
2
F
1

P
2
M
2
F
2


nlocuirea relaiilor ierarhice sau reea cu relaii n-are, precum
i eliminarea neajunsurilor generate de cele dinti n procesul de
creare i de actualizare a bazelor de date, poart numele de
normalizare.

Prin procesul de normalizare mulimea legturilor dintre
realizrile coleciilor de date se include n tabele bidimensionale (baze
de date). n aceste tabel se admite, desigur, o anumit redundan
deci anumite legturi se repet.

Modelului relaional prezint o serie de avantaje:

permite o reprezentare simpl, uor accesibil oricrui
utilizator datorit faptului c baza de date este conceput
ca o colecie de tabele;

permite proiectarea unei structuri optime cu ajutorul
operaiei de normalizare;

permite crearea, actualizarea i consultarea bazei de date
folosind tehnici de acces i prelucrare superioare, proprii
unui sistem de gestiune a bazei de date relaionale;

admite satisfacerea cerinelor utilizatorilor prin
intermediul unor limbaje bazate pe algebra relaiilor;



Structuri de date i programare structurat 83



3.3. Algebra relaional Modelul relaional

E.F. Codd a definit conceptele disciplinei numit algebr
relaional ca o colecie de operaii pe relaii, fiecare operaie avnd
drept operanzi una sau mai multe relaii i producnd ca rezultat o alt
relaie.

. Definiie
Dat fiind o colecie de mulimi D
1
, D
2
,....D
n
,numite domenii, nu
neaprat distincte, R este o relaie pe aceste n mulimi, dac exist o
mulime de n-tupluri (d
1
, d
2
,......d
n
) astfel nct d
1
D
1
, d
2
D
2
,
....d
n
D
n
.

Valoarea n reprezint gradul relaiei, iar numrul de tupluri
reprezint cardinalul. ntr-un sens mai puin abstract putem privi
relaia ca un tabel organizat pe linii i coloane n care capul de tabel
cuprinde domeniile, coloana este atributul, iar linia este tuplul. Numrul
de coloane este gradul relaiei, numrul de linii reprezint cardinalul
relaiei.

n sistemele de programare care prelucreaz colecii de date
noiunea de relaie se suprapune peste noiunea de tabel de date,
domeniul este cmp, tuplul este articol (nregistrare, record),
cardinalul reprezentnd dimensiunea tabelului de date (dat de
numrul de nregistrri), iar numrul de cmpuri este gradul
relaiei.
Din punct de vedere al operaiilor de prelucrare a datelor
definim urmtoarele elemente de baz:
Relaia este ansamblul de date i legturi ntre acestea.
Domeniul reprezint un ansamblu de nume prin care se
identific datele din relaie.
Atributul este un grup de date de acelai tip aparinnd
unui domeniu.
Tuplul (sau n-tuplul) este definit de succesiunea de
legturi care asociaz datele avnd atribute diferite.
84 Structuri de date i programare structurat

Exemplu
Model Firma Culoare
FIAT Rou
BMW Rou
FIAT Alb
BMW Alb
VW Alb

Convenii de scriere:
relaia: Model[Firma, Culoare]
domenii: Firma {FIAT, BMW, VW, }
Culoare {Rou, Alb, Verde,.}
atribut Model.Firma, Model.Culoare
tuplu (FIAT, Rou)
(BMW, Rou)
~ Observaii
Atributele sunt unice (nu pot exista coloane cu
nume identice).
Ordinea liniilor i a coloanelor n tabel este
indiferent.
Atributele reprezint o mulime finit de valori
inclus n mulimea valorilor posibile dintr-un
anumit domeniu (a nu se face confuzie ntre
domeniu i atribut).

Modelul de reprezentare a datelor care utilizeaz elemente de
algebr relaional i calculul relaional se numete modelul
relaional.

3.3.1. Reguli de integritate ale modelului relaional

Regula de unicitate a cheii
Aceast regul definete ansamblul minim de atribute care s
permit ca fiecare tuplu s fie unic identificat (nu exist tupluri
identice). Identificarea unui tuplu n cadrul unei relaii, fr a face
apel la toate valorile din tuplu a dus la apariia noiunii de cheie.
Orice relaie prezint cel puin o cheie, la limit cheia fiind construit
Structuri de date i programare structurat 85



din cel puin un atribut (cheie simpl). Cnd mai multe atribute
contribuie la constituirea cheii, cheia se numete cheie compus (din
chei primare, chei secundare).

Exemplu
n relaia Marca, atributul Marca.Cod permite identificarea ntr-o
manier unic a unui tuplu (cheia este singular). Se poate accepta
urmtoarea convenie de scriere (cheia este subliniat):
Marca[Cod, Firma, Culoare]

Regula de restricie referenial
Dou sau mai multe relaii pot fi asociate (legate), n sensul c
datele dintr-o relaie sunt dependente de datele din alte relaii.
Termenii care se folosesc n acest caz sunt: relaie care refer
(printe), relaie referit (copil). Astfel o relaie poate s conin
un atribut/grup de atribute care sunt incluse i n alt relaie
(referit). Regula de restricie referenial este definit astfel: Dac
un atribut/grup de atribute este cheie ntr-o relaie care refer
(printe) i apare i ntr-o relaie referit (copil), toate valorile
corespunztoare cheii trebuie s apar n atributele/grupul de
atribute al relaiei referite(copil) sau s fie valori null (nedefinite).

Exemplu
Fie relaiile Marca[Cod, Firma, Culoare]
Clieni[Cod, Client, Data, Cantitate]
n aceste relaii atributul Cod, comun celor dou relaii este
cheie n relaia Marca deci trebuie s conin toate valorile cuprinse n
atributul Clieni.Cod.

Regula de restricie a entitii (integritatea entitii)
Considernd convenia de notare cu null a unei valori
necunoscute, restricia entitii reprezint restricia de integritate
care impune ca ntr-o relaie atributele cheii primare s fie nenule. Cu
valori null cheia i pierde rolul de identificator de tuplu.

86 Structuri de date i programare structurat

3.3.2. Calculul operaional

Operaiile definite n algebra relaional sunt de tipuri:
o operaii de baz (tradiionale)
o operaii speciale

Operaii relaionale tradiionale
Operaiile relaionale tradiionale au n vedere acele relaii care
au acelai grad i aceleai domenii (ele se numesc compatibile cu
reuniunea). Pe dou relaii R
1
i R
2
, compatibile cu reuniunea pot fi
definite urmtoarele operaii: reuniunea, intersecia, diferena.

Reuniunea
Notaii: R = R
1
R
2
= { t | tR
1
, sau tR
2
} t -tuplu
R = OR (R
1
, R
2
)
R = APPEND (R
1
, R
2
)
R = UNION (R
1
, R
2
)
Exemplu: Model3 = Model1 Model2

Model1 Firma Culoare Model2 Firma Culoare
FIAT Rou BMW Rou
BMW Rou FIAT Alb
FIAT Alb BMW Alb
BMW Alb VW Alb
VW Alb


Model3 Firma Culoare
FIAT Rou
BMW Rou
VW Alb
FIAT Alb
BMW Alb


R
1
R
2
R
3
Simbol
Structuri de date i programare structurat 87



Intersecia
Notaii: R = R
1
R
2
= { t | tR
1
, i tR
2
} t -tuplu
R = AND (R
1
, R
2
)
R = INTERSECT (R
1
, R
2
)

Exemplu: Model3 = Model1 Model2
Model1 Firma Culoare Model2 Firma Culoare
FIAT Rou BMW Rou
BMW Rou FIAT Alb
FIAT Alb BMW Alb
BMW Alb VW Alb
VW Alb

Model3 Firma Culoare
BMW Rou
BMW Alb
FIAT Alb
VW Alb
Diferena
Notaii: R = R
1
R
2
= { t | tR
1
, i tR
2
} t -tuplu
R = MINUS (R
1
, R
2
)
R = REMOVE (R
1
, R
2
)
R = DIFF (R
1
, R
2
)

Exemplu: Model3 = Model1 Model2

Model1 Firma Culoare Model2 Firma Culoare
FIAT Rou BMW Rou
BMW Rou FIAT Alb
FIAT Alb BMW Alb
BMW Alb VW Alb
VW Alb



R
1
R
2
R
3
Simbol


R
1
R
2
R
3
Simbol
88 Structuri de date i programare structurat


Model3 Firma Culoare
FIAT Rou

Operaii relaionale speciale

Produsul cartezian

Notaii: R = R
1
X R
2
= {(t
1
, t
2
)|t
1
R
1
, t
2
R
2
} t -tuplu
R = PROD (R
1
, R
2
)
R = TIMES (R
1
, R
2
)

Exemplu: Auto = Model X Tip

Model Firma Culoare Tip An CP
FIAT Rou 1997 60
BMW Rou 1998 75
VW Alb

Auto Firma Culoare An CP
FIAT Rou 1997 60
BMW Rou 1997 60
VW Alb 1997 60
FIAT Rou 1998 75
BMW Rou 1998 75
VW Alb 1998 75




X
X
R
1
R
2
R
3
Simbol
Structuri de date i programare structurat 89



Selecia

Notaii: S =
condiie
(R)
S = SELECT (R, condiie)
S = RESTRICT (R, condiie)
Exemplu: Auto1 =
Culoare=Alb
(Auto)


Auto Firma Culoare An CP
FIAT Rou 1997 60
BMW Rou 1997 60
VW Alb 1997 60
FIAT Rou 1998 75
BMW Rou 1998 75
VW Alb 1998 75

Auto1 Firma Culoare An CP
VW Alb 1997 60
VW Alb 1998 75
Proiecia

Notaii:
P =
Atrib1, Atrib2, ... Atribn
(R)
P = PROJECT (R, Atrib1, Atrib2, ... Atribn)
P = P(R, Atrib1, Atrib2, ... Atribn)
Exemplu: Culori =
Firma, Culoare
(Auto)

Auto Firma Culoare An CP
FIAT Rou 1997 60
BMW Rou 1997 60
VW Alb 1997 60
FIAT Rou 1998 75
BMW Rou 1998 75
VW Alb 1998 75
Culoare=Alb
Condiie
R
S
Simbol
R
P
Atribute
Simbol
90 Structuri de date i programare structurat


Culori Firma Culoare
FIAT Rou
BMW Rou
VW Alb

Jonciunea

Determin concatenarea unor tupluri di R1 cu tupluri din R2 (se
concateneaz acele tupluri din R1 i R2 care satisfac o anumit
condiie specificat explicit n cadrul relaiei).
Notaii:
J = R
1
><

R
2
condiie
J = JOIN (R
1
, R
2
, condiie)

Exemplu: Modele = Auto ><

Tip
Culoare
Observaie: Aceast operaie poate fi echivalat n felul urmtor:
J = R
1
><

R
2
=
condiie
(R
1
X R
2
)

Auto Firma Culoare Tip Culoare An
FIAT Alb Alb 2001
BMW Alb Rou 2002
VW Rou Verde 2003

Modele Firma Culoare An
FIAT Alb 2001
BMW Alb 2001

VW Rou 2002

Firma,
Culoare
R
1
R
2
R
3
Simbol
operator
Atribut in R1 Atribut in R2
=
Culoare
Structuri de date i programare structurat 91



3.4. Elementele unei baze de date

3.4.1. Definirea noiunii de baz de date

Definirea noiunii de baz de date trebuie s in cont de
urmtoarele elemente:

gruparea datelor n fiiere de date;
descrierea legturilor (asocierilor) ntre
fiiere (fiier de descriere global a
datelor);
suportul fizic (hardware) pentru
conservarea i prelucrarea interactiv a
datelor;
sistemul de programe pentru descrierea
structurii datelor astfel nct s fie
posibil actualizarea i securizarea
acestora (Sistemul de Gestiune a Bazelor
de Date = SGBD);
Utilizatorii bazei de date.



Ideea principal este legat de necesitatea accesului oricrui
utilizator la date, ceea ce impune realizarea independenei
programelor (aplicaiilor) fa de date i a datelor fa de programe.
Conceptul de baz de date a aprut n 1969 cu ocazia
prezentrii raportului CODASYL n cadrul unei conferine legate de
folosirea limbajelor de gestiune a datelor.

. Definiie
Baza de date este un ansamblu de date stocate n unul sau mai
multe fiiere de date, aflate n interdependen, mpreun cu
descrierea datelor i a relaiilor ntre ele.
BAZA DE DATE
Fiier de descriere global
Aplicaia 1 Aplicaia 2
Utilizatori
Fiiere de date
Sistem de gestiune al
bazei de date
92 Structuri de date i programare structurat

Baza de date, astfel definit, trebuie s ndeplineasc
urmtoarele condiii:
structura bazei de date trebuie s fie astfel conceput
nct s asigure informaiile necesare i suficiente de
acces;
s asigure o redundan minim i controlat a datelor;
s asigure accesul rapid la datele stocate;
s asigure independena datelor fa de programele de
prelucrare i invers.

3.4.2. Criterii de clasificare a bazelor de date

o dup modelul folosit: ierarhice, reele, relaionale, orientate
obiect;
o dup aria de rspndire: locale, centralizate, distribuite;
o dup orientare: generalizate, specializate;
o dup limbajele utilizate: autonome (limbaje proprii), cu
limbaj gazd, mixte.

Nivelurile de organizare ale bazelor de date

o Nivelul 1 = nivelul logic Structura logica a aplicaiilor

o Nivelul 2 = nivelul conceptual Structura conceptual a
bazelor de date
o Nivelul 3 = nivelul fizic Structura fizic a bazelor de
date

3.4.3. Sisteme de gestiune a bazelor de date (SGBD)

Sistemul de gestiune al bazelor de date reprezint soft-ul
propriu-zis al acestora care asigur realizarea urmtoarelor activiti:
definirea structurii bazei de date,
ncrcarea datelor n baza de date,
accesul la date (interogarea, actualizarea),
Structuri de date i programare structurat 93



ntreinerea bazei de date (tergeri, adugri, modificri de
date, refacerea bazei de date n caz de incident,
reorganizarea bazei de date (restructurarea i modificarea
strategiei de acces),
securizarea datelor.

Rezult c sistemul de gestiune al bazelor de date este un
sistem complex de programe care asigur interfaa ntre o baz de
date i utilizatorii acesteia.

3.4.4. Funciile unui SGBD

Funcia de descriere a datelor permite definirea structurii bazei
de date la nivel logic, conceptual i fizic stabilind:
o atributele (cmpurile) bazei de date,
o legturile dintre date,
o criteriile de validare a datelor,
o metodele de acces la date,
o aspectele referitoare la asigurarea integritii i
confidenialitii datelor.

Funcia de manipulare a datelor este cea mai complex i
realizeaz urmtoarele activiti:
o crearea bazei de date,
o adugarea de noi nregistrri,
o tergerea unor nregistrri,
o modificare coninutului unor nregistrri,
o cutarea, ordonarea.

Funcia de utilizare a datelor asigur mulimea interfeelor
necesare pentru comunicarea cu utilizatorii bazei de date.
Categoriile de utilizatori sunt:
o utilizatorii neinformaticieni (liberi sau conversaionali)
care utilizeaz baza de date ntr-o form simplificat fiind de
fapt destinatarii constituirii unei baze de date;
94 Structuri de date i programare structurat

o utilizatorii programatori care utilizeaz limbajele de
programare pentru realizarea procedurilor practice de
exploatare;
o administratorii bazei de date cu rol n ceea ce privete
meninere bazei de date n parametrii ei de funcionalitate.

Funcia de administrare este de competena administratorilor
bazei de date.

3.4.5. Sisteme de gestiune a bazelor de date relaionale

Organizaia american de norme TRG (Realtional Task Group) a
definit termenul de relaionalitate. Acesta propune un ansamblu de
criterii care s defineasc noiunea de SGBD minimal relaional i
total relaional. Creatorul modelului relaional, E.F. Codd a propus 12
criterii de definire a SGBD-urilor din punct de vedere al relaionalitii.

SGBD minimal relaional

1. Structura tabelului de date:
Toate datele unei baze de date sunt reprezentate prin valori n
tabele.
2. Pointer-i (puncte de intrare) invizibili:
Punctele de intrare ale tabelului de date sunt invizibili pentru
utilizator.
3. Operatori de baz:
SGBD-ul trebuie s implementeze operaiile de selecie, proiecie
i jonciune (fr nici o restricie).

SGBD total relaional

Un SGBD devine total reaional dac la cele trei criterii enunate
anterior se adaug urmtoarele dou:
4. Operatori:
SGBD-ul suport toate operaiile algebrei relaionale.
Structuri de date i programare structurat 95



5. Restricii:
SGBD permite respect regula de unicitate a cheii i regula de
restricie referenial.

Regulile lui Codd

1. Regula privind gestionarea unui SGBDR:
Toate funciile de manipulare a unui SGBD au ca unitate de
informaie relaia (tabelul).
2. Regula privind garantarea accesului la date:
Fiecare element al unui SGBD poate fi accesat ntr-o manier
unic cu ajutorul numelui relaiei, numelui atributului i a valorii cheii.
3. Regula privind valorile null :
SGBD trebuie s permit declararea i manipularea sistematic a
valorilor de null cu semnificaia unor date lips sau inaplicabile.
4. Regula privind metadatele (dicionarul):
Descrierea elementelor unei baze de date trebuie s se fac, la
nivel logic, n aceeai manier cu descrierea datelor propriu-zise.
Dicionarul este o baz de date specific (fiier de descriere global a
datelor) care permite descrierea, la nivel general, a tabelelor de date n
scopul manipulrii i interogrii acestora.
5. Regula privind limbajele de programare utilizate:
Un SGBDR trebuie s fac posibil utilizarea mai multor limbaje
de programare. dintre care cel puin unul permite:
o definirea tabelelor de date i a tabelelor de date virtuale;
o manipularea datelor;
o definirea restriciilor de integritate;
o definirea regulilor de acces;
o precizarea limitelor tranzaciilor.
6. Regula privind actualizarea datelor:
Tabelele de date virtuale (acele tabele construite pe baza
tabelelor de date existente) trebuie s fie efectiv actualizabile.
7. Regula privind manipularea datelor (inserri,
modificri, tergeri):
96 Structuri de date i programare structurat

SGBD-ul trebuie s menin o stare coerent a datelor din punct
de vederea al manipulrii lor (regsire, modificare, tergere, inserare).
8. Regula privind independena fizic a datelor:
Programele de aplicaie trebuie s fie independente de modul i
de suporturile de stocare a datelor.
9. Regula privind independena logic a datelor:
Programele de aplicaii trebuie s fie independente de
modificrile semantice ale tabelelor bazei de date.
10. Regula privind restriciile de integritate a datelor:
Limbajul de programare utilizat trebuie s defineasc restriciile
de integritate ale datelor i trebuie s fie le memoreze n fiierul de
descriere global (catalogul) a datelor.
11. Regula privind distribuirea geografic a datelor:
SGBDR trebuie s permite manipularea datelor indiferent c
bazele de date sunt dispuse n acelai loc (centralizate) sau dispuse n
locuri diferite (distribuite).
12. Regula privind prelucrarea datelor la nivel de baz:
Dac SGBDR posed un limbaj de programare de nivel sczut,
orientat pe prelucrarea de tupluri (nregistrri) i nu pe prelucrarea la
nivel de relaie, acesta nu trebuie utilizat pentru a face exprimri
relaionale.

4. Limbaje algoritmice

Limbajul algoritmic este un sistem de notare n care ideile sunt
exprimate mai puin formal, sistem utilizat n procesul de dezvoltare a
algoritmilor. Acesta permite folosirea unor instruciuni care exprim
condensat structurile sintactice i semantice utilizate cel mai frecvent
i cteva reguli simple de aliniere a textului scris. Trebuie precizat
faptul c limbajul algoritmic nu este conceput ca un limbaj de
programare, are puine reguli sintactice, lsnd o mare libertate de
exprimare a aciunilor algoritmilor.

Principalele elemente ale limbajului algoritmic sunt datele i
instruciunile.
Structuri de date i programare structurat 97



4.1. Datele

Datele pot fi clasificate dup mai multe criterii:
Criteriul naturii datelor:
date numerice: ntregi, reale i complexe
date logice (booleene)
date de tip text (ir de caractere)

Criteriul variabilitii
constante - nu se modific n intervalul de timp destinat
execuiei programului:
- constante numerice (numere ntregi i reale
reprezentate n mod uzual);
- constante booleene (logice), cu valori de
adevrat (true) sau fals (false);
variabile - se modific pe durata derulrii programului
(se poate vorbi de valori iniiale, intermediare i finale).
Acest grup de date este pus n coresponden cu anumii
identificatori.

Criteriul cmpului de aciune
date cu caracter global care pot fi utilizate din orice
punct al programului. Acestea se definesc i li se aloc
memorie o singur dat.
date cu caracter local ce nu pot fi folosite dect n zona
de program (procedur sau funcie) n care au fost
definite.

Criteriul alocrii memoriei
date statice - alocarea memoriei se rezolv n faza de
compilare.
date dinamice - alocarea memoriei se face n timpul
execuiei programului.

Criteriul dispunerii n memoria intern
98 Structuri de date i programare structurat

date dispuse n zone contigue care permit localizarea
uneia din ele cunoscnd o adres i o lungime.
date dispersate n memorie.

Criteriul construirii tipurilor
date de tip fundamental care sunt implementate n
fiecare limbaj de programare (ex. tipul ntreg, real,
caracter, boolean).
date de tip derivat alctuite din unul sau mai multe
tipuri fundamentale i care sunt definite n timpul
construirii programelor.

Asupra datelor se acioneaz folosind operatori de calcul n
funcie de tipul i natura datelor:
o pentru date numerice
- operatorii aritmetici: adunare, scdere, nmulire, mprire,
notai +, -, *, /, div (mprirea pentru numere ntregi),
mod (mprire modulo)
- operatorii relaionali (=, <>, <, >, <=, >)
o pentru date logice operatorii de disjuncie (or), conjuncie
(and) i negaie (not)
o pentru iruri de caractere operatorii de concatenare i
comparare (bazat pe ordinea lexicografic).

4.2. Instruciunile limbajului algoritmic

Instruciunea de atribuire:

variabil = expresie

Instruciunile de citire/scriere (read/write):

citete lista de variabile

scrie lista de variabile
Structuri de date i programare structurat 99



Instruciunea de oprire:

stop

Instruciunea de ramificare (if then else ):

dac condiie atunci
secvena 1
altfel
secvena 2

Instruciunea cu ramificare redus (if then ):

dac condiie atunci secvena

Instruciunea repetitiv condiionat anterior (ciclul cu test
iniial, while do ):

ct timp condiie
execut secvena
Se execut pentru condiie adevrat.

Instruciunea repetitiv condiionat posterior (ciclul cu test
final, repeat ... until):

repet
secvena
pn condiie
Se execut, cel puin o dat, pentru condiie adevrat.

Instruciunea repetitiv cu numr finit de pai (ciclul cu
contor, for do ):

pentru contor = valoare iniial, valoare final, pas
execut secvena
100 Structuri de date i programare structurat

Instruciunea cu ramificare multipl (case of else):

alege expresie dintre
condiie 1 : secvena 1
condiie 2 : secvena 2
....................
condiie n : secvena n
rest secvena n+1


4.3. Programare modular. Subprograme

Subprogramele reprezint o secven de operaii executate n
scopul rezolvrii unei probleme. Aceeai seciune din algoritm
ntlnit n mai multe puncte ale acestuia, poate fi scris o singur
dat i apelat de cte ori este nevoie.

Utilizarea subprogramelor conduce la creterea eficienei
activitii de programare, astfel nct 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. Subprogramele pot fi
construite sub dou forme: proceduri i funcii.

4.3.1. Proceduri


Definire: procedura nume procedur (parametrii formali)
secvena
sfrit

Apel: execut nume procedur (parametrii efectivi)



Structuri de date i programare structurat 101



4.3.2. Funcii


Definire: funcia nume funcie (parametrii formali)
secvena
sfrit

Apel: n cadru unor relaii de calcul:
nume funcie (parametrii efectivi)

~ Observaii
O procedur sau o funcie poate avea un numr oarecare de
parametrii (eventual nici unul).
ntre parametrii formali i cei efectivi se realizeaz o
coresponden biunivoc, n sensul c parametri actuali i cei
efectivi trebuie s corespund ca numr i tip.
Apelul funciei este considerat ca un operand al expresiilor.
Lista de parametrii formali conine doar parametri de intrare,
singurul parametru de ieire fiind chiar numele funciei.

4.3.3. Iterativitate i recursivitate

Iterativitatea 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 necunoscut sau
cunoscut, dar determinabil pe parcursul execuiei. Metoda de
repetivitate este cunoscut sub numele de ciclu (loop) i poate fi
realizat prin utilizarea urmtoarelor structuri repetitive: ciclul cu test
iniial, ciclul cu test final, ciclul cu numr finit de pai. Indiferent ce
fel de structur iterativ se folosete este necesar ca numrul de
iteraii s fie finit.

Recursivitatea este procesul iterativ prin care valoarea unei
variabile se determin pe baza uneia sau a mai multora dintre
propriile ei valori anterioare. Structurile recursive reprezint o
alternativ de realizare a proceselor repetitive fr a utiliza cicluri.

102 Structuri de date i programare structurat

Aplicaii

1. Definirea i apelul unei funcii de calcul.
> Formularea problemei.
S se calculeze:
)! ( !
!
k n k
n
C
k
n

=

> Prezentarea algoritmului.

Definirea funciei

funcia FACT(m)
FACT = 1
pentru i= 1, m, 1
execut FACT=FACT*i
sfrit

Apelarea funciei

citete n,k
c=FACT(n)/FACT(k)/FACT(n-k)
scrie c

stop


2. Calcul recursiv.
> Formularea problemei.
Se consider polinomul
P(x) = a
n
.x
n
+ a
n-1
. x
n-1
+ ... a
1
.x + a
0

care poate fi scris i sub forma
P(x) = ( ... (a
n
x + a
n-1
) .x + ... a
1
) . x + a
0

unde a
i
R, i = 0, 1, ... , n
de unde rezult urmtoarele relaii de recuren:
P = a
n

P = P.x + a
i
, unde i = n-1, n-2, ... , 1, 0



Structuri de date i programare structurat 103



> Prezentarea algoritmului.
citete n, x, (a[i], i = 0,1, ,n)
P = a[n]; k = n-1
ct timp k 0
execut P = P*x + a[k];
k = k-1
scrie P

stop

3. Determinarea minimului i maximului elementelor unui
vector.
> Formularea problemei.
Se d vectorul A = (a
1
, a
2
, ,a
n
). S se determine:
min = minim (a
1
, a
2
, ,a
n
) i max = maxim(a
1
, a
2
, ,a
n
)

> Metoda 1
Se execut comparri succesive ncepnd cu primul element.
> Prezentarea algoritmului
citete n, (a[i], i=1, ,n)
min=a[1]

max=a[1]
pentru i= 2, n, 1
execut dac a[i] < min atunci min=a[i]

dac a[i] > max atunci max=a[i]
scrie min, max

stop
> Metoda 2
n funcie de paritatea lui n, se ncepe cu una din urmtoarele
iniializri:
- dac n par min = minim (a
1
, a
2
), max = maxim (a
1
, a
2
)
- dac n impar min = a
1
, max = a
1

Se consider perechi succesive de elemente de forma:
(a
k
, a
k+1
) unde:
k = 3,5, ... ,n-1 pentru n par
k = 2,4, ... ,n-1 pentru n impar.
Se compar min cu minim(a
k
, a
k+1
) i max cu maxim (a
k
, a
k+1
)
actualizndu-se eventual valorile lui min i max.
104 Structuri de date i programare structurat

> Prezentarea algoritmului
citete n, (a[i], i = 1, ,n)

dac n mod 2 = 0 atunci
dac a[1] < a[2]

atunci min=a[1]; max=a[2]

altfel min=a[2]; max=a[1]
k=3
altfel min = a[1]; max = a[1]; k = 2
ct timp k n-1
execut

dac a[k] < a[k-1]
atunci
dac a[k]<min atunci min=a[k]

dac a[k+1]>max atunci max=a[k+1]

altfel
dac a[k+1]<min atunci min=a[k+1]

dac a[k] > max atunci max = a[k]
k = k + 2
scrie min, max

stop

4. Problema cutrii.
> Formularea problemei.
Fie A = (a
1
, a
2
, ...a
n
) i x o valoare. Se cere s se determine
dac x se afl printre elementele vectorului A.

Se consider A avnd elementele n ordine descresctoare
(a
1
a
2
... a
n
) i se aplic algoritmul de cutare binar.
Algoritmul se bazeaz pe metoda divide et impera. Se compar x cu
elementul din mijloc, adic a
i
, unde i=[(n+1)/2].
- dac a
i
= x cutarea se ncheie cu succes
- dac a
i
x se caut n secvena:
{a
1
, a
2
, ... ,a
i-1
} dac x < a
i
,
{a
i+1
, a
i+2
, ... ,a
n
} dac x > a
i

Structuri de date i programare structurat 105



Soluia va fi exprimat sub forma:


unde: a
0
= -, a
n+1
= +

> Prezentarea algoritmului
citete n, x, (a[i], i=1, ,n)
p=1; u=n; cod=0

ct timp (p u) i (cod=0)
execut i= (p+u)/2
dac a[i] = x atunci cod=1; p=i

altfel dac a[i] < x atunci p=i+1

altfel u=i-1
scrie cod, p

stop
> Test: 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

5. Problema sortrii.
> Formularea problemei.
Dat fiind vectorul A = (a
1
, a
2
, ...a
n
) problema sortrii const n
a ordona cresctor elementele acestui vector. Se prezint mai
multe metode de sortare.

> Metoda 1: Sortarea prin interschimbare.
Metoda const n modificri succesive de forma a
i
a
i+1
pn
cnd elementele vectorului apar n ordine cresctoare. Sortarea
se termin cnd, pornind cu perechea (a
1
, a
2
) i finaliznd cu
perechea (a
n-1
, a
n
), nu s-a efectuat nici o interschimbare.

+ < <
=
=

} 1 , ... , 2 , 1 { , ), , 0 (
} , ... , 2 , 1 { , ), , 1 (
) , (
1
n p a x a dac p
n p a x dac p
p cod
p p
p
106 Structuri de date i programare structurat

> Prezentarea algoritmului
citete n, (a[i], i=1, ,n)

repet
gata=true
pentru i= 1, n-1, 1
execut
dac a[i]

> a[i+1] atunci w=a[i]
a[i]=a[i+1]
a[i+1]=w
gata=false

pn gata

scrie (a[i], i=1, ,n)

stop

> Metoda 2: Sortarea prin numrare.
Metoda const n a numra pentru fiecare element a
i
cte
elemente strict mai mici 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.

> Prezentarea algoritmului
citete n, (a[i], i=1, ,n)

pentru i= 1, n, 1
execut k[i]=0
pentru j= 2, n, 1
execut pentru i= 1, j-1, 1
execut
dac a[i]

< a[j]
atunci k[j]=k[j]+1

altfel k[i]=k[i]+1
pentru i= 1, n, 1
execut b[k[i]+1]=a[i]
scrie (b[i], i=1, ,n)

stop

Structuri de date i programare structurat 107



> Metoda 3: Sortarea prin inserie direct.
Se consider pe rnd fiecare element al irului i se insereaz n
subirul ordonat creat anterior din elementele precedente.
Fie j cu proprietatea a
1
a
2
... a
j-1
. Se compar succesiv
a
j
cu a
j-1
, a
j-2
, ... pn cnd se ajunge la primul a
i
cu a
i
a
j
.
Ca urmare se va insera a
j
dup a
i
. Operaia de inserare implic
deplasarea spre dreapta a unei secvene.

> Prezentarea algoritmului
citete n, (a[i], i=1, ,n)

pentru j= 2, n, 1
execut x=a[j]; k=0; gata=false; i=j-1
repet
dac a[i] x atunci k=i; gata=true

altfel a[i+1]=a[i]; i=i-1
pn (i<1) sau gata
a[k+1]=x
scrie (a[i], i=1, ,n)

stop

> Metoda 4: Sortarea prin selecie.
Metoda const n a plasa la fiecare pas un element al vectorului
pe poziia sa final. La primul pas este determinat:
a
k
= minim (a
1
, a
2
, ... , a
n
)
i este efectuat interschimabarea a
1
a
k
, deci cel mai mic
element este plasat pe poziia sa final.
n general la pasul i (i = 1,2, ... , n-1) se determin
a
k
= minim (a
i
, a
i+1
, ... , a
n
)
i se efectueaz interschimbarea a
i
a
k


> Prezentarea algoritmului
citete n, (a[i], i=1, ,n)
i=1
repet
k=i; min=a[k]; j=k
repet
dac min > a[k+1] atunci min=a[k+1]; j=k+1
108 Structuri de date i programare structurat

k=k+1
pn k=n
a[j]=a[i]; a[i]=min; i=i+1
pn i=n

scrie (a[i], i=1, ,n)

stop

> Metoda 5: Sortarea rapid, quicksort (C. A. Hoare).
Metoda olosete procedeul divide et impera. Dac ntr-o
secven (a
p
, a
p+1
, ... , a
q
), prin interschimbri de elemente ale
secvenei se poziioneaz a
p
pe locul k, atunci se ajunge la
situaia:
a
s
a
k
a
i
pentru s {p, ... ,k-1} i t {k+1, ... , q}
n continuare se pot sorta secvenele:
(a
p
, ... , a
k-1
) i (a
k+1
, ... , a
q
) independent una de alta.

> Prezentarea algoritmului
citete n, (a[i], i=1, ,n)
s=1; stnga[1]=1; dreapta[1]=n
repet
st=stnga[s]; dr=dreapta[s]
s=s-1; i=st; j=dr; x=a[(i+j)/2]
repet
ct timp a[i]<x
execut i=i+1
ct timp x<a[j]
execut j=j-1
dac ij atunci w=a[i]; a[i]=a[j]; a[j]=w;
i=i+1; j=j-1
pn i>j

dac st<j atunci s=s+1; stnga[s]=st; dreapta[s]=j

dac i<dr atunci s=s+1; stnga[s]=i; dreapta[s]=dr
pn s=0

scrie (a[i], i=1, ,n)

stop


Structuri de date i programare structurat 109



6. Problema interclasrii.
> Formularea problemei.
Fie A = (a
1
, a
2
, ...a
m
) i B = (b
1
, b
2
, ...b
n
) doi vectori avnd
elementele ordonate cresctor. Se cere s se interclaseze cele
dou iruri, adic s se construiasc un vector:
C = (c
1
, c
2
, ...c
m+n
)
care s conin att elementele lui A ct i ale lui B n ordine
cresctoare.

Dac se compar a
i
cu b
j
sunt posibile dou situaii:
- dac a
i
<b
j
, se introduc n vectorul C elementul a
i
i
toate elementele care i succed lui a
i
n vectorul A i
sunt mai mici dect b
j
;
- dac b
j
<a
i
, atunci se introduc n C att elementul b
j

ct i elementele care i succed lui b
j
n vectorul B i
sunt mai mici dect a
i
.
n momentul n care un vector este epuizat, elementele
neparcurse ale celuilalt vector sunt introduse n C i algoritmul
se termin.

> Prezentarea algoritmului
citete m, n, (a[i], i=1, ,m) (b[i], j=1, ,n)
i=1; j=1; k=0;
ct timp (im) i (jn)
execut k=k+1
dac a[i]b[j] atunci c[k]=a[i]; i=i+1

altfel c[k]=b[j]; j=j+1
dac i>m atunci pentru s=j, n, 1
execut k=k+1; c[k]=b[s]
altfel pentru s=i,m,1
execut k=k+1; c[k]=a[s]

scrie (c[k], k=1, ,m+n)




110 Structuri de date i programare structurat

5. Limbaje de programare

5.1. Elemente de baz ale limbajelor de programare

Orice program descrie o transformare a unei mulimi de valori
iniiale, numite date de intrare sau fiiere de intrare, ntr-o alt
mulime de valori numite rezultate, sau date de ieire sau fiier de
ieire. ntre noiunea de program i noiunea de algoritm exist o
strns legtur. Programul adapteaz de fapt un algoritm la
necesitile calculului automat.

Folosirea programelor devine posibil prin activarea
componentei numit program de translatare, care traduce i
convertete n una sau mai multe etape un program scris ntr-un
limbaj de programare, numit program surs ntr-un ir de
instruciuni executabile, n format binar, numit program obiect.
Exist dou tipuri de programe translatoare: interpretoare i
compilatoare.

Programele interpretoare genereaz cod dup fiecare
instruciune surs, nainte de executarea grupului de instruciuni.
Pentru programele compilatoare translatarea se realizeaz pe
ntreg grupul de instruciuni, o singur dat, rezultnd un program
obiect care reprezint forma binar a programului iniial.
Ca realizare practic, este de remarcat c un interpretor ocup
memoria intern i pe durata execuiei programului n timp ce, n
cazul compilrii, o dat generat programul obiect, compilatorul nu
mai ocup spaiu de memorie.

Programele surs sunt constituite dintr-o succesiune de
simboluri (caractere), numite entiti, care sunt admise n scrierea
programelor i crora li se asociaz o definiie sintactic. n limbajele
de programare se consider drept entiti: identificatorii, constantele,
cuvintele cheie, operatorii. etc. Pentru a se genera forma obiect se
apeleaz, succesiv, mai multe resurse ale programului translator:
Structuri de date i programare structurat 111




1
o
Analizorul lexical primete la intrare irul simbolurilor i
produce la ieire un ir de entiti.
2
o
Analizorul sintactic, avnd la intrare irul de entiti,
verific dac acestea sunt corecte din punct de vedere al definiiilor
sintactice.
3
o
Generatorul de cod admite la intrare reprezentarea
structurii sintactice a programului surs i produce translatarea
programului n instruciuni executabile direct de calculator.

Pentru constituirea formei textuale a programului surs se au n
vedere urmtoarele elemente (legate de teoria limbajelor formale):

E vocabularul (alfabetul) - o mulime nevid, finit de
simboluri (caractere).
E fraza - o secvena finit de simboluri n conformitate cu
vocabularul, lund eventual n considerare i fraza vid.
E limbajul - o mulime de fraze pe vocabular.

Construirea frazelor n cadrul unui limbaj se face prin utilizarea
unui sistem generator numit gramatic. Oricare fraz se poate
construi prin metode bine definite, folosind regulile gramaticii numite
producii.

Programul este de fapt o fraz corect pe un vocabular.
Analizorul
lexical
Analizorul
sintactic
Generatorul
de cod
PROGRAM
SURS
PROGRAM
OBIECT
112 Structuri de date i programare structurat

Limbajul de programare apare ca o mulime de programe
alctuite conform unor reguli - regulile gramaticale ale limbajului.

Frazele unui program reprezint de fapt descrieri ale unui
algoritm de calcul.

Dezvoltarea limbajelor de programare a evoluat n strns
legtur cu dezvoltarea hardware-ului, rezultnd urmtoarea
clasificare a acestora:
O limbaje n cod main (generaia zero de limbaje), cu o
semantic i o sintax specific fiecrui calculator ;
O limbaje de asamblare (generaia unu) n care operanzii i
adresele sunt reprezentai prin mnemonice;
O Limbaje procedurale (de nivel nalt) - limbaje independente de
calculator (C, Pascal, Java, Basic, FoxPro, etc.);
O Limbaje neprocedurale (de nivel foarte nalt), specializate pe
tipuri de aplicaii - rezolv prescripii i nu instruciuni (SQL,
QBE, etc.).

Operaiile de baz care intr n componena unui program
sunt:
O operaia de citire a unei valori din fiierul de intrare i
nregistrarea ei n memorie;
O operaia de scriere a unei valori din memorie n fiierul de
ieire;
O operaia de atribuire prin care se atribuie unei variabile
(tot n memorie) o valoare calculat conform unei formule,
cu operatorii de calcul permii.

Important este caracterul adaptiv al unui program care se
realizeaz ntr-o construcie modular i structurat .
113 Bibliografie


Bibliografie

Chan M.,
Griffith S., Iasi A.
Java, 1001 Secrete pentru programatori, Ed. Teora, 2001


Cosma E.

Informatic n economie, Ed. ExPonto, 2003
Davidescu N., Hotran S.,
Ivancenco V., .a.
Produse program generalizabile n domeniul financiar
contabil, Ed. Didactic i Pedagogic, Bucureti, 1997

Levine J., Baroudi C. Internet pentru toi, Ed. Teora, 1996

Lungu I., Bodea C.,
Bdescu G, Ioni C.
Baze de date. Organizare, proiectare i implementare,
Ed. All, 1995

Nossiter J. Utilizare Microsoft Excel 97, Ed. Teora,1998

PerkinsJ. Morgan B. SQL fr profesor n 14 zile, Ed. Teora 1998

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