Sunteți pe pagina 1din 49

LIMBAJE ŞI

BAZE DE DATE

Titular disciplină:
Prof.univ.dr. Zenovic GHERASIM

4
UNITATEA DE ÎNVĂłARE 1
1. Rezolvarea problemelor economice cu ajutorul programelor pe calculator. Exemplificări în
limbajul de programare Visual Basic. 1.1. Societatea informaŃională – Societatea cunoaşterii,
Sistem informaŃional, sistem informatic, sistem bazat pe cunoştinŃe. Dată, informaŃie şi cunoştinŃă.
Locul şi rolul disciplinei Limbaje şi baze de date în ansamblul disciplinelor de specialitate ale
Programului de studii universitare de licenŃa FinanŃe şi Bănci.

Cuprins:
1.1. INTRODUCERE
1.2. COMPETENłELE UNITĂłII DE ÎNVĂłARE
1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE:

1.1 Introducere

Cursul de Limbaje şi baze de date se desfăşoară în anul II, semestrul 1 al anului universitar.
Obiectivele disciplinei Limbaje şi baze de date se concretizează în cunoaşterea noŃiunilor de bază ale
organizării datelor în vederea prelucrării automate cu ajutorul calculatorului electronic, a elementelor
fundamentale ale programării cu exemplificări în mediul integrat de dezvoltare Visual Basic, ale bazelor de
date şi sistemelor de gestiune a bazelor de date (SGBD), ale SGBD Microsoft Access, precum şi în câştigarea
deprinderilor practice în rezolvarea cu programe pe calculator şi prin intermediul bazelor de date a
problemelor economice specifice domeniului financiar-bancar.

1.2. COMPETENłELE UNITĂłII DE ÎNVĂłARE

Problematica teoretică şi aplicaŃiile practice sunt sistematizate în aşa fel încât să asigure
însuşirea raŃională a cunoştinŃelor şi formarea gândirii informatice a studentului.

Sunt subsumate următoarele obiective:


• clarificarea importanŃei Tehnologiilor InformaŃiei şi ale ComunicaŃiilor (IT&C) ca fundament al
SocietăŃii InformaŃionale – SocietăŃii Cunoaşterii;
• evidenŃierea rolului informaticii economice în corelaŃie cu cunoştinŃele specifice Programului de studii
universitare de licenŃă FinanŃe şi Bănci;
• punerea în relief a obiectului de studiu al disciplinei Limbaje şi baze de date şi a locului acesteia în
ansamblul disciplinelor de informatică economică aplicate în domeniul financiar-bancar;
• explicarea însemnătăŃii cunoştinŃelor informatice în formarea gândirii economice şi a
comportamentului economic.
5
TIMPUL ALOCAT TEMEI: 2 ORE

1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE

NoŃiunea de societate informaŃională (Information Society) descrie o economie şi o societate în care


colectarea, stocarea, prelucrarea, transmiterea, diseminarea şi utilizarea informaŃiilor şi cunoştinŃelor, inclusiv
dezvoltarea tehnicilor de comunicaŃie interactivă, au un rol decisiv. Factorii semnificativi în această dezvoltare
sunt: înalta tehnologie (HighTech), industria, lumea lucrului (Work World), precum şi toate formele de cultură
în societate. Societatea informatică este o parte a societăŃii informaŃionale care foloseşte progresele tehnicii de
calcul în toate domeniile de activitate economico-socială. Societatea bazată pe cunoştinŃe (Knowledge-Based
Society) este o parte a societăŃii informatice care utilizează tehnologiile informaŃiei şi ale comunicaŃiilor
(IT&C) preponderent pentru prelucrarea datelor sub formă de cunoştinŃe. Considerând un nivel superior (pe
modelul de dezvoltare în spirală al societăŃii umane), cel mai cuprinzător concept este cel de societate a
cunoaşterii (Knowledge Society). Societatea cunoaşterii este fundamentată pe acumularea şi utilizarea de date
sub formă de informaŃii şi cunoştinŃe la nivel social. După acad. Mihai Drăgănescu, societatea cunoaşterii
reprezintă mai mult decât societatea informaŃională şi decât societatea informatică, înglobându-le de fapt pe
acestea. Societatea cunoaşterii foloseşte piese (pieces) ale cunoaşterii.
Societatea informaŃională are la bază sistemele informaŃionale, societatea informatică – sistemele
informatice, iar societatea bazată pe cunoştinŃe se fundamentează pe sistemele bazate pe cunoştinŃe
(Knowledge-Based Systems). Sintagma folosită de Romano Prodi, fostul preşedinte al Comisiei Europene, este
de economie bazată pe cunoştinŃe (Knowledge-Based Economy, KBE); această KBE reprezintă cea mai
rafinată parte a noii economii (New Economy), prin noua economie înŃelegând economia specifică societăŃii
informaŃionale– societăŃii cunoaşterii (SI - SC).
Sistemul este un ansamblu de elemente dependente (componente, principii, reguli, relaŃii, etc.) care
formează un întreg organizat, pe baza unui plan prestabilit, cu scopul realizării unui anumit obiectiv. Sistemul
informaŃional reprezintă acel sistem de prelucrare a informaŃiilor, împreună cu resursele organizaŃionale
asociate, cum sunt resursele umane, tehnice şi financiare ce furnizează şi distribuie informaŃia. Sistemul
informatic reprezintă partea automatizată a sistemului informaŃional ce realizează prelucrarea datelor şi
informaŃiilor folosind un sistem de calcul; este un ansamblu de echipamente şi programe pe calculator
(software) care asigură prelucrarea datelor. Sistemul bazat pe cunoştinŃe este o parte a sistemului informatic
care procesează cunoştinŃe într-o cantitate determinantă şi semnificativă.
După acad. Mihai Drăgănescu, cunoştinŃa este informaŃie cu înŃeles şi informaŃie care acŃionează.
CunoştinŃa semnifică ceea ce este cunoscut. Într-o altă percepŃie, cunoştinŃele sunt informaŃii dobândite prin
instruire (educaŃie) şi practică (experienŃă). La modul general, datele sunt reprezentate convenŃional prin
numere, mărimi, relaŃii etc. şi sunt folosite la rezolvarea problemelor sau sunt obŃinute printr-o activitate de
cercetare. InformaŃia reprezintă elementele de noutate despre un fenomen, proces etc. Noutatea caracteristică
noŃiunii de informaŃie este percepută de utilizator numai în momentul intrării în contact cu această informaŃie.
Ca urmare, din punct de vedere informatic, datele sunt informaŃii sau cunoştinŃe reprezentate simbolic şi

6
înregistrate în vederea gestionării (evidenŃei) şi/sau prelucrării. Rezultatul prelucrării este tot o dată care, prin
interpretare, se transformă iniŃial în informaŃie şi apoi (nu întotdeauna) în cunoştinŃă.
Caracterul de dată, informaŃie sau cunoştinŃă este relativ (adică se schimbă în funcŃie de contextul ce
defineşte însuşirea de noutate pentru informaŃie şi de înŃeles şi utilitate prin acŃiune pentru cunoştinŃă).
“Oceanul” informaŃional actual necesită nu numai eforturi de stocare a datelor, informaŃiilor şi
cunoştinŃelor, dar mai cu seamă de selecŃie, la momentul oportun a celor mai relevante şi utile dintre
acestea.

ÎNDRUMAR PENTRU AUTOVERIFICARE

A) SINTEZA unităŃii de învăŃare

SOCIETATEA
CUNOAŞTERII

7
B) CONCEPTE ŞI TERMENI DE REłINUT

• Societatea informaŃională
• Societatea informatică
• Societatea bazată pe cunoştinŃe
• Societatea Cunoaşterii
• Sistem
• Sistem informaŃional
• Sistem informatic
• Sistem bazat pe cunoştinŃe
• Dată
• InformaŃie
• CunoştinŃă

C) ÎNTREBĂRI DE CONTROL ŞI TEME DE DEZBATERE

1. Care sunt deosebirile dintre date, informaŃii şi cunoştinŃe?


2. Care sunt caracteristicile societăŃii informaŃionale?
3. Prin ce se deosebeşte Societatea Cunoaşterii de Societatea bazată pe cunoştinŃe?
4. Care sunt cele două definiŃii ale sistemului informatic?

Conceptele de societate informaŃională – societate a cunoaşterii. Sistem informaŃional,


sistem informatic, sistem bazat pe cunoştinŃe.
Manual, pag.11-15.

Dată, informaŃie şi cunoştinŃă.


Manual, pag.12-14.
Exemple teste: 1 (pag.11); 158 (pag.59);

D) Teste de autoevaluare

1 MATCHING Să se realizeze corespondenŃa între noŃiunile următoare şi definiŃiile lor.


a. data
b. informatie
c. cunostinta

1. informatie cu inteles si informatie care actioneaza


2. este reprezentata conventional prin numere, marimi, relatii etc. si este folosita la rezolvarea
problemelor sau este obtinuta printr-o activitate de cercetare
3. data cu caracter de noutate.

2. COMPLETION Sistemul este un ansamblu de elemente ___________________ (componente,


principii, reguli, relaŃii, etc.) care formează un întreg organizat, pe baza unui plan prestabilit, cu scopul
realizării unui anumit obiectiv.

3. TRUE-FALSE Conceptul de Societatea Cunoaşterii nu este similar cu acel de Societatea bazată pe


cunoştinŃe.

8
LIMBAJE ŞI
BAZE DE DATE

Titular disciplină:
Prof.univ.dr. Zenovic GHERASIM

9
UNITATEA DE ÎNVĂłARE 2
1. Rezolvarea problemelor economice cu ajutorul programelor pe calculator.
Exemplificări în limbajul de programare Visual Basic. 1.2. NoŃiuni fundamentale utilizate în
organizarea datelor. RelaŃiile dintre date. Structuri de date. Modele de date.

Cuprins:
1.3. INTRODUCERE
1.4. COMPETENłELE UNITĂłII DE ÎNVĂłARE
1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE:

1.1 Introducere

Cursul de Limbaje şi baze de date se desfăşoară în anul II, semestrul 1 al anului universitar.
Obiectivele disciplinei Limbaje şi baze de date se concretizează în cunoaşterea noŃiunilor de bază ale
organizării datelor în vederea prelucrării automate cu ajutorul calculatorului electronic, a elementelor
fundamentale ale programării cu exemplificări în mediul integrat de dezvoltare Visual Basic, ale bazelor de
date şi sistemelor de gestiune a bazelor de date (SGBD), ale SGBD Microsoft Access, precum şi în câştigarea
deprinderilor practice în rezolvarea cu programe pe calculator şi prin intermediul bazelor de date a
problemelor economice specifice domeniului financiar-bancar.

1.2. COMPETENłELE UNITĂłII DE ÎNVĂłARE

Problematica teoretică şi aplicaŃiile practice sunt sistematizate în aşa fel încât să asigure
însuşirea raŃională a cunoştinŃelor şi formarea gândirii informatice a studentului.

Sunt subsumate următoarele obiective:


• clarificarea importanŃei problemei organizării datelor în programarea calculatoarelor ca bază a
realizării unui program pe calculator de calitate;
• evidenŃierea rolului relaŃiilor dintre date, a structurilor de date şi a modelelor de date în organizarea
datelor pe calculator;
• definirea noŃiunilor de bază specifice în organizarea datelor pe calculator.
10
TIMPUL ALOCAT TEMEI: 2 ORE

1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE

Organizarea datelor
Datele sunt stocate în memoria internă şi memoria externă a oricărui sistem de calcul. Organizarea
datelor se referă la procesul de definire şi structurare a datelor în colecŃii de date, precum şi la realizarea
legăturilor între elementele unei colecŃii şi între colecŃiile de date. Organizarea datelor se proiectează în scopul
regăsirii automate a acestora după diverse criterii.
Obiectivele organizării datelor sunt, în principal, următoarele:
• timp de acces minim la date;
• apariŃia o singură dată a datelor în sistem;
• spaŃiu de memorie internă şi externă pentru date cât mai mic;
• reflectarea prin organizare a tuturor legăturilor dintre procesele economice pe care aceste date le
reprezintă;
• posibilitatea modificării structurii datelor şi a relaŃiilor dintre date fără a produce schimbări în
programele care le gestionează.
Tehnicile de organizare a datelor în colecŃii de date sunt: fişierul de date şi baza de date.
Fişierul de date reprezintă o colecŃie de date memorată pe un suport tehnic într-o succesiune de
înregistrări. Accesul la o înregistrare din fişierul de date se obŃine prin parcurgerea înregistrărilor fişierului în
secvenŃa în care au fost stocate (acces secvenŃial) sau pe baza unei chei de identificare care să permită
regăsirea rapidă a înregistrării (acces direct). Accesul direct se obŃine prin indexarea fişierelor, adică prin
crearea unor tabele de indecşi care pentru fiecare valoare a atributului cheie primară (atribut care permite
identificarea în mod unic a unei înregistrări din fişier) să conŃină adresa corespunzătoare (în cadrul fişierului) a
fiecărei înregistrări.
Baza de date este un fişier format din înregistrări (records) sau rânduri, fiecare conŃinând câmpuri
(fields) sau coloane, şi o mulŃime de operaŃii de căutare, sortare, recombinare etc.
În proiectarea şi înŃelegerea unui sistem informatic, organizarea datelor reprezintă o etapă
fundamentală care presupune:
1. definirea, structurarea, ordonarea şi gruparea datelor în colecŃii de date omogene;
2. stabilirea legăturilor între date, între elementele unei colecŃii de date şi între colecŃiile de date, după o
ierarhie bine precizată;
3. memorarea datelor pe un suport informaŃional prelucrabil într-un sistem de calcul.
NoŃiunile fundamentale folosite în organizarea datelor sunt entitatea, atributul şi valoarea. Între
acestea există legături de interdependenŃă astfel:
 o entitate are mai multe atribute, iar atributele au o anumită mulŃime de valori;
 entitatea reprezintă un obiect concret sau abstract definit prin proprietăŃile sale;
 orice proprietate a unui obiect este exprimată printr-o pereche (ATRIBUT, VALOARE).

11
Exemplul a) - „materialul M are lungimea mare” unde „lungimea” este atributul, iar „mare” este
valoarea. (LUNGIMEA, MARE);
Exemplul b) – un client – persoană fizică al unei bănci comerciale poate fi reprezentat prin mulŃimea
de perechi: (NUME, POPESCU); (PRENUME, ION); (LOCALITATE, BUCUREŞTI); (TELEFON,
0213211231); (CONT_BANCAR, RO15RZBR0000070002170022).
MulŃimea atributelor M_ATR = (NUME, PRENUME, LOCALITATE, TELEFON,
CONT_BANCAR) poate fi asociată mai multor clienŃi ai băncii comerciale. Ca urmare, atributele nu
caracterizează doar o entitate, ci o clasă de entităŃi care este denumită entitate de grup. Elementele unei
entităŃi de grup prezintă drept caracteristică aceeaşi mulŃime de atribute. Ca urmare, entităŃile din cadrul unei
entităŃi de grup sunt de acelaşi tip, definindu-se astfel un tip de entitate.
Atributul este denumit şi câmp sau caracteristică. Un câmp poate lua o anumită clasă de valori, fiind
caracterizat de natura acestei clase de valori (de exemplu, atributul este numeric dacă ia valori numerice,
atributul este alfanumeric dacă clasa de valori este reprezentată de şiruri de caractere etc).
Atributele compuse se obŃin prin concatenarea mai multor atribute elementare.
Atributul care identifică în mod unic o entitate se numeşte atribut-cheie. Caracteristicile care nu
identifică în mod unic o entitate se numesc atribute non-cheie.
Din punctul de vedere al compunerii, datele se clasifică în:
• date elementare sau scalare, adică data nu se mai divide în raport cu informaŃia sau cunoştinŃa pe care
o reprezintă;
• date compuse, adică formate din mai multe date elementare.
Din punct de vedere logic, o dată este definită prin identificator, atribut şi valoare.
De exemplu: MATERIAL – identificator
PRET_UNITAR – atribut
120000 – valoare
Din punct de vedere fizic, unei date îi corespunde o zonă de memorie de o anumită mărime care se
află la o adresă absolută.

