Sunteți pe pagina 1din 54

UNIVERSITATEA DANUBIUS din GALAI

FACULTATEA DE TIINE ECONOMICE

SPECIALIZAREA: CONTABILITATE I INFORMATIC DE GESTIUNE

Programarea calculatoarelor
Note de curs

Lect.univ.dr. Laura Danilescu

Galai

2015
CUPRINS
CUPRINS ................................................................................................................ 1
CAP 1. INTRODUCERE IN STUDIUL LIMBAJELOR DE PROGRAMARE .... 3
1.1. Noiuni generale privind limbajele de programare ......................................................... 3
1.2. Clasificarea limbajelor de programare ............................................................................ 6
1.3. Structurarea i organizarea datelor. Tipuri de date utilizate n limbajele de programare
........................................................................................................................................................... 14
1.4. Caracterizarea principalelor limbaje de programare .................................................... 19
1.5. Criterii de selecie a limbajelor de programare ............................................................. 22

CAP 2. METODE I TEHNICI DE PROGRAMARE ......................................... 24


2.1. Evoluia metodelor de programare ............................................................................... 24
2.2. Metode i tehnici de programare .................................................................................. 24
2.2.1. Metoda programrii clasice .................................................................................... 24
2.2.2. Metoda programrii modulare ............................................................................... 24
2.2.3. Metoda programrii structurate ............................................................................ 25
2.2.4. Metoda programrii pe obiecte ............................................................................. 26
2.2.5. Metoda programrii vizuale ................................................................................... 27
2.3. Elaborarea produselor-program. Activiti specifice elaborrii produselor- program . 27
2.3.1. Modelul n cascad ................................................................................................. 27
2.3.2. Modelul n V ........................................................................................................... 29
2.3.2. Activiti specifice elaborrii produselor-program ................................................ 30
2.3.3. Modelul evolutiv ..................................................................................................... 34
2.3.4. Modelul n spiral ................................................................................................... 34
2.3.5. Modelul liniar.......................................................................................................... 35
2.3.6. Modelul RAD (Rapid Application Development) .................................................... 36

CAP 3. PROGRAMELE DE CALCUL TABELAR I UTILIZAREA LOR N


GESTIUNEA NTREPRINDERII .................................................................................... 39
3.1 Noiuni de baz privind programele de calcul tabelar ................................................... 39
3.2. Principii de realizare a aplicaiilor informatice n programele de calcul tabelar ........... 45
3.2.1. Reguli de respectat n proiectarea i utilizarea aplicaiilor n programele de calcul
tabelar ........................................................................................................................................... 45

-1-
3.2.2. Etapele proiectrii aplicaiilor n programele de calcul tabelar ............................. 47
3.3. Categorii de funcii n programele de calcul tabelar ..................................................... 49
3.4. Faciliti grafice n programele de calcul tabelar .......................................................... 51
3.5. Simulri utiliznd programele de calcul tabelar ............................................................ 52
3.6. Baze de date Excel ......................................................................................................... 52

-2-
CAP 1. INTRODUCERE IN STUDIUL
LIMBAJELOR DE PROGRAMARE
1.1 Noiuni generale privind limbajele de programare
1.2 Clasificarea limbajelor de programare
1.3. Structurarea i organizarea datelor. Tipuri de date utilizate n limbajele de
programare
1.4. Caracterizarea principalelor limbaje de programare
1.5. Criterii de selecie a limbajelor de programare.

1.1. Noiuni generale privind limbajele de


programare
Programarea este procesul de definire a instruciunilor pe care calculatorul le va
executa n scopul rezolvrii unei probleme. Aceasta se realizeaz prin organizarea i
comunicarea ideilor ntr-o form inteligibil pentru calculator, iar rezultatul este programul.
Programarea reprezint totalitatea activitilor de concepere, dezvoltare i ntreinere
a programelor.

n sens clasic, un program este un ansamblu de instruciuni i/sau comenzi scrise cu


ajutorul unui limbaj de programare, care descriu prelucrrile de date pe care trebuie s le
execute calculatorul n scopul rezolvrii unei probleme.
Instruciunile i/sau comenzile reprezint informaii codificate prin care se transmite
calculatorului aciunea ce urmeaz a fi executat. La rndul lor acestea pot fi structurate n
dou mari grupe:

instruciuni de prelucrare prin care se realizeaz introducerea/extragerea datelor


n/din sistem, efectuarea operaiunilor de calcul, efectuarea transferului de date ntre diferite
zone de memorie etc.;

instruciuni de organizare (de structurare intern a programului) ce asigur


codificarea structurilor de control i de apelare sau de salt la alte programe.
n programarea obiectual, un program este un ansamblu de entiti informatice,
numite obiecte, care interacioneaz i comunic prin mesaje.

-3-
Programul scris de om, se numete program-surs. Pentru a putea fi neles de
calculator, el trebuie adus n format executabil. Obinerea formatului executabil se realizeaz
prin traducere, cu ajutorul unor programe speciale, care pot fi interpretoare sau
compilatoare.

Industrializarea activitii de programare a determinat apariia conceptului de


ingineria programrii (software engineering), un domeniu care se ocup cu identificarea
celor mai adecvate soluii, metode, procedee i instrumente care s conduc, n condiii
optime de productivitate i eficien, la elaborarea de produse-program performante. n anii
80 s-a fcut trecerea la ingineria programrii asistate de calculator (CASE- Computer Aided
Software Engineering) Primele produse CASE tratau faze de elaborare a produselor-program
(faza de analiz - cum este Visual Analyst sau faza de generare a programelor). Dup 1985 au
aprut produse CASE integrate, ca EXCELERATOR sau MANTIS.
Principalele componente ale unui produs CASE sunt: modele pentru structurarea
datelor i crearea dicionarului de date; module specifice de proiectare a diagramelor i
fluxurilor, interfee cu utilizatorul, interfee de reea.
Produsele CASE sunt de 2 tipuri:

FRONT-END destinate automatizrii activitii de analiz i proiectare, conducnd


la obinerea de diagrame, biblioteci de date, formulare de ecran etc.
BACK-END destinate generrii automate a programelor ntr-un limbaj foarte nalt,
COBOL, ADA, limbajele din generaia a-4-a.
CASE-ul integrat reprezint o combinaie a primelor dou care are ca mecanism de
integrare, un dicionar de date extins, numit bibliotec central cu rolul de pstrare,
administrare i utilizare partajat a informaiilor.
Produsele CASE asigur o gam variat de activiti:
ntocmirea i listarea diagramelor folosind Generatoarele de machete i diagrame;
proiectarea machetelor de ecran i a rapoartelor folosind Generatoarele de formate,
de ecran i de rapoarte;
schimbul de informaii ntre depozitul central i celelalte instrumente de dezvoltare
prin intermediul componentelor de import/export;
verificarea i analiza specificaiilor aplicaiilor prin Programe de analiz;
scrierea automat a programelor pe baza specificaiilor prin Generatoare de cod;
redocumentarea, restructurarea, redezvoltarea sistemelor deja implementate prin
Programe de ntreinere i dezvoltare.
Pe baza standardelor existente, compania ORACLE i-a definit propria metodologie
CASE. Aceasta acoper toate fazele din dezvoltarea programelor (analiz, proiectare,
implementare, testare i distribuie).
-4-
Clasic, un limbaj de programare este definit ca un limbaj artificial creat de om care
servete la exprimarea, sub form de instruciuni executabile de ctre calculator, a
algoritmului de rezolvare a unei probleme.
Algoritmul indic modul de prelucrare a datelor iniiale i modificarea lor pas cu pas
pn la obinerea rezultatelor finale. Natura datelor, organizarea lor i relaiile dintre ele
trebuie precizate prin program. Limbajele de programare ofer faciliti corespunztoare de
descriere.
Din punct de vedere funcional, un limbaj de programare reprezint o notaie
formal pentru descrierea proceselor de calcul, ntr-un mod apropiat gndirii umane i cu un
grad mare de independen fa de calculator.

Definiia modern consider limbajul de programare un instrument de dialog om-


calculator, care este neles de ambii participani la dialog.
Un limbaj de programare se bazeaz pe un set de simboluri elementare (de obicei,
toate literele, operatorii aritmetici + - * /, alte caractere speciale), numit alfabetul limbajului.
Aceste simboluri sunt asamblate n cuvinte-cheie sau expresii care formeaz
vocabularul limbajului (instruciuni, comenzi, funcii, variabile, constante). Ansamblul
regulilor prin care se construiesc instruciunile constituie gramatica limbajului. Exprimarea
regulilor gramaticale din limbajul de programare se realizeaz cu ajutorul unui metalimbaj
(un limbaj ce folosete semne convenionale pentru descrierea regulilor gramaticii limbajului
de programare). Elementele de metalimbaj apar n documentaiile care nsoesc produsele
program.
Exemple:
cuvinte rezervate sunt scrise cu majuscule, sunt specifice unui limbaj i trebuie
folosite exact n aceeai form. Ex.: comenzi, clauze i funcii n FoxPro - LIST,
CREATE, FOR, IIF() etc.;
cuvinte utilizator - sunt scrise cu minuscule i reprezint construcii utilizator. Ex.:
codmat, matricol, fismat etc.;
< > - ncadreaz construciile utilizator. Ex. <nume_tabel>, <nume_cmp>;
[ ] - ncadreaz construciile opionale (programatorul decide dac acestea vor fi
sau nu folosite) Ex.LIST [FIELDS <lista_cmpuri>] etc.;
{ } sau | - sau exclusiv din elementele prezente se va alege unul singur. Ex. TO
PRINT| TO FILE, ON|OFF, {>=|<+} etc.;
- construcia precedent se poate repeta de un numr arbitrar de ori. Ex.
<nume_cmp1>
n practic exist i ncercri de standardizare a metalimbajelor, cele mai cunoscute
fiind BNF (Backus Naur Form) i extensia acestuia EBNF(Extended BNF).

-5-
Mediile de programare permit automatizarea procesului de construire i testare a
programelor. n componena lor intr un editor de texte, un compilator, un editor de legturi,
un depanator.

1.2. Clasificarea limbajelor de programare


J.E. Sammet a realizat ntr-o lucrare, o clasificare care include urmtoarele clase de
limbaje: procedurale, neprocedurale, orientate pe problem i speciale. ncadrarea unui limbaj
de programare anume ntr-o clas este uneori dificil de realizat.
Limbajele procedurale (numite i limbaje de nivel nalt) sunt utilizate pentru a
descrie un algoritm de rezolvare a unei probleme. Se descriu complet operaiunile care se
execut i ordinea de execuie a acestora. Ele rspund la ntrebarea CUM?. Exemple:
COBOL, FORTRAN, BASIC, ALGOL, PASCAL.
Limbajele neprocedurale (numite i limbaje de nivel foarte nalt) ofer soluia de
rezolvare a unei probleme, dar fr a da detalii asupra modului concret de rezolvare. Ele
rspund la ntrebarea CE?. Exemplu: limbajele din SGBD, PROLOG, LISP.
Limbajele speciale descriu funcii specifice ale produselor-program. De exemplu,
procesorul Word are inclus un limbaj de scriere a macrourilor.
Limbajele orientate pe problem deservesc domenii restrnse de activitate. Astfel de
limbaje sunt limbajele de simulare, ca GPSS (General Purpose System Simulation) care este
conceput pentru descrierea i rezolvarea problemelor de simulare.

Evoluia limbajelor de programare a fost marcat de anumite tendine:


Prima este trecerea de la programele specializate pe un tip de probleme, elaborate de
programatori profesioniti la pachetele de software cu destinaii diverse adaptate la
nivelul utilizatorilor finali neinformaticieni. Aceast tendin s-a amplificat odat cu
apariia microcalculatoarelor.
A doua tendin este ndeprtarea de (1) limbajele de programare tehnice, foarte dificil
de utilizat, specifice nceputurilor programrii (limbaje de generaia I i a II-a) i de (2)
limbajele procedurale. Tendina este ctre limbajele neprocedurale i limbajele
naturale, apropiate de limbajul uman, tendin care s-a accentuat odat cu apariia celei
de-a IV-a generaii de limbaje. Ea continu prin mbuntirea interfeelor grafice i
dezvoltarea inteligenei artificiale, care produce ateptatele limbaje naturale. Este
vorba de cea de-a V-a generaie de limbaje de programare, reprezentat de pachete de
programe asistate de experi. i n pachetele de programe actuale sunt incorporate
unele module de ajutor sau module de sprijin inteligente (wizard) care ofer
utilizatorului asisten n rezolvarea unor probleme (realizarea unui grafic sau tabel).

-6-
Generaiile de limbaje care pot fi identificate sunt:
Generaia I - limbajele n cod main, n care toate instruciunile sunt numerice (iruri
de 0 i 1), fiind redactate plecnd de la un cod binar propriu fiecrei maini (calculator).
Utilizatorul trebuia s in minte toate codurile numerice, ceea ce la calculatoarele moderne ar
nsemna mii de coduri i adresele de memorie utilizate, astfel c productivitatea este foarte
redus. Programele scrise n limbaj main puteau fi executate numai pe calculatorul pentru
care au fost elaborate (nu erau portabile). Principalele deficiene ale acestor limbaje sunt
legate de dificultile de corectare a programelor, aceste programe fiind mari, iar erorile greu
de identificat.
Generaia a II-a - limbajele de asamblare, care nlocuiesc codurile numerice cu cele
mnemonice, adresele fiind alocate de sistem. Utilizarea acestor limbaje presupune existena
unor programe speciale numite asambloare care s traduc instruciunile n limbaj cod
main. Instruciunile se traduc 1 la 1, adic fiecrei instruciuni n limbaj de asamblare i
corespunde o instruciune n cod main. Operaia poart numele de asamblare, iar rezultatul
se numete program obiect executabil. Pentru a reprezenta codurile de operaii i poziiile din
memorie se folosesc simboluri, motiv pentru care aceste limbaje se mai numesc i limbaje
simbolice. Cteva limbaje din aceast categorie sunt: ASSIRIS, ASSEMBLER, MAGIRIS,
MASM (Microsoft Asambler). Reamintim c orice microcalculator are un limbaj de
asamblare specific, dup tipul microprocesorului (Intel 80486, PENTIUM PRO).
Execuia unui program surs scris ntr-un limbaj de asmblare are loc pe parcursul a
dou etape: asamblarea i execuia propriu-zis. Schematic, se obine urmtoarea
reprezentare:

Figura 1. Tratarea programelor n limbaje de asamblare

