Informatică de Gestiune (Limbaje)

58
 1  INFORMATICĂ DE GESTIUNE (LIMBAJE) Prof.univ.dr. Zenovic GHERASIM Codul cursului:  MFC2304 Denumirea cursului: INFORMATIC Ă DE GESTIUNE (LIMBAJE) Tip curs: obligatoriu Durata cursului / Nr. credite: un semestru / 5 Perioada de accesare a cursului: prelegeri 1 oct. 2013- iunie 2014 seminar consulta ţii Manual recomandat: Gherasim, Zenovic, Programare  şi baze de date, Ediia a-II-a, Editura Funda iei  România de Mâine, Bucureşti, 2007. Obiectivul principal al cursului: Obiectivele disciplinei „  Inf orm at ic ă de gestiune (Limbaje) ” se concretizeaz ă în cunoa  şterea  şi aprofundarea no  ţ iunilor de bază ale organizării datelor în vederea prelucrării automate cu ajutorul calculatorului electronic, a elementelor fundamentale ale programării şi ale limbajului de programare Visual Basic, precum şi în  ştigarea deprinderilor practice în rezolvarea prin programare a problemelor economice specifice ale domeniului financiar-contabil. Problematica teoretică şi aplicaţiile practice sunt sistematizate în aşa fel încât să asigure însu şirea raţională şi formarea gândirii informatice a studentului. Modul de stabilire a notei finale: Nota finală este cea care rezult ă din media aritmetică ponderat ă a notelor de la evaluarea pe parcursul semestrului, prin teste gril ă (20%) i nota de examenul scris din Sesiunea de examene de iarnă din ianuarie- februarie 2014 (80%). Consultaţii pentru studenţi: În cancelarie,   în fiecare miercuri de la ora 12 - 14, pe perioada cursurilor. Adresa e-mail responsabil pentru contactul cu studenţii: [email protected]. Titularul / titularii cursului / serie: Prof.univ.dr. GHERASIM ZENOVIC Conţinutul tematic al cursului: 1.  DAT Ă, INFORMAŢIE ŞI CUNOŞTIN ŢĂ. ORGANIZAREA DATELOR ÎN VEDEREA PRELUCRĂRII AUTOMATE CU AJUTORUL CALCULATOARELOR ELECTRONICE 1.1. Conceptele de societate informa ţională – societate a cunoa şterii. Sistem informaţional, sistem informatic, sistem bazat pe cuno ştinţe. Dată, informaţie şi cunoştinţă. 1.2. Noţiuni fundamentale utilizate în organizarea datelor. 1.3. Relaţiile dintre date. 1.4. Structuri de date. 1.5. Modele de date.

description

Informatică de Gestiune (Limbaje)

Transcript of Informatică de Gestiune (Limbaje)

Page 1: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 1/58

  1

 INFORMATICĂ DE GESTIUNE (LIMBAJE)

Prof.univ.dr. Zenovic GHERASIM

Codul cursului: MFC2304Denumirea cursului: INFORMATICĂ DE GESTIUNE (LIMBAJE)Tip curs: obligatoriuDurata cursului / Nr. credite: un semestru / 5Perioada de accesare a cursului: prelegeri 1 oct. 2013- iunie 2014

seminarconsultaţii

Manual recomandat:

Gherasim, Zenovic, Programare  şi baze de date, Ediia a-II-a, Editura Fundaiei România de Mâine, Bucureşti, 2007.

Obiectivul principal al cursului:Obiectivele disciplinei „ Informatică  de gestiune (Limbaje) ” se concretizează  în

cunoa şterea  şi aprofundarea no ţ iunilor de bază  ale organizării datelor în vedereaprelucrării automate cu ajutorul calculatorului electronic, a elementelor fundamentale aleprogramării şi ale limbajului de programare Visual Basic,  precum şi în câ ştigareadeprinderilor practice  în rezolvarea prin programare a problemelor economice specificeale domeniului financiar-contabil.

Problematica teoretică şi aplicaţiile practice sunt sistematizate în aşa fel încât să 

asigure însuşirea raţională şi formarea gândirii informatice a studentului.Modul de stabilire a notei finale: Nota finală  este cea care rezultă  din media

aritmetică  ponderată  a notelor de la evaluarea pe parcursul semestrului, prin teste grilă (20%) i nota de examenul scris din Sesiunea de examene de iarnă  din ianuarie-februarie 2014 (80%).

Consultaţii pentru studenţi: În cancelarie,  în fiecare miercuri de la ora 12 - 14,pe perioada cursurilor.

Adresa e-mail responsabil pentru contactul cu studenţii:[email protected]

Titularul / titularii cursului / serie: Prof.univ.dr. GHERASIM ZENOVIC

Conţinutul tematic al cursului:1. DATĂ, INFORMAŢIE ŞI CUNOŞTINŢĂ. ORGANIZAREA DATELOR ÎNVEDEREA PRELUCRĂRII AUTOMATE CU AJUTORULCALCULATOARELOR ELECTRONICE

1.1. Conceptele de societate informaţională  – societate a cunoaşterii.Sistem informaţional, sistem informatic, sistem bazat pe cunoştinţe.Dată, informaţie şi cunoştinţă.

1.2. Noţiuni fundamentale utilizate în organizarea datelor.1.3. Relaţiile dintre date.1.4. Structuri de date.1.5. Modele de date.

Page 2: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 2/58

  2

  2. REZOLVAREA PROBLEMELOR ECONOMICE CU AJUTORULPROGRAMELOR PE CALCULATOR. PROGRAMARE.

2.1 Noţiuni de bază specifice procesului de prelucrare automată a datelor.2.2 Noţiuni de bază referitoare la programare.2.3 Problematica generală a limbajelor de programare.2.4. Elementele de bază ale programării orientate pe obiecte.

3. LIMBAJUL DE PROGRAMARE VISUAL BASIC3.1 Caractersticile generale ale mediului integrat de dezvoltare Visual Basic.3.2 Componentele de bază ale mediului integrat de dezvoltare Visual Basic.3.3 Proiectarea aplicaţiilor în limbajul Visual Basic.

3.3.1 Fişierul proiect.3.3.2 Crearea interfeţei aplicaţiei.3.3.3 Precizarea proprietăţilor.3.3.4 Scrierea codului.

3.3.5. Execuţia aplicaţiei informatice în Visual Basic.3.4. Elementele limbajului de programare Visual Basic.3.4.1 Unele reguli de scriere.3.4.2 Tipuri de date.3.4.3 Variabile şi constante.3.4.4 Instrucţiuni Visual Basic.

3.4.4.1 Construirea expresiilor.3.4.4.2 Operatori Visual Basic.3.4.4.3 Funcţii Visual Basic.3.4.4.4 Implementarea structurilor de control al execuţiei unui program. 

Instrucţiuni alternative (sau cu structură alternativă).Instrucţiuni repetitive

3.4.5 Crearea fişierelor în limbajul Visual Basic

Bibliografie minimală obligatorie:

1. Gherasim, Zenovic, Programare  şi baze de date, Ediia a-II-a, EdituraFundaiei România de Mâine, Bucureşti, 2007.2. Fusaru, D., Gherasim, Z., Andronie, M., Bâra, A., Stroe, P.,   Aplica ţ iieconomice în Visual Basic  şi Access, Ed.F.R.M., ediţia a-III-a, Bucureşti, 2007.

Prezentarea lecţiei / capitolul 1:1. DATĂ, INFORMAŢIE ŞI CUNOŞTINŢĂ. ORGANIZAREA

DATELOR ÎN VEDEREA PRELUCRĂRII AUTOMATE CUAJUTORUL CALCULATOARELOR ELECTRONICE

Concepte cheie:  dat ă , informa ţ ie, cuno ştin ţă ,  sistem informa ţ ional, sistem informatic,sistem bazat pe cuno ştin ţ e structuri de date, modele de date.1.1. Conceptele de societate informaţională  – societate a cunoaşterii. Sisteminformaţional, sistem informatic, sistem bazat pe cunoştinţe. Dată, informaţie şicunoştinţă.

Noţiunea de societate informa ţ ională ( Information Society) descrie o economie şio societate în care colectarea, stocarea, prelucrarea, transmiterea, diseminarea şiutilizarea informaţiilor şi cunoştinţelor, inclusiv dezvoltarea tehnicilor de comunicaţieinteractivă, au un rol decisiv. Factorii semnificativi în această  dezvoltare sunt: înaltatehnologie ( HighTech), industria, lumea lucrului (Work World ), precum şi toate formele

Page 3: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 3/58

  3

de cultură în societate. Societatea informatică este o parte a societăţii informaţionale carefoloseş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ăţiiinformatice care utilizează  tehnologiile informaţiei şi ale comunicaţiilor (IT&C)preponderent pentru prelucrarea datelor sub formă  de cuno ştin ţ e. Considerând un nivelsuperior (pe modelul de dezvoltare în spirală  al societăţii umane), cel mai cuprinzătorconcept este cel de societate a cunoa şterii  (Knowledge Society). Societatea cunoaşteriieste fundamentată  pe acumularea şi utilizarea de date sub formă  de informaţii şicunoş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 defapt pe acestea. Societatea cunoaşterii foloseşte piese ( pieces) ale cunoaşterii. 

Societatea informaţională  are la bază  sistemele informa ţ ionale, societateainformatică – 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 ă  pecuno ş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, cuscopul realizării unui anumit obiectiv. Sistemul informa ţ ional  reprezintă  acel sistem deprelucrare a informaţiilor, împreună  cu resursele organizaţionale asociate, cum suntresursele umane, tehnice şi financiare ce furnizează  şi distribuie informaţia. Sistemulinformatic  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ţiecare 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 decercetare.  Informa ţ ia  reprezintă  elementele de noutate  despre un fenomen, proces etc. Noutatea  caracteristică  noţiunii de informaţie este percepută  de utilizator numai înmomentul 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 înregistrate învederea 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) încunoştinţă.

Caracterul de dat ă , informa ţ ie sau cuno ştin ţă  este relativ  (adică  se schimbă  înfuncţie de contextul ce defineşte însuşirea de noutate  pentru informa ţ ie  şi de în ţ eles  şiutilitate prin ac ţ iune pentru cuno ştin ţă).

Page 4: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 4/58

  4

 

Fig.1.1 Ierarhia informaţională  a societăţii informaţionale-societăţii cunoaşterii

SOCIETATEA

CUNOAŞTERII

Page 5: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 5/58

  5

“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 celormai relevante şi utile dintre acestea.

Se reaminteşte faptul că  informatica  este ştiinţa prelucrării automate a datelor. Informatica de gestiune este acea parte a informaticii care prelucrează automat datele deevidenţă  şi control vehiculate în cadrul unei organiza ţ ii economice. Ca urmare, esenţatuturor sistemelor informatice prezentate mai sus este gestionarea datelor   care,interpretate de factorul uman, devin uneori, aşa cum s-a arătat în acest paragraf,informa ţ ii sau cuno ştin ţ e.

Noţiuni fundamentale utilizate în 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 încolec ţ 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 aacestora 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 prinparcurgerea î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 tabelede indecşi care pentru fiecare valoare a atributului cheie primară  (atribut care permiteidentificarea î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.

Creşterea necesarului de date, informaţii şi cunoştinţe pentru agenţii economici şiprogresele tehnologiilor informaţiei şi ale comunicaţiilor (IT&C) au determinatorganizarea datelor în baze de date. O bază 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 deoperaţ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ţiilede date, după o ierarhie bine precizată;3. memorarea datelor pe un suport  informa ţ ional prelucrabil într-un sistem de calcul.

Page 6: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 6/58

  6

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).

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 societăţi comerciale poate fireprezentat prin mulţimea de perechi: (NUME, POPESCU); (PRENUME, ION);(LOCALITATE, BUCUREŞTI); (TELEFON, 0213211231); (BANCA, BCR);(CONT_BANCAR, RO15RZBR0000070002170022).

Mulţimea atributelor M_ATR = (NUME, PRENUME, LOCALITATE,TELEFON, BANCA, CONT_BANCAR) poate fi asociată mai multor clienţi ai societăţii

comerciale. Ca urmare, atributele nu caracterizează doar o entitate, ci o clasă de entităţicare este denumită  entitate de grup.  Elementele unei entităţi de grup prezintă  dreptcaracteristică aceeaşi mulţime de atribute. Ca urmare, entităţile din cadrul unei entităţi degrup 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, atributuleste numeric dacă ia valori numerice, atributul este alfanumeric dacă clasa de valori estereprezentată 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  şivaloare.

De exemplu:   MATERIAL – identificatorPRET_UNITAR – atribut120000 – valoare

 Din punct de vedere fizic, unei date îi corespunde o zonă  de memorie de oanumit ă mărime care se află la o adresă absolut ă. 

1.3 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 societăţi

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;

Page 7: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 7/58

  7

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. Întredatele 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.

1.4. 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 acomponentelor. Mulţimea de date, asociată structurii de date, poate cuprinde datele unuitip 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 ocomponentă 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 înselestructuri 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);• 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 carerealizarea 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ă  înomogene  (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) şistructura logică  (modul de ordonare a datelor şi modul de folosire a operatorilor detratare a datelor).