RelaŃiile dintre date


Între date există relaŃii sau legături diferite. Între datele care aparŃin unor tipuri de entităŃi se pot
realiza două feluri de legături:
• primă legătură se exprimă prin apartenenŃa datelor la entitate;
• a doua legătură se defineşte pentru entităŃile de acelaşi tip sau de tipuri diferite.
Exemple:
a) Dacă se notează cu SALARIATI mulŃimea salariaŃilor unei bănci comerciale, între datele a1 şi a2
ce aparŃin acestei mulŃimi, se pot defini relaŃii de tipul:
 a1 are aceeaşi funcŃie de încadrare cu a2;
 a1 are acelaşi salariu cu a2;
 a1 are aceeaşi vârstă cu a2 etc.
b) Se consideră două clase de entităŃi: PRODUSE_BANCARE şi CLIENTI. Între datele acestor două
clase de entităŃi se pot defini relaŃiile:
 un produs bancar poate fi achiziŃionat de unul sau mai mulŃi clienŃi ai băncii;
 un client al băncii poate achiziŃiona unul sau mai multe produse bancare.

Structuri de date
Structura de date este o colecŃie de date între care s-au stabilit un ansamblu de relaŃii pe baza cărora
funcŃionează un mecanism de selecŃie şi identificare a componentelor. MulŃimea de date, asociată structurii de
date, poate cuprinde datele unui tip sau ale mai multor tipuri de entităŃi. Componentele structurii se identifică
prin nume sau prin poziŃia pe care o deŃin în structură în raport cu ordinea specificată.
În situaŃia în care pentru localizarea unei componente se parcurg toate celelalte componente dinaintea
ei, structura are acces secvenŃial. În schimb, atunci când o componentă poate fi selectată fără a Ńine seama de
celelalte, structura are acces direct.
Componentele unei structuri de date sunt date elementare sau sunt ele însele structuri de date.
Asupra unei structuri de date se pot efectua următoarele operaŃii:
• crearea (înseamnă memorarea datelor iniŃiale pe suportul de stocare);
• actualizarea (schimbarea stării structurii prin adăugare, modificare sau ştergere de elemente,
modificarea valorii sau relaŃiilor dintre elemente);
12
• consultarea (accesarea componentelor structurii de date);
• sortarea (aranjarea elementelor unei structuri de date în conformitate cu criterii prestabilite);
• ventilarea (divizarea unei structuri de date în două sau mai multe structuri de date);
• fuzionarea (formarea unei structuri de date noi din două sau mai multe structuri de date) etc.
Structurile de date care prezintă aceeaşi organizare şi asupra cărora se execută aceleaşi operaŃii
formează un anumit tip de structuri de date. Tipul de structură de date reprezintă o mulŃime ordonată de date
între care s-au stabilit anumite relaŃii şi pentru care realizarea operaŃiilor se efectuează cu un grup de operatori
de bază care au o anumită semantică.
Dacă se ia în considerare tipul componentelor, structurile de date se clasifică în omogene
(componentele sunt de acelaşi tip) şi eterogene (componentele au tipuri diferite).
Când structura de date se descompune în structuri de date de acelaşi tip, atunci structura obŃinută este
denumită recursivă.
După nivelul de structurare al datelor, se deosebesc structura fizică (structura de date care se referă la
modul de implementare pe suporŃi tehnici informaŃionali) şi structura logică (modul de ordonare a datelor şi
modul de folosire a operatorilor de tratare a datelor).
Dacă se ia în considerare posibilitatea modificării valorilor şi a structurilor, se identifică structuri
statice (pe tot parcursul existenŃei acestora prezintă acelaşi număr de componente şi în aceeaşi ordine (adică
au cardinalitate finită, prin cardinalitate înŃelegând numărul elementelor mulŃimii)) şi structuri dinamice
(permit modificarea valorilor şi a structurii de date prin aplicarea unor operatori; aceste structuri de date au
cardinalitate infinită deoarece prezintă un număr nelimitat de componente).
O structură logică poate fi implementată atât ca structură statică cât şi ca structură dinamică. Există
însă şi structuri logice ce nu pot fi implementate static. În organizarea datelor trebuie definită atât structura
logică, cât şi cea fizică, deorece cele două nivele se condiŃionează reciproc.
Din punctul de vedere al tipului de structură de date, se deosebesc structuri de date punctuale, liniare,
arborescente, reŃea, relaŃionale.
Datele şi structurile de date pot fi predefinite sau definite de utilizator.
Structurile de date se folosesc, în special, în programare, iar unele dintre ele sunt fundamentale şi în
teoria bazelor de date (cum este, de exemplu, tabloul sau tabelul (table), care este folosit în structurarea
bazelor de date relaŃionale).

Modele de date
Modelarea datelor serveşte pentru prelucrarea datelor cu ajutorul calculatorului electronic. Definirea
unui model de date cuprinde următoarele:
• structura modelului;
• operatorii care se utilizează la manipularea structurilor de date;
• stabilirea regulilor de integritate pentru menŃinerea corectitudinii datelor.
Definirea structurii modelului cuprinde definirea obiectelor (entităŃilor) şi a caracteristicilor asociate
(atributelor). Se utilizează următoarele elemente: câmpul (cel mai mic element al structurii) grupul simplu sau
compus (set compus din câmpuri multiple şi grupuri) şi înregistrarea (ansamblu de câmpuri sau grupuri care
constituie şi elementul generic al structurii). RelaŃiile dintre înregistrările unei entităŃi (obiect) sau mai multor
entităŃi (obiecte) independente se materializează într-o legătură dintre o realizare a înregistrării părinte şi una
sau mai multe realizări ale înregistrării copil. Prin entitate se înŃelege un obiect al universului real ce este
supus modelării, obiect care este caracterizat de o identitate proprie, de o existenŃă proprie şi de o familie de
caracteristici care semnifică proprietăŃile acestui obiect. RelaŃiile sunt denumite şi asocieri.
Pentru realizarea unei reprezentări grafice (sub formă de diagrame) a structurii modelului se utilizează
tehnica entitate-asociere care constă în identificarea componentelor (entităŃilor), identificarea asocierilor
dintre entităŃi şi codificarea lor, identificarea atributelor şi precizarea atributelor de identificare a entităŃilor.
Fiecare entitate prezintă mai multe realizări. Legăturile dintre entităŃi sunt reprezentate prin arce neorientate
sau orientate (fig.1) care stabilesc legătura între nodurile ce reprezintă entităŃile participante la asociere.
SemnificaŃia legăturii este exprimată printr-un nume acordat legăturii. Legătura se reprezintă cu un nod
etichetă (sub formă de romb) dispus pe arc ca nod intermediar.

13
Fig. 1.Reprezentarea relaŃiei CLIENłI-PRODUSE şi a cardinalităŃii

Tipul sau forma legăturii se evidenŃiază cu ajutorul cardinalităŃii. În figura 1 este reprezentată grafic
cardinalitatea legăturii între CLIENłI-PRODUSE. Cardinalitatea legăturilor semnifică numărul minim şi
numărul maxim de realizări (instanŃe) de entitate care pot fi asociate cu o realizare a partenerului de asociere.
Cardinalitatea se reprezintă prin perechi de numere, câte o pereche pentru fiecare entitate din cadrul legăturii.
Din fig.1 se observă că un anumit produs poate fi achiziŃionat de mai mulŃi clienŃi şi un client poate cumpăra
mai multe produse. Perechea (1,n) este asociată entităŃii CLIENTI şi semnifică faptul că un client poate să
achiziŃioneze un produs sau poate să achiziŃioneze mai multe produse. Perechea (0,n) este asociată entităŃii
PRODUSE şi semnifică faptul că un produs poate să nu fie achiziŃionat de nici un client sau poate să fie
achiziŃionat de mai mulŃi clienŃi.
Între entităŃi se pot stabili următoarele tipuri de legături:
1. După cardinalitatea asocierii şi după gradul asocierii (maximele cardinalităŃii) se deosebesc:
- asocieri de tipul „unu la unu” (one-to-one);
- asocieri de tipul „unu la mulŃi” (one-to-many);
- asocieri de tipul „mulŃi la mulŃi” (many-to-many).
2. După cardinalitatea asocierii şi după obligativitatea participării entităŃilor la asociere (minimele
cardinalităŃii) se diferenŃiază asocieri parŃiale (acele asocieri care nu obligă participarea la asociere a tuturor
entităŃilor vizate) şi asocieri totale (complete).
3. Combinat, după gradul asocierii şi după obligativitatea participării la asociere.
4. După numărul de entităŃi distincte care participă la asociere se definesc:
- asocieri binare (asocieri între două entităŃi distincte);
- asocieri recursive (asocieri ale entităŃilor cu ele însele);
- asocieri complexe (asocieri între mai mult de două entităŃi distincte).
Atributele reprezintă proprietăŃi distincte ale entităŃilor. însă ele se pot referi şi la asocierile
dintre entităŃi. După complexitate, atributele se clasifică în atribute simple sau elementare şi în
atribute complexe (compuse din mai multe atribute elementare). După realizările pe care le pot
prezenta atributele, acestea pot fi monovaloare, multivaloare, obligatorii sau opŃionale. Un atribut de
identificare este denumit cheie, atunci când este caracterizat prin unicitatea valorii sale pentru fiecare
instanŃă a entităŃii (de exemplu, cod_client pentru entitatea CLIENTI, cod_produs, pentru entitatea
PRODUSE). Atributele cheie se marchează prin subliniere sau printr-o săgeată spre entitatea căreia îi
aparŃin.
Operatorii utilizaŃi în modelele de date sunt citire, memorare, modificare, joncŃiune etc. Pentru
asigurarea corectitudinii datelor se folosesc reguli de integritate.
Cele mai importante modele de date sunt modelul ierarhic, modelul reŃea, modelul relaŃional şi
modelul orientat obiect.
Modelul ierarhic conŃine ca structuri de bază tipuri de înregistrări care grupează toate atributele unei
entităŃi. Acest model posedă ierarhia ca tip de structură. Această ierarhie dispune de un tip de înregistrare
definit ca rădăcină/root şi mai multe tipuri de înregistrări subordonate, legate sub formă de arbore, motiv
pentru care modelul este denumit şi arborescent.
În cazul modelului reŃea, datele sunt reprezentate ca la modelul ierarhic, cu deosebirea că fiecare
inferior poate avea mai mulŃi superiori. Structurile specifice modelului reŃea pot să fie tipul de înregistrări
(asigură atributele unei entităŃi) şi tipul de set (asigură legăturile între tipurile de înregistrare).
Modelul relaŃional este fundamentat pe teoria matematică a relaŃiilor, caracterizându-se printr-o
singură structură de date şi anume relaŃia sau tabelul. Un astfel de model poate fi perceput ca o mulŃime de
tabele obŃinute prin metoda normalizării. Normalizarea porneşte de la o mulŃime de atribute sau câmpuri de
date şi de la o mulŃime de dependenŃe funcŃionale dintre atribute. Normalizarea permite obŃinerea unei scheme
conceptuale a modelului relaŃional într-o formă normalizată în care se elimină anomaliile de actualizare.
Modelul orientat obiect este bazat pe structura denumită clasă de obiecte ce este definită prin
abstractizare din entităŃile desemnate.

14
ÎNDRUMAR PENTRU AUTOVERIFICARE

B) SINTEZA UNITĂłII DE ÎNVĂłARE

Organizarea datelor se referă la procesul de definire şi structurare a datelor în colecŃii de date,


precum şi la realizarea legăturilor între elementele unei colecŃii şi între colecŃiile de date. Organizarea datelor
se proiectează în scopul regăsirii automate a acestora după diverse criterii.
Fişierul de date reprezintă o colecŃie de date memorată pe un suport tehnic într-o succesiune de
înregistrări. Accesul la o înregistrare din fişierul de date se obŃine prin parcurgerea înregistrărilor fişierului în
secvenŃa în care au fost stocate (acces secvenŃial) sau pe baza unei chei de identificare care să permită
regăsirea rapidă a înregistrării (acces direct). Accesul direct se obŃine prin indexarea fişierelor, adică prin
crearea unor tabele de indecşi care pentru fiecare valoare a atributului cheie primară (atribut care permite
identificarea în mod unic a unei înregistrări din fişier) să conŃină adresa corespunzătoare (în cadrul fişierului) a
fiecărei înregistrări.
Baza de date este un fişier format din înregistrări (records) sau rânduri, fiecare conŃinând câmpuri
(fields) sau coloane, şi o mulŃime de operaŃii de căutare, sortare, recombinare etc.
NoŃiunile fundamentale folosite în organizarea datelor sunt entitatea, atributul şi valoarea
Din punctul de vedere al compunerii, datele se clasifică în:
• date elementare sau scalare, adică data nu se mai divide în raport cu informaŃia sau cunoştinŃa pe care
o reprezintă;
• date compuse, adică formate din mai multe date elementare.

Structura de date este o colecŃie de date între care s-au stabilit un ansamblu de relaŃii pe baza cărora
funcŃionează un mecanism de selecŃie şi identificare a componentelor.
Modelarea datelor serveşte pentru prelucrarea datelor cu ajutorul calculatorului electronic. Definirea
unui model de date cuprinde următoarele:
• structura modelului;
• operatorii care se utilizează la manipularea structurilor de date;
• stabilirea regulilor de integritate pentru menŃinerea corectitudinii datelor.
Pentru realizarea unei reprezentări grafice (sub formă de diagrame) a structurii modelului se utilizează
tehnica entitate-asociere care constă în identificarea componentelor (entităŃilor), identificarea asocierilor
dintre entităŃi şi codificarea lor, identificarea atributelor şi precizarea atributelor de identificare a entităŃilor.
Cele mai importante modele de date sunt modelul ierarhic, modelul reŃea, modelul relaŃional şi modelul
orientat obiect.

B) CONCEPTE ŞI TERMENI DE REłINUT

• Organizarea datelor
• Structuri de date
• RelaŃii dintre date
15
• Modelarea datelor
• Modele de date
• ColecŃie de date
• Fişier de date
• Bază de date
• Entitate
• Atribut
• Valoare
• Tehnica entitate-asociere
• Tipuri de legături între entităŃi
• Cardinalitatea asocierii
• Modelul ierarhic
• Modelul reŃea
• Modelul relaŃional
• Modelul orientat obiect

C) ÎNTREBĂRI DE CONTROL ŞI TEME DE DEZBATERE

1. EnumeraŃi şi caracterizaŃi conceptele utilizate în organizarea datelor.


2. Ce este un fişier de date?
3. ClasificaŃi structurile de date.
4. PrezentaŃi tipurile de modele de date.
5. Câte tipuri de legături între entităŃi cunoaşteŃi şi care sunt ele?

a.Organizarea datelor.
Manual, pag.15-17.
Exemple teste: 21 (pag.15); 50 si 51 (pag.18); 73 (pag.30); 86 (pag.40); 104 (pag.48);

b.RelaŃii dintre date.


Manual, pag.17-19.
Exemple teste: 169 (pag.61); 88 (pag.75);

c.Structuri de date.
Manual, pag.19-22.
Exemple teste: 159 (pag.59);

d.Modele de date.
Manual, pag.22-24.
Exemple teste: 53 (pag.19); 92 (pag.44); 106 si 107 (pag.48); 170 (pag.61);

D) Teste de autoevaluare

1 MATCHING
Modelele de date au urmatoarele definitii:
a. modelul ierarhic c. modelul relational
b. modelul retea
1. modelul in care fiecare inferior poate avea mai multi superiori.
2. modelul care are la baza teoria matematica a relatiilor.
3. modelul care are ca structura de baza tipuri de inregistrari care grupeaza toate atributele unei inregistrari.

16
2. COMPLETION Structura de date este o ___________________de date între care s-au stabilit un
ansamblu de relaŃii pe baza cărora funcŃionează un mecanism de selecŃie şi identificare a componentelor.

3. MULTIPLE CHOICE