-7-
Limbajele de asamblare permit s se utilizeze abrevieri alfabetice (mnemonice) care
sunt mai uor de memorat dect adresele numerice de date (Ex. ADD - adunare, DIV
mprire). Ele simplific enorm programarea, deoarece elimin memorarea poziiilor din
memorie pentru date i instruciuni. Totodat, limbajul de asamblare rmne un limbaj
orientat main deoarece instruciunile n limbaj de asamblare corespund instruciunilor n
limbaj main conform modelului de calculator utilizat. O singur instruciune n limbaj de
asamblare corespunde unei singure instruciuni n limbaj main i deci este nevoie de acelai
numr de instruciuni n ambele cazuri.
Aceste limbaje sunt nc utilizate pentru programarea unor pri mici ale software-ului
de sistem, datorit vitezei de execuie ridicate, chiar dac limbajele evoluate solicit un efort
de programare mai mic.
Exemplu: S se calculeze media aritmetic a trei numere M=(X+Y+Z)/3
LDA X ncarc X n registrul A
ADD Y adun Y la coninutul registrului A
ADD Z adun Z la coninutul registrului A
DIV 3 mparte rezultatul la 3
STA B stocheaz rezultatul final n B
Limbajele n cod main i de asamblare sunt limbaje de nivel redus.
Generaia a III-a - limbajele de nivel nalt sau evoluate, care au dominat peste 30 de
ani piaa informaticii. Reprezentative sunt: FORTRAN pentru ingineri i matematicieni i
COBOL pentru mediul economic. Caracteristica lor principal este proceduralitatea (adic
urmresc pas cu pas procedura de rezolvare a unei probleme). Au fost create mii de astfel de
limbaje, unele avnd destinaii precise (FORTRAN i ALGOL sunt destinate calculelor
tiinifice, COBOL este destinat aplicaiilor economice, SIMULA fiind un limbaj de simulare,
etc.), iar altele avnd utilizare larg (BASIC, PASCAL, C). i instruciunile scrise n aceste
limbaje trebuie traduse n cod main; pentru aceasta se utilizeaz dou categorii de
translatoare:
compilatoare - sunt translatoare care citesc tot programul n limbajul n care este scris
(n cod surs) i apoi l traduc n cod main (sunt utilizate pentru COBOL,
FORTRAN);
interpretoare - sunt translatoare care citesc pe rnd fiecare instruciune din programul
surs, o traduc i o execut (sunt utilizate pentru BASIC, PASCAL).
Prin urmare programele surs redactate n limbaje evoluate sunt supuse unui proces de
tratare desfurat pe trei faze:
compilarea /interpretarea;
editarea de legturi;

-8-
execuia propriu-zis.
Schematic se obine urmtoarea reprezentare:

Figura 2. Tratarea programelor n limbaje evoluate

Avantaje: sunt mai uor de nvat i utilizat dect limbajele de asamblare; sunt
portabile (pot fi utilizate i pe un alt calculator); pot fi oricnd modificate i actualizate.
Ctigul de productivitate este remarcabil: o linie de program scris cu un limbaj de
generaia a III-a reprezint mai mult de 100 de linii de instruciuni n cod-main.
Dezavantaje: au reguli i sintaxe rigide i deloc uor de nvat pentru un utilizator
nespecialist; solicit mult timp pentru translatare n cod main (descoperirea unei erori
nseamn nu numai corectarea ei, ci i traducerea din nou n cod main).
Exemplu: Folosind limbaje din generaia a 3-a s se codifice X = Y Z
n BASIC LET X = Y - Z
N PASCAL X : = Y-Z
Aceste limbaje se caracterizeaz prin proceduralitate, adic evenimentele se succed
secvenial, unul dup altul. Exist n literatura de specialitate o mprire a LG3 n generaii.
Cu meniunea c exist i excepii, iat care sunt acestea:

-9-
Generaia I se ncadreaz n intervalul 1954 1958. Comenzile erau bazate pe
expresii matematice. Reprezentani: FORTRAN I, ALGOL 58;
Generaia a II-a acoper intervalul 1959 1961 (FORTRAN II, ALGOL 60,
COBOL). Apar subrutinele programate, se definesc structurile de date i lucrul cu fiierele de
date;
Generaia a III-a cuprinde intervalul 1962 - 1970 i este reprezentat de limbaje de
programare structurate (ALGOL 68, PL/1, PASCAL, BASIC, COBOL strucutrat). Se impun
principiile programrii structurate. Realizarea unui program ncepe cu definirea principalilor
pai i continu n aceast manier pn cnd ntregul program este dezvoltat. Ideea
structurrii a aprut datorit problemelor ce apreau la dezvoltarea de aplicaii complexe, cea
mai relevant fiind lipsa viziunii de ansamblu asupra programului. Dei primele concepte ale
programrii structurate au aprut nc de la nceputul anilor 60, implementarea lor s-a fcut
n timp, n sprijinul acesteia crendu-se metodologiile care ofereau direciile de urmat n
proiectarea de aplicaii, pas-cu-pas.
Dup anii 70 au aprut tot mai multe tipuri de LP, astfel ca ncadrarea lor n generaii
a devenit tot mai dificil. Programarea structurat s-a generalizat. n domeniul aplicaiilor
economice, COBOL deinea 80% din totalul acestora.
Dup impunerea metodologiilor standardizate, muli programatori au nceput s
utilizeze pentru documentarea aplicaiilor lor diagramele. Mai apoi, apariia PC-urilor i a
interfeelor grafice la nceputul anilor 80 a favorizat crearea de instrumente grafice la
dispoziia analitilor pentru crearea de diagrame structurate.
Pe de alt parte, au aprut i instrumente prin care sunt generate automat programele,
pe baza diagramelor structurate definite. Fiecare simbol grafic al unei diagrame reprezint un
cuvnt care poate fi tradus n una sau mai multe instruciuni ntr-un limbaj procedural (de
regul, COBOL).
Fiecare din instrumentele definite mai sus se ncadreaz i reprezint un produs CASE
(Computer Aided Software Engineering), iar un pachet care cuprinde att instrumente pentru
definirea diagramelor, ct i pentru generarea programelor s-au numit I-CASE (Integrated
CASE). La mijlocul anilor 80, furnizorii de CASE au crezut c produsele lor vor depi
generaia limbajelor procedurale i vor impune un nou standard n dezvoltarea de aplicaii. Nu
a fost aa pentru c specialitii i proiectanii de soft au neles limitele limbajelor procedurale
i au descoperit alt mod de a dezvolta software.
Generaia a IV-a (4GL) - limbajele de nivel foarte nalt, care au aprut n primul rnd
pentru utilizatorii nespecialiti, numii i utilizatori finali. Se caracterizeaz prin
neproceduralitate (utilizatorul trebuie s-i spun calculatorului CE S FAC, i nu CUM S
FAC) i este un limbaj conversaional, interactiv. Se bazeaz n mare msur pe utilizarea
meniurilor i interfeelor grafice, fiind uor de nvat (ofer faciliti de tip HELP sau
Wizard).
-10-
Evenimentul ce a perturbat evoluia limbajelor procedurale a fost apariia i, mai ales,
rspndirea PC-urilor. La mijlocul anilor 80 a nceput declinul mainframe-urilor si al
prelucrrii centralizate a datelor. Managerii erau ncntai de posibilitile pe care le oferea
PC-ul n a-i rezolva singuri multe din probleme, mai ales odat cu apariia interfeelor
grafice. Utilizatorii de PC-uri nu-i propuneau s rezolve probleme complicate i s dezvolte
aplicaii complexe, astfel c nu aveau nevoie de limbaje declarative. Ei cereau limbaje grafice,
prietenoase, de aceea limbajele procedurale au evoluat altfel dect ctre declarativ. A IV-a
generaie de limbaje de programare a fost orientat ctre utilizatori, fiind numit i generaia
utilizatorilor finali. Productorii de software s-au orientat ctre crearea de instrumente i
medii de lucru prietenoase, iar accentul s-a mutat pe interfaa cu utilizatorul. O interfa
grafic, simpl, dar nu simplist, care s ofere utilizatorului un mediu de lucru eficient i
prietenos n acelai timp a devenit cheia unui soft de succes.
Ca urmare, caracteristicile limbajelor de generaia a IV-a pot fi rezumate astfel:
neproceduralitate, interfa prietenoas i eficacitate.
Majoritatea specialitilor grupeaz limbajele din generaia a-4-a n urmtoarele clase
de produse:
limbaje (instrumente) de interogare;
generatoare de rapoarte;
generatoare de aplicaii i /sau proiecte;
generatoare de grafice;
instrumente de sprijinire a deciziilor.
La ora actual, constructorii de software ofer produse care integreaz toate aceste
funciuni. De exemplu, programul de calcul tabelar EXCEL este un instrument de sprijinire a
procesului decizional, dar care ofer i o vast gam de alte faciliti: generarea graficelor,
obinerea, actualizarea i interogarea bazelor de date, generarea rapoartelor etc.
Limbajele de interogare la rndul lor pot fi de dou tipuri:
limbaje de interogare simpl care permit consultarea fiierelor i bazelor de date
pe un singur tip de nregistrare logic utiliznd un criteriu de selecie mai puin
complex;
limbaje de interogare complex care permit consultarea mai multor tipuri de
nregistrri logice din una sau mai multe baze de date devenind posibil asocierea
unor structuri foarte diferite.
n cea de a doua subgrup intr SQL (Structure Query Language), QBE (Query By
Example), Hiper Talk, INTTELECT, Quel etc. Cea mai mare rspndire o cunoate SQL, un
nucleu SQL fiind prezent n orice sistem de gestiune a bazelor de date (dBASE, CLIPER,
FoxPro, Focus, RAMIS, Oracle).

-11-
Generatoarele de rapoarte (situaii) ndeplinesc, n principal, trei funcii eseniale:
selecia informaiilor solicitate, ordonarea datelor dup criterii prestabilite i editarea
rapoartelor ntr-o structur formalizat folosind un numr minim de instruciuni de
programare.
n general, toate sistemele de gestiune a bazelor de date precum i programele de
calcul tabelar (spreadsheet-urile) au ncorporate generatoare de rapoarte. Cele mai populare
instrumente din aceast categorie sunt: Easytrieve Plus, Datatrieve, Mark V4.
Exist i generatoare de rapoarte care sunt proiectate pentru a fi utilizate de ctre
specialiti RPG III (Report Program Generator).
Generatoarele de aplicaii i/sau proiecte se adreseaz n special utilizatorilor
cunosctori ai tehnicilor de programare. Ele permit ca pe baza unor descrieri externe a datelor
i a modului de organizare, prelucrare i afiare a acestora s se accelereze generarea
(codarea) programelor, folosind un limbaj specific sau chiar un limbaj de generaia a-3-a
(COBOL). Intr n aceast clas de generatoare CSP (Cross System Product IBM) FOCUS,
Mantis, Natural, NOMAD2, RAMIS 1, IDEAL MAPPER, modulele de tip RAD pentru
dezvoltarea rapid a aplicaiilor.
O categorie aparte o reprezint pachetele-aplicaii specializate pentru aplicaii
economice generale (finane-contabilitate) sau chiar numai pentru procesri de texte,
tehnoredactri (DeskTop Publishing).
Generatoarele de grafice sunt instrumente ce permit reprezentarea sub form grafic
(histograme, bare, linii, cercuri etc. bi sau tridimensionale, cu opiuni deculoare, text,
legend), a rezultatelor prelucrrii datelor. Ele sunt independente (Tellal Graph, SAS,
ADRS/B6) sau ncorporate n spreadsheet-uri (LOTUS, QUATTRO, EXCEL) sau SGBD-uri
(FoxGraph).
Instrumentele de sprijinire a deciziilor se adreseaz experilor din diferite domenii
de activitate (finane, management, contabilitate, marketing etc.) pentru elaborarea i
urmrirea bugetelor, analiza investiiilor, studiul pieei etc. permind realizarea simulrii i
modelrii matematice a fenomenelor economice. Intr n aceast clas programele de calcul
tabelar (QUATTRO, LOTUS, EXCEL .a.), pachetele program statistice (SPSS, SAS etc.).
Generaia a V-a de limbaje a fost anunat de proiectul ntocmit de japonezi nc din
1990, dar singurul limbaj recunoscut ca avnd caracteristicile generaiei a V-a este PROLOG,
fiind utilizat n realizarea de sisteme expert. Ea cuprinde limbajele care sunt sau vor fi
ndreptate spre exploatarea bazelor de cunotine, crearea sistemelor expert i mai general spre
rezolvarea problemelor legate de inteligena artificial.
Dup cum se observ limbajele au evoluat continuu, aa cum rezult din figura 3.

-12-
Figura 3. Evoluia limbajelor de programare

Aa cum rezult i din figura 3, dou sunt tendinele care au marcat evoluia limbajelor
de programare. Prima este trecerea de la programele specializate pe un tip de probleme,
elaborate de programatori profesioniti la pachetele de software cu destinaii diverse adaptate
la nivelul utilizatorilor finali neinformaticieni. Aceast tendin s-a amplificat odat cu
apariia microcalculatoarelor. Tendina principal n prezent este ctre instrumente avansate
de dezvoltare a aplicaiilor orientate pe obiect. A doua tendin este ndeprtarea de limbajele
de programare tehnice, foarte dificil de utilizat, specifice nceputurilor programrii (limbaje
de generaia I i a II-a) i de limbajele procedurale. Tendina este ctre limbajele
neprocedurale i limbajele naturale, apropiate de limbajul uman, tendin care s-a accentuat
odat cu apariia celei de-a IV-a generaii de limbaje. Ea continu prin mbuntirea
interfeelor grafice i dezvoltarea inteligenei artificiale, care produce ateptatele limbaje
naturale. Este vorba de cea de-a V-a generaie de limbaje de programare, reprezentat de
pachete de programe asistate de experi. i n pachetele de programe actuale sunt ncorporate
unele module de ajutor sau module de sprijin inteligente (wizard) care ofer utilizatorului
asisten n rezolvarea unor probleme (realizarea unui grafic sau tabel).
Toate direciile de dezvoltare a software-ului enumerate converg ctre o direcie
principal: instrumente avansate de dezvoltare a aplicaiilor, orientate pe obiect.