Dacă  se ia în considerare  posibilitatea modificării valorilor  şi a structurilor  ,  seidentifică structuri statice  (pe tot parcursul existenţei acestora prezintă acelaşi număr decomponente şi în aceeaşi ordine (adică  au cardinalitate finit ă , prin cardinalitate 

Page 8: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 8/58

  8

 înţelegând numărul elementelor mulţimii)) şi structuri dinamice  (permit modificareavalorilor şi a structurii de date prin aplicarea unor operatori; aceste structuri de date aucardinalitate 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 organizareadatelor trebuie definită atât structura logică, cât şi cea fizică, deorece cele două nivele secondiţionează reciproc.

Din punctul de vedere al tipului de structur ă de date, se deosebesc:• structura de date punctuală (o entitate de grup izolată); • structura de date liniar ă (primul element nu are predecesori; ultimul element nu aresuccesori; între date se stabilesc relaţii de tipul “unu-la-unu”; când ultimul elementcoincide cu primul element, structura liniară devine structur ă circular ă sau inelar ă);• structura de date arborescent ă  (este denumită  şi structur ă  de date ierarhică  saudescendent ă; există un element unic care este denumit nodul r ăd ăcină (root node);oricenod diferit de nodul rădăcină prezintă un predecessor  imediat unic; orice nod care nu esteterminal prezintă un număr finit de succesori imediaţi; între noduri se stabilesc rela ţ ii detipul “unu-la-mulţi); • structura de date re ţ ea (acest tip de structură de date se defineşte când există o rela ţ iede preordine între elementele colecţiei de date; un nod prezintă mai mulţi predecesori; unnod poate fi  predecesor   pentru propriul său  predecesor ; între elementele reţelei sestabilesc rela ţ ii de tipul “mulţi-la-mulţi); • structura de date rela ţ ională (acest tip de structură de date este formată din mai multetabele, rela ţ ii sau tablouri de date elementare).

 Datele şi structurile de date pot fi predefinite sau definite de utilizator .În tabelul 1.1 se prezintă  definirea şi caracteristicile principalelor structuri de

date, prin evidenţierea avantajelor şi dezavantajelor pe care le prezintă  [59]. Acestestructuri de date se folosesc, în special, în  programare, iar unele dintre ele suntfundamentale şi în teoria bazelor de date  (cum este, de exemplu, tabloul  sau tabelul (table), care este folosit în structurarea bazelor de date relaţionale, aşa cum se prezintă încapitolul 4 al manualului).

La tablou, indexul se referă la o valoare care permite accesul direct  la structura dedate f ără a mai necesita parcurgerea secvenţială a ansamblului de elemente. Indexul poatefi şi o listă cu cuvinte-cheie şi date asociate care indică locaţiile unde se găsesc fişiere sau înregistrări de pe un suport magnetic. La bazele de date, indexul este o listă cu chei de înregistrări dintr-o bază de date.

Tabelul 1.1 Definirea şi caracteristicile unor structuri de date

Denumire Definire Avantaje DezavantajeTablou(table)

Inserare şi acces rapid,când indexul  estecunoscut.

Tablouordonat

În  programare, listă  deelemente, implementată  subforma unui vector de înregistrări sau a unei liste înlănţuite. În bazele de date rela ţ ionale, structură cu linii şicoloane.

Căutare mai rapidă  încomparaţie cu tablourileneordonate.

Căutare şi ştergeregreoaie,dimensiune fixată 

Page 9: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 9/58

  9

Coad ă (queue)

Structură  realizată  după metoda “primul sosit, primulplecat”, FIFO (First-In, First-Out )

Accesul la date seexecută  în ordineaintroducerii acestor date.

Stivă (stack)

Structură  realizată  după metoda “ultimul sosit, primulplecat”, LIFO ( Last-In, First-Out )

Accesul la date seexecută  în ordineainversă  introduceriiacestor date.

Acces greoi lacelelalte elemente.

 List ă înlăn ţ uit ă (chain list)

Structură de date sub formă delistă  în care fiecare element allistei asigură  o adresă  pentruurmătorul element consecutival listei.

Inserare şi ştergere rapide Căutare greoaie.

 Arbore binar(binary tree)

Structură  de date sub formaunui arbore ordonat  de graduldoi.

Algoritmul deştergere estecomplicat.

 Arborebicolor(bicolor tree)

 Arbori binari  la care fiecarenod dispune de caracteristicaculoare – roşie sau neagră.

 Arbore 2-3-4(2-3-4 tree)

 Arbori multicăi  în care fiecarenod poate prezenta cel multpatru succesori (fii).

Căutare, inserare şiştergere rapide (arboreechilibrat).

Structuri de datecomplexe.

Tabel dedispersie

(hash table)

Structură  de datefundamentată pe transformarea

unui domeniu de valori aleunei anumite chei într-undomeniu de indici dintr-untablou.

Structura de date cea mairapidă  (inserare rapidă  şi

acces rapid pe baza uneichei).

Ştergere greoaie.Acces lent atunci

când nu secunoaşte cheia.

 Movilă (heap)

Tip de arbore binar   complet  implementat printr-un tablou. 

Inserare, ştergere şi accesrapide la elementulmaxim sau minim.

Acces greoi lacelelalte elemente.

Graf (graph) Structură formată din noduri şiarce ca legături dintre noduri.

Modelează  situaţii dinuniversul real.

Anumiţi algoritmisunt greoi şicomplicaţi.

La arbori, fiecare nod al arborelui, cu excepţia nodului r ăd ăcină, este succesorulunui nod unic. Fiecare nod admite unul sau mai mulţi subarbori ca succesori sau nudeţine nici un succesor şi se denumeşte frunză (leaf).  Drumul de lungime n-1 de la nodulαi1 la αin reprezintă o succesiune de noduri (αi1, αi2 ..., αin), în care pentru (∀)αik, k ≠ n,αik+1  este un succesor   imediat al lui αik.  Înăl ţ imea arborelui  reprezintă  drumul delungime maximă. Un arbore care are ordinul superior lui doi se numeşte arbore multicăi.  Arborele echilibrat   este un arbore la care diferenţa dintre drumurile de la rădăcină  laorice nod terminal este cel mult unu. Un arbore  este ordonat   dacă, într-un mod deparcurgere prestabilit, elementele considerate satisfac o rela ţ ie de ordine. Un arborebinar  are zero, unul sau cel mult doi succesori. Un arbore complet  ( full tree) este arborele în care, fiecare nod, cu excepţia frunzelor, prezintă doi succesori (fii).

Page 10: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 10/58

  10

  Tabelele de dispersie  sunt structuri de date ce semnifică  lista tuturor intrărilor într-un fişier în concordanţă cu numerele de dispersie ce le aparţin. Codurile de dispersie(hash codes) folosite la obţinerea tabelelor de dispersie sunt derivate din codurile ASCIIpe baza unor funcţii de dispersie.

 Movila (heap-ul)  serveşte pentru implementarea cozilor cu priorit ăţ i  (acele cozicare permit ştergerea elementului cu cheia maximă sau minimă).

Graful complet este graful ale cărui noduri  sunt conectate două  câte două  prinintermediul unui arc. Graful orientat  este graful în care parcursul pe un arc spre nod seefectuează numai într-un singur sens.

1.5. 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  (celmai mic element al structurii) grupul simplu  sau compus  (set compus din câmpurimultiple şi grupuri) şi înregistrarea (ansamblu de câmpuri sau grupuri care constituie şielementul generic al structurii). Rela ţ iile dintre înregistrările unei entităţi (obiect) sau maimultor entităţi (obiecte) independente se materializează  într-o legătur ă dintre o realizarea î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 caraterizatde o identitate proprie, de o existenţă  proprie şi de o familie de caracteristici caresemnifică proprietăţile acestui obiect. Rela ţ iile sunt denumite şi asocieri.

Pentru realizarea unei reprezentări grafice (sub formă  de diagrame) a structuriimodelului se utilizează  tehnica entitate-asociere  care constă  în identificareacomponentelor   (entităţilor), identificarea asocierilor   dintre entităţi şi codificarea  lor,identificarea atributelor   şi  precizarea atributelor de identificare a entit ăţ ilor . Fiecareentitate prezintă mai multe realizări. Legăturile dintre entităţi sunt reprezentate prin arceneorientate  sau orientate  (fig.1.2) care stabilesc legătura între nodurile ce reprezintă entităţile participante la asociere. Semnificaţia legăturii este exprimată  printr-un numeacordat legăturii. Legătura se reprezintă cu un nod etichet ă  (sub formă de romb) dispuspe arc ca nod  intermediar .

Fig. 1.2. 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 estereprezentată  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 entitatecare pot fi asociate cu o realizare a partenerului de asociere. Cardinalitatea se reprezintă 

Page 11: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 11/58

  11

prin perechi de numere, câte o pereche pentru fiecare entitate din cadrul legăturii. Dinfig.1 se observă că un anumit produs poate fi achiziţionat de mai mulţi clienţi şi un clientpoate cumpăra mai multe produse. Perechea (1,n)  este asociată  entităţii CLIENTI şisemnifică faptul că un client poate să achiziţioneze un produs sau poate să achiziţionezemai 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 maimulţ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) - asociere totale (complete). 3. Simultan, după  gradul asocierii şi după  obligativitatea participării la asociere,

tipurile de legături se diferenţiază în:- asocieri par  ţ iale de tip „unu la unu”;- asocieri totale de tip „unu la unu”;- asocieri par  ţ iale de tip „unu la mul ţ i”;- asocieri totale de tip „unu la mul ţ i”;- asocieri par  ţ iale de tip „mul ţ i la mul ţ i”;