Organizarea datelor in fisiere prezinta avantaje si dezavantaje. Care dintre variantele urmatoare este
un avantaj?
a. redundanta ridicata d. dependenta programelor fata de date
b. izolarea datelor e. localizare rapida prin indexare
c. actualizarea datelor

4. TRUE-FALSE
4. a.Tehnicile de organizare a datelor in colectii de date sunt: clasa si baza de date.
5. b.Organizarea datelor in fisiere are ca avantaj redundanta scazuta a datelor.
6. c.Conceptele folosite in organizarea datelor sunt: entitate, clasa, atribut.
7. d.Descrierea structurii modelului de date presupune definirea operatoriilor si a regulilor de
integritate care actioneaza asupra modelului.

17
UNITATEA DE ÎNVĂłARE 3
1. Rezolvarea problemelor economice cu ajutorul programelor pe calculator. Exemplificări în
limbajul de programare Visual Basic. 1.3. NoŃiuni de bază specifice procesului de prelucrare
automată a datelor şi programării

Cuprins:
1.5. INTRODUCERE
1.6. COMPETENłELE UNITĂłII DE ÎNVĂłARE
1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE:

1.1 Introducere

Cursul de Limbaje şi baze de date se desfăşoară în anul II, semestrul 1 al anului universitar.
Obiectivele disciplinei Limbaje şi baze de date se concretizează în cunoaşterea noŃiunilor de bază ale
organizării datelor în vederea prelucrării automate cu ajutorul calculatorului electronic, a elementelor
fundamentale ale programării cu exemplificări în mediul integrat de dezvoltare Visual Basic, ale bazelor de
date şi sistemelor de gestiune a bazelor de date (SGBD), ale SGBD Microsoft Access, precum şi în câştigarea
deprinderilor practice în rezolvarea cu programe pe calculator şi prin intermediul bazelor de date a
problemelor economice specifice domeniului financiar-bancar.

1.2. COMPETENłELE UNITĂłII DE ÎNVĂłARE

Problematica teoretică şi aplicaŃiile practice sunt sistematizate în aşa fel încât să asigure
însuşirea raŃională a cunoştinŃelor şi formarea gândirii informatice a studentului.

Sunt subsumate următoarele obiective:


• clarificarea noŃiunilor de bază specifice procesului de prelucrare automată a datelor şi programării
calculatoarelor;
• definirea etapelor procesului de prelucrare automată a datelor;
• definirea etapelor de realizare a unui program pe calculator;
• explicarea importanŃei conceperii corecte a logicii de realizare unui program pe calculator din
perspectiva rezultatelor aşteptate de către utilizator, adică soluŃionarea problemei de rezolvat.

TIMPUL ALOCAT TEMEI: 2 ORE


18
1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE

Orice sistem de calcul (adică acel sistem tehnic care asigură execuŃia procesului de prelucrare
automată a datelor) are în compunere, în esenŃă, partea de hardware şi partea de software. Bill Gates, patronul
Microsoft spunea în anul 2002 că din totalul costurilor unui sistem de calcul, partea de hardware reprezintă
5%, în timp ce partea de software reprezintă 95% din totalul aceloraşi costuri. Problema costurilor unui sistem
de calcul devine din ce în ce mai importantă în condiŃiile cerute de societatea informaŃională – societatea
cunoaşterii şi în conformitate cu prevederile legale referitoare la respectarea legii drepturilor de autor în
domeniul software.
Partea de software a unui sistem de calcul cuprinde, la rândul ei, software-ul de bază (sistemul de
operare sau sistemul de programe de bază) şi software-ul de aplicaŃie (sau sistemul de programe aplicative).
Un sistem informatic are funcŃia de prelucrare automată a datelor pentru obŃinerea informaŃiilor necesare
procesului de conducere sau de informare. Procesul de prelucrare automată a datelor presupune existenŃa
simultană a următoarelor elemente: sistemul de echipamente (hardware), sistemul de programe de bază,
sistemul de programe aplicative, datele de intrare ce sunt supuse proceselor de prelucrare automată şi datele de
ieşire sau rezultatele prelucrărilor. În esenŃă, acest proces de prelucrare automată a datelor este format din trei
etape: introducerea (citirea) datelor de intrare, prelucrarea datelor (efectuarea calculelor) şi extragerea
(scrierea) rezultatelor. Este de reŃinut că datele de intrare sunt introduse printr-o operaŃie de citire - read, iar
datele ce reprezintă rezultate sunt obŃinute printr-o operaŃie de scriere –write sau de tipărire - print a
rezultatelor.
Datele ce sunt prelucrate pe un sistem de calcul sunt organizate într-o formă avantajoasă pentru aplicaŃia
informatică şi sunt reprezentate într-o structură accesibilă calculatorului. Datele sunt organizate în colecŃii de
date în funcŃie de condiŃiile specifice impuse de sistemul informaŃional existent şi de dorinŃele utilizatorilor
finali din procesul de decizie.
Procesul de prelucrare automată a datelor are loc într-o succesiune controlată de operator, adică, în
accepŃiunea clasică, de acel utilizator final specializat în operarea pe sistemul de calcul. Etapele procesului de
prelucrare a datelor pe calculator sunt materializate în următoarele operaŃii:
• pregătirea datelor iniŃiale, de regulă manual, în vederea introducerii lor în procesul de prelucrare
automată (citire), ce presupune verificarea, sortarea şi codificarea acestor date în funcŃie de documentele
primare existente; verificarea datelor presupune confirmarea concordanŃei între valorile prezente în
documentele primare şi valorile care trebuie să existe în conformitate cu aplicaŃia informatică concretă sau
problema economică cu urmează a fi rezolvată; sortarea datelor semnifică acel tip de prelucrare prin care
datele sunt dispuse într-o anumită ordine, în conformitate cu un anumit sistem sau cu anumite precizări ale
utilizatorului; codificarea datelor înseamnă operaŃia de atribuire de semne numerice, alfabetice sau
alfanumerice unor date cu scopul de a optimiza numărul de semne cu care se scriu şi se prelucrează, de
exemplu, elementele specifice sistemului informaŃional financiar-contabil; noŃiunea de document primar (de
evidenŃă primară) este cea definită în contabilitate, ca primă etapă a funcŃiei contabile, adică acel document în
care se consemnează pentru prima dată o operaŃie economico-financiară (facturi, chitanŃe, cecuri etc). Fiecare
eveniment ce prezintă un efect economic se înscrie într-un document primar în momentul şi în locaŃia în care
s-a produs.

19
• introducerea datelor iniŃiale în calculator, adică în memoria internă sau memoria externă a sistemului
de calcul; introducerea datelor iniŃiale poate fi făcută direct de la tastatură (în regim conversaŃional) sau de pe
un suport tehnic accesibil calculatorului;
• prelucrarea propriu-zisă a datelor, ceea ce înseamnă execuŃia automată de către calculator a tuturor
operaŃiilor prestabilite prin program (validări de date, sortări, interclasări, comparări şi testări); validarea de
date este tipul de prelucrare ce constă în verificarea datelor de intrare dacă sunt corecte în raport cu un set de
reguli prestabilite (dacă sunt reale, coerente, corelate, corect testate, corect transferate dintr-un mediu într-
altul); interclasarea datelor reprezintă tipul de prelucrare prin care se obŃine un şir (vector) de date ce conŃine
toate elementele unor vectori iniŃiali ordonaŃi; compararea datelor este tipul de prelucrare prin care se verifică
existenŃa unor relaŃii de ordine între două date; relaŃia de ordine a fost definită la cursul de matematică şi este
o relaŃie binară pe o mulŃime de date ce stabileşte ordinea de parcurgere a elementelor mulŃimii; testarea
datelor este tipul de prelucrare prin care se verifică un ansamblu de date ce sunt pregătite pentru buna
funcŃionare a unui program;
• prezentarea rezultatelor prelucrării, adică afişarea pe ecranul monitorului sau imprimarea pe hârtie;
când rezultatele sunt folosite în prelucrări ulterioare, ele sunt stocate pe suporŃi magnetici.
Etapele şi operaŃiile prezentate mai sus se încadrează în “triada de aur” specifică oricărui sistem de
calcul: stocare – prelucrare- prezentare date.
Rezolvarea unei probleme reprezintă procesul de concepere şi de implementare a unei strategii de
găsire a unei soluŃii sau de conversie la normalitate a unor stări generate de condiŃii nedorite sau neaşteptate.
În activitatea de concepere a programelor destinate calculatoarelor electronice, problema de rezolvat este
definită, detaliată şi transformată într-un proiect pe baza căruia se poate realiza un program ce poate fi rulat pe
un sistem de calcul.
Înainte de a se scrie efectiv programul, se efectuează analiza problemei de rezolvat şi se realizează
algoritmul de calcul.
Programul pe calculator este un set de instrucŃiuni (comenzi) ce se execută de sistemul de calcul cu
scopul de a efectua o succesiune de acŃiuni sau un tip prestabilit de activitate. InstrucŃiunea sau comanda
semnifică un enunŃ ce specifică o acŃiune într-un limbaj de programare. Programul pe calculator (sau, mai
simplu, programul) are în compunere, de regulă, două tipuri de enunŃuri: declaraŃii şi instrucŃiuni. DeclaraŃia
este asocierea dintre un identificator şi anumite informaŃii. Această asociere este formală la realizarea
programului şi devine efectivă în timpul compilării sau în timpul execuŃiei programului. DeclaraŃia priveşte
modul de organizare a datelor de intrare, pe timpul prelucrării, precum şi a datelor de ieşire (rezultatelor).
Identificatorul reprezintă orice şir de caractere alfanumerice ce se foloseşte în calitate de: nume de variabilă
sau constantă într-un program; etichetă de regăsire a unui punct din program; nume de procedură sau de
funcŃie; nume ataşat unei unităŃi logice de memorie externă (hard disc, dischetă, compact disc, memorie flash
etc.).
Dintr-o altă perspectivă, orice program pe calculator reprezintă un ansamblu format din date (structuri
de date) şi algoritmi prezentate într-un limbaj de programare. NoŃiunea de algoritm nu are o definiŃie
riguroasă. Algoritmul este o metodă, un procedeu, o reŃetă, o soluŃionare a unei probleme, fără însă a realiza
echivalenŃa cu aceşti termeni. DicŃionarele de informatică definesc algoritmul ca:
• o descriere a schemei de realizare a unui eveniment cu ajutorul unei mulŃimi finite de acŃiuni elementare
predenumite, realizabile a priori şi având o durată limitată în timp;
• un concept folosit pentru a desemna o mulŃime finită de operaŃii cunoscute care, executate într-o ordine
bine stabilită, pornind de la o mulŃime de valori (date) de intrare conduc la obŃinerea în timp finit a unei alte
mulŃimi de valori, valori (date) de ieşire;
• o secvenŃă finită de paşi prin care se rezolvă o problemă logică sau matematică.
În realizarea unui algoritm este necesară satisfacerea următoarelor patru condiŃii (proprietăŃi):
• claritatea, ceea ce înseamnă ca algoritmul să fie bine definit (cu specificaŃii riguroase şi fără ambiguităŃi);
• exactitatea (determinismul), adică în fiecare moment al execuŃiei algoritmului, se cunoaşte cu exactitate
următoarea operaŃie, precum şi modul de execuŃie a fiecărei operaŃii; descrierea cu exactitate asigură execuŃia
algoritmului pe un sistem de calcul;
• universalitatea, ceea ce semnifică faptul că orice algoritm, fiind cât mai universal cu putinŃă, asigură
rezolvarea unei clase largi de probleme;
• finitudinea, ce constă în faptul că algoritmul este finit în spaŃiu (ca descriere) şi asigură obŃinerea
rezultatului într-un timp determinat de execuŃie, adică după un anumit număr finit de paşi.
După gândirea algoritmului, acesta se poate reprezenta sub mai multe forme; dintre aceste forme, cele
mai uzuale sunt reprezentarea în limbaj pseudocod şi schema logică. Limbajul pseudocod asigură descrierea
20
algoritmilor prin intermediul a două enunŃuri: standard şi nestandard; enunŃurile nestandard sunt fraze în
limbajul natural ce se folosesc, de regulă, în programare pentru reprezentarea formei iniŃiale a algoritmilor;
enunŃurile standard exprimă operaŃii ce dispun de corespondenŃe directe în instrucŃiunile limbajului de
programare.
Schema logică asigură reprezentarea sub formă grafică a algoritmilor. Schema logică de program se
deosebeşte de schema logică de sistem. Schema logică de sistem descrie operaŃiile de prelucrare a datelor pe
sistemul de calcul, cu focalizare pe sursele de date, documentele primare ce le conŃin, activităŃile ce se execută
asupra lor, modul de stocare şi de prezentare a rezultatelor prelucrării. Schema logică de sistem este utilizată
pentru a oferi o imagine de ansamblu a fluxurilor de date din sistemul de calcul, în timp ce schemele logice de
program sunt folosite pentru detalierea anumitor procese reprezentate în schema logică de sistem. Schemele
logice de program sunt independente de limbajul de programare utilizat. Schemele logice utilizează simboluri
grafice.
Pentru realizarea unui program sunt necesare trei tipuri de structuri de control, caracterizate prin aceea
că au o singură intrare şi o singură ieşire. Această posibilitate se bazează pe teorema lui Boehm şi Jacopini
care arată că orice algoritm poate fi reprezentat ca o combinaŃie a celor trei structuri de control fundamentale:
secvenŃială, alternative şi repetitive. Structura de control secvenŃială (liniară) cuprinde o succesiune de blocuri
care se execută unul după altul. Structurile de control alternative (cu ramificaŃii) corespund unui bloc de
prelucrare care se execută în functie de satisfacerea unei condiŃii. Aceste structuri de control prezintă
următoarele forme: structura de control alternativă cu două ramificaŃii (If…Then…Else); structura de control
alternativă cu mai multe ramificaŃii (imbricată); structura de control alternativă generalizată (Case-Of).
Structurile de control repetitive (de ciclare) asigură repetarea prelucrării unor secvenŃe de program. Formele
structurilor de control repetitive sunt: structura repetitivă fără contor condiŃionată anterior (While Do);
structura repetitivă fără contor condiŃionată posterior (Repeat …Until); structura repetitivă cu contor
condiŃionată anterior (Do…For); structura repetitivă cu contor condiŃionată posterior (Do…For).
Din punct de vedere structural, un program poate avea în compunere mai multe subprograme sau
module. Pot constitui subprograme, componentele programului de tipul procedurilor şi/sau al funcŃiilor. Mai
multe programe alcătuiesc împreună o aplicaŃie informatică. Clasic, aplicaŃia informatică are o structură
statică arborescentă, adică este formată dintr-un program principal care apelează subprograme.
Subprogramele sunt independente în conformitate cu principiile programării structurate (programe
constituite din subprograme sau module şi folosirea structurilor de control fundamentale).
AplicaŃia informatică este dedicată unui anumit domeniu de activitate economică (de exemplu,
aplicaŃie informatică de contabilitate, aplicaŃie informatică pentru managementul resurselor umane, aplicaŃie
informatică pentru gestiunea creditelor bancare etc.). NoŃiunea de aplicaŃie informatică nu este similară cu
aceea de sistem informatic.
Limbajul de programare este un limbaj artificial ce se foloseşte pentru definirea unui şir de
instrucŃiuni care pot fi prelucrate şi executate pe un calculator.
Procedura (procedure) este o parte componentă, cu nume, a unui program, căreia îi sunt associate
constante, tipuri de date şi variabile şi care execută, de regulă, un task unic. Task-ul este un subprogram sau
aplicaŃie autonomă rulată ca o entitate independentă. FuncŃia (function) este un subprogram sau rutină care
returnează o singură valoare prin însăşi numele funcŃiei. Spre deosebire de funcŃie, procedura poate returna
mai multe valori atunci când este rulată. Variabila este, în programare, o locaŃie de memorie în care se
stochează date de un anumit tip şi care pot fi modificate pe timpul execuŃiei programului. Constanta
desemnează o entitate cu nume ce reprezintă o valoare care nu se modifică pe timpul execuŃiei unui program.
Structura de date este o schemă de organizare a datelor cu scopul de a simplifica operaŃiile de prelucrare sau
de a uşura interpretarea lor. Există mai multe tipuri de structuri de date: vector, înregistrare, mulŃime etc.
InstrucŃiunea este formată din două elemente distincte: codul operatorului şi operanzii (datele supuse
operaŃiei elementare reprezentate prin cod). În funcŃie de tipul prelucrării pe care o execută, instrucŃiunile se
clasifică în:
• instrucŃiuni de prelucrare propriu-zisă;
• instrucŃiuni de organizare (structurare) care realizează concordanŃa logică între algoritm şi
succesiunea internă a secvenŃelor de program.
InstrucŃiunile de prelucrare propriu-zisă se grupează în:
 instrucŃiuni de intrare-ieşire care stabilesc sensul fluxului de date în sistemul de calcul, fişierul de