-13-
1.3. Structurarea i organizarea datelor. Tipuri de
date utilizate n limbajele de programare
Dezvoltarea rapid i complex a societii a dus n mod inevitabil la o sporire
nsemnat a volumului de date, care tind s aglomereze i s blocheze canalele informaionale
n aceeai msur n care crete continuu nevoia de informaie.
Rezult c orice organism economic se confrunt cu un volum mare de date, supus
unor prelucrri relativ simple, dar cu un caracter repetitiv i cu o frecven mare. n acelai
timp datele se caracterizeaz printr-o structur uniform rezultat din structura documentelor
primare specifice operaiilor economice. Toate acestea reprezint, de fapt, restricii n
activitatea de structurare i organizare a datelor economice n sistemele informatice.
Organizarea datelor reprezint procesul de identificare, definire, structurare i
memorare a datelor.
O bun organizare a datelor impune folosirea unor structuri care s permit o
prelucrare cu un cost ct mai redus.
O colecie de date pe care s-a definit o structur, creia i este specific un anumit
mecanism de selecie i identificare a elementelor componente constituie o structur de date.
Toate structurile de date care au aceeai organizare i sunt supuse acelorai operaii
formeaz un anumit tip de structur de date. Pentru specificul activitilor economice fiecare
nivel de abstractizare implic: date elementare i date structurate.
Noiunea de dat elementar se refer la mulimea ordonat i finit de valori, de un
anumit tip, asupra crora se pot efectua operaii.
O dat care apare ca entitate indisolubil att n raport de informaia pe care o
reprezint, ct i n raport de procesorul care prelucreaz se numete dat elementar.
Cel mai des ntlnite tipuri de date elementare n limbajele de programare sunt:

tipul numeric se includ numerele ntregi, reale i complexe i asupra crora se pot
realiza operaii de adunare, scdere, etc.;

tipul logic (boolean) este utilizat pentru precizarea strilor de adevr (TRUE, YES)
sau neadevr (FALSE, NO) ale unui enun. Asupra acestora se pot efectua operaii logice:
AND, OR, NOT;

tipul caracter - conine o mulime de caractere alfanumerice, n cadrul acestora


putndu-se defini operaii de concatenare, ordonare etc.;

tipul pointer - conine adrese ctre alte date elementare;

-14-
Aceste tipuri de date sunt elemente invizibile ale limbajelor de programare, iar
structura lor intern nu este accesibil programatorului.
Datele structurate sunt colecii de date elementare care, ntr-un anumit sens, sunt n
relaii unele cu altele. Natura relaiei se stabilete la crearea structurii i poate diferi n funcie
de nivelurile de abstractizare.
Cele mai utilizate date structurate sunt:

articolul;

fiierul;

tabloul.

Articolul este o structur de tip arborescent ale crui cmpuri (cmpul reprezentnd o
mrime ce poate lua valori diferite dintr-o multitudine de valori posibile, face excepie cmpul
boolean care poate lua doar dou valori) sunt descendenii rdcinii (nivelul 1), subcmpurile
sunt descendenii cmpurilor (nivelul 2) .a.m.d. Cmpurile unui articol pot fi date elementare
sau grupuri de date de diverse tipuri. n principiu, fiecare cmp sau subcmp se definete prin
urmtoarele atribute:
nume - un cod unic de identificare;
tip - natura datei;
lungime - numrul total de caractere;
partea zecimal specificat numai pentru datele numerice.
De exemplu, articolul PRODUSE poate avea n structur urmtoarele cmpuri:

Nume Tip Lungime Partea zecimal


COD N 5 0
DENUMIRE C 10
PRE N 9 2
STOC N 8 3

Fiierul este o structur de date omogene din punct de vedere al semnificaiilor i al


cerinelor de prelucrare, nregistrate pe un suport i care pot fi exploatate individual.
ntr-un fiier trebuie s distingem articolul tip (structura articolului) care este o
modalitate de a descrie dac un obiect aparine sau nu la o clas de obiecte, de realizrile
(articolele) care sunt elemente ale clasei de obiecte descrise.
Tabloul este o colecie de date de acelai tip, aranjate ntr-o structur rectangular, cu
una sau mai multe dimensiuni. Tablourile cu o dimensiune se numesc vectori, iar cele cu mai

-15-
multe dimensiuni se numesc matrici sau masive. Pentru fiecare dimensiune se asociaz un
indice ale crui valori sunt folosite pentru referirea elementelor tabloului.
Ex. T (i1, i2...ik), unde k reprezint numrul de dimensiuni, iar i1, i2....ik sunt
elementele tabloului T.
De exemplu, pentru introducerea notelor obinute de studeni n cele 2 sesiuni, fiecare
sesiune avnd cte 5 examene, definim variabila Nota(2,5). Vom obine un tablou de variabile
astfel:
Nota(1,1), Nota(1,2), Nota(1,3), Nota(1,4), Nota(1,5), Nota(2,1), etc.
Prelucrarea datelor presupune parcurgerea unei succesiuni ordonate de operaii care
acioneaz asupra mrimilor. Ele se pot grupa n urmtoarele categorii:
_ operaiuni de atribuire;
_ operaiuni de calcul;
_ operaiuni de decizie;
_ operaiuni de intrare /ieire;
_ operaiuni de transfer a controlului.
Operaiuni de atribuire sunt acelea prin care unui cmp i se atribuie o anumit
valoare predefinit sau rezultatul evalurii unei expresii.
TOTVAL = 0
SF = SID + RD RC
Operaiuni de calcul se definesc pe mulimea numerelor reale. Dintre acestea fac
parte: operaia de adunare, scdere, nmulire, mprire, ridicare la putere, calculul unor
expresii numerice, etc.
Ca operatori se utilizeaz:
+ pentru adunare;
- pentru scdere;
* pentru nmulire;
/ pentru mprire;
** pentru ridicare la putere.
De asemenea, n cadrul expresiilor se pot utiliza i parantezele, evaluarea acestora
fcndu-se dup regulile din algebr.
Exemplu: SALAR NET = ((NRORLUCR * TO) + SPORV) - IMPOZ
a = (b * c)**2 + 650

-16-
Operaiunile de decizie sunt utilizate pentru a delimita valoarea logic a unei
propoziii: adevrat sau fals. Ele condiioneaz executarea unor operaii sau grupuri de
operaiuni. Operatorii utilizai pentru scrierea condiiilor pot fi operatori relaionali (=, >, <, )
i operatori logici (AND, OR i NOT).
Exemplu:
IF STOCSIGUR < 10000 THEN PRINT "ATENIE! E NECESAR
REAPROVIZIONAREA"
ENDIF
sau
FOR MEDIA > 9.50 .AND. DOMICILIU ='NON IAI' PRINT 'DREPT DE
CAZARE'
Operaiunile de intrare/ieire vizeaz realizarea transferului de date ntre memoria
extern i cea intern i invers. Pentru optimizarea operaiei de intrare/ieire se interpun zone
tampon (buffere), att pentru intrare, ct i pentru ieire conform schemei urmtoare (fig. 4):

Figura 4. Transferul de date ntre memoria intern i cea extern

-17-
Cele mai utilizate operaii de I/E sunt cele de deschidere i nchidere a fiierelor i de
citire i scriere date.
Operaiunile de transfer a controlului sunt operaii de salt i de apelare. Cele de salt
au rolul de a preda controlul unei alte operaiuni dect cea imediat urmtoare, iar cele de apel
determin lansarea n execuie a unor proceduri (grupuri de operaiuni), evitndu-se descrierea
lor, de mai multe ori, n cadrul algoritmului.
Schematic, derularea unei secvene de operaiuni de apel se prezint astfel (fig. 5):

Figura 5. Derularea operaiunilor de apel

-18-
1.4. Caracterizarea principalelor limbaje de
programare
Din multitudinea limbajelor de programare practica a consacrat att limbaje de tip
universal, ct i limbaje specializate pe domenii de activitate. n continuare, fr pretenia de a
fi exhaustivi, prezentm limbajele care s-au impus n domeniul economic i n cel
tehnicotiinific.
FORTRAN (FORmula TRANslation) este un limbaj cu orientare matematic, fiind
utilizat cu precdere n aplicaii tehnice (ecuaii, operaii cu matrici, programare liniar,
simulare). Este primul limbaj de nivel nalt. Prima versiune a aprut n 1954, fiind realizat de
o echip de la IBM i urmat de alte versiuni perfecionate. 1964 este anul n care FORTRAN
a fost standardizat n SUA. A fost foarte criticat n anii 70, conferindui-se atributele greoi,
dezordonat, infantil i fr speran de a deveni adecvat. Totui, ultimele versiuni FORTRAN
au fost aduse n concordan cu noile standarde ale programrii structurate. Cu toate acestea,
este destul de puin utilizat astzi. Cele mai utilizate versiuni au fost: FORTRAN IV,
FORTRAN IV PLUS, FORTRAN 77 pentru minicalculatoare, specializat pentru prelucrri
n timp real, FORTRAN 90 variant mbuntit cu atributele programrii orientate obiect.
COBOL (COmmon Business Oriented Language) a fost primul limbaj orientat
exclusiv ctre rezolvarea problemelor economice, cum reiese i din numele su. Dintre
limbajele din generaia a 3-a este cel mai rspndit, dup FORTRAN. Se utilizeaz pentru
exploatarea unui volum mare de date cu structuri diverse (arbori, tablouri, fiiere etc.).
COBOL a fost lansat n 1964, fiind dezvoltat de o echip de specialiti, condus de o femeie
(cpt. Grace Hooper) de la Departamentul Aprrii SUA. A fost standardizat prima oar n
1968. Succesul lansrii i utilizrii n urmtorii ani (la sfritul anilor 80, ntre 60 i 75% din
aplicaiile economice erau scrise n COBOL) a fost nsoit de mai multe controverse.
Avantaje: posibilitatea manipulrii unor volume mari de date, descrierea complet a
structurilor de date, rapiditate n execuie (datorit compilrii).
Cea mai important productoare de compilatoare COBOL (firma britanic Micro
FOCUS) a lansat n 1994 COBOL orientat pe obiecte pentru microcalculatoare. La ora
actual, pentru microcalculatoare, firma Micro Focus ofer compilatoare COBOL care permit:
- dezvoltarea de aplicaii (inclusiv cu faciliti grafice) pentru lucrul n reelele de
calculatoare;
- dezvoltarea de aplicaii cross-platform destinate unei game largi de echipamente i
sisteme de operare;
- asigurarea portabilitii la nivel de programe surs.
COBOL reprezint un software complex cu un nalt grad de generalizare i care
asigur independena programelor fa de componentele hardware.

-19-
BASIC (Begginners All Purpose Instruction Code) este unul din cele mai utilizate
limbaje de generaia a III-a, poate i pentru faptul c a fost livrat odat cu sistemul de operare
MS-DOS, fiind inclus ntre aplicaiile acestuia (universalitatea i simplitatea limbajului a
determinat includerea sa n sistemele de operare). Totul a nceput n 1963, cnd profesorii
Kurtz i Kemeny de la colegiul Darmouth, SUA ncep lucrul la un nou limbaj, care s
nlocuiasc Fortran i lucrul cu cartele perforate. n 1964 este lansat prima versiune, sub
numele BASIC care avea 12 instruciuni. Prima versiune pentru microcalculatoare a fost
lansat n 1972. n 1975, Bill Gates i Paul Allen au scris primul interpreter BASIC pentru
microcalculatoare care ocupa doar 7 KB de memorie, compania Microsoft care a aprut apoi
susinnd BASIC-ul prin includerea lui n pachetul sistemului de operare MS-DOS (ncepnd
de la versiunea 5.0). Au aprut apoi zeci de versiuni de BASIC, cu diferii autori, multe dintre
ele incompatibile, ajungnd s fie denumit de unii limbajul programatorilor neprofesioniti.
De aceea, n 1983 ANSI hotrte elaborarea unui standard pentru limbajul BASIC. Acest
limbaj a cunoscut diverse variante, cele mai rspndite fiind BASICA, GWBASIC, QBASIC,
Turbo Basic i, nu n ultimul rnd Visual Basic.
PASCAL este un limbaj popular n mediul universitar (mai ales n facultile de
informatic i matematic). A aprut n 1968 i a fost denumit dup matematicianul francez
Blaise Pascal. Este un limbaj universal, caracterizat prin simplitate, eficien, accesibilitate
(chiar i pentru nceptori) i care prezint (nc de la prima versiune) toate elementele
specifice programrii structurate. Sunt preri care apreciaz c nvarea limbajului PASCAL
este indispensabil pentru formarea unor informaticieni. Dezavantaje: slaba gestionare a
datelor organizate n fiiere i incapacitatea de a manipula volume mari de date. Limbajul a
cunoscut mai multe versiuni adaptate diverselor metode de prelucrare (Pascal secvenial,
Pascal concurent, Pascal obiectual). Pascal a stat la baza elaborrii de noi limbaje precum
MODULA-1, MODULA-2, ADA. Ultimele versiuni, produse de firma Borland, au aprut sub
numele Turbo PASCAL, cu un succes remarcabil pe pia.
ADA, (Automatic Data Acquisition i totodat numele contesei de Lovelace Augusta
Ada Byron, considerat a fi primul programator din lume), elaborat la Departamentul
Aprrii SUA pentru aplicaii tehnico-tiinifice n 1979. Are multe din elementele limbajului
PASCAL, dar este mult mai complex, fiind considerat unul din cele mai dificile limbaje.
Folosit iniial n domeniul militar, la ora actual, datorit facilitilor oferite, este larg
utilizat i n aplicaiile economice.
C a fost produs de Bell Laboratories la nceputul anilor 70 (dezvolt limbajul B
elaborat de laboratoarele Bell). Este un limbaj orientat spre asigurarea fluxurilor de
instruciuni, conducnd la elaborarea de programe compacte, bine structurate. Destinat initial
programatorilor de sistem, i-a lrgit aria de utilizatori odat cu extinderea sistemului de
operare UNIX. Este limbajul de programare cu cea mai impresionant evoluie i extindere n
anii 90. C-ul preia de la limbajele de tip PASCAL gradul ridicat de portabilitate, iar de la
limbajele de asamblare rapiditatea n execuia i gestionarea eficient a memoriei. Rmne
-20-
totui un limbaj pentru profesioniti, multe aplicaii (procesoare de texte, spreadsheet-uri sau
SGBD-uri) fiind scrise cu ajutorul limbajului C. n plus, ultimele versiuni ale acestui limbaj
au transformat C ntr-un limbaj orientat pe obiect (C++). Principalii productori sunt Borland
(C++), Microsoft (Quick C, Visual C), Symantec.
RPG (Report Program Generator) este un limbaj dezvoltat de ctre firma IBM la
mijlocul anilor 60 odat cu lansarea unei noi linii de minicalculatoare proiectate pentru
afacerile mici i mijlocii. Limbajul permite ca pe baza unor specificaii ale utilizatorului, s se
genereze codul unui program care lansat n execuie va conduce la obinerea rapid i cu un
cost relativ redus, a rapoartelor dorite.
PL/1 (Programming Language 1) este un limbaj lansat de ctre firma IBM la nceputul
anilor 60, mbinnd facilitile din FORTRAN pentru aplicaii tiinifice cu cele din COBOL
pentru aplicaiile economice. La ora actual acesta nu este foarte popular, utilizarea lui fiind
limitat datorit faptului c este complex i greu de nvat
LISP (LISt Processing) este un limbaj adecvat inteligenei artificiale, utilizat mai ales
n cercetare i n domeniul inteligenei artificiale. A aprut n 1958 la Institutul Tehnologiei
din Massachussets, dar a fost considerat prea avansat pentru tehnologia vremii. Spre deosebire
de celelalte limbaje prezentate, care sunt imperative, LISP este un limbaj funcional. LISP nu
face deosebirea ntre date i prelucrri, acestea fiind considerate obiecte i tratate la fel. Se pot
declara dou tipuri de obiecte: atomi i liste.
PROLOG (PROgramming in LOGic) a fost fundamentat n 1972 la Universitatea din
Marsilia pentru aplicaii de inteligen artificial i face parte din familia limbajelor
declarative (nu algoritmice). A fost orientat spre demonstrarea de teoreme i nelegerea
limbajului natural. Permite reprezentarea i utilizarea cunotinelor, fiind utilizat n crearea de
sisteme expert. PROLOG este considerat o rzvratire mpotriva modului de programare impus
de modelul Von Neumann, iar n 1982 proiectul japonez de realizare a calculatoarelor de
generaia a V-a prevede folosirea ca limbaj de baz a limbajului PROLOG.
Smalltalk a fost dezvoltat la mijlocul anilor 70 de ctre firma Xerox Corporation i a
fost primul limbaj specific programrii orientat pe obiecte. Acest limbaj nu este greu de
nvat i utilizat dar reclam schimbarea n ntregime a modului de gndire a unui program.
Se prevede ca n viitor Smalltalk alturi de celelalte limbaje orientate pe obiect s cunoasc o
dezvoltare i utilizare deosebit.
JAVA este un limbaj orientat pe obiecte dezvoltat de firma Sun Microsystems. Are ca
scop asigurarea comunicrii ntre echipamente eterogene i distribuirea formatului executabil
al programelor n reea, fiind limbajul cel mai utilizat n reeaua INTERNET. Acest limbaj
opereaz cu tipuri obinuite de date, dispune de instruciuni speciale de protecie i ofer
faciliti de programare de tip animaie, orientare obiect, distribuie. Codul Java este portabil,
acelai program putnd fi rulat pe orice platform care deine acest mediu de execuie.