- asocieri totale de tip „mul ţ i la mul ţ i”.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 laasocierile dintre entităţi. După complexitate, atributele se clasifică în atribute simple sauelementare  ş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 estecaracterizat prin unicitatea valorii sale pentru fiecare instanţă  a entităţii (d e 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 îiaparţ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

Page 12: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 12/58

  12

 înregistrări subordonate, legate sub formă  de arbore, motiv pentru care modelul estedenumit şi arborescent .

Nodul din arbore care nu este rădăcină sau nod final, are un singur nod superior şiunul sau mai multe noduri inferioare. Legătura de la un nod superior la unul inferior estede tipul 1→m, iar legătura de la un nod inferior la unul superior este de tipul 1→1.Datorită existenţei celor două structuri, modelul ofer ă operatori separa ţ i şi anume:

• operatori de citire pentru tipul de înregistrare;• operatori de citire pentru tipul ierarhie;• operatori de memorare pentru tipuri de înregistr ări;• operatori de memorare pentru ierarhie.

În cazul modelului re ţ ea, datele sunt reprezentate ca la modelul ierarhic, cudeosebirea că  fiecare inferior poate avea mai mulţi superiori. Structurile specificemodelului reţea pot să fie tipul de înregistr ări (asigură atributele unei entităţi) şi tipul deset  (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 astfelde 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ţimede dependenţe funcţionale dintre atribute. Normalizarea permite obţinerea unei schemeconceptuale a modelului relaţional într-o formă normalizată în care se elimină anomaliilede actualizare.

 Modelul orientat obiect  este bazat pe structura denumită clasă de obiecte ce estedefinită prin abstractizare din entităţile desemnate.

 Pentru acest capitol paginile din manula 11 –24.

Lista subiectelor pentru pregătirea în vederea evaluării finale:1. Conceptele de societate informaţională – societate a cunoaşterii.2. Dată, informaţie şi cunoştinţă.3. Sistem informaţional, sistem informatic, sistem bazat pe cunoştinţe.4. Noţiuni fundamentale utilizate în organizarea datelor.5. Obiectivele organizării datelor.6. Caracteristicile fişierelor de date.7. Ce reprezintă baza de date.8. Relaţiile dintre date.9. Structuri de date, considerente generale.10. Clasificările structurilor de date.11. Care sunt structurile fundamentale pentru teoria bazelor de date.12. Modele de date, definirea lor.13. Definirea structurii modelului.14. Operatorii utilizaţi în manipularea structutrilor de date.15. Noţiunile : entitate, atribut, valoare.16. Tipuri de legături între entităţi.17. Modelul ierarhic.18. Modelul reţea.19. Modelul relaţional.20. Modelul orientat obiect.

Teste de tipul alegere multiplă (MULTIPLE CHOICE) 

Page 13: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 13/58

  13

 1. Organizarea datelor in fisiere prezinta avantaje si dezavantaje. Care dintre

variantele urmatoare este un avantaj?

a. redundanta ridicata d. dependenta programelor fata de dateb. izolarea datelor e. localizare rapida prin indexarec. actualizarea datelor

R: e

Teste de tipul completare (COMPLETION) 2. Atributul se mai numeşte ______________.R: câmpTest de tipul corespondenţă (MATCHING) 3. Modelele de date au următoarele definiţii:

a. modelul ierarhic c. modelul relaţionalb. modelul reţea

1. modelul în care fiecare inferior poate avea mai mulţi superiori

2. modelul care are la baza teoria matematica a relaţiilor

3. modelul care are ca structură de bază tipuri de înregistrări care grupează toate

atributele unei înregistrări

R: 1=b, 2=c, 3=aCapitolul următor tratează noţiuni de bază referitoare la prelucrarea automată a datelor,tipuri de limbaje de programare, elemente de bază ale programării orientate pe obiecte.

Prezentarea lecţiei / capitolul 2:2 REZOLVAREA PROBLEMELOR ECONOMICE CU AJUTORUL

PROGRAMELOR PE CALCULATOR. PROGRAMARE.Concepte cheie: program, programare, declaraţie, instrucţiune, algoritm, schemă 

logică, limbaj de programare.2.1 Noţiuni de bază specifice procesului de prelucrare automată a datelor

Orice sistem de calcul  (adică acel sistem tehnic care asigură  execuţia procesuluide prelucrare automată  a datelor) are în compunere, în esenţă, partea de hardware şipartea de software. Bill Gates, patronul Microsoft spunea în anul 2002 că  din totalulcosturilor unui sistem de calcul, partea de hardware reprezintă 5%, în timp ce partea desoftware reprezintă 95% din totalul aceloraşi costuri. Problema costurilor unui sistem decalcul 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 respectarealegii drepturilor de autor în domeniul software.

Partea de software a unui sistem de calcul cuprinde, la rândul ei, software-ul debază  (sistemul de operare sau sistemul de programe de bază) şi software-ul de aplicaţie

Page 14: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 14/58

  14

(sau sistemul de programe aplicative). Un sistem informatic are  func ţ ia  de prelucrareautomată a datelor pentru obţinerea informaţiilor necesare procesului de conducere sau deinformare. Procesul de prelucrare automată  a datelor presupune existenţa simultană  aurmătoarelor elemente: sistemul de echipamente (hardware), sistemul de programe debază, sistemul de programe aplicative, datele de intrare ce sunt supuse proceselor deprelucrare automată şi datele de ieşire sau rezultatele prelucrărilor. În esenţă, acest procesde prelucrare automată a datelor este format din trei etape: introducerea (citirea) datelorde 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 , iardatele ce reprezintă  rezultate sunt obţinute printr-o operaţie de scriere  –write  sau detipă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 procesulde decizie.

Procesul de prelucrare automată a datelor are loc într-o succesiune controlată deoperator, adică, în accepţiunea clasică, de acel utilizator final specializat în operarea pesistemul de calcul. Etapele procesului de prelucrare a datelor pe calculator suntmaterializate în următoarele opera ţ ii:• pregătirea datelor iniţiale, de regulă manual, în vederea introducerii lor în procesulde prelucrare automată (citire), ce presupune verificarea, sortarea şi codificarea acestordate în funcţie de documentele primare existente; verificarea datelor   presupuneconfirmarea concordanţei între valorile prezente în documentele primare şi valorile caretrebuie să  existe în conformitate cu aplicaţia informatică  concretă  sau problema

economică  cu urmează  a fi rezolvată; sortarea  datelor   semnifică  acel tip de prelucrareprin care datele sunt dispuse într-o anumită ordine, în conformitate cu un anumit sistemsau cu anumite precizări ale utilizatorului; codificarea datelor   înseamnă  operaţia deatribuire de semne numerice, alfabetice sau alfanumerice unor date cu scopul de aoptimiza numărul de semne cu care se scriu şi se prelucrează, de exemplu, elementelespecifice sistemului informaţional financiar-contabil; noţiunea de document primar   (deevidenţă  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 economicse înscrie într-un document primar în momentul şi în locaţia în care s-a produs.• 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 latastatură (î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ătrecalculator 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ă înverificarea 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; comparareadatelor  este tipul de prelucrare prin care se verifică existenţa unor rela ţ ii de ordine între

Page 15: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 15/58

  15

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; testareadatelor  este tipul de prelucrare prin care se verifică un ansamblu de date ce sunt pregătitepentru buna funcţionare a unui program;• prezentarea rezultatelor prelucrării, adică  afişarea pe ecranul monitorului sauimprimarea pe hârtie; când rezultatele sunt folosite în prelucrări ulterioare, ele suntstocate 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.

2.2 Noţiuni de bază referitoare la programare 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 generatede condiţii nedorite sau neaşteptate. În activitatea de concepere a programelor destinatecalculatoarelor 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 sistemde calcul. În capitolul 1 al lucrării s-a prezentat noţiunea de sistem informatic. A rezultatastfel că  orice sistem informatic  conţine unul sau mai multe sisteme de calcul (hard şisoft), cărora li se adaugă  restul bazei tehnico-materiale, baza ştiinţifico-metodologică,baza informaţională, resursele umane şi cadrul organizatoric. Baza tehnico-materială conţine echipamentele de culegere, verificare şi transmitere date, echipamentele deteleprelucrare, suporturile de stocare a datelor şi calculatorul propriu-zis. Bazaştiinţifico-metodologică  cuprinde modelele matematice ale proceselor şi fenomeneloreconomice şi metodologii de realizare a sistemelor informatice. Baza informaţională  sereferă la date, fluxuri şi circuite informaţionale, cataloage şi dicţionare de date etc.

Un sistem informatic are  func ţ ia  de prelucrare automată  a datelor pentruobţinerea informaţiilor necesare procesului de conducere sau de informare.

Din cele arătate mai sus, rezultă  că  procesul de prelucrare automată  a datelorpresupune existenţa simultană  a următoarelor elemente: sistemul de echipamente(hardware), sistemul de programe de bază, sistemul de programe aplicative, datele deintrare ce sunt supuse proceselor de prelucrare automată şi datele de ieşire sau rezultateleprelucrărilor. În esenţă, acest proces de prelucrare automată a datelor este format din treietape: introducerea (citirea) datelor de intrare,  prelucrarea datelor (efectuarea calculelor)şi extragerea (scrierea) rezultatelor. Este de reţinut că  datele de intrare sunt introduseprintr-o operaţie de citire  - read , iar datele ce reprezintă  rezultate sunt obţinute printr-ooperaţie de scriere –write sau de tipărire - print  a rezultatelor (fig.2.1).

Fig.2.1 Etapele procesului de prelucrare a datelor pe calculator

CITIRE

DATE DEINTRARE

PRELUCRĂRI SCRIERE 

 REZULTATE

Page 16: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 16/58

  16

 Sistemul de operare este realizat cu preponderenţă  în limbajul de programare C,

este livrat cu licenţă, de regulă, de compania producătoare a părţii hardware acalculatorului şi este specific unui anumit tip de platformă  de calcul (Windows, Unix,OS/2 etc).

Programele aplicative sunt realizate prin utilizarea limbajelor de programareacceptate de către sistemul de calcul şi de sistemul de operare al acestuia.

Dar înainte de a se scrie efectiv programul, se efectuează analiza problemei derezolvat  şi se realizează algoritmul de calcul.

Programul  pe calculator   este un set de instruc ţ iuni  (comenzi) ce se execută  desistemul de calcul cu scopul de a efectua o succesiune de ac ţiuni sau un tip prestabilit deactivitate.  Instruc ţ iunea  sau comanda semnifică  un enunţ  ce specifică  o acţiune într-unlimbaj de programare. Programul pe calculator   (sau, mai simplu,  programul) are încompunere, 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ă  larealizarea 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 timpulprelucrării, precum şi a datelor de ieşire (rezultatelor). Identificatorul reprezintă orice şirde 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 ă  saude  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 ansambluformat 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ştitermeni. Dicţionarele de informatică definesc algoritmul ca:• o descriere a schemei de realizare a unui eveniment cu ajutorul unei mulţimi finite deacţ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 intrareconduc 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, secunoaşte cu exactitate următoarea operaţie, precum şi modul de execuţie a fiecăreioperaţ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 cuputinţă, asigură rezolvarea unei clase largi de probleme;•  finitudinea, ce constă  în faptul că  algoritmul este finit în spaţiu (ca descriere) şiasigură obţinerea rezultatului într-un timp determinat de execuţie, adică după un anumitnumăr finit de paşi.

Page 17: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 17/58

  17

După  gândirea algoritmului, acesta se poate reprezenta sub mai multe forme;dintre aceste forme, cele mai uzuale sunt reprezentarea în  limbaj pseudocod  şi schemalogică.  Limbajul pseudocod   asigură  descrierea algoritmilor prin intermediul a două enunţuri: standard şi nestandard; enunţurile nestandard sunt fraze în limbajul natural ce sefolosesc, 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ţiunilelimbajului 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 dedate, documentele primare ce le conţin, activităţile ce se execută  asupra lor, modul destocare ş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 timpce schemele logice de program  sunt folosite pentru detalierea anumitor procese

reprezentate în schema logică de sistem. Schemele logice de program sunt independentede 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 sebazează pe teorema lui Boehm  şi Jacopini care arată că orice algoritm poate fi reprezentatca o combinaţie a celor trei structuri de control fundamentale: secvenţială, alternative şirepetitive. Structura de control secven ţ ială (liniară) cuprinde o succesiune de blocuri carese execută  unul după  altul. Structurile de control alternative  (cu ramificaţii) corespundunui bloc de prelucrare care se execută  în functie de satisfacerea unei condiţii. Acestestructuri 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 controlrepetitive  (de ciclare) asigură  repetarea prelucrării unor secvenţe de program. Formelestructurilor 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ă  cucontor condiţionată posterior ( Do…For ).

Din punct de vedere structural, un  program poate avea în compunere mai multesubprograme 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ă esteformată  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ă  pentrumanagementul resurselor umane, aplicaţie informatică  pentru gestiunea creditelorbancare etc.). Noţiunea de aplica ţ ie informatică  nu este similară  cu aceea de sisteminformatic.

 Limbajul de programare este un limbaj artificial ce se foloseşte pentru definireaunui şir de instruc ţ iuni care pot fi prelucrate şi executate pe un calculator.

Page 18: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 18/58

  18

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 entitateindependentă. 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 returnamai multe valori atunci când este rulată. Variabila  este, în programare, o locaţie dememorie în care se stochează date de un anumit tip şi care pot fi modificate pe timpulexecuţiei programului. Constanta desemnează o entitate cu nume ce reprezintă o valoarecare nu se modifică pe timpul execuţiei unui program. Structura de date este o schemă deorganizare a datelor cu scopul de a simplifica operaţiile de prelucrare sau de a uşurainterpretarea lor. Există mai multe tipuri de structuri de date: vector, înregistrare, mulţimeetc.

 Instruc ţ iunea  este formată  din două  elemente distincte: codul operatorului  şioperanzii  (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 decalcul,  fi şierul de date  asupra căruia se efectuează  operaţia şi echipamentulperiferic pe care se găseşte acest fişier de date;  fi şierul de date este o colecţie dedate stocată pe un suport tehnic într-o succesiune de înregistrări;

instruc ţ iunile de calcul,  ce precizează natura operaţiei, adresele operanzilor careparticipă la calcul şi a operaţiei aritmetice;

instruc ţ iunile de transfer (atribuire),  ce realizează  transferul datelor, precizândsensul transferului şi adresele operanzilor. Instruc ţ iunile de organizare sunt următoarele:

instruc ţ iunile de comparare (decizie logică),  care asigură  compararea a doi saumai 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 dereprezentare a datelor de intrare şi de ieşire, elaborarea schemei logică  de sistem caredefineşte echipamentele din configuraţia calculatorului ce participă  la procesul deprelucrare a datelor, realizarea algoritmului ce presupune elaborarea şi reprezentareaacestuia în limbaj pseudocod sau sub forma schemei logice de program;

 2. Scrierea (introducerea) programului, ce are drept scop codificareaalgoritmului, adică  conversia acestuia în conformitate cu instrucţiunile unui limbaj deprogramare; pentru această codificare, se foloseşte un editor de texte; acest editor poate fiindependent sau poate face parte din mediul integrat de dezvoltare (IDE); se obţine astfel

Page 19: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 19/58

  19

 programul-sursă  (codul-sursă  al programului) care este scris într-un limbaj similar culimbajul 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 uneicomponente a sistemului de operare, numită  compilator . După  compilare, eventualeleerori 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 desintaxă  sunt eliminate prin corec ţ ii  aduse programului-sursă, după  care operaţia decompilare este reluată. Este important de menţionat faptul că în etapa de compilare nu sedepistează  erorile logice  din program; erorile logice  sunt greşeli produse la realizareaalgoritmului de calcul.

4. Editarea de legături (linkeditarea), ce asigură  includerea codului obiect alprogramului ( programul-obiect ) într-un ansamblu executabil ( programul executabil) care

cuprinde şi module specifice sistemului de operare, funcţii de bibliotecă etc. cu ajutorulcomponentei denumită editor de legături (linkeditor ). Eventualele erori ce apar conduc lacorecţii în programul-sursă.

5. Testarea logică  a programului, ce realizează  verificarea finală  a programuluipe baza unui set de date de test care acoperă domeniul real de valori ale datelor de intrarece se vor folosi în timpul exploat ării programului.

 2.3 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 dedescriere 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ţimeasimbolurilor utilizate pentru scriere în limbajul de programare respectiv. Vocabularul estecompus din mulţimea cuvintelor întrebuinţate în limbaj.  Gramatica  limbajului deprogramare este reprezentată  de ansamblul regulilor de scriere, cu preponderenţă  subaspect sintactic  (mulţimea regulilor de formare a instrucţiunilor), cu luarea înconsideraţ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ţiainstrucţ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 pelimbaje de manipulare  şi interogare a bazei de date. SGBD-urile lucrează  cu dateorganizate în baze de date  şi  programele  sunt independente în raport cu descriereadatelor . Se dau ca exemple SGBD-urile FoxPro  (cu o largă  răspândire în România îndeceniul 90 al secolului trecut), Informix, Oracle, Sybase, Microsoft Access. 

Din categoria limbajelor de programare specializate  fac parte limbajeleinteligen ţ ei artificiale. Se dau ca exemple limbajele Lisp şi Prolog.

Page 20: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 20/58

  20

 Limbajele de programare orientate pe obiecte sunt dezvoltate în conformitate cuconceptual de  programare orientat ă pe obiecte, OOP  (Object-Oriented Programming).Programarea orientat ă  pe obiecte  semnifică  programarea bazat ă  pe obiecte  la care seadaugă  mo ştenirea  şi  polimorfismul  (paragraful 2.4). Programarea bazat ă  pe obiecte,OBP  (Object-Based Programming) utilizează  conceptele de clasă  şi obiect . Dintrelimbajele de programare OOP se menţionează Pascal, C++, C#, SmallTalk, Simula, Java etc.

2.4. Elementele de bază ale programării orientate pe obiecteProgramarea 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 ă  peobiecte, 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  şistare. Identitatea individualizează  un obiect în comparaţie cu alte obiecte.  Metodele decomportament   ale obiectului reprezintă  elementele comportamentale ale acestuia înmomentul accesării. Prin comportament, obiectul î şi pune în evidenţă  apartenenţa laclasă, precum şi individualitatea sa. Starea  obiectului este caracterizată  cu ajutorulatributelor lui. Orice atribut  dispune de nume şi valoare sau realizare ce este asociată cavariabilă  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 sauadresa de memorie a obiectului. Acest identificator nu este controlat de utilizator şi nu seconfundă  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 stareinternă care se poate schimba; valoarea nu se schimbă niciodată. Obiectele sunt create deutilizatori, prin derivare din tipuri de obiecte create anterior sau printr-o operaţie decreare (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 deobiecte  cu  propriet ăţ i  şi metode  ce se moştenesc într-o subclasă. Subclasa  sau clasaderivat ă  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 unuilimbaj declarativ  sau pe cale grafică. Clasa are un nume, prezintă opera ţ ii  externe saumetode, are o reprezentare internă (ca expresie a valorilor diverselor st ări ale instan ţ elorde clasă) şi foloseşte cod   ce implementează  atât operaţiile externe cât şi descrierilereprezentării interne a obiectelor. Clasa există conceptual chiar şi atunci când nu conţineobiecte şi este un şablon pentru generarea şi manipularea obiectelor şi este accesată deutilizator cu ajutorul interfe ţ ei  specifice clasei. Specificarea metodei se numeştesemnătur ă, iar modul de implementare constituie corpul metodei. Noţiunea de clasă esteasociată  în special cu faza de execuţie şi presupune: generarea de obiecte (new) şimemorarea mul ţ imii de obiecte  care reprezintă  instan ţ ele claselor . O clasă  descrie

Page 21: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 21/58

  21

obiectele, crearea unui obiect realizându-se prin luarea în consideraţie a unei expresii detip. Tipul  reprezintă o descriere abstractă a unui grup de entităţi asemănătoare. Obiectulprezintă valorile lui proprii, lista atributelor  şi metodelor  fiind gestionate de clasă. Pentrumajoritatea limbajelor OOP, ansamblul instanţelor unei clase reprezintă  o colecţie careare 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şireprezentare. 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 accentuareaelementelor de  precizare a comportamentului  şi de specificare a metodelor   ce se potefectua asupra variabilelor de tipul de dat ă  respectiv (se specifică  atât structuraobiectului, cât şi mesajele aplicabile lui). Tipul abstract de dată  ascunde modul în care

sunt implementate metodele  asociate obiectului, reprezentarea internă  a obiectelor şiprotejează algoritmii interni care implementează cererile din exterior. Acest tip abstractde dat ă  are două  componente: interfa ţ a  (listă  de metode) şi implementarea  (descriereastructurii interne a datelor obiectului şi realizarea procedurilor de implementare ametodelor   interfeţei). Structura aleasă  pentru memorarea tipului abstract de dat ă  esteascunsă pentru utilizator, ca urmare algoritmul de reprezentare este încapsulat. Există ointerfa ţă  publică, la care au acces utilizatorii, şi o interfa ţă  privat ă  ce ascundereprezentarea şi implementarea.

Diferenţa dintre tipul de dat ă şi clasă este următoarea: tipul de dat ă este destinatpentru definirea de declaraţii utilizate pentru controlul static al expresiilor de limbaj, întimp 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ătreun 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, departajarea structurii între datele obiectelor.

Proiectarea unei aplicaţii prin intermediul OOP constă  gruparea informaţiilorgenerale în clase  care sunt apoi specializate pas cu pas în subclase  cu comportamentparticular.

 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 demoşteniri, o metodă definită pentru o clasă este mo ştenit ă de subclasele sale. Moştenireaeste implementată static sau dinamic.  Mo ştenirea statică înseamnă adăugarea câmpurilor

Page 22: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 22/58

  22

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ă  laparcurgerea legăturilor de moştenire. În cazul moştenirii dinamice, actualizarea seefectuează  mai rapid, în timp ce execuţia este mai puţin eficientă. Moştenirea poate fisimplă  sau multiplă.  Mo ştenirea simplă  se produce atunci când o subclasă  moşteneşteproprietăţ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 prinmascare 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. Unobiect 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 pentruobiectele 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 cespecifică 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 metodelorsunt memorate în baza de date. Tipurile obiectelor pot fi declarate persistente prinfolosirea cuvântului cheie  persistent   la momentul declarării, variabila fiind şi eaconstrâ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 laapariţ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ă.

 Pentru acest capitol paginile din manula 25-40.

Lista subiectelor pentru pregătirea în vederea evaluării finale:1. Noţiuni de bază specifice procesului de prelucrare automată a datelor.2. Noţiuni de bază referitoare la programare.

3. Tipurile de enunţuri pe care le are în compunere un program pe calculator.4. Ce reprezintă declaraţiile într-un program.5. Ce reprezintă instrucţiunile într-un program.6. Ce reprezintă identificatorul într-o declaraţie.7. Concepte fundamentale în programare: program, structură  de date, algoritm,limbaj de programare, declaraţii, instrucţiuni, mediu de programare.8. Condiţiile pe care trebuie să le satisfacă un algoritm.9. Clasificarea instrucţiunilor în funcţie de tipul prelucrării.

10. Fazele elaborării unui produs-program.11. Descrierea algoritmilor. Limbajul pseudocod. Schema logică.

Page 23: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 23/58

  23

  12. Structurile de control fundamentale: secvenţiale, alternative şi repetitive.13. Definirea noţiunilor de : aplicaţie informatică, limbaj de programare,

procedură.14. Etapele de realizarea unui program.15. Problematica generală a limbajelor de programare.16. Elementele care definesc un limbaj de programare : alfabet, vocabular,

gramatici.17. Clasificarea şi caracterizarea limbajelor de programare.18. Elementele de bază  ale programării pe obiecte : clasa, metoda, tipul de dată,

tipul abstract de dată, polimorfismul, moştenirea, încapsularea.

Teste pentru autoevaluare:

Teste de tipul completare (COMPLETION) 1.  Proiectarea programului, ce are drept scop elaborarea unui ______ care detaliază rezolvarea problemei.

R: algoritm2. Compilarea programului, constituie activitatea de _____ a programului sursă scris într-un limbaj de nivel înalt în program obiect, exprimat în instrucţiuni cod-maşină 

R: traducereTeste de tipul adevărat/fals (TRUE/FALSE) 3. Clasa este noţiunea de limbaj care defineşte tipul de fişier.

R: F4. Moştenirea permite constituirea de noi tipuri de obiecte şi clase într-o ierarhie demodule, prin rescriere şi recodificare.

R: F5.  Metodele sunt operaţii care pot regăsi sau actualiza starea unui obiect, stare careeste memorată în variabilele instanţelor sale.

R: ACapitolul următor tratează problemele specifice limbajului Visual Basic: tipuri de date,funcţii, variabile, constante, instrucţiuni de atribuire, alternative, repetitive,tipuri defişiere utilizate în VB.Prezentarea lecţiei / capitolul 3:

3. LIMBAJUL DE PROGRAMARE VISUAL BASIC

Concepte cheie:  program, programare, declaraţie, instrucţiune, algoritm, schemă logică, limbaj de programare, procedură, funcţie, programare orientată  pe obiecte,aplicaţie informatică Visual Basic. 

3.1 Caractersticile generale ale mediului integrat de dezvoltare Visual BasicV isual Basic  (VB) reprezintă  un mediu integrat de dezvoltare, IDE ( Integrated

 Development   Environment ), în mod interactiv, pentru aplicaţii informatice sub sistemulde operare  Microsoft Windows. În general, un mediu de programare  este un sistem deprogramare care asistă utilizatorul este asistat în proiectarea şi codificarea algoritmilor şia datelor, respectiv în editarea şi depanarea programelor. Când acest mediu deprogramare asistă  utilizatorul (programatorul) în toate etapele de realizare a unuiprogram, el se numeşte mediu de dezvoltare. Când toate componentele de asistare a

Page 24: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 24/58

  24

utilizatorului (programatorului) sunt integrate în cadrul aceluiaşi mediu de dezvoltare, else numeşte mediu integrat de dezvoltare.

Termenul visual  din denumirea IDE Visual Basic semnifică  faptul că  aplicaţiile

informatice dezvoltate în VB dispun de interfe ţ e grafice ce sunt proiectate vizual de cătreutilizator. Pentru aceasta, utilizatorul are la dispoziţie un set de elemente vizuale standardce pot fi folosite la proiectarea unei interfeţe grafice, denumite elemente de control, sau, pe scurt, controale (Controls).  Aceste controale  sunt dispuse în ferestrele aplicaţiei,ferestre denumite formulare (Forms), concomitent cu stabilirea propriet ăţ ilor  acestora (înfereastra Properties) la dorinţa utilizatorului şi în conformitate cu necesităţile aplicaţiei.

Termenul  Basic  din compunerea  IDE Visual Basic  arată  tipul limbajului deprogramare utilizat pentru realizarea programelor (secvenţelor de cod) corespunzătoareevenimentelor   generate de acţionarea controalelor   dispuse în  formularul specificaplicaţiei. Limbajul de programare  Basic  (acronim provenit din denumirea în limbaengleză – Beginner’s All-purpose Symbolic Instruction Code), definit la începutul anilor1960, a cunoscut numeroase versiuni şi dezvoltări ulterioare.

În anul 1991, firma Microsoft a realizat produsul Visual Basic  care, ulterior, acunoscut mai multe versiuni, în concordanţă  cu dezvoltarea sistemului de operareWindows. Versiunea Visual Basic 6.0 face parte din pachetul Microsoft Visual Studio 6.0,iar versiunea Visual Basic.NET   este parte componentă  a pachetului  Microsoft VisualStudio.NET .

Visual Basic prezintă  caracteristici specifice  programării structurate (programăriibazate pe obiecte), programării dirijate de evenimente, orient ării spre prelucrareabazelor de date (manipulare  şi interogare). 

Visual Basic face parte din clasa de medii de dezvoltare rapid ă a aplica ţ iilor, RAD ( Rapid Application Development), alături de Microsoft Visual C++, Power Builder,Borland Delphi ş.a. ce prezintă  următoarele caracteristici: realizare rapidă  a aplicaţiilorinformatice, necesităţi acceptabile de resurse informatice la execuţie, separarea proiectăriiprelucrărilor de proiectarea interfeţei, integrează  proiectarea interfeţei, scrierea codului,testarea şi depanarea.

În cadrul pachetului de birotică   Microsoft Office, a fost inclus ca limbaj de

dezvoltare un subset al Visual Basic, denumit Visual Basic for Application – VBA.

3.2 Componentele de bază ale mediului integrat de dezvoltare Visual BasicLansarea în execuţie a VB 6.0 din mediul Windows se execută astfel:a) Se apasă butonul Start  de pe bara de task -uri;b) Se parcurge succesiunea Programs (All Programs  în sistemul de operare

Windows XP) - Microsoft Visual Studio 6.0 - Microsoft Visual Basic 6.0; c) La apariţia ferestrei de creare a unui nou proiect -  New Project , se apasă 

butonul Open. După  aceste acţiuni, apar simultan fereastra principală  a mediului integrat de

dezvoltare VB (1), cutia cu instrumente Toolbox  (2), fereastra de proiectare aformularului Form Design  (3), fereastra de editare a codului Code Editor   (4), fereastraProject  Explorer  (5), fereastra de stabilire a proprietăţilor Properties (6) , fereastra Form

 Layout   (7), fereastra  Immediate  (8), fereastra  Locals  (9), fereastra Watch (10), utilitarulObject Browser  (11), aşa cum sunt prezentate în fig.2. Ferestrele care nu apar la pornireaVB şi sunt necesare pentru lucru, pot fi activate prin următoarea succesiune de comenzi:bara cu meniuri – View – poziţionare pe denumirea ferestrei – click .

Fereastra principală  a mediului integrat de dezvoltare VB  are patru componente:bara de meniuri (1), bara cu instrumente (2) şi două  zone care afişează  poziţia (3) şidimensiunea (4) obiectului ce a fost selectat (obiectul curent). Butoanele de pe bara cuinstrumente (Toolbar ) dublează cele mai utilizate comenzi din bara de meniuri.  Meniurilecontextuale  cuprind comenzi rapide pentru acţiunile efectuate în mod frecvent. Pentrudeschiderea unui meniu contextual se poziţionează  vârful mouse-ului pe obiectul caretrebuie folosit, se apasă  butonul din dreapta mouse-ului, se selectează  comanda dorită concomitent cu click  executat cu butonul din stânga mouse-ului.

Page 25: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 25/58

  25

Cutia cu instrumente, Toolbox,  (fereastra 2 din fig.3.1), asigură  instrumentelepredefinite folosite în timpul proiectării formularului pentru a introduce controale peacesta. Utilizatorul poate crea propriile controale, imagini sau grafică  prin selecţia

opţiunii AddTab din meniul contextual.Fereastra de proiectare a formularului, Form Design (fereastra 3 din fig.3.1), estefereastra pentru realizarea interfeţei dintre utilizator şi secvenţele de program.

Fereastra de editare a codului, Code Editor  (fereastra 4 din fig.3.1), este folosită caeditor de texte pentru a introduce codul aplicaţiei informatice. Fiecare formular saumodul de cod din cadrul aplicaţiei informatice dispune de propria fereastră de editare acodului.

Fig.3.1. Componentele de bază ale IDE Visual Basic

Fereastra  Project   Explorer   (fereastra 5 din fig.3.1), serveşte numai la proiectareaaplicaţiei pentru afişarea colecţiei de fişiere ce conţin formularele şi modulele din cadrulproiectului aflat în lucru (curent). Unele fişiere sunt încărcate în mod automat de către

sistem, iar alte fişiere sunt realizate de către utilizator (programator). Fişierele care segăsesc în fereastră  (proiect) se pot grupa pe categorii cu ajutorul butonului ToggleFolders. Butonul View Object   serveşte pentru vizualizarea obiectului selectat (current),iar butonul View Code este folosit pentru vizualizarea codului.

Fereastra de stabilire a propriet ăţ ilor, Properties  (fereastra 6 din fig.3.1) , asigură afişarea valorilor proprietăţilor pentru formularul sau controlul selectat. O proprietatereprezintă o caracteristică a unui obiect (titlu, dimensiuni, poziţie, culoare etc.).

Fereastra Form Layout   (fereastra 7 din fig.3.1), este folosită  pentru vizualizareaaspectului formularului.

Fereastra  Immediate (fereastra 8 din fig.3.1), este o fereastră suplimentară utilizată  în procesul de depanare a aplicaţiilor informatice rulate din interiorul mediului IDE.Mediul VB 6.0 permite funcţionarea în trei moduri de lucru: proiectare  (design mode),rulare normală  (run mode) şi execuţie cu întrerupere  (break mode). Execuţia cu

Page 26: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 26/58

  26

 întrerupere (pas cu pas) se utilizează  la depanarea aplicaţiei pe baza punctelor de întrerupere (breakpoints) stabilite în prealabil. Fereastra  Immediate permite introducereade secvenţe de cod care se execută imediat sau afişarea valorilor unor expresii.

Fereastra  Locals  (fereastra 9 din fig.3.1) este destinată, la depanarea programelorVB, pentru afişarea valorilor unor expresii din program.Fereastra Watch  (fereastra 10 din fig.3.1) este, de asemenea, o fereastră 

suplimentară  utilizată  în procesul de depanare a programelor VB, pentru gestiuneavariabilelor şi expresiilor watch, adică a valorilor unor variabile şi expresii din programexistente în momentul acţiunii (curente). Utilizarea ferestrei Watch  este posibilă  prinintermediul meniului contextual.

Utilitarul Object Browser   (fereastra 11 din fig.3.1) realizează  afişarea obiectelordisponibile în IDE ce pot fi utilizate de proiect. Utilitarul serveşte, de asemenea, pentru aexamina obiecte din VB şi din alte aplicaţii, pentru a constata ce metode şi proprietăţisunt disponibile în cazul acestor obiecte şi pentru a prelua coduri de program în propriaaplicaţie informatică.

Editorul de meniu (Menu Editor)  permite proiectarea meniurilor asociateformularelor. Pentru afişarea ferestrei corespunzătoare, se apasă butonul cu acelaşi numede pe bara cu instrumente sau prin opţiunea Menu Editor  din meniul Tools. Fiecare meniuare nume, proprietăţi şi mod de accesare asociat.

3.3 Proiectarea aplicaţiilor în limbajul Visual Basic

Pentru a proiecta o aplicaţie informatică  în limbajul Visual Basic, este necesară parcurgerea următoarelor trei etape:

1. Crearea interfe ţ ei.2. Precizarea propriet ăţ ilor.3. Scrierea codului.

Crearea interfe ţ ei se efectuează cu ajutorul formularelor  (Forms). Acestea servesc pentrua genera ferestre şi casete de dialog, în calitate de containere pentru elemente care se găsesc înpartea ascunsă  a aplicaţiei. Precizarea propriet ăţ ilor   se realizează  prin intermediul ferestreiProperties, după selecţia prealabilă a obiectului. Scrierea codului se execută folosind fereastra deeditare a codului, Code Editor . Crearea aplicaţiilor în VB se face în modul de proiectare  Design 

 Mode, iar execuţia acestora se efectuează  în modul de rulare normală,  Run Mode. Înainte deprezentarea în detaliu a celor trei etape de proiectare a unei aplicaţii în VB, se tratează  fi şierul

 proiect .

3.3.1 Fişierul proiect

Termenul de proiect  în VB este similar cu aplica ţ ia informatică, astfel că el cuprinde olist ă a fi şierelor  care intră în compunerea aplicaţiei. Fişierul proiect este un fişier text cu extensia.VBP.  Mediul de dezvoltare VB 6.0 asigură  posibilitatea lucrului cu mai multe proiecteconcomitent, proiecte ce sunt reunite într-un grup de proiecte  (fişierul grup de proiecte areextensia .VBG). În lista de fişiere a unui proiect pot fi incluse următoarele tipuri de fi şiere:

fişier pentru formular (.FRM ); fişier pentru formular care cuprinde controale cu proprietăţi care prezintă  ca

valori date binare (.FRX ); fişier pentru clasă de module (.CLS ); fişier pentru modul standard (. BAS ); fişier pentru control utilizator (.VBX – DDL-uri pentru controale pe 16 biţi şi

.OCX  - DDL-uri pentru controale pe 32 de biţi ).Din punctual de vedere al utilizatorului, proiectul are în compunere module  existente  în

mediul integrat de dezvoltare ( IDE ) Visual Basic, în format binar, şi module realizate deutilizator   (formular, cod, clasă). Aşa cum s-a precizat în paragraful 2.3 (fig.2.5), modulul reprezintă un termen generic care desemnează entitatea de structurare a unui program. Modulelesunt reutilizabile, ceea ce înseamnă că un modul folosit într-un program, poate fi utilizat ulterior

Page 27: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 27/58

  27

şi în alte programe. Modulul defineşte reguli de vizibilitate  adică  elementele declarate îninteriorul lui pot fi sau nu pot fi vizibile în exteriorul acestui modul. Orice proiect trebuie s ă includă cel puţin un modul (modul de formular  sau modul de cod ).

Atunci când au fost definite toate componentele unui proiect, acesta poate fi transformatdirect într-un fi şier executabil (.EXE), astfel:1. din meniul File (fig.3.2, opţiunea notată 6), se selectează opţiunea Make … EXE …; 2. se introduce numele fişierului executabil în caseta File Name şi se apasă butonul OK .

Fig.3.2 Meniul File

Crearea, deschiderea şi salvarea unui proiect (fig.3.6) se efectuează  prin intermediulcomenzilor disponibile în meniul File, astfel:

•  New Project (1)  serveşte pentru crearea unui  proiect nou, adăugând un nouformular şi, eventual, module, referinţe şi obiecte utilizator cuprinse în fişierul

 Auto32ld.VBP;• Open Project (2)  deschide un  proiect existent , cu formularele, modulele şi

obiectele utilizator listate în fi şierul proiect ;• Save Project As…(5) asigură prima salvare a proiectului în lucru sau schimbarea

numelui unui proiect existent pentru conservarea stadiului la care s-a ajuns şi continuarealucrului cu un alt nume de proiect; 

• Save Project   actualizează, prin salvare pe disc, fişierul proiect al aplicaţieiexistente împreună cu toate formularele, clasele de module şi modulele standard.

Aşa cum se deduce din descrierea opţiunilor de salvare a proiectului de mai sus,realizarea aplicaţiei este terminată atunci când se selectează comanda Save Project As…(5) dinmeniul File sau când se selectează butonul Save Project  din linia de butoane. Mediul Visual Basicsolicită salvarea, pe rând, a formularului şi apoi a proiectului prin introducerea numelui dar şi aunităţii logice de memorie, precum şi a căii unde se doreşte a avea loc salvarea. În mod implicit,mediul Visual Basic asigură salvarea în locaţia C:\Program Files\Microsoft Visual Studio\VB98  (Save In). Pentru salvarea unui proiect, se recomandă  particularizarea numelui proiectului şifolosirea unei unităţi logice de memorare şi a unei căi personalizate a utilizatorului pentru fiecareproiect, ca, de exemplu:

 Homes(D:)\Student\Facultatea\Grupa\Nume_prenume_student\Nume proiect .

Page 28: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 28/58

  28

Când se lucrează cu mai multe proiecte, la un anume moment un singur proiect este activ.Între aceste proiecte cu care se lucrează simultan, se pot partaja fişiere. Un fişier, cum este. deexemplu, un formular, poate aparţine mai multor proiecte.

Crearea unor formulare, module şi controale noi se efectuează  cu comenzile din meniulProject  (fig.3.3).

Fig. 3.3 Meniul Project  

3.3.2 Crearea interfeţei aplicaţiei

Crearea interfeţei unei aplicaţii se realizează  cu ajutorul unui obiect denumit  formular(Form). În multe lucrări destinate VB, echivalentul românesc pentru Form este formă. În lucrareade faţă s-a preferat denumirea de  formular  deşi cea de formă este mai apropiată de termenul înlimba engleză  (crearea  formularului  înseamnă  de fapt “turnarea” controalelor într-o  formă adecvată  interfeţei aplicaţiei). Motivul preferinţei pentru “ formular ” este asigurarea lizibilităţiiapariţiei denumirii acestui obiect în explicaţiile din cuprinsul lucrării, deşi în dicţionarele limbiiromâne, formularul, în general, este definit ca un imprimat cu mai multe spa ţii albe ce secompletează în vederea întocmirii unui tabel.

Formularul este un container de controale care facilitează  dialogul dintre utilizator şiaplicaţie. Controalele nu pot funcţiona în afara formularului. Ele sunt obiecte care elibererază 

programul de sarcinile legate de intrările şi ieşirile generate de acţiunile utilizatorului,concentrând eforturile pe operaţiile de prelucrare a datelor. Avantajul controalelor din VB este că ele se aseamănă  foarte mult cu controalele standard ce apar în sistemul de operare Windows(meniuri, butoane, casete). Controalele uşurează munca de programare în sensul că sunt eliminateinstrucţiunile care să ghideze utilizatorul asupra acţiunilor pe care acesta trebuie să le întreprindă.La proiectarea interfeţei aplicaţiei ( Design Mode), fereastra de proiectare a formularului serveştepentru dispunerea controalelor necesare proiectului.

La rularea programului ( Run Mode), formularul îndeplineşte rolul de fereastră principală aproiectului sau de fereastră de dialog.

La pornirea mediului VB,  fereastra de proiectare a formularului  cu numele implicit(default ) Form1  este dispusă  în centrul ecranului. În interiorul acestei ferestre se găsesc liniipunctate cu rolul de a asigura orientarea utilizatorului, iar la marginea ferestrei sunt dispusemânerele de redimensionare a formularului. Este bine ca, încă de la crearea formularului, să se

Page 29: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 29/58

  29

opteze pentru o dimensiune potrivită a formularului în raport cu numărul de controale introduse şide dimensiunile acestora; nu este estetic şi nici practic să  rămână  zone mari nefolosite pesuprafaţa formularului.

Un formular include descrierea grafică  a acestuia, controalele sale, proprietăţile,constantele, variabilele şi procedurile externe, subrutinele de tratare a evenimentelor, procedurilegenerale. Fiecărui formular  îi corespunde un modul de formular (Form Module).

Clasa de module  (Class Module) este asemănătoare formularului, dar nu dispune deinterfaţă utilizator vizibilă. Clasa de module poate fi folosită pentru crearea obiectelor utilizator,cuprinzând secvenţe de cod pentru metodele şi proprietăţile obiectelor definite. Obiectele careaparţin aceleaşi clase nu sunt înzestrate cu evenimente proprii.

Fig.3.4 Caseta cu instrumente (ToolBox)

Mediul VB asigură interfaţă pentru un singur document (SDI) sau interfaţa multidocument(MDI). În cazul SDI, toate ferestrele mediului VB pot fi deplasate pe ecran, iar în cazul MDI,toate ferestrele mediului integrat de dezvoltare VB (numite fii) sunt incluse într-o fereastră unică (numită părinte) ce poate fi redimensionată. Pentru a obţine comutarea între modurile de lucruSDI şi MDI se realizează următoarea succesiune de acţiuni:1. se selectează  Options  (opţiuni) din meniul Tools; efectul este apariţia casetei de dialogOptions;

2. se selectează  Advanced ;3. se validează sau se invalidează caseta SDI Developement Environement .În fig.3.4 sunt prezentate controalele implicite incluse în caseta cu instrumente (Toolbox).

Controalele standard sunt butoanele de comandă  (nr.14, Command Button), casetele cu text(nr.13, TextBox), etichetele (nr.2,  Label), casetele de validare (nr.4, Check Box), butoanele deopţiuni (nr.15, Option Button), casetele cu listă  (nr.16,  ListBox), casetele cu imagine (nr.12,PictureBox), barele de defilare (nr.6 şi nr.17, ScrollBar ) orizontale şi verticale, casetelecombinate (ComboBox).

Se face menţiunea că  această  casetă  cu instrumente (Toolbox) este configurabilă.Adăugarea sau scoaterea de controale din caseta cu instrumente (Toolbox) se obţine din meniulProject , opţiunea Components (opţiunea 8 din fig.3.3), în care se validează controlul dorit (aşacum este prezentat în fig.3.5 pentru controlul Shockwave Flash).

Page 30: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 30/58

  30

 

Fig.3.5 Modul de adăugare a unui control la cutia cu instrumente (Toolbox) 

 Introducerea unui control din cutia cu instrumente (Toolbox) pe suprafaţa formularului seobţine prin parcurgerea etapelor următoare:

a. se deplasează cursorul mouse-ului în cutia cu instrumente (Toolbox), pe pictograma carereprezintă controlul ce urmează a fi introdus în formular şi se acţionează butonul din stânga almouse-lui;

b. se mută cursorul mouse-ului pe suprafaţa formularului, în poziţia în care va fi colţul stâng

al controlului;c. se efectuează  succesiunea de operaţii de tipul  Drug and Drop  până  se dimensionează după dorinţă controlul selectat;

d. se eliberează butonul stâng al mouse-ului.O altă  modalitate de introducere a controlului  selectat pe suprafaţa formularului este

reprezentată  de dublu-click -ul mouse-ului pe pictograma (icon-ul) controlului din cutia cuinstrumente (Toolbox). Se generează astfel un control cu dimensiunile implicite, dispus în centrulformularului.

Dispunerea controalelor pe suprafaţa formularului se face după o anumită logică legată desuccesiunea operaţiilor importante de introducere date, prelucrare şi afişare rezultate. Fiecarecontrol este caracterizat de un ansamblu de  propriet ăţ i  ce se referă  la descriereacomportamentului sau aspectului unui control. Lăţimea sau înălţimea unui control se măsoară întwip  (un twip reprezentând cel mai mic punct adresabil de pe ecran, cu dimensiunea de 1/1440inch). Aşa cum se va arăta în paragraful următor, fereastra Properties permite modificarea întrelimite prestabilite a valorilor diferitelor proprietăţi ale controalelor.

Focalizarea reprezintă  operaţiunea de punere în evidenţă  a unui control la un momentdat; mai precis, acel control devine activ  prin focalizare. Acel control activ se mai numeşte şi

 focar (focus). Acest lucru se pune în evidenţă  printr-o linie punctată  în jurul controlului sauprintr-un titlu îngroşat. Mutarea focarului de la un control la altul se efectuează prin intermediultastelor Tab  sau Shift +Tab. Apăsarea tastei Enter   va determina acţiunea controlului focar saufocalizat.

Ordinea de parcurgere a controalelor în formular  reprezintă ordinea în care controalelesunt puse în evidenţă  prin focalizare, odată  cu apăsarea succesivă  a tastei Tab. În momentulactivării formularului, este stabilit primul control care este focalizat. Proprietăţile comune tuturorcontroalelor din formular care stabilesc ordinea de parcurgere a controalelor sunt TabIndex 

Page 31: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 31/58

  31

(poziţia) şi TabStop  (oprirea). Ordinea de parcurgere a controalelor este circulară şi în ambelesensuri – înainte (Tab) şi înapoi (Shift+Tab).

Un control poate include o tastă “fierbinte” ( Hot Key) ce este evidenţiată printr-o literă 

subliniată. Prin acţiunea Alt+litera subliniată, se provoacă acţiunea controlului respectiv. Literasubliniată se introduce cu ajutorul proprietăţii Caption prin precedare de un ampersand  (&). Redimensionarea unui control introdus deja pe suprafaţa formularului se obţine astfel:

1) se selectează  controlul de redimensionat prin click   executat cu mouse-ul în interiorulsuprafeţei acestui control. Pe marginile controlului apar mânerele de redimensionare;

2) se fixează  cursorul mouse-ului în dreptul unui mâner de redimensionare şi se mişcă ţinând apăsat butonul stâng al mouse-ului, până se obţine dimensiunea dorită.