date asupra căruia se efectuează operaŃia şi echipamentul periferic pe care se găseşte acest fişier de
date; fişierul de date este o colecŃie de date stocată pe un suport tehnic într-o succesiune de
înregistrări;
21
 instrucŃiunile de calcul, ce precizează natura operaŃiei, adresele operanzilor care participă la calcul şi a
operaŃiei aritmetice;
 instrucŃiunile de transfer (atribuire), ce realizează transferul datelor, precizând sensul transferului şi
adresele operanzilor.
InstrucŃiunile de organizare sunt următoarele:
 instrucŃiunile de comparare (decizie logică), care asigură compararea a doi sau mai mulŃi operanzi,
rezultatul fiind categorisit ca “adevărat” (True) sau “fals” (False);
 instrucŃiunile de salt, ce realizează trecerea de la secvenŃa de instrucŃiuni curentă din program la o
secvenŃă de instrucŃiuni situată în alt punct al programului.
Indiferent de limbajul de programare folosit pentru rezolvarea problemei, realizarea unui program
presupune parcurgerea următoarelor etape:

1. Analiza problemei de rezolvat şi realizarea algoritmului, etapă ce presupune elaborarea unui enunŃ
complet al problemei, stabilirea modalităŃilor de organizare şi de reprezentare a datelor de intrare şi de ieşire,
elaborarea schemei logică de sistem care defineşte echipamentele din configuraŃia calculatorului ce participă
la procesul de prelucrare a datelor, realizarea algoritmului ce presupune elaborarea şi reprezentarea acestuia în
limbaj pseudocod sau sub forma schemei logice de program;

2. Scrierea (introducerea) programului, ce are drept scop codificarea algoritmului, adică conversia
acestuia în conformitate cu instrucŃiunile unui limbaj de programare; pentru această codificare, se foloseşte un
editor de texte; acest editor poate fi independent sau poate face parte din mediul integrat de dezvoltare (IDE);
se obŃine astfel programul-sursă (codul-sursă al programului) care este scris într-un limbaj similar cu limbajul
natural, dar încă inaccesibil sistemului de calcul;

3. Compilarea programului, ce realizează traducerea programului-sursă scris într-un limbaj de


programare de nivel înalt în program-obiect, exprimat în instrucŃiuni cod-maşină. Această operaŃie de
traducere se obŃine, în mod automat, prin folosirea unei componente a sistemului de operare, numită
compilator. După compilare, eventualele erori de codificare existente în program (numite erori de sintaxă ce
apar datorită nerespectării sintaxei generale a unei instrucŃiuni) sunt depistate şi afişate. Erorile de sintaxă sunt
eliminate prin corecŃii aduse programului-sursă, după care operaŃia de compilare este reluată. Este important
de menŃionat faptul că în etapa de compilare nu se depistează erorile logice din program; erorile logice sunt
greşeli produse la realizarea algoritmului de calcul.

4. Editarea de legături (linkeditarea), ce asigură includerea codului obiect al programului (programul-


obiect) într-un ansamblu executabil (programul executabil) care cuprinde şi module specifice sistemului de
operare, funcŃii de bibliotecă etc. cu ajutorul componentei denumită editor de legături (linkeditor).
Eventualele erori ce apar conduc la corecŃii în programul-sursă.
5. Testarea logică a programului, ce realizează verificarea finală a programului pe baza unui set de
date de test care acoperă domeniul real de valori ale datelor de intrare ce se vor folosi în timpul exploatării
programului.

22
ÎNDRUMAR PENTRU AUTOVERIFICARE

C) SINTEZA unităŃii de învăŃare

Etapele procesului de prelucrare a datelor pe calculator sunt materializate în următoarele


operaŃii: pregătirea datelor iniŃiale, introducerea datelor iniŃiale în calculator, prelucrarea propriu-zisă
a datelor, prezentarea rezultatelor prelucrării.
Rezolvarea unei probleme reprezintă procesul de concepere şi de implementare a unei strategii
de găsire a unei soluŃii sau de conversie la normalitate a unor stări generate de condiŃii nedorite sau
neaşteptate.
Programul pe calculator este un set de instrucŃiuni (comenzi) ce se execută de sistemul de
calcul cu scopul de a efectua o succesiune de acŃiuni sau un tip prestabilit de activitate. InstrucŃiunea
sau comanda semnifică un enunŃ ce specifică o acŃiune într-un limbaj de programare. Programul pe
calculator are în compunere, de regulă, două tipuri de enunŃuri: declaraŃii şi instrucŃiuni. DeclaraŃia
este asocierea dintre un identificator şi anumite informaŃii. Această asociere este formală la
realizarea programului şi devine efectivă în timpul compilării sau în timpul execuŃiei programului.
DeclaraŃia priveşte modul de organizare a datelor de intrare, pe timpul prelucrării, precum şi a datelor
de ieşire (rezultatelor). Identificatorul reprezintă orice şir de caractere alfanumerice ce se foloseşte în
calitate de: nume de variabilă sau constantă într-un program; etichetă de regăsire a unui punct din
program; nume de procedură sau de funcŃie; nume ataşat unei unităŃi logice de memorie externă
(hard disc, dischetă, compact disc, memorie flash etc.).
Orice program pe calculator reprezintă un ansamblu format din date (structuri de date) şi
algoritmi prezentate într-un limbaj de programare. NoŃiunea de algoritm nu are o definiŃie riguroasă.
Algoritmul este o metodă, un procedeu, o reŃetă, o soluŃionare a unei probleme, fără însă a realiza
echivalenŃa cu aceşti termeni.
În realizarea unui algoritm este necesară satisfacerea următoarelor patru condiŃii (proprietăŃi):
claritatea, exactitatea (determinismul), universalitatea şi finitudinea.
Cele mai uzuale forme de reprezentare a algoritmilor sunt reprezentarea în limbaj pseudocod
şi schema logică. Limbajul pseudocod asigură descrierea algoritmilor prin intermediul a două
enunŃuri: standard şi nestandard; enunŃurile nestandard sunt fraze în limbajul natural ce se folosesc,
de regulă, în programare pentru reprezentarea formei iniŃiale a algoritmilor; enunŃurile standard
exprimă operaŃii ce dispun de corespondenŃe directe în instrucŃiunile limbajului de programare.
Schema logică asigură reprezentarea sub formă grafică a algoritmilor.
Teorema lui Boehm şi Jacopini arată că orice algoritm poate fi reprezentat ca o combinaŃie a
celor trei structuri de control fundamentale: secvenŃială, alternative şi repetitive.
Limbajul de programare este un limbaj artificial ce se foloseşte pentru definirea unui şir de
instrucŃiuni care pot fi prelucrate şi executate pe un calculator.
Realizarea unui program presupune parcurgerea următoarelor etape: 1. Analiza problemei de
rezolvat şi realizarea algoritmului, 2. Scrierea (introducerea) programului, 3. Compilarea
programului, 4. Editarea de legături (linkeditarea), 5. Testarea logică a programului.
23
B) CONCEPTE ŞI TERMENI DE REłINUT

• rezolvarea unei probleme


• program pe calculator
• instrucŃiune
• limbaj de programare.
• declaraŃii
• instrucŃiuni
• algoritm
• limbaj pseudocod
• schema logică
• teorema lui Boehm şi Jacopini
• structuri de control fundamentale
• compilare program
• editare de legături

C) ÎNTREBĂRI DE CONTROL ŞI TEME DE DEZBATERE

6. Ce se înŃelege prin procesul de prelucrare automată a datelor?


7. Ce tipuri de structuri de control cunoaşteŃi?
8. Ce este un program pe calculator?
9. Care sunt etapele de realizare a unui program pe calculator?
10. Ce se înŃelege prin compilarea şi editarea de legături a unui program?

a.Etapele şi operaŃiile procesului de prelucrare a datelor pe calculator.


Manual, pag.26-28.
Exemple teste: 31 (pag.16);

b.Analiza problemei de rezolvat.


Manual, pag.28-29, pag.37-38.
Culegere: 1.14;
Exemple teste: 161 (pag.60);

c.Algoritmul.
Manual, pag.28-29.
Culegere: 1.14;
Exemple teste: 44 (pag.18); 56 (pag.20); 58 (pag.21); 65 (pag.26);

d.Schema logică.
Manual, pag.28-35.
Culegere: 1.14;
Exemple teste: 6 (pag.11);

e.Programul pe calculator.
Manual, pag.28-38.
Culegere: 1.14;
Exemple teste: 164 (pag.61);

24
D) Teste de autoevaluare

1 MATCHING
Sa se realizeze corespondenta intre tipurile de instructiuni urmatoare si definitiile lor.
a. Instructiuni de organizare (structurare)
b. Instructiuni de calcul
c. Instructiuni de salt
d. Instructiuni de intrare-iesire
1.stabilesc sensul fluxului de date in sistemul de calcul, fisierul de date asupra caruia se efectueaza operatia
si echipamentul periferic pe care se gaseste acest fisier de date
2.realizeaza trecerea de la secventa de instructiuni curenta din program la o secventa de instructiuni situata
in alt punct al programului
3.realizeaza concordanta logica intre algoritm si succesiunea interna a secventelor de program
4.precizeaza natura operatiei, adresele operanzilor care participa la calcul si a operatiei aritmetice

2. COMPLETION
Limbajul de programare este un limbaj ____________________ce se foloseşte pentru
definirea unui şir de instrucŃiuni care pot fi prelucrate şi executate pe un calculator.

3. TRUE-FALSE
Analiza problemei de rezolvat si realizarea algoritmului este o etapa ce presupune elaborarea
unui enunt complet al problemei, stabilirea modalitatilor de organizare si de reprezentare a datelor de
intrare si de iesire, elaborarea schemei logica de sistem care defineste echipamentele din configuratia
calculatorului ce participa la procesul de prelucrare a datelor, realizarea algoritmului ce presupune
elaborarea si reprezentarea acestuia in limbaj pseudocod sau sub forma schemei logice de program.

4. MULTIPLE CHOICE

In ce consta universalitatea unui algoritm:

a. in a cunoaste la orice moment al executiei care este succesiunea fireasca a operatiilor;


b. in prezentarea vizuala a fluxului de date;
c. in existenta unei scheme logice;
d. in scrierea corecta a programului;
e. in aplicarea algoritmului asupra unui numar mare de intrari.

25
UNITATEA DE ÎNVĂłARE 4
1. Rezolvarea problemelor economice cu ajutorul programelor pe calculator.
Exemplificări în limbajul de programare Visual Basic. 1.4. Problematica generală a
limbajelor de programare. Elementele de bază ale programării orientate pe obiecte.

Cuprins:
1.7. INTRODUCERE
1.8. COMPETENłELE UNITĂłII DE ÎNVĂłARE
1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE:

1.1 Introducere

Cursul de Limbaje şi baze de date se desfăşoară în anul II, semestrul 1 al anului universitar.
Obiectivele disciplinei Limbaje şi baze de date se concretizează în cunoaşterea noŃiunilor de bază ale
organizării datelor în vederea prelucrării automate cu ajutorul calculatorului electronic, a elementelor
fundamentale ale programării cu exemplificări în mediul integrat de dezvoltare Visual Basic, ale bazelor de
date şi sistemelor de gestiune a bazelor de date (SGBD), ale SGBD Microsoft Access, precum şi în câştigarea
deprinderilor practice în rezolvarea cu programe pe calculator şi prin intermediul bazelor de date a
problemelor economice specifice domeniului financiar-bancar.

1.2. COMPETENłELE UNITĂłII DE ÎNVĂłARE

Problematica teoretică şi aplicaŃiile practice sunt sistematizate în aşa fel încât să asigure
însuşirea raŃională a cunoştinŃelor şi formarea gândirii informatice a studentului.

Sunt subsumate următoarele obiective:


• clarificarea noŃiunilor de bază specifice limbajelor de programare;
• definirea elementelor de bază ale programării orientate pe obiecte;
• definirea paradigmelor programării orientate pe obiecte;
• explicarea importanŃei limbajelor de programare pentru realizarea programelor pe calculator din
perspectiva rezultatelor aşteptate de către utilizator, adică soluŃionarea problemei de rezolvat.

26
TIMPUL ALOCAT TEMEI: 2 ORE

1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE

Problematica generală a limbajelor de programare


Limbajul de programare reprezintă un limbaj artificial ce se foloseşte pentru definirea unui şir de
instrucŃiuni care pot fi prelucrate şi executate pe un sistem de calcul. Spre deosebire de limbajele naturale
(umane), limbajele artificiale au fost create cu scopuri precise: limbaje de programare, limbaje de specificare
a programelor, limbaje de descriere a documentelor structurate, limbaje de schimb de date electronice, EDI
(Electronic Data Interchange) etc.
Limbajele de programare se definesc formal prin alfabet, vocabular şi gramatici (fapt ce permite
compilarea sau interpretarea lor). Alfabetul reprezintă mulŃimea simbolurilor utilizate pentru scriere în
limbajul de programare respectiv. Vocabularul este compus din mulŃimea cuvintelor întrebuinŃate în limbaj.
Gramatica limbajului de programare este reprezentată de ansamblul regulilor de scriere, cu preponderenŃă sub
aspect sintactic (mulŃimea regulilor de formare a instrucŃiunilor), cu luarea în consideraŃie a regulilor de
punctuaŃie şi a semanticii (semnificaŃiilor conferite cuvintelor) şi extrem de puŃin sub aspect morfologic
(ansamblul regulilor de modificare a formei cuvintelor, în contextul utilizării lor). OperaŃia de interpretare
asigură execuŃia instrucŃiune cu instrucŃiune (la comanda pas cu pas a operatorului) a unui program.
Un mare grad de utilizare îl prezintă sistemele de gestiune a bazelor de date (SGBD) ce sunt
fundamentate pe limbaje de descriere a structurii bazei de date şi pe limbaje de manipulare şi interogare a
bazei de date. SGBD-urile lucrează cu date organizate în baze de date şi programele sunt independente în
raport cu descrierea datelor. Se dau ca exemple SGBD-urile FoxPro (cu o largă răspândire în România în
deceniul 90 al secolului trecut), Informix, Oracle, Sybase, Microsoft Access.
Din categoria limbajelor de programare specializate fac parte limbajele inteligenŃei artificiale. Se dau
ca exemple limbajele Lisp şi Prolog.
Limbajele de programare orientate pe obiecte sunt dezvoltate în conformitate cu conceptual de
programare orientată pe obiecte, OOP (Object-Oriented Programming). Programarea orientată pe obiecte
semnifică programarea bazată pe obiecte la care se adaugă moştenirea şi polimorfismul. Programarea bazată
pe obiecte, OBP (Object-Based Programming) utilizează conceptele de clasă şi obiect. Dintre limbajele de
programare OOP se menŃionează Pascal, C++, C#, SmallTalk, Simula, Java etc.

Elementele de bază ale programării orientate pe obiecte