-21-
O parte din limbajele de programare, prin diversele lor versiuni, nu pot fi ncadrate
strict ntr-o anume generaie. Fiind supuse continuu perfecionrii, ele tind spre generaia
superioar celei n care au fost proiectate iniial.

1.5. Criterii de selecie a limbajelor de programare


La alegerea unui limbaj de programare trebuie avute n vedere o serie de aspecte care
s asigure eficien, siguran i flexibilitate n rezolvarea aplicaiilor utilizator. Criteriile care
stau la baza opiunii de selectare a limbajului privesc urmtorii factori:
1. tipul problemei ce urmeaz a fi rezolvat i cunotinele utilizatorului (msura
n care limbajul de programare este convenabil att la clasa de probleme, ct i
pentru utilizator)
2. tipul echipamentelor disponibile utilizatorului
3. gradul de dependen fa de echipamentul folosit i sistemul de operare
4. evaluarea rezultatelor obinute prin folosirea anterioar de ctre ali utilizatori
5. eficiena scontat prin exploatare
6. caracteristicile tehnice i funcionale generale
7. cerine de ordin economic
1. Tipul problemei ce urmeaz a fi rezolvat i cunotinele utilizatorului
Acest criteriu are n vedere selectarea acelui limbaj care s rspund cel mai bine
tipului/tipurilor de aplicaii utilizator, s asigure concomitent uurin n utilizare, un timp
minim pentru prelucrarea datelor confidenialitatea i securitatea acestora.
2. Tipul echipamentelor hardware disponibile utilizatorului
naintea alegerii limbajului trebuie efectuat o analiz a resurselor fizice existente i a
celor care urmeaz s fie achiziionate. Aceast analiz trebuie s stabileasc dac sunt
asigurate resursele minime pentru dezvoltarea i exploatarea aplicaiilor. n felul acesta se
urmrete utilizarea eficient a limbajului pe echipamentele din dotare.
3. Gradul de dependent fa de echipamentul folosit i sistemul de operare
Conform acestui criteriu, trebuie ales un limbaj de programare care s poat fi folosit
fr probleme sub sistemul de operare sub care lucreaz echipamentele din dotare. n plus,
trebuie asigurat portabilitatea programelor n cazul n care se vor achiziiona noi resurse
informatice. Trebuie asigurat creterea gradului de portabilitate cel puin la nivel de program
surs.
4. Evaluarea rezultatelor obinute prin folosirea anterioar de ctre ali utilizator
Acest criteriu cere realizarea unei documentri prealabile privind problemele cu care s-
au confruntat ali utilizatori ai limbajului (existena /inexistena unei documentaii de nvare
i utilizare, posibilitile/facilitile de rezolvare a problemelor practice etc.).

-22-
5. Eficiena scontat prin exploatare
Aceast eficien implic stabilirea parametrilor de exploatare pe fiecare etap de
realizare a programelor /produselor-program(scriere, testare, implementare, utilizare). Se are
n vedere att eficiena execuiei programului, mai ales la programele des utilizate ct i
eficiena global care ia n considerare toate fazele de elaborare i utilizare (scriere, testare,
exploatare i ntreinere). n acest context performana limbajului poate deveni o problem
mai puin important.
6. Caracteristicile tehnice i funcionale generale
Alegerea unui limbaj trebuie sa in seama i de gradul de standardizare a acestuia,
tiut fiind c, n general, la standardizarea unui produs informatic se au n vedere parametrii
ce privesc simplitatea n exploatare, generalitatea n aplicare, naturaleea, consistena i
conciziunea n exprimare.
7. Cerine de ordin economic
Aceste cerine in seama de resursele financiare de care dispune utilizatorul , resurse
care trebuie s acopere att achiziionarea i exploatarea propriu-zis a limbajului, ct i
organizarea i pregtirea prealabil a personalului.
Avnd n vedere cele de mai sus rezult c alegerea unui limbaj este o decizie care
trebuie susinut printr-o serie de analize de ordin tehnic, funcional i economic.

-23-
CAP 2. METODE I TEHNICI DE PROGRAMARE
2.1. Evoluia metodelor de programare
Evoluia metodelor de programare trebuie vzut n strns legtur cu evoluiile
nregistrate pe mai multe planuri:
evoluia limbajelor de programare
evoluia utilizatorilor calculatoarelor
evoluia rapid a componentelor hardware.

2.2. Metode i tehnici de programare


2.2.1. Metoda programrii clasice
Prin programarea clasic se face referire la primii ani de dezvoltare a programelor,
respectiv nceputul anilor 50, perioad n care existau puine reguli, majoritatea viznd
scrierea programelor. De aceea, programarea clasic este impropriu numit metod, ns se
face delimitarea de evoluiile ulterioare din domeniul programrii calculatoarelor.
Programarea clasic presupune conceperea monolitic a programului prin parcurgerea
urmtoarelor etape:
analiza problemei n vederea stabilirii exacte a cerinelor informaionale ale
utilizatorilor
elaborarea schemei logice a programului
scrierea programului surs
compilarea i asamblarea programului
testarea i corectarea programului
exploatarea programului.
Dezvoltarea programelor n aceast perioad prezenta o serie de neajunsuri, dintre care
cele mai importante erau: elaborarea intuitiv sau artizanal a algoritmilor de rezolvare a
problemei, eaistena numeroaselor operaii de salt, ce conduc la un timp mare de execuie a
programului i fac dificil nelegerea i modificarea programului, imposibilitatea desfurrii
activitii de programare n echip etc. Acestea sunt i motivele care au determinat apariia
unor noi metode de programare.

2.2.2. Metoda programrii modulare


Programarea modular poate fi considerat prima metod de programare propriu-zis.
Ea presupune decompunerea problemei de rezolvat n mai multe subprobleme mai simple.
Fecrei subprobleme i va corespunde n principiu un modul de program, iar produsul
program va fi constituit prin integrarea modulelor componente, dezvoltate separat. Proiectarea
-24-
modulelor se face independent de limbajul de programare ales, doar la scrierea programelor
inndu-se cont de specificul fiecrui limbaj. Fiecare modul are o funcie bine precizat n
cadrul programului, n conformitate cu rezultatele descompunerii funcionale a problemei de
rezolvat, realizat prin aplicarea strategiei descendente (de sus n jos).
Conceperea i realizarea programelor conform acestei metode cuprinde urmtoarele
faze:
- analiza problemei;
- stabilirea modulelor componente i organizarea acestora;
- ntocmirea specificaiilor pe module;
- analizarea posibilitilor de utilizare a unor module standard;
- elaborarea logicii programelor pe fiecare modul;
- scrierea programelor i testarea modulelor elaborate;
- testarea de ansamblu prin integrarea modulelor;
- ntocmirea documentaiei finale;
- utilizarea i ntreinerea programelor.

2.2.3. Metoda programrii structurate


Metoda programrii structurate reprezint o dezvoltare a metodei programrii
modulare. Bazele sale au fost puse prin definirea structurilor de control fundamentale
(secvena, selecia, iteraia) i a marcat trecerea de la programarea ca art la programarea ca
tiin. i propune minimizarea costurilor i eforturilor activitii de programare (prin
creterea productivitii activitii de programare) i obinerea unui produs de calitate. O
structur de control are un singur punct de intrare i un singur punct de ieire. Termenul a fost
lansat n 1966 de doi matematicieni: Boehm i Jacopini care au propus o teorem a
programrii structurate. Cel mai important promotor este prof. Dijkstra (Univ. Eindhoven,
Olanda) care, n 1968, a publicat un studiu n care afirma c instruciunea GOTO ar trebui
exclus din toate limbajele de nivel nalt. n urmtorii ani, el a publicat mai multe cri n
care a fundamentat metodologia de programare structurat. Programarea structurat a marcat
o cretere a productivitii de pn la 800%.
Aceast metod se bazeaz pe modularizarea ierarhic a programelor i utilizarea
structurilor de control fundamentale.
Conceperea i realizarea programelor conform acestei metode se realizeaz pe aceleai
faze ca i n cazul metodei modulare.

-25-
2.2.4. Metoda programrii pe obiecte
Programarea orientat pe obiecte reprezint tendina ultimilor ani ai programrii.
Conceptul de obiect i limbaj de programare care lucreaz cu obiecte au fost lansate
nc din anii 60, cnd XEROX a dezvoltat limbajul SmallTalk. Acesta a fost utilizat muli ani
doar de cercettori i oameni de tiin. Sfritul anilor 80 a nsemnat trecerea acestui limbaj
n aria aplicaiilor economice, mari companii americane realiznd sisteme eficiente, cu minim
de resurse.
Programarea orientat pe obiecte (POO) modeleaz un sistem vzut ca un set de
obiecte legate ntre ele. Obiectul este considerat o entitate care se poate distinge de alte
entiti i care are o semnificaie n cadrul aplicaiei modelate. Obiectul asociaz datele i
prelucrrile n cadrul aceleiai entiti, rmnnd vizibil doar interfaa obiectului. Obiectele
cu proprieti similare, comportament similar i relaii similare fa de alte obiecte constituie o
clas de obiecte.
Un obiect comport un aspect static, reprezentat prin intermediul unor variabile de
stare, numite atribute i un aspect dinamic, reprezentat de comportamentul obiectului i
implementat prin intermediul metodelor asociate obiectului respectiv. Aspectul static este
ascuns de aspectul dinamic.
Spre exemplu, pentru clasa de obiecte CONT se pot defini urmtoarele atribute pentru
obiecte: Simbol_cont, Denumire_cont, Sold_initial_debitor, Sold_initial_creditor i
urmtoarele metode: Creare_cont(), Actualizare_cont(), tergere_cont(), Selectare_cont();
metode specifice: Sold_final_debitor, Sold_final_creditor.
Conform acestei metode, un program este privit de o manier global, ca un ansamblu
de obiecte care interacioneaz prin intermediul mesajelor, fiecare obiect avnd asociat
propriul set de operaii.
Obiectul are urmtoarele caracteristici:
1. Identitate obiectul este o entitate discret care poate fi distins de alte entiti
2. Clasificare obiectele cu aceleai atribute i operaii sunt grupate n clase, un
obiect este considerat o instan a clasei din care face parte
3. Polimorfism aceeai operaie poate avea comportament diferit n funcie de
obiectul la care este ataat, implementarea concret a unei operaii ntr-o
anumit clas numindu-se metod
4. Motenire atributele i operaiile se transmit de la o clas de-a lungul unei
relaii ierarhice.

-26-
2.2.5. Metoda programrii vizuale
Programarea vizual (limbajele Visual Basic, Visual Fox) este considerat o faz
intermediar ntre programarea structurat i cea orientat pe obiecte, care s-a dezvoltat
datorit i cu ajutorul mediului Windows. Programatorul nu are nevoie de experien i nu
trebuie s cunoasc vocabularul limbajului de programare sau sintaxa instruciunilor.
Lucreaz cu obiecte i este dirijat de evenimente: ordinea de execuie a instruciunilor
sau procedurilor nu este determinat de locul pe care l ocup n program, ci de apariia unui
eveniment. Cu ajutorul mouse-ului, utilizatorul alege elementul pe care dorete s l
defineasc (fiier de date, format de ecran, format de raport) - fiecare fiind considerat un
obiect, cu diferite proprieti pe care el trebuie s le descrie. Descrierea fiecrui obiect se
concretizeaz ntr-un cod de program generat automat, pe care utilizatorul nu trebuie s-l vad
sau s l neleag. Programarea vizual nu este foarte eficient, dar este un instrument foarte
rapid i uor de folosit pentru utilizatorii nespecialiti.

2.3. Elaborarea produselor-program. Activiti


specifice elaborrii produselor- program
Elaborarea unui produs-program constituie o activitate deosebit de complex care
necesit utilizarea unei metodologii clare i unitare. De regul, o asemenea activitate se
desfoar n echipe de lucru complexe n care sunt inclui analiti, specialiti ai domeniului
pentru care se dezvolt produsul-program, programatori, specialiti n testarea i
implementarea produselor-program, utilizatori etc.
Literatura de specialitate pune n discuie o multitudine de probleme legate de
metodologia elaborrii produselor-program i subliniaz n mod deosebit necesitatea
existenei unei metodologii unitare. Totui, se poate afirma c n forma sa final orice produs-
program poate fi privit ca un sistem cu funcii i componente proprii, cu intrri, ieiri,
prelucrri i bucle de autoreglare i cu un scop bine stabilit.
Din punct de vedere practic, elaborarea unui produs-program presupune parcurgerea
unui anumit numr de activiti specifice obinerii acestuia. Exist un numr nsemnat de
modele pentru elaborarea unui produs-program dintre care cele mai importante sunt: modelul
n cascad, modelul n V, modelul evolutiv, modelul spiral, modelul liniar, modelul
incremental, modelul RAD.