Mânerele situate în colţurile suprafeţei controlului redimensionează  controalele atât peverticală  cât şi pe orizontală, iar mânerele dispunse pe laturi redimensionează  controlul numai într-o singură direcţie.

3) se eliberează butonul stâng al mouse-ului. Mutarea unui control  pe suprafaţa formularului se realizează  cu mouse-ul prin tehnica

 Drug and Drop.După  finalizarea proiectării formularului, blocarea tuturor controalelor pe suprafaţa

formularului se obţine din meniul Format   cu opţiunea  Lock Controls  sau cu butonul  LockControls Toggle de pe bara cu instrumente Form Editor .

Formularele sau controalele VB au associate, în cadrul proiectului, proceduri evenimentvide care sunt personalizate în momentul execuţiei aplicaţiei.

Pentru exemplificarea etapei de creare a interfe ţ ei aplica ţ iei, în continuare se propune să se introducă  controalele pentru un  formular   care să  constituie interfa ţ a  pentru următoareaaplica ţ ie informatică:

Să se realizeze un  program în limbajul Visual Basic care să calculeze valoarea totală aunei  facturi de materiale. Deocamdată, factura conţine un singur material  la o rulare  aprogramului. Datele de intrare sunt: 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 text (Text Box) cuetichete pentru fiecare dintre ele.