Programarea orientată pe obiecte, OOP (Object-Oriented Programming) specifică limbajelor de
programare orientate pe obiecte, înseamnă programarea bazată pe obiecte la care se adaugă moştenirea şi
polimorfismul. Programarea bazată pe obiecte, OBP (Object-Based Programming) utilizează conceptele de
obiect şi clasă.
Obiectul este o entitate dinamică (este creat, utilizat şi apoi distrus) constituită din oricare unitate
programabilă şi caracterizată prin identitate, metode de comportament şi stare. Identitatea individualizează un
obiect în comparaŃie cu alte obiecte. Metodele de comportament ale obiectului reprezintă elementele
27
comportamentale ale acestuia în momentul accesării. Prin comportament, obiectul îşi pune în evidenŃă
apartenenŃa la clasă, precum şi individualitatea sa. Starea obiectului este caracterizată cu ajutorul atributelor
lui. Orice atribut dispune de nume şi valoare sau realizare ce este asociată ca variabilă de instanŃă (ce
defineşte proprietăŃile obiectului la un anumit moment). Elementele ce aparŃin colecŃiei de obiecte descrise
într-o clasă reprezintă instanŃe de clasă. Obiectul este definit de un identificator intern unic, independent de
valoarea sau adresa de memorie a obiectului. Acest identificator nu este controlat de utilizator şi nu se
confundă cu diferitele nume utilizate de utilizator cu scopul de a-l numi. Ca entităŃi complexe, obiectele sunt
constituite din alte obiecte şi din valori. DistincŃia între obiecte şi valori se realizează prin intermediul stării
obiectului: obiectele dispun de o stare internă care se poate schimba; valoarea nu se schimbă niciodată.
Obiectele sunt create de utilizatori, prin derivare din tipuri de obiecte create anterior sau printr-o operaŃie de
creare (new).
Clasa reprezintă o implementare a unui tip abstract de date ce încapsulează două tipuri de atribute:
câmpuri sau proprietăŃi şi metode sau operaŃii ale tipului respectiv. Câmpurile sunt private adică sunt ascunse
în reprezentarea obiectului. Metodele sunt publice adică accesibile utilizatorului. Altfel exprimat, clasa
defineşte o categorie de obiecte cu proprietăŃi şi metode ce se moştenesc într-o subclasă. Subclasa sau clasa
derivată defineşte comportamentul obiectului derivat dintr-o clasă considerată de bază. Clasa este un model de
realizare a obiectelor de acelaşi tip şi se defineşte cu ajutorul unui limbaj declarativ sau pe cale grafică. Clasa
are un nume, prezintă operaŃii externe sau metode, are o reprezentare internă (ca expresie a valorilor
diverselor stări ale instanŃelor de clasă) şi foloseşte cod ce implementează atât operaŃiile externe cât şi
descrierile reprezentării interne a obiectelor. Clasa există conceptual chiar şi atunci când nu conŃine obiecte şi
este un şablon pentru generarea şi manipularea obiectelor şi este accesată de utilizator cu ajutorul interfeŃei
specifice clasei. Specificarea metodei se numeşte semnătură, iar modul de implementare constituie corpul
metodei. NoŃiunea de clasă este asociată în special cu faza de execuŃie şi presupune: generarea de obiecte
(new) şi memorarea mulŃimii de obiecte care reprezintă instanŃele claselor. O clasă descrie obiectele, crearea
unui obiect realizându-se prin luarea în consideraŃie a unei expresii de tip. Tipul reprezintă o descriere
abstractă a unui grup de entităŃi asemănătoare. Obiectul prezintă valorile lui proprii, lista atributelor şi
metodelor fiind gestionate de clasă. Pentru majoritatea limbajelor OOP, ansamblul instanŃelor unei clase
reprezintă o colecŃie care are acelaşi nume cu clasa şi care se numeşte extensie a clasei. Obiectele reprezintă
instanŃe (manifestări) ale claselor din care fac parte.
Tipul de dată este folosit pentru descrierea unei mulŃimi de obiecte care au aceeaşi reprezentare.
Fiecărui tip de dată i se asociază anumite operaŃii cum ar fi de exemplu: operaŃii aritmetice pentru date
numerice, concatenări pentru şirurile de caractere, modificări pentru anumite articole.
Tipul abstract de dată este un tip de dată care este definit prin accentuarea elementelor de precizare a
comportamentului şi de specificare a metodelor ce se pot efectua asupra variabilelor de tipul de dată respectiv
(se specifică atât structura obiectului, cât şi mesajele aplicabile lui). Tipul abstract de dată ascunde modul în
care sunt implementate metodele asociate obiectului, reprezentarea internă a obiectelor şi protejează algoritmii
interni care implementează cererile din exterior. Acest tip abstract de dată are două componente: interfaŃa
(listă de metode) şi implementarea (descrierea structurii interne a datelor obiectului şi realizarea procedurilor
de implementare a metodelor interfeŃei). Structura aleasă pentru memorarea tipului abstract de dată este
ascunsă pentru utilizator, ca urmare algoritmul de reprezentare este încapsulat. Există o interfaŃă publică, la
care au acces utilizatorii, şi o interfaŃă privată ce ascunde reprezentarea şi implementarea.
DiferenŃa dintre tipul de dată şi clasă este următoarea: tipul de dată este destinat pentru definirea de
declaraŃii utilizate pentru controlul static al expresiilor de limbaj, în timp ce clasele sunt şabloane destinate
generării şi manipulării obiectelor care prezintă proprietăŃi şi comportament comun.
Între clase şi obiecte se stabilesc relaŃii astfel: asociaŃii binare între două clase, asociaŃii n-are între
mai multe clase, relaŃii între obiect şi clasa din care face parte, relaŃii între obiectele aceleiaşi clase.
Există mai multe paradigme ale modelului folosit de OOP: moştenirea, încapsularea, polimorfismul,
abstractizarea datelor, persistenŃa, evenimentul. Paradigma este un ansamblu ce detaliază conceptele
specifice unui anumit termen utilizat ca model. Paradigma se referă la forme de manifestare ale termenului
respectiv.
Moştenirea asigură transferarea de proprietăŃi şi metode de la clasa-părinte către un obiect nou. Prin
moştenire sunt generate tipuri noi de obiecte şi clase într-o ierarhie. Prin moştenire, în OOP se elimină
rescrierea şi recodificarea programelor, asigurându-se reutilizarea codului. Un obiect nou moşteneşte operaŃii
sau metode, variabile de instanŃă, atribute. În cazul metodelor, este vorba de partajarea codului, iar în cazul
variabilelor, de partajarea structurii între datele obiectelor.

28
Proiectarea unei aplicaŃii prin intermediul OOP constă gruparea informaŃiilor generale în clase care
sunt apoi specializate pas cu pas în subclase cu comportament particular.
Metodele reprezintă operaŃii ce pot regăsi sau actualiza starea unui obiect. Această stare a obiectului
este memorată în variabilele instanŃelor sale. Într-o ierarhie de moşteniri, o metodă definită pentru o clasă este
moştenită de subclasele sale. Moştenirea este implementată static sau dinamic. Moştenirea statică înseamnă
adăugarea câmpurilor moştenite, situaŃie în care redefinirea unei clase obligă la actualizarea tuturor
subclaselor. Moştenirea dinamică se realizează fără a se copia câmpurilor moştenite şi obligă la parcurgerea
legăturilor de moştenire. În cazul moştenirii dinamice, actualizarea se efectuează mai rapid, în timp ce
execuŃia este mai puŃin eficientă. Moştenirea poate fi simplă sau multiplă. Moştenirea simplă se produce
atunci când o subclasă moşteneşte proprietăŃi şi metode ale unei singure clase-părinte. Moştenirea multiplă se
realizează când o subclasă posedă mai multe clase-părinte.
Încapsularea reprezintă proprietatea ce defineşte posibilitatea de a ascunde prin mascare atributele
proprii ale unui obiect şi modul în care se execută metodele. Astfel, sunt protejate obiectele în situaŃia
efectuării greşite a unor manipulări exterioare. Un obiect poate fi accesat numai prin metodele asociate la
crearea sa.
Polimorfismul defineşte caracteristica unei metode de a se comporta în mod diferit în funcŃie de clasa
de obiecte căreia îi aparŃine. Polimorfismul asigură invocarea pentru obiectele de diferite tipuri a metodelor cu
acelaşi nume, dar semantică şi implementare diferită. O metodă se comportă diferit în funcŃie de clasa de
obiecte căreia îi aparŃine.
Abstractizarea datelor se realizează prin faptul că însăşi clasele sunt expresia unei abstracŃii.
Obiectele dintr-o clasă prelucrează datele modelului clasei căreia îi aparŃin. Utilizatorul obŃine comunicarea cu
obiectele prin mesaje ce se transmit prin interfaŃa ce specifică metodele posibile.
PersistenŃa este o proprietate a obiectelor care implică existenŃa acestora şi după încetarea procesului
care le-a creat. Starea obiectului şi codul corespunzător metodelor sunt memorate în baza de date. Tipurile
obiectelor pot fi declarate persistente prin folosirea cuvântului cheie persistent la momentul declarării,
variabila fiind şi ea constrânsă la un tip persistent.
Evenimentul reprezintă o acŃiune efectuată de sistemul de calcul în cazul în care utilizatorul solicită
executarea unei comenzi, este aplicat un mesaj al sistemului sau există o solicitare din partea altei aplicaŃii
informatice. Ca urmare, evenimentele se pot produce în mod interactiv sau programat. Într-o aplicaŃie
informatică dirijată prin evenimente, codul nu urmăreşte o cale prestabilită, ci secvenŃe de program executate
ca răspuns la apariŃia evenimentelor. Succesiunea în care se produc aceste evenimente determină secvenŃa
după care se execută codul, ceea ce înseamnă că la fiecare rulare a programului, el va parcurge o cale diferită.

ÎNDRUMAR PENTRU AUTOVERIFICARE

D) SINTEZA unităŃii de învăŃare

Limbajul de programare reprezintă un limbaj artificial ce se foloseşte pentru definirea unui şir de
instrucŃiuni care pot fi prelucrate şi executate pe un sistem de calcul.
Limbajele de programare se definesc formal prin alfabet, vocabular şi gramatici (fapt ce permite
compilarea sau interpretarea lor). Alfabetul reprezintă mulŃimea simbolurilor utilizate pentru scriere în
limbajul de programare respectiv. Vocabularul este compus din mulŃimea cuvintelor întrebuinŃate în limbaj.
29
Gramatica limbajului de programare este reprezentată de ansamblul regulilor de scriere, cu preponderenŃă sub
aspect sintactic (mulŃimea regulilor de formare a instrucŃiunilor), cu luarea în consideraŃie a regulilor de
punctuaŃie şi a semanticii (semnificaŃiilor conferite cuvintelor) şi extrem de puŃin sub aspect morfologic
(ansamblul regulilor de modificare a formei cuvintelor, în contextul utilizării lor).
Limbajele de programare orientate pe obiecte sunt dezvoltate în conformitate cu conceptual de
programare orientată pe obiecte, OOP (Object-Oriented Programming). Programarea orientată pe obiecte
semnifică programarea bazată pe obiecte la care se adaugă moştenirea şi polimorfismul. Programarea bazată
pe obiecte, OBP (Object-Based Programming) utilizează conceptele de clasă şi obiect.
Obiectul este o entitate dinamică (este creat, utilizat şi apoi distrus) constituită din oricare unitate
programabilă şi caracterizată prin identitate, metode de comportament şi stare. Identitatea individualizează un
obiect în comparaŃie cu alte obiecte. Metodele de comportament ale obiectului reprezintă elementele
comportamentale ale acestuia în momentul accesării. Prin comportament, obiectul îşi pune în evidenŃă
apartenenŃa la clasă, precum şi individualitatea sa. Starea obiectului este caracterizată cu ajutorul atributelor
lui. Orice atribut dispune de nume şi valoare sau realizare ce este asociată ca variabilă de instanŃă (ce
defineşte proprietăŃile obiectului la un anumit moment). Elementele ce aparŃin colecŃiei de obiecte descrise
într-o clasă reprezintă instanŃe de clasă. Obiectul este definit de un identificator intern unic, independent de
valoarea sau adresa de memorie a obiectului.
Clasa reprezintă o implementare a unui tip abstract de date ce încapsulează două tipuri de atribute:
câmpuri sau proprietăŃi şi metode sau operaŃii ale tipului respectiv. Câmpurile sunt private adică sunt ascunse
în reprezentarea obiectului. Metodele sunt publice adică accesibile utilizatorului.
Tipul de dată este folosit pentru descrierea unei mulŃimi de obiecte care au aceeaşi reprezentare.
Fiecărui tip de dată i se asociază anumite operaŃii cum ar fi de exemplu: operaŃii aritmetice pentru date
numerice, concatenări pentru şirurile de caractere, modificări pentru anumite articole.
Tipul abstract de dată este un tip de dată care este definit prin accentuarea elementelor de precizare a
comportamentului şi de specificare a metodelor ce se pot efectua asupra variabilelor de tipul de dată respectiv
(se specifică atât structura obiectului, cât şi mesajele aplicabile lui). Tipul abstract de dată ascunde modul în
care sunt implementate metodele asociate obiectului, reprezentarea internă a obiectelor şi protejează algoritmii
interni care implementează cererile din exterior. Acest tip abstract de dată are două componente: interfaŃa
(listă de metode) şi implementarea (descrierea structurii interne a datelor obiectului şi realizarea procedurilor
de implementare a metodelor interfeŃei).
Există mai multe paradigme ale modelului folosit de OOP: moştenirea, încapsularea, polimorfismul,
abstractizarea datelor, persistenŃa, evenimentul. Paradigma este un ansamblu ce detaliază conceptele
specifice unui anumit termen utilizat ca model. Paradigma se referă la forme de manifestare ale termenului
respectiv.

B) CONCEPTE ŞI TERMENI DE REłINUT

• limbaj de programare
• alfabet
• vocabular
• gramatici
• limbaj de programare orientat pe obiecte
• programare orientată pe obiecte, OOP (Object-Oriented Programming)
• programare bazată pe obiecte, OBP (Object-Based Programming)
• clasă
• obiect
• metode de comportament
• starea obiectului
• tip de dată
• tip abstract de dată
• paradigmă
• moştenire
• încapsulare
30
• polimorfism
• abstractizarea datelor
• persistenŃa
• eveniment

C) ÎNTREBĂRI DE CONTROL ŞI TEME DE DEZBATERE

11. CaracterizaŃi un limbaj de programare.


12. Ce este o paradigmă?
13. DefiniŃi conceptele de bază ale programării orientate pe obiecte.
14. Ce se înŃelege prin metodă?

a.Caracterizarea limbajelor de programare.


Manual, pag.38-40.
Exemple teste: 32 (pag.16); 43 (pag.18);

b.Programarea orientată pe obiecte.


Manual, pag.40-43.
Exemple teste: 12 (pag.14); 54 (pag.19);

c.Paradigmele programării orientate pe obiecte.


Manual, pag.42-43.
Exemple teste: 5 (pag.11); 20 (pag.14); 23, 24, 25 si 26 (pag.15); 46 (pag.18); 80 (pag.36);

D) Teste de autoevaluare

1 MATCHING
Paradigmele programarii orientate pe obiecte se definesc astfel:
a. Persistenta c. Polimorfismul
b. Incapsularea d. Mostenirea

1. permite constituirea de noi tipuri de obiecte si clase intr-o ierarhie de obiecte si clase intr-o ierarhie
de module, evitind rescrierea si recodificarea.
2. proprietatea obiectelor care implica existenta acestora si dupa incetarea procesului care le-a creat.
3. posibilitatea de a masca atributele proprii ale unui obiect si modul in care se executa operatiile.
4. permite invocarea pentru obiecte de diferite tipuri a operatiilor cu acelasi nume, dar semantica si
implementare diferite

2. COMPLETION
Programarea bazată pe obiecte, OBP (Object-Based Programming) utilizează conceptele de
___________________ şi obiect.

3. TRUE-FALSE
Clasa reprezintă o implementare a unui tip abstract de date ce încapsulează două tipuri de atribute:
câmpuri sau proprietăŃi şi metode sau operaŃii ale tipului respectiv.

4. MULTIPLE CHOICE