2.3.1. Modelul n cascad


Dintre toate modelele enumerate, modelul n cascad este cel mai des utilizat n
practic. Activitile avute n vedere la elaborarea produselor-program n cazul modelului n
cascad sunt urmtoarele:
Definirea cerinelor (problemei);
-27-
Analiza;
Proiectarea;
Dezvoltarea;
Testarea;
Implementarea;
Exploatarea i ntreinerea.
Acest model a fost lansat de W.W. Royce la nceputul anilor 1970 i este cel mai
familiar programatorilor. Caracteristica fiecrei etape const n aceea c se finalizeaz cu o
verificare i o validare n scopul eliminrii eventualelor anomalii care ar putea s apar n
cadrul acesteia. Dac se constat anomalii, atunci se va reveni la etapa precedent pn cnd
acestea vor fi eliminate. Astfel se realizeaz o minimizare a costului pentru produsul-program
dezvoltat. n acelai timp, trecerea de la o faz la alta, n sus i n jos ofer modelului un
caracter iterativ i incremental.

Figura 6. Modelul n cascad

-28-
2.3.2. Modelul n V
Modelul n V pote fi considerat ca un caz particular al modelului n cascad prin faptul
c activitile necesare elaborrii produsului-program sunt reprezentate grafic sub forma lui
V. Esena modelului const n aceea c separ primele etape ale procesului de dezvoltare n
sub-activiti ce au legtur cu construcia sistemului. Aceast organizare sub forma literei V
este dat de faptul c se pune n relaie direct de dependen primele etape cu cele aflate n
partea de jos a modelului n cascad.
n acest model se delimiteaz urmtoarele activiti:
1. Analiza cerinelor i studiul de fezabilitate9;
2. Specificarea global;
3. Proiectarea de ansamblu;
4. Proiectarea de detaliu;
5. Programarea;
6. Testarea unitar;
7. Integrarea i testul de integrare;
8. Testul de acceptare;
9. Implementarea i testul sistem.
Activitile 1-5 influeneaz n mod permanent o activitate din 6-9, ceea ce permite o
mai bun organizare a etapelor finale.
Dezavantajul acestui model const n aceea c nu pune n eviden posibilitatea
relurii unei activiti deja parcurse, ceea ce poate s conduc la depistarea unor anomalii
funcionale ale produsului-program n faza de implementare. Acest lucru va duce la reluarea
ntregului process de elaborare a produsului-program cu costuri corespunztoare i pierderi de
timp.

-29-
2.3.2. Activiti specifice elaborrii produselor-program
ntruct cel mai des utilizat model pentru elaborarea produselor program este modelul
n cascad, vom prezenta n continuare activitile specifice de elaborare a produselor-
program utiliznd acest model:
1. Definirea problemei
n activitatea de elaborare a unui produs-program este foarte important de a ti i de a
nelege esena sarcinii de ndeplinit nc nainte de nceperea lucrului efectiv. Scopul
activitii de definire a problemei este, deci, de a formula pe nelesul echipei de lucru
problema de rezolvat i de a descrie o strategie de rezolvare a problemei.
n aceast etap se poart discuii cu specialiti ai domeniului i cu potenialii
utilizatori ai viitorului produs-program. Astfel, se urmrete extragerea de informaii cu
privire la cerinele, restriciile i obiectivele avute n vedere pentru asigurarea funcionalitii
produselor-program. Metoda cea mai des utilizat este interviul, la care se pot aduga
informaii extrase din diverse surse, precum: studii comparative realizate pentru produse-
program similare, studii de fezabilitate, informri.
Din aceast activitate trebuie s rezulte clar urmtoarele categorii de cerine:
- -cerine funcionale pentru utilizri simple i avansate
- -cerine tehnice (resursele tehnice minime necesare pentru utilizarea
produselor-program
- -cerine cu privire la livrare.
Verificarea i validarea au loc pe tot parcursul acestei activiti, prin faptul c att
utilizatorii, ct i echipa de lucru colaboreaz foarte strns la obinerea informaiilor necesare.

2. Analiza
Dup obinerea unei definiii clare a problemei de rezolvat, se procedeaz la analizarea
problemei. Scopul analizei este de a determina cu exactitate ce trebuie fcut pentru rezolvarea
problemei. De regul, elementele logice ale sistemului (limitele, procesele i datele sale) sunt
definite n cursul analizei, avnd n vedere cerinele formulate n etapa precedent.
Rezultatul obinut de ctre membrii echipei de lucru este supus verificrii
corespondenelor cu cerinele din etapa precedent. Validarea se realizeaz de ctre beneficiar
ntr-o ntlnire n care i se poate prezenta sub forma unei informri rezultatul analizei
echipei de lucru. Dac la aceast ntlnire se constat c trebuie fcute completri
informaionale legate de natura problemei de rezolvat, atunci se poate reveni la etapa de
definire a problemei i reluarea/completarea analizei. Dac se constat c nu exist aspecte
suplimentare de clarificat, atunci are loc validarea din partea beneficiarului a activitii de
analiz i se poate trece la activitatea urmtoare.

-30-
3. Proiectarea
Proiectarea produsului-program este procesul prin care se reprezint funciile fiecrei
componente n maniera n care se relev concret una sau mai multe uniti funcionale,
module etc.
Scopul activitii de proiectare const n a determina modul n care va fi rezolvat
problema. n timpul proiectrii, atenia analistului se va deplasa de la latura logic la cea
fizic. Procesele sunt convertite n proceduri manuale sau programe de calculator. Elementele
datelor sunt grupate pentru a forma structuri de date fizice, machete, rapoarte, fiiere i baze
de date. Sunt definite componentele hardware care susin programele i datele.
Proiectarea produsului-program parcurge urmtoarele faze:
- proiectarea architectural
- specificaia produsului-program
- proiectarea de ansamblu
- proiectarea de detaliu
n faza proiectrii arhitecturale se stabilete arhitectura general a viitorului produs-
program n corelaie cu fazele precedente.
Specificaia produsului-program const ntr-o documentaie care va fi obiectul unui
contract ncheiat ntre beneficiar i dezvoltator. n aceast documentaie se va avea n vedere
stabilirea funciilor de informatizat i cuprinderea condiiilor de lucru efectiv.
n faza proiectrii de ansamblu se stabilete structura modular a produsului- program,
pornind de la specificaia i arhitectura stabilit anterior. Elementul de baz al structurii l
constituie modulul.
n faza proiectrii detaliate se procedeaz la stabilirea algoritmului de lucru pentru
fiecare modul i se ine cont de toate detaliile funcionale ale acestuia.
Prin parcurgerea acestor faze se va obine un proiect cu dou categorii de informaii,
de ansamblu i de detaliu. Parcurgerea unor faze din cele prezentate se poate repeta prin aa-
numitul proces de rafinare prin care se verific rezultatul obinut dup proiectarea de detaliu
cu proiectarea arhitectural i specificaiile produsului-program.
Verificarea are loc permanent prin raportare att la cerinele stabilite n prima
activitate, ct i la arhitectura general stabilit la nceputul acestei activiti. Validarea se
pune n eviden prin acceptarea produsului-program de ctre beneficiar.

-31-
4. Dezvoltarea
Crearea propriu-zis a produsului-program are loc n cadrul activitii de dezvoltare. n
cadrul acesteia au loc urmtoarele sub-activiti:
- -codificarea algoritmilor de lucru pentru fiecare modul al arhitecturii
produsului-program;
- -documentarea i testarea fiecrei componente arhitecturale ;
- -pregtirea documentaiei pentru utilizatorul final ;
- -iniializarea bazelor de date i a fiierelor;
- -instruirea utilizatorilor.
Procesul dezvoltrii produselor-program de la stadiu de proiect la stadiu de aplicaie se
poate realiza pe dou ci:
- dezvoltarea top-down (descendent);
- dezvoltarea bottom-up (ascendent).
Alegerea unei modaliti de dezvoltare a produselor-program depinde de metoda de
proiectare i de obinuina echipei de lucru. n cazul dezvoltrii descendente, produsul-
program este considerat a fi o ierarhie de componente i presupune nceperea activitilor
specifice de la vrf ctre componente, n timp ce n cazul dezvoltrii ascendente se pornete
de la componente ctre vrf.
1. Dezvoltarea descendent
n acest caz activitatea de programare ncepe cu modulul director, adic modulul aflat
pe nivelul cel mai nalt al ierarhiei, dup care sunt tratate modulele de pe nivelul urmtor,
pn cnd se codific toate modulele de pe toate nivelurile de descompunere. Pe msura
definitivrii codificrii componentelor de la un nivel se
trece la cele de pe nivelul urmtor. Prin aceast tehnic de dezvoltare se obin
programe mai lizibile i mai fiabile, cu posibilitatea ntreinerii foarte uoare.
2. Dezvoltarea ascendent
n cazul dezvoltrii ascendente activitatea de codificare ncepe cu modulele de la cel
mai mic nivel i se trece treptat la modulele de pe nivelul superior. Aceast dezvoltare este
mai potrivit pentru optimizri cu caracter local n costul i n calitatea produselor program.
Se recomand n cazul produselor-program complexe cnd, la rndul lor, modulele se
constituie n aplicaii de sine-stttoare, iar gradul de interconectare este mare.
n practic, de cele mai multe ori, se accept o combinaie a celor dou tehnici de
dezvoltare pentru a se ctiga timp i bani.
n activitatea de dezvoltare, verificarea are loc prin compararea fiecrui modul cu
cerinele iniiale i specificaia produsului-program, precum i cu ocazia testrii
funcionalitii fiecrui modul codificat chiar de ctre echipa de programatori.

-32-
Verificarea se realizeaz n colaborare cu specialitii i utilizatorii desemani de ctre
beneficiar.

5. Testarea
Integrarea i testarea produsului-program este faza n care unitile de program,
testate anterior separat, sunt integrate i testate ca un sistem pentru ca echipa de proiectare s
se conving mpreun cu beneficiarii de asigurarea funcionalitii produsului-program n
ansamblu. Aceast etap presupune i validarea funcionalitii produsului-program cu date de
test stabilite de viitorul beneficiar.

6. Implementarea
Dup ce programul trece i ultimul test i sunt corectate eventualele probleme aprute,
sistemul poate fi implementat direct la beneficiar. Aceast activitate se constituie din
urmtoarele aciuni: instalare, parametrizare, iniializare cu datele beneficiarului. De cele mai
multe ori, dezvoltatorul se implic i n aciuni de formare a personalului ce va utiliza
produsul-program. Eventualele anomalii constatate la implementare pot atrage reluarea unor
activiti precedente.

7. Exploatarea i ntreinerea
Utilizarea i ntreinerea este faza cea mai ndelungat a ciclului de via a unui
produs-program.
Produsul-program este instalat i pus n funciune la utilizator. Aceast activitate
implic descoperirea i eliminarea tuturor eventualelor erori care nu au putut fi descoperite n
fazele precedente, mbuntirea implementrii unor uniti de program astfel nct s
ncorporeze noi funcii cerute de beneficiari.
Dup trimiterea sistemului, ncep lucrrile de ntreinere. Obiectivul ntreinerii este
meninerea funcionrii sistemului la un nivel acceptabil.
Pentru inerea sub control a activitilor specifice fiecrei faze este necesar elaborarea
unei documentaii specfice care se va utilize cu precdere ca suport de lucru n etapele
urmtoare. Avnd n vedere multitudinea de etape i numrul mare de specificaii necesare
derulrii fiecrei etape, acest model nu este folosit n practic pentru aplicaii mici, dezvoltate
n logica utilizatorului final.

-33-
2.3.3. Modelul evolutiv
Const n efectuarea unei investigaii iniiale, elaborarea unei strategii pentru
descompunerea proiectului n pri/segmente, fiecare cu o valoare deosebit pentru client. Ele
sunt realizate i livrate n mod iterativ i contribuie la sporirea performanelor sistemului.

Etapele parcurse n cadrul acestiu model, sunt:


Analiza cerinelor i studiul de fezabilitate. Studiul de fezabilitate are rolul de a
asigura informaiile obiectiv necesare pentru a cunoate dac un proiect poate
fi demarat sau nu sau dac un proiect deja nceput mai poate fi continuat.
Specificarea global
Proiectarea de ansamblu
Proiectarea de detaliu
Programarea
Test unitar
Integrarea i testul de integritate
Testul de acceptare
Implementarea i testul sistem
Formele obinute pentru prile componente nu sunt foarte detaliate, lsndu-se loc
pentru adaptri i modificri ulterioare.
Oricare dintre segmentele/prile luate n studiu trece prin toate fazele de dezvoltare a
sistemului: definirea cerinelor, analiz, proiectare, implementare, testare, utilizare. Clientul
intr n posesia unei forme cvasi-finite la terminarea fiecrui segment.

2.3.4. Modelul n spiral


Modelul n spiral a fost propus n 1988 de ctre B.W. Boehm i este cel mai cunoscut
model evolutiv. El are la baz dou premise:
Natura iterativ a dezvoltrii i nevoia de planificare i evaluare a riscurilor
fiecrei iteraii;
Realizarea validrii ct mai devreme posibil i de ct mai multe ori, prin
construirea prototipurilor.
Obiectivul principal urmrit prin modelul spiral este gestiunea atent a riscurilor prin
combinarea modelului cascad cu prototipizarea. Se construiete mai nti o prim versiune a
sistemului, sub forma unui prototip n care nu este definit ntregul sistem, ci sunt luate n
considerare doar caracteristicile sale principale. Dup transpunerea prototipului n aplicaie,
aceasta este evaluat de beneficiari, iar n funcie de rezultatul evalurii se pot defini i
implementa noi caracteristici ale sistemului, construindu-se un nou prototip ce va fi supus
evalurii. Acest proces se reia de mai multe ori, urmtoarele prototipuri fiind versiuni din ce
-34-
n ce mai complete ale produsului propus. Modelul cascad se va regsi n cadrul fiecrei
iteraii.
Modelul spiral este descompus n mai multe activiti-cadru, maxim 6, i anume:
1. Comunicarea cu beneficiarul (stabilirea i meninerea contactului dintre
beneficiar i proiectant)
2. Planificarea (definirea resurselor, a termenilor limit de realizare)
3. Analiza riscului (riscuri tehnice i de organizare)
4. Proiectarea (definirea uneia sau a mai multor reprezentri ale aplicaiei)
5. Construirea i lansarea
6. Evaluarea beneficiarului (feed-back din partea beneficiarului asupra
schimbrilor din noua versiune instalat).
Printre avantajele modelului n spiral se pot enumera:
Diminuarea riscurilor la nivel de prototip, prin angajarea treptat n proiect a
echipei de dezvoltare i a beneficiarilor
Valorificarea experienei anterioare n planificarea activitilor pentru prototipul
urmtor
Evaluarea riscurilor asociate proiectului n mai multe momente
Simplificarea operaiunilor de evaluare a ceea ce este necesar n etapa (prototipul)
urmtoare, inclusiv prin prisma costurilor.
Aplicarea cu succes a modelului spiral este condiionat de profesionalismul echipei
de dezvoltare i flexibilitatea n aciune, inclusiv n alocarea de fonduri, dar i n definirea
activitilor de ntreprins.

2.3.5. Modelul liniar


Modelul liniar de elaborare a produselor-program pune accent pe urmtoarele
activiti:
1. analiza problemei;
2. stabilirea algoritmului de rezolvare;
3. stabilirea resurselor necesare rezolvrii;
4. scrierea programului;
5. dezvoltarea programului;
6. corectarea i testarea;
7. elaborarea documentaiei;
8. exploatarea curent;
9. ntreinerea.

-35-
Caracteristica principal a acestui model const n faptul c nu sunt avute n vedere
posibilele reveniri la etapele precedente. n acest caz, responsabilitatea echipei de lucru este
foarte mare pentru fiecare etap n parte.

2.3.6. Modelul RAD (Rapid Application Development)


Dezvoltarea aplicaiilor trebuie s rspund principiului productivitii i eficienei
economice. Astfel, n dezvoltarea unei aplicaii trebuie avute n vedere productivitatea
resurselor, calitatea produsului, timpul de realizare, simplificarea ntreinerii, satisfacerea
utilizatorului.
Modelul RAD i propune s porneasc de la nevoile utilizatorului, acesta fiind
clientul sistemului ce se realizeaz.
RAD reprezint un arhetip revoluionar de succes n software-ul anilor 90,
caracterizat pe scurt prin mai repede, mai bine, mai ieftin, ceea ce este posibil de realizat
printr-o abordare riguroas, bazat pe echipe mici de specialiti bine pregtii, pe utilizarea
prototipurilor i impunerea unor limite rigide de timp n planificarea activitilor.
RAD se bazeaz pe modelul spiral, ceea ce permite dezvoltarea incremental i
repetitiv. RAD apeleaz la generarea automat a codurilor prin sisteme CAPS (Computer
Aided Prototyping System) care nlocuiesc scrierea manual, mai nceat a codului i
minimizeaz erorile. RAD nseamn flxibilitate prin faptul c permite utilizatorilor s
utilizeze propriile limbaje de interogare i generatoare de rapoarte. Trebuie precizat i
influena metodelor orientate obiect ce asigur o eficien sporit pentru RAD prin utilizarea
unor componente prefabricate.
RAD se individualizeaz prin urmtoarele caracteristici:
Utilizarea de echipe mixte, formate n medie din 6 persoane, incluzndu-i pe
utilizatorii finali, manageri i dezvoltatorii sistemului (cu cunotine specifice
analizei de sistem, de proiectare i programare). Experiena anterioar este foarte
important, iar succesul proiectului este asigurat prin implicarea activ a
utilizatorilor, dar i prin comunicarea i colaborarea permanent ntre membrii
echipei.
Utilizarea de instrumente specializate care asigur dezvoltarea vizual, crearea de
prototipuri, planificarea i gestiunea timpului, colaborarea i lucrul n echip,
folosirea componentelor reutilizabile i a componentelor API, controlul
versiunilor.
Renunarea la caracteristici sau componente secundare (n special cu rol de
mbuntire a interfeei sau a dialogului cu utilizatorul) pentru a asigura
ncadrarea n termenele stabilite. De regul, ntregul proces nu trebuie s depeas
6 luni.
Prototipizarea iterativ, evolutiv.

-36-
Etapele unui ciclu de dezvoltare RAD pot fi prezentate i n succesiunea analiz,
proiectare, realizare i integrare, testare i implementare, dar ntr-un mod diferit fa de
modelul clasic. Pentru ilustrare ne vom opri asupra ciclului de dezvoltare James Martin
(printele acestui concept), cel mai reprezentativ dintre ciclurile de dezvoltare RAD. Exist
patru faze n acest ciclu: identificarea i planificarea cerinelor, proiectare, construire i
finalizare.
Planificarea cerinelor are ca obiectiv determinarea cerinelor sistemului. Utilizatorul
trebuie s aib un rol activ n aceast faz. Faza se desfoar n aa-numitele ateliere de lucru
(workshop) de tip Joint Requirements Planning. Activitile desfurate pot fi grupate n
evidenierea problemelor, identificarea i precizarea cerinelor, planificarea sarcinilor.
Proiectarea realizeaz modelarea sistemului prin prototipuri i alte instrumente de
modelare. Activitatea se desfoar n ateliere de lucru de tip Joint Application Design. Dup
stabilirea modelului de lucru se stabilete prototipul. Fiecare prototip va fi testat i validat n
atelierele de lucru.
Construirea sistemului este apanajul specialitilor informaticieni care transpun
modelele fazei anterioare n programe. Utilizatorii testeaz componentele i le valideaz sau
solicit, dac este necesar ameliorarea acestora. Faza se ncheie prin integrarea componentelor
n produsul final. Aceast faz i precedenta se constituie ntr-un ciclu iterativ pn la
obinerea rezultatului final.
Finalizarea se refer la punerea la punct a sistemului. Aceast faz continu testrile
asupra produsului final, impune schimbri organizaionale, formeaz i instruiete utilizatorii
finali.
n sintez, modelul RAD se bazeaz pe urmtoarele soluii:
Includerea utilizatorilor n echipa de realizare a aplicaiei i implicarea activ a
acestora. S-a pornit de la faptul c utilizatorii sunt sursa cerinelor informaionale, ca i
beneficiarii direci ai aplicaiei, deci opinia lor este determinant pentru succesul aplicaiei.
Gestiunea optim a timpului. Se fixeaz intervale scurte de timp pentru realizarea
componentelor. Un proiect de dimensiuni mari va fi descompus n subproiecte cu posibiliti
de realizare n paralel. Pentru a asigura respectarea termenelor se vor realiza mai nti versiuni
care vor cuprinde doar funcionalitile de baz. n final se vor integra i funcionalitile
complementare.
Dezvoltarea incremental, numit i ciclu de elaborare n spiral. n loc s se lanseze
direct produsul final, aplicaia va aprea n versiuni succesive. Se realizeaz prototipuri ale
aplicaiei prin parcurgerea a trei etape: determinarea cerinelor informaionale, transpunerea
lor sub form de aplicaie, testarea acestora de ctre utilizatori. Utilizarea prototipurilor
permite ca utilizatorii s observe i s corecteze sistemul.

-37-
Reutilizarea. O aplicaie nu mai este vzut ca un ansamblu de programe executabile
mpreun cu un ansamblu de date care comunic prin intermediul unor interfee. Aplicaia
reprezint un ansamblu de servicii/componente care rspund unor obiective sau cerine.
Utilizarea de instrumente CASE pentru generarea rapid i fr erori a programelor.

-38-
CAP 3. PROGRAMELE DE CALCUL TABELAR I
UTILIZAREA LOR N GESTIUNEA
NTREPRINDERII
Programele de calcul tabelar reprezint instrumente orientate ctre utilizatorul final,
oferind modele i tehnici de lucru apropiate de modalitile curente de rezolvare a
problemelor. Principala calitate din care decurge i succesul programelor de calcul tabelar o
reprezint simplitatea n utilizare. Organizarea lor sub forma celulelor unei foi de calcul sau
registru de lucru, puterea de formalizare, de calcul i de memorare au determinat
transformarea acestora n instrumente utile i capabile de a traduce experiena utilizatorilor.

3.1 Noiuni de baz privind programele de calcul


tabelar
Foaia de calcul electronic este documentul principal al programelor de calcul tabelar.
ntlnit n literatura de specialitate din ara noastr i sub denumirea de centralizator
electronic, tabel electronic sau chiar "spreadsheet", dup denumirea din limba englez, foaia
de calcul electronic reprezint un tabel de dimensiuni foarte mari, structurat n linii i
coloane, n care se pot defini cu uurin modelele de rezolvare a problemelor. Ea ofer
posibiliti de introducere a datelor i definire a modelelor, posibiliti de calcul, de
vizualizare, de exprimare grafic, de simulare etc. (vezi fig. nr. 2.1).
Fiecare csu (celul) a foii de calcul este independent de celelalte, putnd fi referit
printr-o adres care indic linia i coloana la ntretierea crora se afl. Pentru specificarea
adreselor sunt practicate dou stiluri: stilul consacrat de LOTUS (A1, A2, F5, ;IV65536)
i stilul consacrat de MULTIPLAN R1C1, R2C2, R5C6,,R16384C256).
Programele de calcul tabelar lucreaz, n general, cu dou tipuri de date: date numerice
i date de tip ir de caractere. Sistemul detecteaz tipul datei dup natura primului caracter
introdus sau dup coninut. Dac primul caracter este o liter, data este considerat de tip ir
de caractere, dac ncepe cu o cifr, data este considerat de tip numeric. Programele de calcul
tabelar gestioneaz i date calendaristice: intern ele sunt reprezentate ca un numr
([1,2958465] n Excel), iar afiarea se poate face n diferite formate. De exemplu, pentru ca o
celul s conin data calendaristic de 01- Oct-2000, trebuie s introducei n celula
respectiv numrul 36800 i s solicitai apoi, prin comanda FORMAT (n Excel, de exemplu,
se utilizeaz din meniul Format comanda Cells, apoi se selecteaz Number i categoria Date)
afiarea ca dat calendaristic.