Rezultatele rulării programului se vor afişa în casete text separate pentru valoare materialf ără  TVA (Vmftva), valoare material cu TVA (Vmctva), valoare factură  f ără  TVA (Vfftva) şivaloare factură cu TVA (Vfctva).

Se vor prevedea butoane de comandă (Command Button) pentru calculul şi afişarea unuimaterial (f ără TVA şi cu TVA) – butonul CALCULEAZA şi pentru calculul valorii facturii (f ără TVA şi cu TVA) – butonul AFISEAZA.

Pentru afişarea denumirilor pentru datele de intrare ( Nrf, Df, Codmat, Denmat, Cant  şiPu), a datelor intermediare (Vmftva  şi Vmctva) şi a datelor de ieşire sau rezultatelor (Vfftva şiVfctva), se folosesc controale de tip etichet ă ( Label). Aceste controale de tip etichetă se găsesc încaseta cu intrumente (Toolbox) cu simbolul grafic prezentat în fig.3.8. Controalele se introduc înformular prin tehnica Drug and Drop şi se dimensionează cu ajutorul mânerelor de dimensionare( Label1…Label10). În mod similar se procedează cu casetele text  (Text Box) cu simbolul graficprezentat în fig.3.8, casete care servesc, în cazul formulat în enun ţul aplicaţiei informatice (un

singur material pe factură), pentru introducerea datelor de intrare şi afişarea datelor intermediareşi de ieşire (Text1…Text2), precum şi cu butoanele de comand ă  (Command Button) ce se vorfolosi pentru declanşarea procedurilor de calcul (Command1), de afişare a valorii facturii(Command2) şi de ieşire din program (Command3). Aspectul formularului astfel obţinut esteprezentar în fig.3.6.