Limbajele de macroasamblare sunt limbaje din generatia 2, rezultate prin gruparea unor
secvente de instructiuni realizatoare ale unor operatii de rutina intr-o macroinstructiune. Cum se
numeste instructiunea acestui tip de limbaj?
a. instructiune procedurala c. instructiune de asamblare
b. instructiune de macroasamblare
31
UNITATEA DE ÎNVĂłARE 6
1. Rezolvarea problemelor economice cu ajutorul programelor pe calculator.
Exemplificări în limbajul de programare Visual Basic. 1.6. Elementele limbajului de
programare Visual Basic (1): reguli de scriere, tipuri de date, variabile si constante,
instrucŃiuni, construirea expresiilor, operatori, funcŃii.

Cuprins:
1.9. INTRODUCERE
1.10. COMPETENłELE UNITĂłII DE ÎNVĂłARE
1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE:

1.1 Introducere

Cursul de Limbaje şi baze de date se desfăşoară în anul II, semestrul 1 al anului universitar.
Obiectivele disciplinei Limbaje şi baze de date se concretizează în cunoaşterea noŃiunilor de bază ale
organizării datelor în vederea prelucrării automate cu ajutorul calculatorului electronic, a elementelor
fundamentale ale programării cu exemplificări în mediul integrat de dezvoltare Visual Basic, ale bazelor de
date şi sistemelor de gestiune a bazelor de date (SGBD), ale SGBD Microsoft Access, precum şi în câştigarea
deprinderilor practice în rezolvarea cu programe pe calculator şi prin intermediul bazelor de date a
problemelor economice specifice domeniului financiar-bancar.

1.2. COMPETENłELE UNITĂłII DE ÎNVĂłARE

Problematica teoretică şi aplicaŃiile practice sunt sistematizate în aşa fel încât să asigure
însuşirea raŃională a cunoştinŃelor şi formarea gândirii informatice a studentului.

Sunt subsumate următoarele obiective:


• definirea elementelor de bază ale limbajului de programare Visual Basic: reguli de scriere, tipuri de
date, variabile si constante, instrucŃiuni, construirea expresiilor, operatori, funcŃii;
• câştigarea unor deprinderi în lucrul cu limbajul de programare Visual Basic pentru rezolvarea unor probleme
specifice domeniului financiar-bancar;
• explicarea însemnătăŃii cunoştinŃelor informatice în formarea gândirii economice şi a comportamentului
economic.

32
TIMPUL ALOCAT TEMEI: 2 ORE

1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE

Elementele limbajului de programare Visual Basic


A. Unele reguli de scriere
O proprietate esenŃială a unui obiect în Visual Basic este numele (Name). Numele este folosit pentru a
referi un obiect particular în cadrul codului. Numele obiectului trebuie să fie sugestiv şi să arate, în cazul
controalelor, grupul de controale căruia îi aparŃine. Ca urmare, s-a adoptat convenŃia conform căreia un nume
trebuie să fie format dintr-un prefix din trei litere (dat de notaŃia ungară) şi numele propriu-zis cu semnificaŃie
pentru utilizarea obiectului. Prefixul numelui (Tabelul 1) indică, în mod unic, grupul de controale din care
face parte.

Tabelul 1 Stabilirea numelor unor obiecte în Visual Basic


Nume obiect Prefix standard Exemple
Data dat datSalarii
Form frm frmMateriale, frmClienti
Command Button cmd, btn cmdCalcul, btnExit
Label lbl lblDobinda, lblSumaInitiala
TextBox txt txtDobinda, txtSumaInitiala
Menu mnu mnuEvaluare
Check Box chk chkImpozit
Frame fra fraSelectie
Image img imgOrase, imgProfesori
List Box lst lstDiscipline, lstStudenti
Option Button opt optCursuri
Picture Box pic picTools

Numele obiectelor pot avea maxim 40 de caractere, trebuie să înceapă cu o literă şi pot conŃine numai
litere, numere şi underscore ( _ ). În cadrul mai larg al întregului limbaj Visual Basic, cu setul de caractere
ASCII extins ce formează alfabetul acestui limbaj, se construiesc literalii şi identificatorii. Literalii sunt
compuşi din şiruri de caractere. Literalii pot fi de tipul literali şiruri de caractere şi sunt scrişi între ghilimele,
şi de tipul literali numerici – zecimali (în baza 10), octali (în baza 8), hexazecimali (în baza 16). Identificatorii
pot fi predefiniŃi (cuvinte rezervate şi cuvinte-cheie ce desemnează instrucŃiuni, funcŃii, operatori, metode) sau
pot fi definiŃi de utilizator (ce desemnează obiecte, variabile, tipuri de date, constante, etichete, proceduri).
InstrucŃiunile specifice limbajului Visual Basic se obŃin prin combinarea literalilor, identificatorilor şi
cuvintelor rezervate. Pentru lizibilitatea codului, fiecare instrucŃiune se scrie pe o linie separată. Dacă o
instrucŃiune nu încape pe o linie, se poate continua pe linia următoare prin caracterul underscore (_). Se pot
folosi 20 astfel de linii de continuare a unei instrucŃiuni.
Numele sunt folosite la setarea proprietăŃilor la momentul execuŃiei şi în stabilirea numelor
procedurilor pentru evenimentele obiectelor. Setarea proprietăŃilor la momentul execuŃiei se obŃine prin
scrierea unui cod. Formatul acestui cod se scrie prin notarea cu punct şi este:
33
Nume obiect. proprietate = noua valoare
(Object Name. Property = New value).
În Visual Basic, numele obiectelor sunt utilizate în setarea unui cadru de lucru (framework)
corespunzător procedurilor eveniment, pentru scrierea codului. Formatul fiecărei subrutine (în Visual Basic nu
există program principal; toate procedurile obiectelor sunt subrutine) este:
Private Sub Object Name_Event (Optional Arguments)

End Sub.
Formularului i se ataşează un obiect. Visual Basic construieşte automat un cadru de lucru (framework)
pentru fiecare dintre procedurile eveniment. Utilizatorul care construieşte aplicaŃia trebuie să scrie codul
procedurilor eveniment la care corespunde aplicaŃia.

B. Tipuri de date
Tipurile de date reprezintă natura datelor în cadrul unui limbaj de programare. În limbajul Visual
Basic, tipurile de date sunt predefinite (standard) sau definite de utilizator. În tabelul 2 sunt prezentate tipurile
de date predefinite cele mai utilizate.
Tipurile de date definte de utilizator se obŃin prin combinarea mai multor tipuri de date existente în
structuri de date.
Declararea tipurilor de date definite de utilizator se efectuează în secŃiunea Declaration (din modulul
standard) cu Type…End Type care are sintaxa generală:
[Private/Public] Type nume_tip_data_utilizator
Nume_1 As tip_data_1
Nume_2 As tip_data_2

Nume_n As tip_data_n
End Type
Tipurile de date definite de utilizator se declară la nivelul modulelor standard, de clasă sau formular
(numai Private). Aceste tipuri de date nu pot fi declarate la nivelul unei proceduri.

Tabelul 2 Tipurile de date predefinite în Visual Basic


Tip română Tip Sufix Memorie Interval de valori (domeniu)
engleză ocupată
Octet Byte - 1 0…255
Întreg Integer % 2 -32768…+32767
Întreg lung Long & 4 2.147.483.648…+2.147.483.647
(integer)
Logic Boolean - 2 True, False
Real simplă Single 4 -3,40 e38…+3,40 e38
precizie (floating) !
Real dublă Double 8 -1,8 e308…+1,8 e308
precizie (floating) #
Monedă Currency @ 8 -9,22 e14…+9,22 e14
Dată Date - 8 Jan 01/100-dec 31/9999
Obiect Object - 4 Adresa unui obiect
Şir de String $ 1 octet/ Şir de caractere alfanumerice
caractere caracter
Nedefinit Variant - - Şir, numere, dată

De exemplu, tipul de date definite de utilizator Client are următoarea structură:


Type Client
Nume_client As String *20
Prenume_client As String *20
Adresa_client As Adresa
CNP_client As String *13
End Type
unde tipul de date definit de utilizator Adresa are structura:
Type Adresa
Localitate As String *20
34
Strada As String *20
Numar As Integer
Judet As String *20
End Type

C. Variabile şi constante
Variabilele care se folosesc într-un program desemnează locaŃii de memorie în care se stochează valori
ce se modifică pe timpul execuŃiei programului. O variabilă în limbajul Visual Basic are un nume
(identificator) format astfel:
• maxim 40 de caractere;
• numele include: litere, numere, underscore (–):
• primul caracter trebuie să fie o literă;
• nu se pot folosi ca nume de variabile, cuvintele rezervate, care fac parte din setul de
cuvinte cheie al limbajului.
Corespunzător variabilei care se doreşte a fi creată şi utilizată, utilizatorul poate să stabilească tipul de
dată asociat prin folosirea unui sufix de natura tip de dată care va putea fi stocat sau prelucrat prin intermediul
respectivei variabile. În tabelul 3.4 s-au prezentat tipurile de date, sufixul asociat şi intervalul de valori.
Există trei moduri de declarare a unei variabile:
a) Prin lipsă (din oficiu). Dacă variabila nu este definită în nici un mod, ea este presupusă Variant, adică
un tip de dată Visual Basic care poate conŃine: valori numerice, şiruri de caractere sau dată calendaristică.
b) Implicit. Declararea implicită este dată prin folosirea sufixului corespunzător. De exemplu, o variabilă
de tip String (şir de caractere) poate fi declarată implicit astfel:
NumeClient$ = ”Ionescu”
iar o variabilă de tip Integer se poate declara implicit astfel:
Suma% = 2700.
c) Explicit. Acest mod de declarare a unei variabile prezintă mai multe avantaje: asigură efectuarea unui
calcul corect prin intermediul instrucŃiunilor care utilizează variabilele respective şi permite identificarea,
gestionarea corectă a apariŃiei literelor mari sau a literelor mici în numele variabilelor. Datorită acestor
avantaje, se preferă lucrul cu tipurile de variabile explicite.
Pentru a putea lucra cu variabile declarate explicit trebuie să fie cunoscut domeniul de valabilitate şi
anume:
1 – domeniul procedurilor;
2 – domeniul procedurilor în care variabilele se declară static;
3 – domeniul formularelor şi modulelor;
4 – domeniul nivelului global.
De exemplu, pentru domeniul procedurilor, variabilele sunt declarate folosind cuvântul cheie Dim:
Dim Denumire_material As String
Dim Cantitate As Integer
Dim Pret_unitar As Single.
Variabilele declarate la nivelul procedurilor îşi vor păstra valorile numai pe timpul rulării procedurilor
respective. Din acest motiv se mai numesc şi variabile locale.
Pentru ca variabilele să-şi păstreze valorile şi după terminarea procedurii, se foloseşte domeniul
procedurilor în care variabilele se declară static, cuvântul-cheie Dim fiind înlocuit cu Static. De exemplu:
Static Denumire_material As String
Static Cantitate As Integer
Static Pret_unitar As Single.
Pentru domeniul domeniul formularelor şi modulelor, variabilele îşi menŃin valorile la nivelul
formularului (modulului), relativ la toate procedurile prin declararea variabilelor cu Dim, dar în partea de
declaraŃii a obiectului general, în fereastra de cod a formularului.
Pentru domeniul domeniul nivelului global, o variabilă este disponibilă tuturor procedurilor prezentate
în aplicaŃie, prin declararea în partea de declaraŃii a obiectului general din fereastra de cod a unui modul cu
ajutorul cuvântului cheie Global. De exemplu:
Global Nr_factura As Long
Global Data_factura As Date.
În cazul mai multor variabile cu acelaşi nume, variabilele locale au valabilitate numai în
cadrul procedurilor. La părăsirea acestor proceduri se folosesc variabilele cu acelaşi nume, dar
definite la nivel superior.
Procedura de introducere a acestor variabile globale este următoarea:
• se execută dublu-click oriunde în fereastra formularului pentru a deschide fereastra de editare
a codului (sau se selectează opŃiunea View Code din fereastra Project);
35
• se declară variabilele din formular astfel:
• Option Explicit (forŃează declararea variabilelor)
• Global Nr_factura As Long
• Global Data_factura As Date.

Constante simbolice utilizate în Visual Basic


În cele mai multe situaŃii, funcŃiile şi obiectele limbajului Visual Basic necesită argumente pentru
efectuarea operaŃiilor specifice, argumente care reprezintă constante numerice. Acestea sunt greu de
interpretat din punct de vedere al utilizatorului. Pentru a le face inteligibile, limbajul Visual Basic asigură
nume celor mai utilizate valori şi acestea se numesc constante simbolice.
De exemplu, pentru setarea fondului formularului frmMat pe culoarea albastră se poate scrie:
frmMat. Back Color = 0XFF0000 sau, folosind constanta simbolică pentru albastru:
frmMat. Back Color = VBBlue
Utilizatorul îşi poate defini propriile constante ca de exemplu: const TVA = 0.19.
Constantele de utilizator se scriu cu litere mari, pentru a le distinge de variabile. Domeniul de
valabilitate al unei constante este similar cu cel al variabilelor.

D. InstrucŃiuni Visual Basic


Construirea expresiilor
Cea mai simplă instrucŃiune este cea de atribuire, formatul ei este:
Let variabilă = expresie. De exemplu:
Let Vmftva = Cant *Pu
Let Vfftva =Vfftva + Vmftva
Let Nume_client = „Georgescu Constantin”
Utilizatorul poate tasta sau nu cuvântul Let dar este obligat să exprime numele variabilei şi expresia pe
baza căreia se deduce conŃinutul.
Vmftva = Cant *Pu
Vfftva =Vfftva + Vmftva
Nume_client = „Georgescu Constantin”
InstrucŃiunile se scriu de obicei pe o singură linie fără delimitator. Pentru a putea scrie mai multe
instrucŃiuni pe o linie se foloseşte separatorul „:”.
ObservaŃie: se recomandă folosirea atentă a acestui delimitator când este folosită structura If …End If.
Dacă o instrucŃiune este foarte lungă, ea poate continua pe următoarea linie, folosind caracterul de continuare
underscore „_“. De exemplu:
Print Tab(2); "COD_MATERIAL"; Tab(20); "DEN_MATERIAL"; Tab(41); "CANT"; _
Tab(48); "PRET_UNITAR"; Tab(70); "VAL_M_FARA_TVA"; Tab(100); _ "VAL_M_CU_TVA"
Comentariile încep cu cuvântul cheie Rem sau „’ “. De exemplu:
Rem Acesta reprezinta un comentariu
’ Acesta reprezinta un exemplu de comentariu.

Operatori Visual Basic


Operatorii Visual Basic, în ordinea claselor de precedenŃă, sunt prezentatŃi în tabelul 3. PrecedenŃa
operatorilor (clasele de precedenŃă) se referă la ordinea în care se execută operaŃiile într-o expresie care
conŃine mai multe tipuri de operatori. Primii sunt executaŃi operatorii de concatenare, după care urmează
operatorii arithmetic, operatorii de comparare şi, la sfârşit, operatorii logici.
Operatorii pot fi unari (se aplică unui singur operand, de exemplu, Not) sau binari (prezintă doi
operatori, de exemplu, +. -, *, /, And, Or etc.).

FuncŃii Visual Basic


FuncŃia (Function) reprezintă o mulŃime ordonată de instrucŃiuni creată în scopul îndeplinirii unei
sarcini (task) bine precizată şi repetabilă. FuncŃia returnează un singur rezultat. FuncŃiile Visual Basic sunt
predefinite sau definite de utilizator. Visual Basic asigură o bibliotecă variată de funcŃii predefinite. În tabelul
4 sunt prezentate principalele funcŃii predefinite specifice limbajului Visual Basic.

36
Tabelul 3 Clasele de precedenŃă ale operatorilor în Visual Basic
Clasa Operator OperaŃia
1. And, Or, Not Logică
2. Mod Modulo
3. <,>,<=,>=,=,<> Comparare
+ Adunare
- Scădere
4. ^ ExponenŃiere (ridicare la putere)
\ ÎmpărŃire întreagă
5. * ÎnmulŃire
/ ÎmpărŃire
() [] Stabilire prioritate calcul
6. &, + Concatenare şir de caractere