-39-
Coninutul unei celule poate fi i o formul sau o funcie. Formulele i funciile ncep
printr-un caracter special: =; +; -; @; etc, prin intermediul lor putndu- se exprima o mare
diversitate de calcule. De fapt, formulele i funciile sunt elementele eseniale ale foii de
calcul electronice din care rezult performanele i capacitile de simulare ale acesteia.
Printr-o formul se definete coninutul unei celule n funcie de coninutul altor celule.
Relaia rmne adevrat pentru orice coninut al celulelor folosite ca argumente n formule.
Dac se schimb coninutul celulelor folosite ca argumente, instantaneu se modific i
coninutul celulei care conine formula. Modelul prezentat n fig. nr. 8 poate fi utilizat de ctre
administratorul unui spaiu comercial care nchiriaz spaiul mai multor firme i dorete s
gestioneze cu ajutorul unui program de calcul tabelar ncasrile realizate prin nchiriere. Este
suficient s introducei datele de intrare, iar pe baza formulelor i a funciilor existente se
obin imediat rezultatele. ntruct graficul din fig. nr. 7. este construit pe baza datelor din zona
G4:G19, de fiecare dat cnd se modific datele din zona specificat, se va modifica i
graficul. Dac sunt mai multe societi vor fi inserate noi linii, dup care se vor copia
formulele i funciile deja introduse.

Figura 7. Model realizat n Excel pentru determinarea ncasrilor realizate prin nchirierea unui
spaiu comercial

La copierea sau mutarea unei formule sau funcii are loc i actualizarea adreselor.
Dac fomula =H4-J4 din K4 este copiat n K5 ea devine =H5-J5. n schimb, dac se copie
formula =C26*$D$33 din D26 n D27 aceasta devine = C27*$D$33 i nu = C27*D34.
Adresele care sunt actualizate la copiere sau mutare se numesc adrese relative (de exemplu,
-40-
H4, J4), adresele care rmn neschimbate la copiere sau mutare se numesc adrese absolute (de
exemplu, $D$33).
Corectarea formulelor introduse, tergerea coninutului unor celule sau grupuri de
celule se poate face la fel de simplu i rapid ca n procesoarele de texte.
De asemenea, exist posibilitatea atribuirii de nume unor celule sau grupuri de celule,
scrierea formulelor devenind mai simpl i mai rapid. De exemplu, =SUM(Suprafaa),
=SUM(Datorat), =SUM(TVA) sunt mult mai sugestive din punct de vedere al logicii
problemei de rezolvat dect =SUM(G4:G19); =SUM(H4:H19); =SUM(I4:I19) (vezi fig. nr.
8). n acest scop grupului G4:G19 i se atribuie numele Suprafaa, grupului H4:H19 i se
atribuie numele Datorat, iar grupului I4:I19 i se atribuie numele TVA. n Excel, de exemplu,
atribuirea de nume unor grupuri de celule se realizeaz utiliznd din meniul Insert comanda
Define i apoi Name.

Figura 8. Formule i funcii utilizate n modelul de rezolvare EXCEL

Funciile reprezint formule predefinite n sistem. Utilizatorul trebuie doar s specifice


numele funciei i argumentele, respectnd regulile de sintax. Numrul i natura
argumentelor depind de tipul funciei: matematice, logice, financiare, speciale, statistice,
pentru baze de date, pentru date calendaristice etc. n fig. nr. 8 s-a exemplificat utilizarea

-41-
funciei statistice SUM, a funciei de cutare VLOOKUP i a funciei pentru date
calendaristice DATE.
La fel ca limbajele de programare din generaiile anterioare, programele de calcul
tabelar dispun de comenzi i macro-comenzi prin care se pot defini i declana anumite
operaiuni sau parametri (inserarea de linii, coloane, celule etc., stabilirea parametrilor de
format, gestionarea ferestrelor de afiare etc.).
Comenzile permit declanarea unor operaiuni n foaia de calcul i sunt desemnate prin
cuvinte cheie. Comenzile sunt grupate n meniuri i submeniuri cu mai multe niveluri. n
versiunile sub MS-DOS se utilizau, de obicei, meniuri tip linie. n versiunile sub WINDOWS
se utilizeaz meniuri derulante. Concomitent se asigur posibilitatea folosirii rapide a
comenzilor mai des ntlnite prin intermediul pictogramelor din liniile de instrumente afiate
n partea superioar a ecranului. De asemenea, exist i posibilitatea definirii i utilizrii de
linii de instrumente personalizate.
Macro-comenzile (macro-urile) sunt similare instruciunilor i comenzilor din
limbajele de programare clasice i permit descrierea unor grupuri de operaiuni repetitive.
Astfel nu mai este necesar repetarea comenzilor, ci doar apelarea modulelor de program
realizate. Primele versiuni ale programelor de calcul tabelar utilizau un limbaj de macro-
comenzi asemntor limbajelor de asamblare, ele bazndu-se pe mnemonice obinute din
iniialele comenzilor. Versiunile recente folosesc ca limbaj de macro-comenzi un limbaj
evoluat (de exemplu, EXCEL folosete limbajul Visual Basic). n plus este oferit i
posibilitatea nregistrrii automate a macro-comenzilor. Mai jos1 este prezentat un modul de
program pentru inserarea datei calendaristice n EXCEL.
EXCEL versiunea 14.0.7162.5000
' Macro1 Macro
' Macro recorded 07-12-15 by LD'
Sub Macro1()
ActiveCell.FormulaR1C1 = "=NOW()" Selection.NumberFormat = "d-mmm- yy"
Selection.Columns.AutoFit
End Sub