3.3.3 Precizarea proprietăţilor

Precizarea proprietăţilor în etapa de proiectare ( Design Mode) a formularului sau a altuiobiect vizual se realizează  cu ajutorul ferestrei Properties  (fig.3.11). Fereastra Properties  esteformată din caseta cu obiecte, Objects  (afişează numele şi tipul obiectului selectat, adică obiectulcurent) şi caseta Settings – set ări (afişează alfabetic sau pe categorii lista proprietăţilor – stânga şilista cu valorile sau setările proprietăţilor – dreapta).

Page 32: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 32/58

  32

 

1

Fig.3.6 Crearea formularului pentru aplicaţia informatică cu factura de materiale

Fig.3.7 Fereastra Properties 

Activarea ferestrei Properties  se poate obţine prin succesiunea de comenzi meniu principal –View – Properties Window sau cu ajutorul tastei funcţionale F4.

Precizarea propriet ăţ ilor  se obţine prin parcurgerea următoarele etape:

Page 33: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 33/58

  33

1) dacă nu este afişată, se activează fereastra Properties; se selectează obiectul căruia urmează să i se precizeze proprietăţile; în acest moment, se afişează  automat proprietăţile cu valorileimplicite pentru obiectul selectat;

2) din lista alfabetică sau lista pe categorii a proprietăţilor se selectează denumirea proprietăţii lacare se vor modifica valorile sau setările existente;3) în coloana valorilor sau setărilor din dreapta se tastează sau se selectează valorile dorite pentruproprietate.

Pentru a asocia o pictogramă unui formular se atribuie o valoare proprietăţii icon pentruacel formular.

Pentru exemplificarea  etapei de precizare a propriet ăţ ilor, se continuă  aplicaţia cufactura materiale din paragraful 3.3.2, precizându-se proprietăţile de bază  –  Name  şi Caption pentru formular şi controalele introduse de tipul  Label, TextBox (numai  Name)  şi Command

 Button prin selectarea succesivă a acestora.Personalizarea numelui pentru formular se obţine prin introducerea în fereastra

Properties a numelui ( Name) frmMat  şi a etichetei (Caption) FACTURA MATERIALE.Personalizarea numelui pentru controalele de tip etichetă  ( Label) se obţine prin

introducerea în fereastra Properties  a numelui ( Name) lblNrf şi a etichetei (Caption)  Numar   factura, respectiv:• lblDf (Name), Data factura (Caption);• lblCodmat (Name), Cod material (Caption);• lblDenmat (Name), Denumire material (Caption);• lblCant (Name), Cantitate (Caption);• lblPu (Name), Pret unitar (Caption);• lblVmftva (Name), Valoare material fara TVA (Caption);• lblVmctva (Name), Valoare material cu TVA (Caption);• lblVfftva (Name), Valoare factura fara TVA (Caption);• lblVfctva (Name), Valoare factura cu TVA (Caption).Personalizarea numelui pentru controalele de tip caseta cu text (TextBoxl) se obţine prin

introducerea în fereastra Properties a:•

txtNrf (Name) pentru Numar factura;• txtDf (Name) pentru Data factura;• txtCodmat (Name) pentru Cod material;• txtDenmat (Name) pentru Denumire material;• txtCant (Name) pentru Cantitate;• txtPu (Name) pentru Pret unitar;• txtVmftva (Name) pentru Valoare material fara TVA;• txtVmctva (Name) pentru Valoare material cu TVA;• txtVfftva (Name) pentru Valoare factura fara TVA;• txtVfctva (Name) pentru Valoare factura cu TV.

Personalizarea numelui pentru controalele de tip butoane de comand ă (Command Button)se obţine prin introducerea în fereastra Properties a:

• cmdCalcul (Name), CALCULEAZA (Caption);• cmdAfisare (Name), AFISARE VALOARE FACTURA (Caption);• cmdExit (Name), IESIRE (Caption).

Explicaţiile privind formarea numelui obiectelor cu prefixe standard vor fi date înparagraful 3.4.1.

Aspectul formularului obţinut prin precizarea proprietăţilor formularului şi controalelorincluse este prezentat în fig.3.8.

Page 34: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 34/58

  34

 

Fig.3.8. Introducerea proprietăţilor formularului şi controalelor incluse pentru aplicaţiainformatică cu factura de materiale

3.3.4 Scrierea codului

După  proiectarea formularului şi precizarea propriet ăţ ilor , urmează scrierea codului careconstă în asocierea unor secvenţe de cod pentru toate controalele din formular, adică moduri deacţiune la diverse evenimente.

Codul conţine constante, declaraţii de variabile  şi instruc ţ iuni  scrise în limbajul de

programare Visual Basic, în conformitate cu algoritmul de calcul. Legarea efectivă de control sau  fereastr ă  a secvenţelor de cod se obţine de către utilizator ( programator )  în modconversaţional.

Pentru scrierea codului se deschide  fereastra de editare a codului  (Code Editor ), fig.3.9.prin dublu-click  executat cu butonul stâng al mouse-ului poziţionat pe obiectul selectat.

Fereastra de editare a codului  (Code Editor ) este formată  din fereastra principală  cereprezintă zona pentru scrierea codului şi două casete de tip listă din care se selectează controlulpentru care se scrie codul (Object ) şi, respectiv, din care se alege evenimentul la care sereacţionează prin codul scris pentru procedură în fereastra principală (Procedure).

Codul din proiectele realizate  în VB se divide în blocuri de dimensiuni mai mici numite  proceduri. Codul care corespunde unui eveniment se numeşte procedur ă eveniment . Procedura-eveniment  asociată unui control are numele alcătuit din numele controlului (stabilit în proprietatea

 Name), o liniu ţă de subliniere (_) şi numele evenimentului.

Page 35: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 35/58

  35

 Fig.3.9. Fereastra editare a codului, Code Editor  

Atunci când se deschide fereastra de cod şi se selectează evenimentul pentru care se scriecodul, se generează automat prima şi ultima linie a procedurii (Private Sub Form_Load () şi EndSub) ce constituie un şablon de lucru.

Pentru crearea unei  proceduri-eveniment   se execută  următoarea succesiune de acţiuni:caseta Object   →  se specifică  numele obiectului  din formularul curent (adică  cel care estefocalizat) pentru care se scrie codul →  caseta cu listă  Procedure →  selecţie nume evenimentasociat obiectului selectat (de exemplu, procedura Click   implicită  pentru controlul buton decomandă, Command Button) →  şablon pentru procedura-eveniment → între declaraţiile PrivateSub şi End Sub, se introduce de la tastatură codul în conformitate cu algoritmul de calcul.

Se poate opta pentru afişarea tuturor procedurilor în aceeaşi fereastră  de cod sau pentruafişarea unei singure proceduri la un moment dat.

Pentru afişarea tuturor procedurilor în cadrul aceleiaşi fereastre de cod, se execută clic pebutonul de vizualizare a întregului modul, Full Module View (fig.3.9) , în colţul din stânga-jos alferestrei de editare a codului, Code Editor sau se  execută  următoarea succesiune de acţiuni:meniul Tools →  caseta de dialog Options  (fig.3.8) →  secţiunea Editor   (1) → grupul de setăripentru fereastră, Window Settings (2), bif ă  în caseta de validare din stânga lui  Default to Full

 Module View (3).  În acelaşi grup de setări pentru fereastră, caseta de validare din stânga luiProcedure Separator   (4)  serveşte la  adăugarea sau eliminarea unei linii de separaţie întreproceduri (fig.3.10).

Pentru afişarea unei singure proceduri la un moment dat, se execută  click pe butonul devizualizare a procedurii, Procedure View (fig.3.9), în colţul din stânga-jos al ferestrei de editare acodului, Code Editor  sau se execută următoarea succesiune de acţiuni: meniul Tools → caseta de

dialog Options (fig.3.10) → secţiunea Editor  (1) → în grupul de setări pentru fereastră, WindowSettings (2), se şterge bifa din caseta de validare din stânga lui  Default to Full Module View (3).

Page 36: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 36/58

  36

 

Fig.3.10 Fereastra de opţiuni, Options a meniului de instrumente, Tools 

Pentru exemplificarea etapei de scriere a codului unei aplicaţii informatice în Visual Basic,se continuă  aplicaţia cu factura de materiale din paragrafele 3.3.2 şi 3.3.3. Codul aferent seintroduce în  fereastra de editare a codului (Code Editor)  care a fost prezentată  în fig.3.13.Explicaţiile privind logica scrierii acestui cod vor fi date în paragraful 3.4. Codul pentru aplicaţiacu factura de materiale este prezentat în fig.3.11

3.3.5. Execuţia aplicaţiei informatice în Visual Basic

După parcurgerea etapelor de creare a interfeţei (proiectarea formularului), de precizare aproprietăţilor şi de scriere a codului, toate fişierele aplicaţiei sunt salvate şi se trece de la modulde proiectare ( Design Mode) la modul de rulare (execuţie) a proiectului ( Run Mode).

Pentru a lansa în execuţie aplicaţia se alege opţiunea Start  din meniul Run (fig.3.12) sau seacţionează  tasta funcţională F5 sau se execută cu butonul stâng al mouse-ului click pe butonul Start  de pe bara cu instrumente.

Terminarea rulării proiectului se efectuează cu opţiunea End  din meniul Run (fig.3.12) sauprin apăsarea butonului de închidere (Close) a ferestrei aplicaţiei (colţul din dreapta sus alferestrei) sau prin apăsarea butonului End  de la bara cu instrumente (fig.3.3). După  terminareaexecuţiei aplicaţiei, mediul VB revine în modul de proiectare ( Design Mode).

Prin rularea proiectului, se obţine fişierul executabil. Aşa cum s-a arătat în paragraful 3.3.1,fişierul executabil se poate obţine direct din meniul File cu opţiunea Make …EXE  (fig.3.3).

Page 37: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 37/58

  37

 

Fig.3.11 Codul pentru aplicaţia cu factura de materiale introdus în fereastra de editare acodului

Reluând aplica ţ ia cu factura de materiale  din paragrafele 3.3.2, 3.3.3 şi 3.3.4, această aplicaţie se rulează cu seturile de date de intrare prezentate în tabelul 3.2 (se consideră materialeconsumabile pentru tehnica de calcul, iar pentru simplificare nu se introduc unităţile de măsură,acestea fiind topuri, bucăţi, role, cutii) şi se obţin rezultatele prezentate în fig.3.13, pentru setul dedate nr.2 din tabelul 3.2.

Page 38: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 38/58

  38

 Fig.3.12 Comanda execuţiei unei aplicaţii în VB

Tabelul 3.2 Exemple de seturi de date de intrare pentru aplica ţia cu factura de materialeconsumabile pentru tehnica de calcul

Nr.

crt.

Numar

factura

Data

factura

Cod

material

Denumire

material

Canti

tate

Pret

unitar1 16844 16/10/2004 41000825 Hirtie xerox 30 1200002 16844 16/10/2004 41081320 Cartus

imprimanta5 4280000

3 16844 16/10/2004 41061223 Hirtie fax 5 2300004 16844 16/10/2004 41081422 Ribon 10 6200005 16844 16/10/2004 41061154 Toner copiator 3 1200000

Fig.3.13 Rezultatele rulării aplicaţiei cu factura de materiale cu setul nr.2 de date de intrare dintabelul 3.2.

3.4. Elementele limbajului de programare Visual Basic3.4.1 Unele reguli de scriereO 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 obiectuluitrebuie să  fie sugestiv şi să  arate, în cazul controalelor, grupul de controale căruia îiaparţine. Ca urmare, s-a adoptat convenţia conform căreia un nume trebuie să fie formatdintr-un prefix din trei litere (dat de notaţia ungară) şi numele propriu-zis cu semnificaţie

Page 39: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 39/58

  39

pentru utilizarea obiectului. Prefixul numelui (Tabelul 1) indică, în mod unic, grupul decontroale din care face parte.

Tabelul 1 Stabilirea numelor unor obiecte în Visual BasicNume obiect Prefix standard Exemple

Data dat datSalariiForm  frm frmMateriale, frmClienti