Tabelul 4 Principalele funcŃii predefinite ale limbajului Visual Basic


FuncŃie Valoare returnată
Abs Valoarea absolută a unui număr
Asc Codul ASCII sau ANSI al unui caracter
Chr Caracterul corespunzător unui cod ASCII sau ANSI
Cos Cosinusul unui unghi
Date Data curentă ca şir de caractere
Format Dată sau număr convertite la un şir de caractere
Left Selectează partea stângă a unui şir de caractere
Len Numărul de caractere dintr-un şir de caractere (lungimea şirului de
caractere)
Mid Selectează o parte din şirul de caractere
Now Data şi ora curentă
Right Selectează partea de sfârşit a unei şir de caractere
Rnd Generarea aleatoare a unui număr
Sin Sinusul unui unghi
Sqr Rădăcină pătrată dintr-un număr
Str Număr transformat într-un şir de caractere
Time Timpul curent dat ca şir de caractere
Timer Număr de secunde rămase până la miezul nopŃii (ora „0”)

37
ÎNDRUMAR PENTRU AUTOVERIFICARE

E) SINTEZA unităŃii de învăŃare

O proprietate esenŃială a unui obiect în Visual Basic este numele (Name). Numele este folosit pentru a
referi un obiect particular în cadrul codului. Numele obiectului trebuie să fie sugestiv şi să arate, în cazul
controalelor, grupul de controale căruia îi aparŃine. Ca urmare, s-a adoptat convenŃia conform căreia un nume
trebuie să fie format dintr-un prefix din trei litere (dat de notaŃia ungară) şi numele propriu-zis cu semnificaŃie
pentru utilizarea obiectului. Prefixul numelui (Tabelul 1) indică, în mod unic, grupul de controale din care
face parte.
Numele obiectelor pot avea maxim 40 de caractere, trebuie să înceapă cu o literă şi pot conŃine numai
litere, numere şi underscore ( _ ).
Literalii sunt compuşi din şiruri de caractere. Literalii pot fi de tipul literali şiruri de caractere şi sunt
scrişi între ghilimele, şi de tipul literali numerici – zecimali (în baza 10), octali (în baza 8), hexazecimali (în
baza 16). Identificatorii pot fi predefiniŃi (cuvinte rezervate şi cuvinte-cheie ce desemnează instrucŃiuni,
funcŃii, operatori, metode) sau pot fi definiŃi de utilizator (ce desemnează obiecte, variabile, tipuri de date,
constante, etichete, proceduri). InstrucŃiunile specifice limbajului Visual Basic se obŃin prin combinarea
literalilor, identificatorilor şi cuvintelor rezervate. Pentru lizibilitatea codului, fiecare instrucŃiune se scrie pe o
linie separată. Dacă o instrucŃiune nu încape pe o linie, se poate continua pe linia următoare prin caracterul
underscore (_). Se pot folosi 20 astfel de linii de continuare a unei instrucŃiuni.
Numele sunt folosite la setarea proprietăŃilor la momentul execuŃiei şi în stabilirea numelor
procedurilor pentru evenimentele obiectelor. Setarea proprietăŃilor la momentul execuŃiei se obŃine prin
scrierea unui cod.
Tipurile de date reprezintă natura datelor în cadrul unui limbaj de programare. În limbajul Visual Basic,
tipurile de date sunt predefinite (standard) sau definite de utilizator. Tipurile de date definte de utilizator se
obŃin prin combinarea mai multor tipuri de date existente în structuri de date. Declararea tipurilor de date
definite de utilizator se efectuează în secŃiunea Declaration (din modulul standard) cu Type…End Type
Variabilele care se folosesc într-un program desemnează locaŃii de memorie în care se stochează valori
ce se modifică pe timpul execuŃiei programului. O variabilă în limbajul Visual Basic are un nume
(identificator) format astfel:
• maxim 40 de caractere;
• numele include: litere, numere, underscore (–):
• primul caracter trebuie să fie o literă;
• nu se pot folosi ca nume de variabile, cuvintele rezervate, care fac parte din setul de
cuvinte cheie al limbajului.
Există trei moduri de declarare a unei variabile: Prin lipsă (din oficiu), Implicit şi Explicit.
Variabilele declarate la nivelul procedurilor îşi vor păstra valorile numai pe timpul rulării procedurilor
respective. Din acest motiv se mai numesc şi variabile locale. Pentru domeniul domeniul nivelului global, o
variabilă este disponibilă tuturor procedurilor prezentate în aplicaŃie, prin declararea în partea de declaraŃii a
obiectului general din fereastra de cod a unui modul cu ajutorul cuvântului cheie Global.
Constantele de utilizator se scriu cu litere mari, pentru a le distinge de variabile. Domeniul de
valabilitate al unei constante este similar cu cel al variabilelor.
Operatorii Visual Basic respectă o ordine a claselor de precedenŃă. PrecedenŃa operatorilor (clasele de
precedenŃă) se referă la ordinea în care se execută operaŃiile într-o expresie care conŃine mai multe tipuri de
operatori. Primii sunt executaŃi operatorii de concatenare, după care urmează operatorii arithmetic, operatorii
de comparare şi, la sfârşit, operatorii logici. Operatorii pot fi unari (se aplică unui singur operand, de exemplu,
Not) sau binari (prezintă doi operatori, de exemplu, +. -, *, /, And, Or etc.).
38
FuncŃia (Function) reprezintă o mulŃime ordonată de instrucŃiuni creată în scopul îndeplinirii unei
sarcini (task) bine precizată şi repetabilă. FuncŃia returnează un singur rezultat. FuncŃiile Visual Basic sunt
predefinite sau definite de utilizator. Visual Basic asigură o bibliotecă variată de funcŃii predefinite.

B) CONCEPTE ŞI TERMENI DE REłINUT

• limbajul de programare Visual Basic (VB)


• mediu integrat de dezvoltare, IDE (Integrated Development Environment)
• numele obiectelor
• literali
• identificatori
• setarea proprietăŃilor
• tipuri de date
• variabile
• constante
• variabile locale
• variabile globale
• moduri de declarare a unei variabile
• operatori Visual Basic
• clase de precedenŃă
• funcŃie VB
• funcŃie predefinită
• funcŃie definită de utilizator

C) ÎNTREBĂRI DE CONTROL ŞI TEME DE DEZBATERE

15. DefiniŃi fişierul proiect.


16. Ce tipuri de variabile în Visual Basic cunoaşteŃi?
17. Cum se declară o variabilă în Visual Basic?
18. Ce reprezintă instrucŃiunile de atribuire?

a.Fişierul proiect: conŃinut, definirea fişierelor componente ale proiectului.


Manual, pag.49-51.
Exemple teste: 10 (pag.13); 30 (pag.16);

b.Crearea interfeŃei unei aplicaŃii Visual Basic.


Manual, pag.51-55.
Culegere : 1.2;

c.Precizarea proprietăŃilor într-o aplicaŃie Visual Basic.


Manual, pag.55-58.

d.Scrierea codului unei aplicaŃii Visual Basic.


Manual, pag.58-60.
Culegere : 1.2;
Exemple teste: 72 (pag.29);

e.ExecuŃia unei aplicaŃii Visual Basic.


Manual, pag.60-62.
Culegere : 1.2;

39
f.Caracterizarea limbajului de programare Visual Basic.
Manual, pag.63-74.

g.Reguli de scriere în limbajul Visual Basic.


Manual, pag.63-64.
Exemple teste: 37 (pag.17); 161 (pag.60);

h.Tipuri de date în limbajul Visual Basic.


Manual, pag.64-65.

i.Variabile Visual Basic.


Manual, pag.65-66.
Exemple teste: 136, 137 si 138 (pag.53); 191 (pag.88);

j.Constante Visual Basic.


Manual, pag.66-67.

k.Operatori Visual Basic.


Manual, pag.67.
Exemple teste: 124, 125, 126 si 127 (pag.50);

l.Clase de precedenŃă în Visual Basic.


Manual, pag.68.

m.Construirea expresiilor în limbajul Visual Basic.


Manual, pag.67.
Exemple teste: 36 (pag.17);

n.FuncŃii în limbajul Visual Basic.


Manual, pag.68-70.
Exemple teste: 128 (pag.50); 129 (pag.51);

D) Teste de autoevaluare

1 MATCHING
Sa se realizeze corespondenta intre notatia ungara urmatoare si semnificatia acesteia.
a. frm
b. cmd
c. txt
d. lbl
e. chk
1.Caseta text
2.Eticheta
3.Caseta de verificare
4.Formular
5.Buton de comanda

2. COMPLETION
FuncŃia (Function) reprezintă o mulŃime ordonată de instrucŃiuni creată în scopul îndeplinirii unei
sarcini (task) bine precizată şi __________________________.
40
3. TRUE-FALSE
PrecedenŃa operatorilor (clasele de precedenŃă) se referă la ordinea în care se execută operaŃiile într-o
expresie care conŃine mai multe tipuri de operatori.

4. MULTIPLE CHOICE

Secventa urmatoare de comenzi:


C=A-B
For i = 1 To 2
For j = 1 To 2
Select Case C
Case Is < 0
C=C+A
Case Is > 0
C=C-B
Case 0
C=5
End Select
Next j
Next i
Print "C=", C
pentru A=10 si B=5 afiseaza:
a. C= - 5
b. C=5
c. C=0
d. C= - 15
e. C=10

41
UNITATEA DE ÎNVĂłARE 7
1. Rezolvarea problemelor economice cu ajutorul programelor pe calculator. Exemplificări în
limbajul de programare Visual Basic. 1.7. Elementele limbajului de programare Visual Basic (2):
implementarea structurilor de control al execuŃiei unui program, exemple de probleme financiar-
bancare rezolvate cu ajutorul limbajului Visual Basic.

Cuprins:
1.11. INTRODUCERE
1.12. COMPETENłELE UNITĂłII DE ÎNVĂłARE
1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE:

1.1 Introducere

Cursul de Limbaje şi baze de date se desfăşoară în anul II, semestrul 1 al anului universitar.
Obiectivele disciplinei Limbaje şi baze de date se concretizează în cunoaşterea noŃiunilor de bază ale
organizării datelor în vederea prelucrării automate cu ajutorul calculatorului electronic, a elementelor
fundamentale ale programării cu exemplificări în mediul integrat de dezvoltare Visual Basic, ale bazelor de
date şi sistemelor de gestiune a bazelor de date (SGBD), ale SGBD Microsoft Access, precum şi în câştigarea
deprinderilor practice în rezolvarea cu programe pe calculator şi prin intermediul bazelor de date a
problemelor economice specifice domeniului financiar-bancar.

1.2. COMPETENłELE UNITĂłII DE ÎNVĂłARE

Problematica teoretică şi aplicaŃiile practice sunt sistematizate în aşa fel încât să asigure
însuşirea raŃională a cunoştinŃelor şi formarea gândirii informatice a studentului.

Sunt subsumate următoarele obiective:


• definirea elementelor de bază ale limbajului de programare Visual Basic implementarea
structurilor de control al execuŃiei unui program;
• câştigarea unor deprinderi în lucrul cu limbajul de programare Visual Basic pentru rezolvarea unor probleme
specifice domeniului financiar-bancar;
• explicarea însemnătăŃii cunoştinŃelor informatice în formarea gândirii economice şi a comportamentului
economic.

42
TIMPUL ALOCAT TEMEI: 2 ORE

1.3. CONłINUTUL UNITĂłII DE ÎNVĂłARE


Implementarea structurilor de control al execuŃiei unui program
S-au prezentat cele trei structuri de control fundamentale: structura de control secvenŃială (liniară),
structurile de control alternative (cu ramificaŃii) şi structurile de control repetitive (de ciclare). Tuturor acestor
structuri de control fundamentale le sunt asociate instrucŃiuni specifice în limbajul de programare Visual
Basic, cu ajutorul cărora poate fi controlată logica de execuŃie a oricărei secvenŃe de program în Visual Basic.
Acestor instrucŃiuni li se alătură comenzile asociate operaŃiunilor de intrare/ieşire specifice introducerii datelor
de intrare, respectiv extragerii rezultatelor prelucrărilor, precum şi instrucŃiunile de transfer.

InstrucŃiuni alternative (sau cu structură alternativă)


• InstrucŃiunea If – cea mai simplă formă a acestei instrucŃiuni este:
If condiŃie Then instrucŃiune
De exemplu: If TVA=0.19 Then Vmctva=Vmftva + TVA * Vmftva
Când în instrucŃiunea If, după cuvântul cheie Then urmează mai multe instrucŃiuni, sintaxa generală a
instrucŃiunii este:
If condiŃie Then
SecvenŃă de instrucŃiuni
End If
De exemplu:
If TVA=0.19 Then
Vmctva=Vmftva + TVA * Vmftva
Vfctva = Vfctva + Vmctva
Print Tab(70); Vmctva; Tab(100); Vfctva
End If
O altă formă a instrucŃiunii If este: If …Then … Else …End If. De exemplu:
If TVA = 0.19 Then
Vmctva=Vmftva + TVA * Vmftva
Vfctva = Vfctva + Vmctva
Print Tab(70); Vmctva; Tab(100); Vfctva
Else
Print ”TVA diferit de 19%”
End If
• InstrucŃiunea Select Case
InstrucŃiunea Select Case se foloseşte în cazul când sunt precizate mai multe selecŃii.
Sintaxa generală a instrucŃiunii este următoarea:
Select Case variabilă
Case Is variabilă sau expresie instrucŃiuni

Case Is variabilă sau expresie instrucŃiune
Case Else
instrucŃiune
End Select
De exemplu, pentru selecŃia persoanelor după categoria de vârstă (Categoria_varsta) se procedează
astfel:
Select Case Vârsta
Case Is 5
Categoria_varsta = ”Copii sub 12 ani”
Case Is 13 TO 19
Categoria_varsta = ”AdolescenŃi”
Case Is 20 TO 35, 50, 60 TO 65
43
Categoria_varsta = ”AdulŃi”
Case Is > 65
Categoria_varsta = ”Bătrâni”
Case Else
Categoria_varsta = ”Alte categorii”
End Select

InstrucŃiuni repetitive
Ciclarea este asigurată prin formatul general Do … Loop. Ciclările implementează operaŃiile care se
repetă de un anumit număr de ori, ciclarea repetându-se până când se îndeplineşte o condiŃie specificată,
întâlnită la începutul sau sfârşitul ciclării.
• InstrucŃiuni care implementează structuri de control repetitive condiŃionate anterior
Din această categorie fac parte instrucŃiunile Do {While|Until}…Loop şi While …Wend care au
următoarele sintaxe generale:
Do [{While|Until} conditie]
Secventa_instructiuni_1
[Exit Do]
Secventa_instructiuni_2
Loop,
respectiv:
While conditie
Secventa_instructiuni
Wend
Când conditie este adevărată (True), se execută secvenŃa imediată de instrucŃiuni. InstrucŃiunea While
…Wend nu permite ieşirea forŃată din ciclare.
• InstrucŃiuni care implementează structuri de control repetitive condiŃionate posterior
Din această categorie fac parte instrucŃiunile Do …Loop {While|Until}care au următoarea sintaxă
generală:
Do
[Secventa_instructiuni_1]
[Exit Do]
[Secventa_instructiuni_2]
Loop {While|Until} conditie
Un exemplu de utilizare a instrucŃiunii Do …Loop Until este următorul:
Do
Cant = InputBox("Introduceti cantitatea materialului: ")
Pu = InputBox("Introduceti pretul unitar al materialului: ")
Vmftva = Cant * Pu
Vmctva = Vmftva + tva * Vmftva
Print Cant; Tab(48); Pu; Tab(70); Vmftva; Tab(100); Vmctva
Loop Until MsgBox("CONTINUATI?", vbYesNo) = vbNo
Ciclarea se repetă până când răspunsul la întrebarea “CONTINUATI?” va fi No (Nu).
• InstrucŃiuni care implementează structuri de control repetitive cu contor
În acest caz, numărul de iteraŃii este cunoscut. Din această categorie face parte instrucŃiunea For …
Next care are următoarea sintaxă generală:
For contor=valoare_initiala To valoare_finala [Step pas]
[Secventa_instructiuni_1]
[Exit For]
[Secventa_instructiuni_2]
Next [contor].
Un exemplu de folosire a acestei instrucŃiuni este următorul:
For i = 1 To Nrm
Cant = InputBox("Introduceti cantitatea materialului nr: " & i)
Pu = InputBox("Introduceti pretul unitar al materialului nr: " & i)
Vmftva = Cant * Pu
Vmctva = Vmftva + tva * Vmftva
txtVmftva = Format(Vmftva, "######0.00")
txtVmctva = Format(Vmctva, "######0.00")
Next i.