Iniial programele de calcul tabelar se bazau doar pe utilizarea facilitailor oferite de


foile electronice de calcul. Pe msura evoluiei, ele au devenit instrumente software integrate,
orice program de calcul tabelar incluznd mai multe module:
modul pentru lucrul cu foile de calcul electronice;
modul pentru reprezentarea grafic a datelor din modelele definite;
modul pentru lucrul cu obiecte grafice (Drawing toolbar);
modul pentru baze de date;
modul pentru definirea de programe, utiliznd tehnica macro-comenzilor;
-42-
modul de instruire sau faciliti de tip Help;
modul de import/export de date de la/ctre alte programe de calcul tabelar sau
sisteme de gestiune a bazelor de date.
Larga rspndire a programelor de calcul tabelar este determinat de urmtoarele
faciliti:
a) recalcularea automat a rezultatelor formulelor i funciilor;
b) simulri;
c) rearanjarea automat a liniilor/coloanelor dup actualizare;
d) posibiliti de afiare a datelor n diferite formate;
e) implementarea de funcii financiare, statistice, speciale etc.;
f) posibiliti de automatizare a unor operaiuni;
g) instrumente de lucru orientate ctre utilizatorul final;
h) personalizarea modelelor definite.
a) Recalcularea automat a rezultatelor formulelor i funciilor ofer posibilitatea
vizualizrii rapide a influenei modificrii coninutului celulelor referite. Efectul recalculrii
este vizibil numai dac la scrierea formulelor i funciilor nu s-au folosit constante. Formulele
i funciile pot fi orict de complexe, ele pot face referin la celule care la rndul lor conin
alte formule sau funcii. De asemenea, funciile pot avea ca argumente alte funcii.
Recalcularea automat determin ca atunci cnd se modific valoarea unei celule care este
referit n anumite formule sau funcii, imediat s se modifice i rezultatul dat de aceste
formule sau funcii.
b) Simulrile
Simulrile au ca punct de plecare facilitatea programului tabelar de recalculare
automat. Programele de calcul tabelar sunt considerate sisteme suport pentru decizii de nivel
elementar, instrumente de analiz i previziune la ndemna oricrui manager. Orice formul
sau funcie permite obinerea de rspunsuri rapide la ntrebri de tipul: Ce-ar fi dac? (What
if?). Folosind datele din fig. nr. 7 s ne punem ntrebarea: "Care ar fi preul n lei pentru
categoria de suprafa 1a dac preul n dolari ar fi 20?" Dar dac preul ar fi de 25$?
Rspunsul l obinem n celula D26 dac n celula C26 introducem pe rnd valorile 20 i 25.
Exist i posibilitatea construirii de modele de simulare mai complexe prin tehnici
cum sunt: tabele de simulare cu una sau mai multe variabile i formule, cutare rezultat final
(Goal Seek), utilizarea funciei de rezolvare (Solver), gestiunea scenariilor, simulri pe baz
de grafice etc.
c) Rearanjarea automat a liniilor/coloanelor dup actualizare
Dup operaiunile de inserare sau tergere de linii i/sau coloane, sistemul face
automat renumerotarea acestora i actualizeaz adresele celulelor utilizate n formule i
funcii. Astfel, utilizatorul nu mai trebuie s verifice modelul actualizat.

-43-
d) Afiarea datelor n diferite formate
Programele de calcul tabelar lucreaz cu dou tipuri de date: numerice i de tip ir de
caractere. Sistemul recunoate tipul datei dup primul caracter introdus de utilizator sau dup
coninut (de exemplu, o liter sau un spaiu arat o dat ir de caractere, o cifr sau semnul -
arat o dat numeric, @ sau = desemneaz o funcie; +, = sau ( indic o formul).
Datele de tip ir de caractere pot fi aliniate la stnga, la dreapta sau la centrul celulei.
Versiunile noi permit formatarea datelor ca n procesoarele de texte (utilizarea fonturilor
disponibile n mediul WINDOWS, asocierea de atribute - bold, italic, underline etc.,
modificarea mrimii fonturilor, scrierea textului pe mai multe rnduri n aceeai celul sau
nclinat sub un anumit unghi, definirea i utilizarea stilurilor etc.).
Datele numerice au implicit un format general, dar acesta poate fi modificat cu
uurin de ctre utilizator.
e) Implementarea de funcii financiare i statistice este un alt atu al programelor de
calcul tabelar. Numrul de funcii variaz n funcie de versiune. Toate programele de calcul
tabelar au implementate cele apte funcii statistice standard (AVERAGE - medie aritmetic;
COUNT - numrare; MAX - determinare maxim; MIN - determinare minim; STD - abatere
medie ptratic; SUM - nsumare; VAR - dispersie). n plus, exist funcii statistice pentru
baze de date, foarte utile n analize economice. Funciile financiare pot fi mprite n: funcii
pentru analize economico- financiare, funcii pentru calculul amortizrii, funcii pentru
calculul anuitilor, alte funcii financiare. Versiunile mai recente dispun i de asisteni pentru
funcii (Function Wizard) care ncorporeaz paii de parcurs n utilizarea acestora.
f) Posibilitile de automatizare a operaiilor se concretizeaz n crearea i utilizarea
de module de program prin intermediul macro-comenzilor. Astfel, prelucrrile repetitive pot fi
aplicate rapid i eficient, fiind necesar definirea lor o singur dat. Limbajul de macro-
comenzi este uor de utilizat i constituie un instrument util la dispoziia utilizatorilor. n
versiunile mai recente ale programelor de calcul tabelar exist i posibilitatea nregistrrii
automate a macro-comenzilor.
g) Instrumentele de lucru orientate ctre utilizatorul final se ntlnesc la toate
programele de calcul tabelar. Sunt oferite de cele trei module de baz: foaia de calcul, baza de
date i modulul grafic, utilizatorul putnd lucra n acelai timp cu toate cele trei module.
Graficele sunt uor de realizat. Astfel, dup introducerea datelor n foaia de calcul, cu ajutorul
meniului corespunztor, utilizatorul definete graficul n forma dorit (liniar, histogram,
histogram cumulat, diagram de structur sau combinaii ale acestora). Orice modificare a
datelor n foaia de calcul este reflectat imediat de modificarea graficului (n Excel este
posibil i modificarea invers). Noile versiuni de programe de calcul tabelar ofer peste 100
de tipuri de grafice care reprezint combinaii ale celor patru tipuri de baz. n plus ofer i un
asistent (Chart Wizard) care ghideaz utilizatorul, pas cu pas, n realizarea graficelor.

-44-
h) Personalizarea modelelor definite se realizeaz prin definirea unor module de
dialog, a unor linii de instrumente proprii, prin inserarea unor elemente grafice proprii sau
importate etc.

3.2. Principii de realizare a aplicaiilor


informatice n programele de calcul tabelar
La proiectarea unei aplicaii utiliznd programele de calcul tabelar este bine s se aib
n vedere respectarea anumitor principii i reguli pentru a avea sigurana c aplicaia realizat
va putea fi folosit, n condiii normale, i de alte persoane dect proiectantul ei.

3.2.1. Reguli de respectat n proiectarea i utilizarea


aplicaiilor n programele de calcul tabelar
Proiectarea aplicaiilor utiliznd programele de calcul tabelar este realizat de cele mai
multe ori de ctre utilizatorii nii. De aceea, obinerea unor aplicaii eficiente solicit
respectarea urmtoarelor reguli:
1. n formule i funcii se recomand s nu se foloseasc ca argumente constantele. n
general, orice formul sau funcie reprezint un potenial model de simulare. Utilizarea
constantelor ca argumente elimin acest potenial. Reutilizarea modelului va solicita de
fiecare dat rescrierea formulelor sau funciilor. Dac modelul de rezolvare presupune
utilizarea unor constante, acestea vor fi plasate n celule distincte i vor fi apelate prin
referine absolute.
2. Dimensionarea mrimii liniilor i coloanelor se face n funcie de datele cele mai
semnificative i nu de construciile cu rol explicativ din antetul de linie sau coloan. Se
recomand ca aceast operaiune s fie efectuat la terminarea construirii modelului n foaia
de calcul. n mediul WINDOWS dimensionarea mrimii liniilor i coloanelor se poate realiza
rapid cu ajutorul mouse-ului sau prin comenzi de tip Format/Row/AutoFit sau
Format/Column/AutoFit.
3. Pentru lucrrile frecvente (facturi, ordine de plat, state de salarii etc.) se recomand
utilizarea "abloanelor" oferite de sistem (Spreadsheet Solutions) sau definite de utilizatori n
fiiere de tip Template (cu extensia .xlt n Excel).
4. Deplasarea n foaia de calcul, din raiuni de eficien, nu se va realiza doar prin
utilizarea tastelor de tip sgeat (;;;), ci se pot utiliza taste care permit deplasarea mai
rapid (PgUp, PgDown, Home), combinaii de taste (CTRL+ sau ;;, END+ sau
;;), butoanele de deplasare, respectiv liniile de deplasare vertical sau orizontal din
fereastra de vizualizare a foii de calcul, se pot insera butoane suplimentare pentru deplasarea
rapid de la o zon la alta din foaia de calcul sau se pot utiliza comenzile de tip GOTO sau
GOTO Special, combinate cu atribuirea de nume diferitelor zone din modelul de rezolvare.

-45-
5. Cnd se lucreaz cu registre de calcul se recomand atribuirea de nume
semnificative fiecrei foi ale acestora, n funcie de componentele modelului de rezolvare (de
exemplu, n loc de Sheet1, Sheet2, Sheet3, , Sheetn se vor folosi denumiri, cum ar fi:
Meniu, Preluare date, Centralizare, Tiprire, Help etc. ).
6. nainte de a trece la utilizarea modelului realizai salvarea acestuia, prin comenzi de
tip SAVE, ntr-un fiier cu nume adecvat lucrrii (Facturi, Stat de plat salarii, Casa, Balan
de verificare, Bilan etc.). Altfel, riscai s pierdei tot ce ai lucrat dac la execuie sistemul se
blocheaz sau intervine un incident neprevzut. Pentru mai mult siguran, putei realiza
chiar salvri periodice. Dac lucrai pe un calculator utilizat de mai multe persoane, atunci e
recomandat s avei un subdirector propriu n care s pstrai toate lucrrile.
7. Pentru aplicaiile mai complexe este de preferat s se utilizeze mai multe foi de
calcul, dect s se ncerce proiectarea tuturor elementelor ntr-un singur centralizator. Astfel,
se evit alterarea componentelor modelului de rezolvare la actualizarea prin inserarea de linii
sau coloane.
8. ntr-un model definit ntr-un registru de calcul se protejeaz toate zonele definite, n
afara zonelor rezervate datelor de intrare. Dac zonele sunt protejate nu se mai pot face nici
un fel de modificri asupra coninutului. Se reduce, astfel, riscul deteriorrii voluntare sau
involuntare a modelului de rezolvare.
Confidenialitatea datelor poate fi asigurat i prin folosirea parolelor i a tehnicii
ascunderii de linii sau coloane. (n Excel, de exemplu, acunderea de linii i coloane se
realizeaz selectnd din meniul Format comenzile Row/Hide sau Column/Hide, iar stabilirea
de parole se poate realiza la salvarea documentului).
9. Pentru lucrrile mai complexe se recomand utilizarea macro-comenzilor prin
limbajul de macro-comenzi disponibil. Prelucrrile repetitive sunt astfel ncorporate n
programe ce se apeleaz ori de cte ori este necesar. Majoritatea versiunilor din programele de
calcul tabelar ofer faciliti de nregistrare automat a macro- comenzilor.
10. Foarte multe din problemele economice sunt deja rezolvate n programele de
calcul tabelar, utilizatorul trebuind doar s furnizeze corect argumentele unor funcii sau s
apeleze la modulele de asisten (de tip Wizard) (de exemplu, calculul dispersiei, calculul
mediei aritmetice, determinarea trendului unui fenomen, determinarea ratei interne de
rentabilitate etc.)

-46-
3.2.2. Etapele proiectrii aplicaiilor n programele de
calcul tabelar
Programele de calcul tabelar au determinat orientarea majoritii aplicaiilor
informatice ctre utilizatorul final. Chiar dac programele de calcul tabelar ofer soluii rapide
de rezolvare a problemelor nu trebuie neglijate aspectele de conceptualizare, de definire a
unui model de rezolvare valabil pentru mai multe situaii concrete. De aceea, realizarea de
aplicaii eficiente presupune parcurgerea urmtoarelor etape (fig. 9):
1. analiza problemei i conceperea modelului foii de calcul;
2. construirea modelului de foaie de calcul;
3. utilizarea (testarea) modelului;
4. generalizarea modelului cu macroprograme.
1. Conceperea modelului foii de calcul este o etap manual ce se concretizeaz n
obinerea pe hrtie a modelului foii de calcul. Conceperea modelului are n vedere
identificarea datelor primare i a datelor calculate, definirea relaiilor de calcul, realizarea
machetei pentru foaia de calcul, definirea relaiilor ntre liniile i coloanele tabelei
(subtotaluri, totaluri, alte rezultate). Sunt delimitate toate zonele pentru datele de intrare,
pentru datele calculate, blocurile folosite pentru realizarea graficelor necesare.
2. Etapa de construire a modelului are la baz modelul conceput n prealabil.
Operaiile care se execut n cadrul acestei etape sunt:
ncrcarea produsului program de calcul tabelar;
definirea mrimii coloanelor, demarcarea liniilor, formatarea celulelor;
introducerea antetului pentru fiecare linie i coloan;
introducerea formulelor de calcul i a funciilor pentru fiecare celul n care
intervin calcule;
personalizarea modelului;
protejarea componentelor modelului (cu excepia zonelor rezervate datelor de
intrare);
salvarea modelului pe suport magnetic (dischet sau disc dur).
3. Utilizarea (testarea) modelului se realizeaz parcurgnd urmtoarele operaii:
ncrcarea produsului - program de calcul tabelar;
ncrcarea modelului;
introducerea datelor;
analiza rezultatelor i realizarea eventualelor corecii;
realizarea copiilor de siguran;
tiprirea la imprimant a rezultatelor.

