Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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.
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Ńă
D) Teste de autoevaluare
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.
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.
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ă.
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
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.
• 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
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);
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.
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.
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;
22
ÎNDRUMAR PENTRU AUTOVERIFICARE
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
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.
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.
26
TIMPUL ALOCAT TEMEI: 2 ORE
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ă.
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.
• 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
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.
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.
32
TIMPUL ALOCAT TEMEI: 2 ORE
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.
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.
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
37
ÎNDRUMAR PENTRU AUTOVERIFICARE
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.
39
f.Caracterizarea limbajului de programare Visual Basic.
Manual, pag.63-74.
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
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.
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.
42
TIMPUL ALOCAT TEMEI: 2 ORE
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.
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;
i=i+1
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
Vfftva = 0; Vfctva = 0;
TVA = 0.19
48
Rezultatele rulării programului în a doua variantă de rezolvare a problemei, sunt prezentate în fig.6.
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.
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
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
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