Exemplu de aplicaŃie informatică în limbajul Visual Basic

44
Să se realizeze un program în limbajul Visual Basic care să calculeze valoarea totală (fără TVA şi cu
TVA) a unei facturi de materiale. Factura conŃine un număr precizat de materiale. Datele de intrare sunt:
numărul de materiale de pe factură (Nrm), număr factură (Nrf), data facturii (Df), codul materialului (Codmat),
denumirea materialului (Denmat), cantitate (Cant) şi preŃul unitar al materialului (Pu). TVA este de 19%.
Datele de intrare vor fi introduse cu ajutorul casetelor de introducere a datelor prin dialog cu utilizatorul
(InputBox).

Vfftva = 0; Vfctva = 0;
TVA = 0.19; i=1;

Vmftva= Cant * Pu;


Vmctva=Vmftva + TVA * Vmftva;
Vfftva=Vfftva + Vmftva;
Vfctva = Vfctva + Vmctva;

i=i+1

Fig.3 Schema logică pentru varianta 1 de rezolvare a problemei

Datele de intrare (Nrm, Nrf, Df, Codmat, Denmat, Cant, Pu), datele intermediare (Vmftva şi Vmctva) şi
datele de ieşire sau rezultatele rulării programului (Vfftva şi Vfctva) se vor afişa în casetele text (TextBox)
45
separate din formular. Lucrul cu casete text în formular reprezintă o primă variantă de rezolvare a problemei
cu calculul şi afişarea valorii facturii de materiale cu un număr precizat de materiale.
Varianta a doua de rezolvare a problemei constă în afişarea, sub formă de tabel, pe formular, a datelor
de intrare, a datelor intermediare şi a rezultatelor rulării aplicaŃiei. În această variantă de rezolvare a
problemei, nu se mai folosesc casete text (TextBox).
În ambele variante de rezolvare a problemei, se prevăd butoane de comandă (Command Button) pentru
calculul şi afişarea unui material (fără TVA şi cu TVA) – butonul CALCULEAZA, pentru calculul valorii
facturii (fără TVA şi cu TVA) – butonul AFISEAZA (pentru afişarea valorii facturii – fără TVA şi cu TVA) şi
pentru ieşirea din program – butonul IESIRE.
Varianta 1 de rezolvare a problemei
Schema logică este prezentată în fig.3. Este folosită o structură de control repetitivă cu contor (i),
condiŃionată anterior care se implementează cu instrucŃiunea For …Next.
Codul programului în limbajul Visual Basic, pentru varianta 1 de rezolvare, este următorul:
Option Explicit
Dim Nr_factura As Long
Dim Data_factura As Date
Dim Vmftva As Double
Dim Vmctva As Double
Dim Vfftva As Double
Dim Vfctva As Double
Dim Nrm As Byte
Const tva = 0.19
Private Sub cmdCalcul_Click()
Dim Cod_mat As Long
Dim Den_mat As String
Dim Cant As Integer
Dim Pu As Single
Dim i As Byte
Nr_factura = InputBox("Introduceti numarul facturii: ")
txtNrf = Format(Nr_factura, "######0")
Data_factura = InputBox("Introduceti data facturii sub forma zz/ll/aaaa")
txtDf = Format(Data_factura, "Short Date")
Nrm = InputBox("Introduceti numarul de materiale de pe factura: ")
Vfftva = 0
Vfctva = 0
For i = 1 To Nrm
Cod_mat = InputBox("Introduceti codul materialului nr: " & i)
txtCodmat = Format(Cod_mat, "######0")
Den_mat = InputBox("Introduceti denumirea materialului nr: " & i)
txtDenmat = Format(Den_mat, "######0")
Cant = InputBox("Introduceti cantitatea materialului nr: " & i)
txtCant = Format(Cant, "######0")
Pu = InputBox("Introduceti pretul unitar al materialului nr: " & i)
txtPu = Format(Pu, "######0.00")
Vmftva = Cant * Pu
Vmctva = Vmftva + tva * Vmftva
Vfftva = Vfftva + Vmftva
Vfctva = Vfctva + Vmctva
txtVmftva = Format(Vmftva, "######0.00")
txtVmctva = Format(Vmctva, "######0.00")
Next i
End Sub
Private Sub cmdAfisare_Click()
txtVfftva = Format(Vfftva, "######0.00")
txtVfctva = Format(Vfctva, "######0.00")
End Sub
Private Sub cmdExit_Click()
End
End Sub

Rezultatele rulării programului în prima variantă de rezolvare a problemei sunt prezentat în fig.4.

46
Fig.4 Rezultatele rulării programului realizat în varianta 1

Varianta 2 de rezolvare a problemei


Schema logică este prezentată în fig.5, Este utilizată o structură de control repetitivă fără contor
condiŃionată posterior. Implementarea acestei structuri în program se va face cu instrucŃiunea Do …Loop
Until. Pe baza acestor considerente, nu mai sunt necesare variabilele i şi Nrm folosite în varianta 1 de
rezolvare a problemei.
Codul programului în limbajul Visual Basic, pentru rezolvarea în varianta 2, este următorul:
Option Explicit
Dim Nrf As Long
Dim Df As Date
Dim Vmftva As Double
Dim Vmctva As Double
Dim Vfftva As Double
Dim Vfctva As Double
Const tva = 0.19
Private Sub cmdCalcul_Click()
Dim Cod_mat As Long
Dim Den_mat As String
Dim Cant As Integer
Dim Pu As Single
Nrf = InputBox("Introduceti numarul facturii: ")
Df = InputBox("Introduceti data facturii sub forma zz/ll/aaaa")
Cls
Print Tab(10); "FACTURA NR."; Tab(28); Nrf; Tab(45); "DIN DATA DE "; Tab(70); Df
Print String(110, "=")
Print Tab(2); "COD_MATERIAL"; Tab(20); "DEN_MATERIAL"; Tab(41); "CANT"; _
Tab(48); "PRET_UNITAR"; Tab(70); "VAL_M_FARA_TVA"; Tab(100); _ "VAL_M_CU_TVA"
Print String(110, "=")
Vfftva = 0
Vfctva = 0
Do
Cod_mat = InputBox("Introduceti codul materialului: ")
Den_mat = InputBox("Introduceti denumirea materialului: ")
Cant = InputBox("Introduceti cantitatea materialului: ")
Pu = InputBox("Introduceti pretul unitar al materialului: ")
Vmftva = Cant * Pu
Vmctva = Vmftva + tva * Vmftva
Vfftva = Vfftva + Vmftva
Vfctva = Vfctva + Vmctva
Print Tab(2); Cod_mat; Tab(20); Den_mat; Tab(41); Cant; Tab(48); Pu; _
Tab(70); Vmftva; Tab(100); Vmctva
47
Loop Until MsgBox("CONTINUATI?", vbYesNo) = vbNo
Print String(110, "=")
End Sub
Private Sub cmdAfisare_Click()
Print Tab(20); "VALOARE FACTURA FARA TVA = "; Tab(60); Vfftva;
Print Tab(20); "VALOARE FACTURA CU TVA = "; Tab(60); Vfctva;
End Sub
Private Sub cmdExit_Click()
End
End Sub

Vfftva = 0; Vfctva = 0;
TVA = 0.19

Vmftva= Cant * Pu;


Vmctva=Vmftva + TVA * Vmftva;
Vfftva=Vfftva + Vmftva;
Vfctva = Vfctva + Vmctva;

Fig.5. Schema logică pentru varianta 2 de rezolvare a problemei

48
Rezultatele rulării programului în a doua variantă de rezolvare a problemei, sunt prezentate în fig.6.

Fig.6. Rezultatele rulării programului în a doua variantă de rezolvare a problemei

ÎNDRUMAR PENTRU AUTOVERIFICARE

F) SINTEZA unităŃii de învăŃare

S-au prezentat cele trei structuri de control fundamentale: structura de control secvenŃială (liniară),
structurile de control alternative (cu ramificaŃii) şi structurile de control repetitive (de ciclare). Tuturor acestor
structuri de control fundamentale le sunt asociate instrucŃiuni specifice în limbajul de programare Visual
Basic, cu ajutorul cărora poate fi controlată logica de execuŃie a oricărei secvenŃe de program în Visual Basic.
Acestor instrucŃiuni li se alătură comenzile asociate operaŃiunilor de intrare/ieşire specifice introducerii datelor
de intrare, respectiv extragerii rezultatelor prelucrărilor, precum şi instrucŃiunile de transfer.

B) CONCEPTE ŞI TERMENI DE REłINUT

49
• limbajul de programare Visual Basic (VB)
• mediu integrat de dezvoltare, IDE (Integrated Development Environment)
• numele obiectelor
• literali
• identificatori
• setarea proprietăŃilor
• tipuri de date
• variabile
• constante
• variabile locale
• variabile globale
• moduri de declarare a unei variabile
• operatori Visual Basic
• clase de precedenŃă
• funcŃie VB
• funcŃie predefinită
• funcŃie definită de utilizator
• instrucŃiuni VB

C) ÎNTREBĂRI DE CONTROL ŞI TEME DE DEZBATERE

19. Care sunt instrucŃiunile alternative în Visual Basic?


20. Care sunt instrucŃiunile repetitive în Visual Basic?
21. Care sunt instrucŃiunile de salt în Visual Basic?

a.InstrucŃiunile alternative în limbajul Visual Basic.


Manual, pag.70-71.
Exemple teste: 7 si 8 (pag.11); 55 (pag.19); 72 (pag.29); 130, 131 si 132 (pag.51);

b.InstrucŃiunile repetitive în limbajul Visual Basic.


Manual, pag.71-72.
Exemple teste: 15 (pag.14); 40 si 41 (pag.18); 63 (pag.25); 67 (pag.28); 70 (pag.28); 134 si 135
(pag.52);

D) Teste de autoevaluare

1 MATCHING
In mediul integrat de dezvoltare Visual Basic, partile componente ale unui proiect sunt:
a. Forme (formulare) e. Proceduri eveniment
b. Controale f. Proceduri generale
c. Proprietati g. Module
d. Metode
1.includ, de exemplu, nume, atasari (cod atasat), dimensiune, culoare, pozitie si continut;
2.reprezinta colectii de proceduri generale, declaratii de variabile si definitii de constante
folosite de aplicatie;
3.este cod scris pentru un anumit obiect, acesta executandu-se atunci cand apare un
eveniment;
4.este cod scris care nu se refera la un obiect anume. Acest cod este invocat de intreaga
aplicatie;
5.sunt ferestre pentru interfata utilizator;
6.sunt proceduri care pot fi invocate pentru a atasa anumite actiuni unui obiect particular;

50
7.sunt caracteristici grafice desenate in interiorul formelor (formularelor) pentru a permite
interactiunea utilizatorului. Ele pot fi: cutii text, etichete, butoane de comanda etc.

2. COMPLETION

While _____________________
Secventa_instructiuni
Wend

22. TRUE-FALSE

Când în instrucŃiunea If, după cuvântul cheie Then urmează mai multe instrucŃiuni, sintaxa generală a
instrucŃiunii este:
If condiŃie Then
SecvenŃă de instrucŃiuni
End If

4. MULTIPLE CHOICE

Care este secventa de program Visual Basic corecta?


a. Do c. Do
Cant = InputBox("Introduceti Cant = InputBox("Introduceti
cantitatea materialului: ") cantitatea materialului: ")
Pu = InputBox("Introduceti pretul Pu = InputBox("Introduceti pretul
unitar al materialului: ") unitar al materialului: ")
Vmftva = Cant * Pu Vmftva = Cant * Pu
Print Tab(20); Cant; Tab(48); Pu; Print Tab(20); Cant; Tab(48); Pu;
Tab(70); Vmftva Tab(70); Vmftva
Loop Until MsgBox("CONTINUATI?", Loop Until TextBox("CONTINUATI?",
vbYesNo) = vbYes vbYesNo) = vbNo

b. Do d. Do
Cant = InputBox("Introduceti Cant = InputBox("Introduceti
cantitatea materialului: ") cantitatea materialului: ")
Pu = InputBox("Introduceti pretul Pu = InputBox("Introduceti pretul
unitar al materialului: ") unitar al materialului: ")
Vmftva = Cant * Pu Vmftva = Cant * Pu
Print Tab(20); Cant; Tab(48); Pu; Print Tab(20); Cant; Tab(20); Pu;
Tab(70); Vmftva Tab(20); Vmftva
Loop Until MsgBox("CONTINUATI?", Loop Until MsgBox("CONTINUATI?",
vbYesNo) = vbNo vbYesNo) = vbNo

E) Bibliografie recomandată

1. Gherasim, Z., Programare si baze de date, EdiŃia a II-a, Editura FundaŃiei România de Mâine, Bucureşti,
2007.
2. Fusaru, D., Gherasim, Z., Andronie, M., Bâra, A., Stroe, P., AplicaŃii economice în Visual Basic si Access,
Editura FundaŃiei România de Mâine, Bucuresti, 2007.
3. Fusaru, D., Gherasim, Z., Bâra, A., Informatică de gestiune – Limbaje de programare si sisteme de gestiune
a bazelor de date, Teste grilă, Editura FundaŃiei România de Mâine, Bucureşti, 2005.

51
Bibliografie suplimentară
1. Knuth, D.E. – Arta programării calculatoarelor. Volumul 3. Sortare şi căutare, Editura Teora, Bucureşti,
2008.
2. Iliescu, M., Popa, Gh., Mareş, V., Vasilciuc, B. – Programarea calculatoarelor. Visual Basic.Net,
Editura UniversităŃii Titu Maiorescu, Bucureşti, 2006.
3. Velicanu, M., Lungu, I., Botha, I., Bâra, A., Velicanu, A., Rednic, E. – Sisteme de baze de date
evoluate, Editura ASE, Bucureşti, 2009.
4. Lungu, I., Bâra, A., Andronie, Mihai – Administrarea bazelor de date, Editura ASE, Bucureşti, 2008.
5. Gheorghiu, A., Bichiş, C.M. – Baze de date, Editura Victor, Bucureşti, 2004.
6. Airinei, A., Grama, A., Fătu, T., Fotache, D., Georgescu, M. – Tehnologii informaŃionale pentru
afaceri, Editura Sedcom Libris, Iaşi, 2006.
7. Rob, P, Coronel, C., Crockett, K – Database Systems. Design, Implementation & Management, Course
Techology. Cengage Learning EMEA, London, 2008.
8. Perry, G. – IniŃiere în programarea calculatoarelor, Editura Teora, Bucureşti, 2000.
9. Năstase, P.; Mihai, F.; Cosăcescu, L.; Covrig, L.; Stanciu, A. – Tehnologia bazelor de date: Access
2000, Editura Economică, Bucureşti, 2000.
10. Popa, Gh.; Iliescu, M.; Udrică, M. – Baze de date Access. Culegere de probleme, Editura CISON,
Bucureşti, 2001.
11. Date, C.J. – Baze de date, EdiŃia a opta, Pearson Addison Wesley, Editura Plus, Bucureşti, 2004.
12. Habracken, J. – Access 2002 pentru începători, Editura Teora, Bucureşti, 2003.
13. Johnson, S. - Microsoft Office. Access 2003, Editura Teora, Bucureşti, 2004.
14. Peterson, J.V. – Baze de date pentru începători, Editura BIC ALL, Bucureşti, 2002.
15. *** - BDASEIG, Baze de date. Fundamente teoretice şi practice, Editura InfoMega, Bucureşti, 2002.

***

52

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