-47-
4. Generalizarea modelului cu macroprograme
Dup testarea modelului i corectarea eventualelor erori se realizeaz o automatizare a
execuiei operaiilor repetitive prin elaborarea i testarea unor macroprograme n conformitate
cu specificaiile aplicaiei.

Figura 9. Etapele de rezolvare a unei probleme utiliznd programele de calcul tabelar

-48-
3.3. Categorii de funcii n programele de calcul
tabelar
Funciile din programele de calcul tabelar reprezint formule des utilizate, prin care se
poate executa o mare varietate de calcule, n mod rapid i comod. Se pot efectua calcule
financiare, matematice, statistice, cu iruri de caractere, cu date calendaristice etc. De
asemenea, funciile se pot folosi pentru crearea de expresii condiionale sau pentru efectuarea
de cutri n tabele. Alturi de formule i macrocomenzi, funciile asigur performane sporite
programelor de calcul tabelar, mai ales n simulri. Deoarece fiecare program de calcul
tabelar, respectiv fiecare versiune, are anumite particulariti ne vom opri la o prezentare de
principiu a principalelor categorii de funcii din EXCEL.
n EXCEL funciile sunt precedate de semnul =. Fiecare funcie are o anumit sintax.
Dac sintaxa funciei nu este respectat, sistemul nu o poate interpreta. Funciile din EXCEL
au urmtorul format general
=FUNCIE() sau =FUNCIE(argument_1,argument_2,...,argument_n) unde:
FUNCIE reprezint numele funciei
argument_1, argument_2,..., argument_n reprezint datele pe care funcia le va
utiliza n calcule. Dac funcia are n sintax argumente, acestea trebuie s fie
incluse ntre paranteze rotunde.
Argumentul este o valoare utilizat de o funcie pentru a executa operaii i calculaii.
Tipul de argument utilizat de o funcie este specific funciei respective.
Argumentele precizeaz obiectul funciilor. De exemplu, n funcia =SUM(C10:C15),
argumentul C10:C15 precizeaz c se vor aduna valorile ntlnite n grupul de csue
C10:C15.
Argumentele pot fi valori numerice, iruri de caractere, referine de csue i condiii.
Cnd argumentul este o valoare numeric se poate utiliza un numr, o formul (expresie) de
tip numeric, un nume de grup sau adresa unei csue care conine un numr sau o formul de
tip numeric. Cnd argumentul este de tip ir de caractere se poate utiliza o constant tip ir de
caractere (orice secven de litere, cifre sau alte caractere, delimitat Ia stnga i la dreapta de
caracterul (ghilimele)), o formul de tip ir, un nume de grup sau adresa unei csue care
conine un ir sau o formul de tip ir. Cnd argumentul este o referin de csu, se poate
utiliza un nume de grup sau o adres. Cnd argumentul este o condiie se folosete o expresie
logic (o formul n care se utilizeaz un operator de comparaie, adic >, <, =, , >=,<=, <>)
sau un nume de grup ori o adres de csu care conine o expresie logic. La introducerea
funciilor trebuie s inem cont de urmtoarele recomandri:
1) Numele funciei trebuie s fie precedat de simbolul =.

-49-
2) Indiferent de tipul literelor folosite la tastarea numelui funciei, mici sau mari,
sistemul le va afia cu majuscule.
3) Nu se las spaii ntre numele funciei i argumente i nici ntre argumente.
4) ntotdeauna includei argumentele funciilor ntre paranteze rotunde.
5) O funcie poate include ca argument o alt funcie.
6) Cnd o funcie devine argument al altei funcii fiecare dintre ele trebuie s aib
argumentele cuprinse ntre paranteze.Exemplu: =IF(SUM(A1:A5)>0,B1,B2).
7) Dac sunt mai multe argumente, acestea se separ prin , (virgul) sau ; (punct i
virgul), corespunztor delimitatorului stabilit.
8) Sistemul atribuie valoarea zero tuturor csuelor libere ale cror adrese sunt
folosite ca argumente n funciile financiare, logice sau matematice.
Funciile pot fi folosite ca argumente pentru alte funcii. Cnd o funcie este folosit ca
un argument sau este imbricat, trebuie s ntoarc acelai tip de valoare ca i cel pe care l
folosete argumentul. Dac o funcie imbricat nu ntoarce tipul corect de valoare, Microsoft
Excel va afia o valoare de eroare #VALUE!. De exemplu, formula urmtoare utilizeaz o
funcie AVERAGE imbricat i o compar cu valoarea 200. Comparaia trebuie s ntoarc
TRUE sau FALSE, pentru c acesta este tipul de valoare cerut pentru primul argument dintr-o
funcie IF.
= IF(AVERAGE(A2:A5)>200, SUM(B2:B5),0)
O formul poate conine pn la apte nivele de funcii imbricate. Cnd Funcia B este
folosit ca un argument n Funcia A, Funcia B este o funcie de nivel doi. Dac Funcia B
conine Funcia C ca un argument, Funcia C va fi o funcie de nivel trei. Putei folosi Past
function din linia de instrumente standard pentru a imbrica funcii ca argumente. De exemplu,
putei insera Funcia B ca un argument al Funciei A dac facei clic pe sgeata vertical din
bara de formule. Dac dorii s continuai introducerea de argumente pentru Funcia A, facei
clic pe numele Funciei A n bara de formule.
n Excel, funciile se pot grupa n urmtoarele categorii:
1) Funcii statistice (Statistical) execut calcule statistice asupra unor serii de date;
2) Funcii financiare (Financial) calculeaz mprumuturi, anuiti sau fluxuri
financiare;
3) Funcii logice (Logical) calculeaz rezultatul unei expresii condiionale;
4) Funcii matematice i trigonometrice (Math & Trig) execut o mare varietate
de calcule cu valori numerice;
5) Funcii speciale (execut diverse operaii, cum ar fi: cutarea unei valori ntr-
un tabel sau oferirea de informaii despre o anumit csu) (Lookup &
Reference, Information);
6) Funcii pentru date calendaristice i timp (Date & Time) calculeaz valorile ce
reprezint data calendaristic i timpul.

-50-
7) Funcii pentru baze de date (Database) efectueaz calcule statistice i interogri
asupra bazelor de date EXCEL
8) Funii tip ir de caractere (Text) lucreaz cu iruri (texte, expresii tip ir) sau
constante tip ir.

3.4. Faciliti grafice n programele de calcul


tabelar
Un alt atu al programelor de calcul tabelar este facilitatea de generare automat de
reprezentri grafice pe baza datelor din foaia de calcul. Se pot crea diagrame ca obiecte
grafice ncapsulate ntr-o foaie de calcul sau se poate lucra cu o diagram ntr-o foaie separat
a agendei de lucru (foaie de tip Chart). Putei utiliza asistentul Chart Wizard pentru a v ghida
pas cu pas prin procesul de creare a unei diagrame. Pentru a desena o diagram, programul
utilizeaz reguli precise bazate pe modul n care sunt configurate datele. Orientarea datelor
determin care celule sunt utilizate pentru marcarea axei categoriilor i a axei valorilor i care
celule sunt folosite pentru etichetele legend. n majoritatea cazurilor, regulile corespund
aezrii standard n pagin a datelor, astfel nct diagramele EXCEL se traseaz corect, fr
orice alt intervenie.
Sub mediul de lucru Windows se ntlnesc mai multe tipuri de grafice, att 2D, ct i
3D. n fig. nr. 2.6 sunt prezentate principalele tipuri de grafice ntlnite n EXCEL7, fiecrui
tip corespunzndu-i mai multe subtipuri de grafice.
Dup definirea datelor surs ale reprezentrii grafice, etapele realizrii de grafice,
utilizate i de asistentul de grafice (Chart Wizard) sunt urmtoarele:
1. Alegerea tipului de grafic (vezi fig. nr. 2.7). Se pot utiliza tipurile standard
(Standard Types) sau tipuri personalizate (Custom Types);
2. Alegerea subtipului de grafic (vezi fig. nr. 2.7). Se pot realiza diagrame bi sau
tridimensionale;
3. Selecia zonei de celule care conine datele de exprimat grafic, utiliznd
etichetele Data Range i Series de la pasul 2 al asistentului Chart Wizard;
4. Precizarea informaiilor despre dispunerea seriilor de date (pe linie, pe coloan).
Se utilizeaz opiunea Series in de la pasul 2 al asistentului Chart Wizard;
5. Rafinarea graficului (specificarea titlului graficului i a titlului pentru axa X i
Y, a reelei de linii, a legendei, stabilirea de etichete etc.);
6. Precizarea locului unde va fi dispus graficul: ntr-o foaie de calcul a agendei e
lucru sau ntr-o foaie de tip Chart.
7. Executarea unui clic pe butonul Finish, graficul aprnd n forma sa final n
foaia de calcul.

-51-
Se pot crea dou feluri de diagrame utiliznd programul EXCEL: nglobate i care
apar ntr-o foaie de diagrame. Diagramele nglobate sunt necesare atunci cnd se dorete s fie
incluse unele lng altele o diagram i datele pe baza crora a fost realizat aceasta, ca de
exemplu ntr-un raport. Diagramele reprezentate n foi de diagrame vor fi denumite Chart1,
Chart2 .a.m.d. O diagram este un obiect creat i el poate fi plasat n alt poziie cu tehnica
clic & drag, micorat, mrit sau eliminat din foaia de calcul. Activarea unui grafic n
vederea efecturii unor modificri, ca de exemplu: schimbarea tipului de grafic, a titlului sau a
altor elemente constitutive, se face cu un clic n interiorul chenarului ce ncadreaz graficul.

3.5. Simulri utiliznd programele de calcul


tabelar
Programele de calcul tabelar pot fi interpretate ca sisteme de sprijinire a deciziilor
elementare. Practic, ele preiau o parte din sarcinile decidentului, sarcini care pot fi mai mult
sau mai puin structurate n funcie de nivelul la care se iau deciziile. Modelele analitice
specifice unui sistem suport pentru decizii implementate ntr-un program de calcul tabelar
sunt analiza de tipul "Ce se ntmpl dac?" i modelele de simulri. Simulrile reprezint o
particularizare a analizei "Ce se ntmpl dac?" (What if?). Simulrile au ca punct de plecare
recalcularea automat, considerat cea mai simpl metod de simulare. Ce se ntmpl dac
cheltuielile s-ar reduce cu 10% - ct ar fi profitul i rata rentabilitii? Mai mult, exist
posibilitatea construirii de modele de simulare mai complexe prin tehnici cum sunt: tabele de
simulare cu una sau mai multe variabile sau formule, cutare rezultat final (Goal Seek),
utilizarea funciei de rezolvare (Solver), gestiunea scenariilor. De asemenea, se pot realiza
simulri pe baz de grafice (utilizatorul rectific reprezentarea grafic dup dorin, iar
sistemul modific datele n mod corespunztor).

3.6. Baze de date Excel


Excel este un program de calcul tabelar ce poate fi utilizat i pentru crearea i
gestionarea bazelor de date (de exemplu, liste cu adresele clienilor, inventarul produselor
etc.), capacitile oferite n acest domeniu fiind remarcabile. n Excel, o baz de date este o
list creat pentru a organiza i gestiona grupuri de date ntr-o foaie de lucru. Coloanele din
domeniul bazei de date sunt cunoscute sub denumirea de cmpuri, iar rndurile sub denumirea
de nregistrri. Rndul de sus al bazei de date conine numele cmpurilor.
Modulul pentru baze de date din programele de calcul tabelar asigur gestionarea
bazelor de date, permind crearea, actualizarea i interogarea acestora, precum i efectuarea
unei complexe game de operaiuni asupra structurii nregistrrilor.

-52-
O baz de date este format dintr-un grup de date ntre care exist o legtur, grupul
fiind organizat n rnduri i coloane ale unui tabel. Aceeai foaie de calcul poate s conin
mai multe baze de date, fiecare dintre ele avnd nregistrri (rnduri) i cmpuri (coloane). De
fapt, o nregistrare este o colecie de date despre un obiect, fenomen sau proces al bazei, iar un
cmp este o caracteristic, un atribut al tuturor nregistrrilor bazei de date. Aadar, ntr-o
baz de date fiecare linie este o nregistrare i fiecare coloan este un cmp, cu meniunea c
prima linie a tabelului conine numele cmpurilor, cte unul pentru fiecare coloan. Prin nume
se face referirea la cmpurile bazei.
Crearea unei baze de date presupune doar introducerea numelor cmpurilor n prima
linie ocupat de baza de date i apoi introducerea valorilor asociate n urmtoarele linii.
Actualizarea bazei de date se realizeaz astfel:
Adugarea de nregistrri presupune doar introducerea de noi valori dup ultima
linie completat cu date. Inserarea n interior necesit utilizarea comenzii de
inserare linie n poziia dorit, urmat de completarea cu date.
tergerea de nregistrri nseamn de fapt tergerea de rnduri din foaia de calcul.
Modificarea coninutului bazei de date utilizeaz facilitile de editare ale
programului de calcul tabelar.
Modificarea structurii bazei de date presupune adugarea de noi cmpuri, adic
adugarea de noi coloane i tergerea cmpurilor, adic tergerea de coloane.
n Microsoft Excel putei folosi cu uurin o list ca o baz de date. Cnd executai
activiti specifice bazelor de date, ca de pild cutare, sortare sau subtotalizare date,
Microsoft Excel recunoate automat lista ca o baz de date i folosete urmtoarele elemente
ale listei pentru a organiza datele:
Coloanele din list sunt cmpurile din baza de date.
Etichetele coloanelor din list sunt numele cmpurilor n baza de date. Fiecare
rnd din list este o nregistrare n baza de date.
Asupra datelor din baza de date se pot efectua urmtoarele operaiuni:
Localizarea i afiarea de nregistrri care ndeplinesc anumite criterii definite de
utilizator (n Excel se utilizeaz comanda Data/Filter);
Sortarea datelor (n Excel se utilizeaz comanda Data/Sort);
Calcularea de subtotaluri (n Excel se utilizeaz comanda Data/Subtotals); Analiza
datelor din baza de date utiliznd funciile statistice ale bazelor de date.

-53-

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