Command Button cmd, btn cmdCalcul, btnExit Label lbl lblDobinda, lblSumaInitialaTextBox txt txtDobinda, txtSumaInitiala Menu mnu mnuEvaluareCheck Box chk chkImpozitFrame fra fraSelectie Image img imgOrase, imgProfesori List Box lst lstDiscipline, lstStudentiOption Button opt optCursuriPicture Box pic picTools

 Numele obiectelor pot avea maxim 40 de caractere, trebuie să înceapă cu o literă şipot conţine numai litere, numere şi underscore ( _  ). În cadrul mai larg al întreguluilimbaj Visual Basic, cu setul de caractere ASCII extins ce formează  alfabetul acestuilimbaj, se construiesc literalii şi identificatorii.  Literalii  sunt compuşi din şiruri decaractere. 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 (înbaza 16).  Identificatorii  pot fi  predefini ţ i  (cuvinte rezervate  şi cuvinte-cheie  cedesemnează  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 sescrie pe o linie separată. Dacă o instrucţiune nu încape pe o linie, se poate continua pelinia următoare prin caracterul underscore  (_). Se pot folosi 20 astfel de linii decontinuare a unei instruc ţ iuni.

 Numele sunt folosite la setarea propriet ăţ ilor  la momentul execuţiei şi în stabilireanumelor procedurilor  pentru evenimentele obiectelor. Setarea propriet ăţ ilor la momentulexecu ţ iei se obţine prin scrierea unui cod . Formatul acestui cod se scrie prin notarea cu punct  şi este:

 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. Formatulfiecărei subrutine (în Visual Basic nu există  program principal; toate procedurileobiectelor 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 careconstruieşte aplicaţia trebuie să  scrie codul procedurilor eveniment la care corespundeaplicaţia.

Page 40: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 40/58

  40

  3.4.2 Tipuri de dateTipurile 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 dedate 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 TypeTipurile 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 BasicTip română  Tip engleză  Sufix Memorie

ocupată Interval de valori (domeniu)

Octet Byte - 1 0…255Întreg  Integer % 2 -32768…+32767

Întreg lung  Long(integer)

& 4 2.147.483.648…+2.147.483.647

Logic  Boolean - 2 True, FalseReal simplă 

precizieSingle

(floating) !4 -3,40 e38…+3,40 e38 

Real dublă precizie

 Double(floating) #

8 -1,8 e308…+1,8 e308 

Monedă  Currency @ 8 -9,22 e14…+9,22 e14

Dată   Date - 8 Jan 01/100-dec 31/9999Obiect Object - 4 Adresa unui obiectŞir de

caractereString $ 1 octet/

caracterŞir de caractere alfanumerice

Nedefinit Variant - - Şir, numere, dată De exemplu, tipul de date definite de utilizator Client  are următoarea structură:

Type Client Nume_client As String *20Prenume_client As String *20 Adresa_client As AdresaCNP_client As String *13

End Typeunde tipul de date definit de utilizator Adresa are structura:

Type Adresa Localitate As String *20Strada As String *20 Numar As Integer Judet As String *20

End Type 

Page 41: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 41/58

  41

3.4.3 Variabile şi constanteVariabilele 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 vaputea fi stocat sau prelucrat prin intermediul respectivei variabile. În tabelul 3.4 s-auprezentat 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. Deexemplu, o variabilă de tip String (şir de caractere) poate fi declarată implicit astfel:

 Material$ = ”Cherestea”iar o variabilă de tip Integer  se poate declara implicit astfel:Cantitatea% = 273c) 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 marisau a literelor mici în numele variabilelor. Datorită acestor avantaje, se preferă lucrul cutipurile de variabile explicite.

Pentru a putea lucra cu variabile declarate explicit trebuie să  fie cunoscutdomeniul 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 folosindcuvâ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 StringStatic 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 declarareavariabilelor cu  Dim, dar în partea de declaraţii a obiectului general, în fereastra de cod aformularului.

Pentru domeniul domeniul nivelului global, o variabilă  este disponibilă  tuturorprocedurilor prezentate în aplicaţie, prin declararea în partea de declaraţii a obiectuluigeneral din fereastra de cod a unui modul cu ajutorul cuvântului cheie Global. Deexemplu:

Global Nr_factura As Long Global Data_factura As Date. 

Page 42: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 42/58

  42

  În cazul mai multor variabile cu acelaşi nume, variabilele locale au valabilitatenumai în cadrul procedurilor. La părăsirea acestor proceduri se folosesc variabilele cuacelaş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 fereastraProject );

• 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 şiacestea 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.

3.4.4 Instrucţiuni Visual Basic3.4.4.1 Construirea expresiilorCea 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 *PuVfftva =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 peurm

ă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.

3.4.4.2 Operatori Visual Basic

Operatorii Visual Basic, în ordinea claselor de preceden ţă, sunt prezentatţi întabelul 3. Precedenţa operatorilor (clasele de precedenţă) se referă  la ordinea în care se

Page 43: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 43/58

  43

execută operaţiile într-o expresie care conţine mai multe tipuri de operatori. Primii suntexecutaţi operatorii de concatenare, după care urmează operatorii arithmetic, operatorii decomparare ş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.).

3.4.4.3 Funcţii Visual BasicFunc ţ 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 singurrezultat. Funcţiile Visual Basic sunt  predefinite  sau definite de utilizator . Visual Basicasigură o bibliotecă variată de func ţ ii predefinite. În tabelul 4 sunt prezentate principalelefuncţii predefinite specifice limbajului Visual Basic.

Tabelul 3 Clasele de precedenţă ale operatorilor în Visual BasicClasa Operator Opera ţ ia1.  And, Or, Not Logică 2.  Mod Modulo

<,>,<=,>=,=,<> Comparare3.+-

AdunareScădere

^ Exponenţiere (ridicare la putere)4. \ Împărţire întreagă * /

ÎnmulţireÎmpărţire

5.

( ) [ ] Stabilire prioritate calcul6. &, + Concatenare şir de caractere

Tabelul 4 Principalele funcţii predefinite ale limbajului Visual Basic Func ţ ie Valoare returnată 

Abs Valoarea absolută a unui numărAsc Codul ASCII sau ANSI al unui caracterChr Caracterul corespunzător unui cod ASCII sau ANSICos Cosinusul unui unghiDate Data curentă ca şir de caractereFormat Dată sau număr convertite la un şir de caractereLeft Selectează partea stângă a unui şir de caractereLen Numărul de caractere dintr-un şir de caractere (lungimea şirului de

caractere)Mid Selectează o parte din şirul de caractereNow Data şi ora curentă Right Selectează partea de sfârşit a unei şir de caractereRnd Generarea aleatoare a unui numărSin Sinusul unui unghiSqr Rădăcină pătrată dintr-un numărStr Număr transformat într-un şir de caractereTime Timpul curent dat ca şir de caractereTimer Număr de secunde rămase până la miezul nopţii (ora „0”)

Page 44: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 44/58

  44

3.4.4.4 Implementarea structurilor de control al execuţiei unui programS-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 suntasociate instrucţiuni specifice în limbajul de programare Visual Basic, cu ajutorul cărorapoate 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şirespecifice 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 ThenSecven ţă de instruc ţ iuniEnd IfDe exemplu: If TVA=0.19 Then

Vmctva=Vmftva + TVA * VmftvaVfctva = Vfctva + VmctvaPrint 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 * VmftvaVfctva = Vfctva + Vmctva

Print Tab(70); Vmctva; Tab(100); VfctvaElsePrint ”TVA diferit de 19%”

End If  •  Instruc ţ iunea Select Case

Instrucţiunea Select Case  se foloseşte în cazul când sunt precizate mai multeselecţ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 ţ iuneCase Elseinstruc ţ iune 

End SelectDe exemplu, pentru selecţia persoanelor după  categoria de vârstă 

(Categoria_varsta) se procedează astfel:Select Case VârstaCase 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

Categoria_varsta = ”Adul ţ i”Case Is > 65

Categoria_varsta = ”Bătrâni”

Page 45: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 45/58

  45

  Case ElseCategoria_varsta = ”Alte categorii”

End Select  

Instrucţiuni repetitiveCiclarea  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-sepâ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 ţ ionateanterior

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 conditieSecventa_instructiuniWendCâ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

 posteriorDin 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} conditieUn exemplu de utilizare a instrucţiunii Do …Loop Until este următorul:

 DoCant = InputBox("Introduceti cantitatea materialului: ")Pu = InputBox("Introduceti pretul unitar al materialului: ")Vmftva = Cant * PuVmctva = Vmftva + tva * VmftvaPrint 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 parteinstrucţ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 NrmCant = InputBox("Introduceti cantitatea materialului nr: " & i)Pu = InputBox("Introduceti pretul unitar al materialului nr: " & i)Vmftva = Cant * PuVmctva = Vmftva + tva * Vmftva

Page 46: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 46/58

  46

txtVmftva = Format(Vmftva, "######0.00")txtVmctva = Format(Vmctva, "######0.00") Next i.

 3.4.5 Crearea fişierelor în limbajul Visual BasicLimbajul Visual Basic oferă posibilitatea lucrului cu  fi şiere  (definite în capitolul1). Fişierele pot stoca date de tipuri diferite (date numerice, text, imagini). Accesul ladatele unui fişier poate fi: binar ; secven ţ ial; aleator .

Pentru accesul binar  trebuie localizat în fişier numărul de caractere care urmează a fi citite sau scrise. Pentru accesul secven ţ ial  trebuie parcurse toate înregistrările carepreced înregistrarea dorită.  Accesul aleator   este un acces direct   la înregistrările demărime fixă, f ără a necesita citirea înregistrărilor precedente.

Opera ţ iile care se pot executa asupra fişierelor sunt:1. deschiderea fi şierelor;2. închiderea fi şierelor;3. exploatarea fi şierelor în acces secven ţ ial;4. exploatarea fi şierelor în acces aleator.

1. Pentru deschiderea unui fi şier  se foloseşte comanda OPEN . Orice fişier, înaintede a se lucra cu el, trebuie să fie deschis. Comanda OPEN  alocă zone de memorie tamponpentru operaţiile de intrare/ieşire şi specifică modul de acces asociat zonei tampon.

Formatul general al acestei comenzi este:OPEN nume-fi şier FOR mod deschidere AS #   număr-fi şier LEN = expresie în care:• nume-fi şier  – este un şir de caractere care desemnează numele de fişier dar poate

cuprinde şi un director şi o unitate de disc. Dacă  fişierul nu există  în momentuldeschiderii lui, el va fi creat când se execută comanda OPEN .

• mod de deschidere  – specifică  modul în care se deschide acel fişier. Pentruaccesul secvenţial se poate specifica:  APPEND  pentru adăugare de noi înregistrări lasfârşitul fişierului deja existent;  INPUT   – pentru citirea înregistrărilor din fişier;OUTPUT  – pentru crearea unui nou fişier.

Pentru accesul binar  se specifică  BINARY , iar pentru accesul aleator, RANDOM .• număr-fi şier  – este un număr cuprins între 1-511. În modurile  Binary, Input   sau Random  se poate deschide un fişier utilizând un număr nou, f ără  a închide în prealabil

copia deschisă anterior; în modurile  Append  sau Output  trebuie să se închidă în prealabilfişierul pentru a-l putea deschide cu un alt număr; pentru lucrul simultan cu mai multefişiere în expresia#număr-fişier se utilizează  funcţia FREEFILE  care returnează următorul număr de fişiercare poate fi utilizat în instrucţiunea OPEN ;

• expresie – este un număr mai mic sau egal cu 32767.În cazul utilizării fişierelor deschise RANDOM, acest număr corespunde lungimii

unei înregistrări.2.  Închiderea fi şierelor   se execută  prin intermediul comenzii CLOSE   care are

urmãtoarea sintaxă generală:CLOSE list ă-numere-fi şiere 

 în care:• list ă-numere-fi şiere  specifică  unul sau mai multe numere separate prin virgulă.Când acest argument este absent, se închid toate fişierele. Când se închid fişierele care aufost deschise în mod  Append   sau Output   toate datele care sunt în zona tampon acordată fişierului vor fi scrise în fişier înainte de a fi închis. La execuţia instrucţiunii CLOSE ,asocierea dintre fişier şi numărul lui este dezactivată.

3. Exploatarea fi şierelor în acces secven ţ ial. Tipul de acces secvenţial este utilizatpentru a citi sau scrie o înregistrare de aceeaşi lungime sau pentru fişiere compuse din înregistrări de lungimi diferite.

Comanda PRINT # scrie datele linie cu linie într-un fişier secvenţial deschis în modOutput  sau Append . Sintaxa generală a acestei comenzi este:

Print #   număr-fi şier, list ă-expresii unde:

Page 47: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 47/58

  47

• număr-fi şier  este numele fişierului.• lista-expresii este o expresie şir sau numerică sau o listă de expresii care

se scrie în fişier. Pentru a scrie o linie goală după număr-fişier se pune virgulă.

Comanda  LINE INPUT#  

  este folosită  pentru a citi o linie dintr-un fişiersecvenţial. Linia citită este atribuită unei variabile şir. Sintaxa comenzii este: LINE INPUT #   număr-fi şier, nume-variabilă  în care:

• număr-fi şier  este numărul fişierului;• nume-variabilă este o variabilă şir.

 LINE INPUT #   citeşte din fişier caracter cu caracter până întâlneşte retur de car,chr (13) sau retur de car şi salt la linie nouă chr (13) + chr (10).

4. Exploatarea fi şierelor în acces aleator . La deschiderea fişierului în accesRANDOM se precizează lungimea înregistrării. Scrierea unei înregistrări în fişier se facecu comanda PUT  #   care scrie dintr-o variabilă într-un fişier. Sintaxa comenzii este:

PUT [#  ] număr-fi şier, număr înregistrare, nume-variabilă  în care:

• număr-fi şier  este numărul fişierului;• număr înregistrare  reprezintă  lungimea înregistrării determinând poziţia

scrierii;• nume-variabilă este numele variabilei care conţine datele care urmează a

fi scrise.Citirea unei înregistrări din fişier se face citind într-o variabilă  dată  din fişier.

Comanda este GET #  de forma:GET [#  ] număr-fi şier, număr-înregistrare, nume-variabilă,

 în care: număr-fi şier  este numărul alocat în prealabil fişierului;număr-înregistrare  este numărul înregistrării care înmulţit cu lungimea

 înregistrării stabileşte poziţia citiriinume-variabilă este numele variabilei care conţine datele care urmează a fi citite.

3.4.6 Exemplu de aplicaţie informatică în limbajul Visual Basic

Să  se realizeze un  program în  limbajul Visual Basic  care să  calculeze valoareatotală  (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 ), denumireamaterialului ( Denmat ), cantitate (Cant ) şi preţul unitar al materialului (Pu). TVA este de19%. Datele de intrare vor fi introduse cu ajutorul casetelor de introducere a datelor prindialog cu utilizatorul ( InputBox).

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) separate din formular. Lucrul cu casete text înformular reprezintă  o  primă  variant ă  de rezolvare  a problemei cu calculul şi afişareavalorii facturii de materiale cu un număr precizat de materiale. Varianta a doua derezolvare  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ă  derezolvare a problemei, nu se mai folosesc casete text (TextBox). În ambele variante derezolvare 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 calcululvalorii facturii (f ără  TVA şi cu TVA) – butonul AFISEAZA (pentru afişarea valoriifacturii – f ără TVA şi cu TVA) şi pentru ieşirea din program – butonul IESIRE. 

Page 48: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 48/58

  48

 

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

Page 49: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 49/58

  49

 

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

 Dim Data_factura As Date Dim Vmftva As Double Dim Vmctva As Double Dim Vfftva As Double Dim Vfctva As Double Dim Nrm As ByteConst tva = 0.19Private 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 = 0Vfctva = 0

For i = 1 To NrmCod_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 * PuVmctva = Vmftva + tva * VmftvaVfftva = Vfftva + VmftvaVfctva = Vfctva + VmctvatxtVmftva = Format(Vmftva, "######0.00")txtVmctva = Format(Vmctva, "######0.00") Next iEnd SubPrivate Sub cmdAfisare_Click()txtVfftva = Format(Vfftva, "######0.00")

txtVfctva = Format(Vfctva, "######0.00")End SubPrivate Sub cmdExit_Click()EndEnd Sub

 Rezultatele rulării programului  în prima variantă  de rezolvare a problemei suntprezentat în fig.3.15.

Page 50: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 50/58

  50

 

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

Varianta 2 de rezolvare a problemeiSchema logică  este prezentată  în fig.3.16, Este utilizată  o structură  de control

repetitivă  f ără  contor condiţionată posterior. Implementarea acestei structuri în programse va face cu instrucţiunea  Do …Loop Until. Pe baza acestor considerente, nu mai suntnecesare variabilele i şi Nrm folosite în varianta 1 de rezolvare a problemei.

Codul programului  în limbajul Visual Basic, pentru rezolvarea în varianta 2, esteurmătorul:

Page 51: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 51/58

  51

 

Fig.3.16. Schema logică pentru varianta 2 de rezolvare a probleme

Vfftva = 0; Vfctva = 0;TVA=0,19

Vmftva= Cant * Pu;Vmctva=Vmftva + TVA * Vmftva;

Vfftva=Vfftva + Vmftva;

Page 52: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 52/58

  52

  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 DoubleConst tva = 0.19Private 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")ClsPrint Tab(10); "FACTURA NR."; Tab(28); Nrf; Tab(45); "DIN DATA DE ";

Tab(70); DfPrint 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 = 0Vfctva = 0 DoCod_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 * PuVmctva = Vmftva + tva * VmftvaVfftva = Vfftva + VmftvaVfctva = Vfctva + VmctvaPrint Tab(2); Cod_mat; Tab(20); Den_mat; Tab(41); Cant; Tab(48); Pu; _Tab(70); Vmftva; Tab(100); Vmctva Loop Until MsgBox("CONTINUATI?", vbYesNo) = vbNoPrint String(110, "=")End SubPrivate Sub cmdAfisare_Click()Print Tab(20); "VALOARE FACTURA FARA TVA = "; Tab(60); Vfftva;Print Tab(20); "VALOARE FACTURA CU TVA = "; Tab(60); Vfctva;

End SubPrivate Sub cmdExit_Click()EndEnd Sub 

 Rezultatele rulării programului în a doua variantă de rezolvare a problemei, suntprezentate în fig.3.17.

Page 53: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 53/58

  53

 

Fig.3.17. Rezultatele rulării programului în a doua variantă de rezolvare a problemei  Pentru acest capitol paginile din manula 44-74.

Lista subiectelor pentru pregătirea în vederea evaluării finale:1. Caracterizarea mediului integrat de dezvoltare Visual Basic: definire,descriere, elemente componente, structura unei aplicaţii.2. Etapele realizării unei aplicaţii Visual Basic. Descrierea ferestrelor de lucru.3. Noţiunea de proiect în limbajul Visual Basic.

4. Fişierul proiect: conţinut.5. Definirea fişierelor componente ale proiectului.6. Crearea interfeţei aplicaţiei.7. Ce reprezintă  ferestrele care apar la crearea unui nou proiect: fereastraprincipală  a mediului integrat de dezvoltare VB, ToolBox, Form Design, CodeEditor, Project Explorer, Properties, Form Layout, Immediate, Locals, Watch,utilitarul Object Browser.8. Precizarea proprietăţilor obiectelor : care sunt cele mai importante proprietăţişi modul lor de setare.9. Stabilirea proprietăţilor la momentul execuţiei.10. Descrierea principalelor controale din fereastra ToolBox.

11. Scrierea codului în limbajul Visual Basic şi ce particularităţi prezintă acesta.12. Execuţia aplicaţiei informatice în Visual Basic.13. Caracterizarea elementelor de bază ale limbajului de programare Visual Basic.14. Reguli de scriere în limbajul Visual Basic.15. Tipuri de date în limbajul Visual Basic.16. Variabile Visual Basic.17. Constante Visual Basic.18. Constantele simbolice utilizate de limbajul Visual Basic.19. Instrucţiuni Visual Basic. Construirea expresiilor.20. Operatori în Visual Basic. Clase de precedenţă.21. Functii în limbajul Visual Basic.

Page 54: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 54/58

  54

22. Funcţii pentru şiruri de caractere.23. Funcţii de editare.24. Funcţii financiare.25. Implementarea structurilor de control pentru execuţia unui program.26. Instrucţiuni de atribuire în VB.27. Instrucţiuni alternative (sau cu structură alternativă)28. Instrucţiuni repetitive(sau cu structură repetitivă) .29. Crearea fişierelor în Visual Basic.30. Operaţii şi instrucţiuni de deschidera fişierelor.31. Operaţii şi instrucţiuni de închiderea fişierelor.32. Operaţii şi instrucţiuni de exploatare a fişierelor în acces secvenţial.33. Operaţii şi instrucţiuni de exploatare a fişierelor în acces aleator.34. Proceduri în Visual Basic: definirea şi clasificarea pe tipuri, apelul şitransmiterea argumentelor.

35. Proceduri de tip Private Sub.36. Proceduri de tip Function.37. Deosebiri esenţiale între procedurile de tip Sub şi cele de tip Function.

Teste pentru autoevaluare:Teste de tipul adevărat/fals (TRUE/FALSE) 

1. În limbajul Visual Basic stabilirea proprietăţilor se face cu fereastra Properties.R: A

2. Fereastra de editare a codului în Visual Basic cuprinde caseta cu lista Object   şicaseta cu lista Procedure.

R: A

Teste de tipul alegere multiplă (MULTIPLE CHOICE) 3. Care dintre cuvintele de mai jos lipseşte din sintaxa generală a instrucţiunii VisualBasic:

Select Case....Case Else...End Select?

a. Case Of c. Case Isb. Case On d. Case Are 

R: c

Teste pentru autoevaluare din toată materia: 

1. Din punctul de vedere al compunerii, datele se clasifică în:a) date elementare sau

scalarec) date memorate

b) date introduse cu tastatura d) date compuse

Page 55: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 55/58

  55

  R : a,d2. După  gradul asocierii şi după  obligativitatea participării la asociere, tipurile delegături între entităţi se diferenţiază în:a) asocieri par  ţ iale de tip „unu la

unu”;d) asocieri totale de tip „unu la unu”;

b) asocieri par  ţ iale de tip „unu lamul ţ i”;

e) asocieri par  ţ iale de tip „mul ţ i lamul ţ i”;

c) asocieri totale de tip „unu lamul ţ i”;

f) asocieri totale de tip „mul ţ i lamul ţ i”.

R : toate

3. Să se răspundă cu adevărat (True)  sau fals (False):Noţiunea de aplica ţ ie informatică nu este similară cu aceea de sistem informatic. R : Adevărat (True) 

Teste de tipul completare (COMPLETION) 4. Să se completeze cuvântul lipsă:

 Limbajul de programare este un limbaj artificial ce se foloseşte pentru definireaunui şir de ______________-care pot fi prelucrate şi executate pe un calculator.

R: instruc ţ iuni Test de tipul corespondenţă (MATCHING) 

5. Precizaţi destina ţ ia  ferestrelor mediului integrat de dezvoltare Visual Basic, prinindicarea corespondenţei între denumirea ferestrei (A…F) şi destinaţia acesteia (1…6):

A. Form Designer 1. Stabilirea propriet ăţ ilorB. Code Editor 2.  Depanarea programelor Visual Basic

C. Project Explorer 3.  Realizarea interfe ţ ei dintre utilizator  şi secven ţ elede program

D Properties 4.  Afi şarea colec ţ iei de fi şiereE. Form Layout 5. Editor de texte pentru a introduce codul aplica ţ ieiF. Watch 6. Vizualizarea aspectului formularului

R:  1-D;2-F;3-A;4-C;5-B;6-E;

6. Răspundeţi cu DA(Yes) sau NU ( No): Ciclarea  este asigurată  prin formatul general  Do … Loop. Ciclările

implementează  operaţiile care se repetă  de un anumit număr de ori, ciclarearepetându-se până când se îndeplineşte o condiţie specificată, întâlnită  la începutul

sau sfârşitul ciclării.R: DA (Yes) 7. Care este secvenţa de program Visual Basic corectă?

a)  DoCant = InputBox("Introduceti

cantitatea materialului: ")Pu = InputBox("Introduceti

 pretul unitar al materialului: ")Vmftva = Cant * PuPrint Tab(20); Cant; Tab(48);

Pu; Tab(70); Vmftva

c)  DoCant = InputBox("Introduceti

cantitatea materialului: ")Pu = InputBox("Introduceti pretul

unitar al materialului: ")Vmftva = Cant * PuPrint Tab(20); Cant; Tab(48); Pu;

Tab(70); Vmftva

Page 56: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 56/58

  56

 Loop Until MsgBox("CONTINUATI?", vbYesNo)= vbYes 

 Loop Until TextBox("CONTINUATI?",vbYesNo) = vbNo

b)  DoCant = InputBox("Introduceti

cantitatea materialului: ")Pu = InputBox("Introduceti

 pretul unitar al materialului: ")Vmftva = Cant * PuPrint Tab(20); Cant; Tab(48);

Pu; Tab(70); Vmftva Loop Until

 MsgBox("CONTINUATI?", vbYesNo)= vbNo

d)  DoCant = InputBox("Introduceti

cantitatea materialului: ")Pu = InputBox("Introduceti pretul

unitar al materialului: ")Vmftva = Cant * PuPrint Tab(20); Cant; Tab(20); Pu;

Tab(20); Vmftva Loop Until MsgBox("CONTINUATI?",vbYesNo) = vbNo

R:  b. 

Test de tipul cu răspuns numeric (NUMERIC RESPONSE) 8. Câte etape sunt necesare pentru realizarea unei aplicaţii Visual Basic?R: 3

9. Prin câte caractere este desemnată extensia unui fişier component al fişierului proiect ?

R: 3

Teste de tipul completare (COMPLETION) 

10. Instrucţiunea DO WHILE LOOP este o instrucţiune de ____________.R: ciclare

11. În mediul integrat Visual Basic sunt disponibile două stiluri de lucru diferite şianume: interfaţa pentru un singur __________ (SDI) sau interfaţa multi_________(MDI).

R: document12. Codul din aplicatiile scrise in VB se imparte in blocuri de dimensiuni mai micinumite ______________.

R: proceduriTeste de tipul corespondenţă (MATCHING)

13. Paradigmele programarii orientate pe obiecte se definesc astfel:

a. Persistenta c. Polimorfismulb. Incapsularea d. Mostenirea

1. permite constituirea de noi tipuri de obiecte si clase intr-o ierarhie de obiecte siclase intr-o ierarhie de module, evitind rescrierea si recodificarea.2. proprietatea obiectelor care implică existenţa acestora şi după încetarea procesuluicare le-a creat.3. posibilitatea de a masca atributele proprii ale unui obiect şi modul în care seexecută operaţiile.4. permite invocarea pentru obiecte de diferite tipuri a operaţiilor cu acelaşi nume,dar semantică şi implementare diferite.

R: 1=d, 2=a, 3=b, 4=c

Page 57: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 57/58

  57

 

Teste de tipul adevărat/fals (TRUE/FALSE) 

14. Tipul de dată este utilizat pentru descrierea unei mulţimi de fişiere care auaceeaşi reprezentare.

R: F15. Clasa este noţiunea de limbaj care defineşte tipul de fişier.

R: F16. Moştenirea permite constituirea de noi tipuri de obiecte şi clase într-o ierarhie demodule, prin rescriere şi recodificare.

R: F17.  Metodele sunt operaţii care pot regăsi sau actualiza starea unui obiect, stare careeste memorată în variabilele instanţelor sale.

R: A18.  Identitatea unui obiect este acea proprietate a obiectului care îl distinge de alteobiecte.

R: A19.  Persisten ţ  a este o proprietate a obiectelor care implică existenţa acestora şi după  încetarea procesului care le-a creat.

R: A20. Barele cu instrumente dau acces lent la comenzile utilizate frecvent în mediul deprogramare.

R: F21. Fereastra Toolbox furnizează o serie de instrumente utilizate în timpul proiectării

pentru a plasa controale pe formular.R: A

Întrebări de autoevaluare

1. Care sunt asemănările şi deosebirile esenţiale între conceptele de dată, informaţieşi cunoştinţă?2. Enumeraţi şi caracterizaţi conceptele utilizate în organizarea datelor.3. Ce este un fişier de date?4. Cum se defineşte relaţia binară?5. Clasificaţi structurile de date.

6. Prezentaţi tipurile de modele de date.7. Câte tipuri de legături între entităţi cunoaşteţi şi care sunt ele?8. Ce se înţelege prin procesul de prleucrare automată a datelor?9. Ce tipuri de structuri de control cunoaşteţi?10. Ce este un program pe calculator?11. Care sunt etapele de realizare a unui program pe calculator?12. Ce se înţelege prin compilarea şi editarea de legături a unui program?13. Definiţi conceptele de bază ale programării orientate pe obiecte.14. Ce se înţelege prin metodă?15. Care sunt elementele mediului integrat de dezvoltare?

Page 58: Informatică de Gestiune (Limbaje)

7/21/2019 Informatică de Gestiune (Limbaje)

http://slidepdf.com/reader/full/informatica-de-gestiune-limbaje 58/58

16. Cum se realizează o aplicaţie în Visual Basic?17. Cum se stabilesc proprietăţile obiectelor?18. Cum se realizează scrierea codului?19. Cum se creează procedurile pentru evenimente?20. Cum se creează un proiect?21. Definiţi fişierul proiect.22. Ce tipuri de variabile în Visual Basic cunoaşteţi?23. Cum se declară o variabilă în Visual Basic?24. Ce reprezintă instrucţiunile de atribuire?25. Care sunt instrucţiunile alternative în Visual Basic?26. Care sunt instrucţiunile repetitive în Visual Basic?27. Care sunt instrucţiunile de salt în Visual Basic?28. Ce particularităţi prezintă accesul aleator la date?29. Care sunt instrucţiunile de scriere într-un fişier secvenţial?

30. Care sunt instrucţiunile de citire şi de închidere a fişierelor?