programarea-vba-2013-

Upload: padelin6274

Post on 02-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 Programarea-VBA-2013-

    1/78

    Programarea calculatoarelorVisual Basic for Applications (VBA)

    - suport de curs -

  • 8/11/2019 Programarea-VBA-2013-

    2/78

    2

    Introducere

    Suportul de curs reprezint o sintez a coninutului disciplinei Programarea in Visual Basicfor Applications.El este destinat studenilor de la forma de nvmnt la distan (ID) i constituiematerialul bibliografic minim necesar pentru parcurgerea, nsuirea i evaluarea disciplinei

    respective.Suportul de curs este structurat conform standardelor i procedurilor de uz larg n

    nvmntul universitar naional i internaional, care se adreseaz nvrii individuale, pe bazeinteractive. Parcurgerea suportului de curs, pe baza prezentelor instruciuni, asigur reinereainformaiilor de baz, nelegerea fenomenelor fundamentale i aplicarea cunotinelor dobndite larezolvarea unor probleme specializate.

    Suportul de curs este structurat pe trei module iar modulele sunt structurate, la rndul lor, peuniti de nvare. Modululreprezint o categorie de probleme distincte din materia disciplinei, careformeaz un tot unitar din punct de vedere al specificului cunotinelor, al nsuirii unui anumitaspect al fenomenologiei disciplinei precum i din perspectiva timpului necesar parcurgerii insuirii fondului informaional respectiv. n acest sens, un modul conine una sau mai multe uniti

    de nvare. Unitatea de nvare reprezint o parte omogen din componena modulului,caracterizat de un volum strict limitat de cunotine, care pot s fie parcurse i nsuite printr-unefort continuu de concentrare intelectual, care se refer la coninutul de idei al unitii de nvare.Fiecare unitate de nvare areo structur proiectat din perspectiva exigenelor autoinstruirii, astfelc folosirea suportului de curs se face pe baza unui program de autoinstruire.

    Recomandm astfel, cteva regului de baz n procedura de realizare a programului deautoinstruire pe baza acestui suport de curs:

    1. Unitile de nvare se parcurg n ordinea n care sunt prezentate, chiar n cazul n carestudentul apreciaz c ar putea sri direct la o alt unitate de nvare (de exemplu n cazul n carestudentul se afl la a doua facultate sau n alte situaii echivalente). Criteriile i modalitatea denlnuire a unitilor de nvare sunt prezentate la fiecare unitate de nvare i ele trebuierespectate ntocmai, sub sanciunea nerealizrii la parametri maximali a programului de autoinstruire;

    2. Fiecare unitate de nvare conine teste destinate autoevalurii gradului i corectitudiniinsuirii cunotinelor specifice unitii de nvare, nelegerii fenomenelor i proceselor descrise sau

    prezentate n unitatea de nvare;Fiecare test al unitii de nvare este prevzut cu un sistem de notare (puncte) care nsumeaz

    un maximum de 100 puncte;3.Ordinea logic a parcurgerii unitii de nvare este urmtoarea:

    a) se citete scopul i obiectivele unitii de nvare;b) se citesc termenii de referin (cuvintele-cheie);c) se parcurge coninutul de idei al unitii de nvare;

    d) se parcurge bibliografia recomandat;e) se rspunde la ntrebrile de autocontrol, revznd, dac este necesar, coninutul de idei alunitii de nvare;

    f) se elaboreaz, pe o pagin, cte un eseu pentru fiecare dintre temele de reflecie propuse launitatea de nvare;

    g) se efectueaz testele de autoevaluare dup procedura descris;h) se rezolv exerciiile, problemele sau studiile de caz propuse pentru laboratorul sau

    lucrrile practice propuse n unitatea de nvare.Pentru creterea eficienei utilizrii suportului de curs i fixarea temeinic a cunotinelor

    dobndite, fiecare unitate de invatare se ncheie cu: ntrebri de autocontrol, teme de reflecie, temepentru studii de caz i teste de autoevaluare.

  • 8/11/2019 Programarea-VBA-2013-

    3/78

    3

    Obiectivele cursului

    Obiectul suportului de curs const n nsuirea cunotinelor de baz privindprogramarea calculatoarelor i formarea deprinderilor practice necesare pentru

    elaborarea de programe, pe exemplul mediului de programare Visual Basic forApplications (VBA).Obiectivele principaleale suportului de curs sunt:

    nsuirea temeinic a noiunilor fundamentale privind programareacalculatoarelor, n particular ale celor aparinnd ultimei generaii de medii de

    programare;

    formarea deprinderilor practice necesare pentru elaborarea contextual igeneral a programelor pentru efectuarea de aplicaii din domeniul economic;

    cunoaterea temeinic a logicii programrii ca o condiie necesar pentruelaborarea corect a programelor, conform regulilor de sintax i de punctuaieale mediilor de programare;

    dobndirea unei viziuni de ansamblu asupra teoriei i practicii in domeniulprogramarii calculatoarelor.

    Suportul de curs este structurat pe trei module, fiecare modul coninnd, nfuncie de problematica abordat, unitati de invatare specifice.

    Competene conferite

    Capacitatea de alegere a facilitilor mediului de programare VBA n funciede domeniul de activitate din care provin aplicaiile, de specificul acestora i

    de cerinele i exigenele utilizatorilor. Capacitatea de nelegere a modului n care cunoaterea conceptelor i a

    noiunilor fundamentale privind prelucrarea datelor cu mediul de programareVBApoate s contribuie la nsuirea corect a altor concepte i noiuni legatede programarea calculatoarelor;

    Capacitatea de a elabora programe n mediul de programare VBA.

    Resurse i mijloace de lucru

    Pentru parcurgerea acestui curs va fi nevoie de utilizarea Sistemului de Gestiune a

    Bazelor de Date Microsoft ACCESS 2010, care este parte a pachetului softwareintegrat MICROSOFT OFFICE 2010.

    Structura cursului

    Suportul de curs este structurat pe trei module astfel:

    Modulul I este un modul de prezentare teoretic i metodologic a problematiciiabordate, coninnd unitatile de invatare:Unitatea 1.Noiunile de instruciune, program, limbaj de programare i metalimbaj;Unitatea 2. Tehnici de programare i exploatare a calculatoarelor electronice;

    Modulul II esteun modul de abordare i tratare a logicii programrii calculatoarelor,

  • 8/11/2019 Programarea-VBA-2013-

    4/78

    4

    coninnd unitatile de invatare:Unitatea 3. Algoritmi i algoritmizarea aplicaiilor;Unitatea 4. Reprezentarea (descrierea) algoritmilor i forme de reprezentare;Unitatea 5. Structuri fundamentale de prelucrare (control);Unitatea 6. Etapele elaborrii unui program ntr-un mediu de programare;

    Modulul III este un modul de abordare a mediului de programare Visual Basic forApplications (VBA) i tratare practic a elaborrii programelor n acest mediu de

    programare, coninnd capitolele:Unitatea 7. Elemente de baz alemediului de programare VBA;Unitatea 8. Programe elaborate n mediul de programare VBA.

    Cerine preliminare

    Pentru nelegerea conceptelor i noiunilor prezentate n acest curs i pentru a leaplica eficient n practic este necesar parcurgerea n prealabil a cursului de BazeleTehnologiei Informaieidin anul I de studiu.

    Discipline deservite

    Pe baza cunotinelor dobndite n cadrul disciplinei curente studenii vor fi capabili surmeze cursurile de Sisteme informatice financiar-bancare, Sisteme informatice degestiune, Sisteme informatice in marketing, Informatica n afaceri, Comer electronic.

    Durata medie de studiu individual

    Timpul mediu necesar parcurgerii unei Uniti de nvare este 2-3 ore.

    Evaluarea studenilor

    Nota finala la disciplina Programarea calculatoarelor va fi stabilitprin :- evaluarea final(examen scris de tip gril)cu ponderea de 70%;- evaluri pe parcurs (teme de control n cadrul activitilor asistate) cu

    ponderea de 30%.

  • 8/11/2019 Programarea-VBA-2013-

    5/78

    5

    CuprinsINTRODUCERE........................................................................................................................................................ 2

    OBIECTIVELE CURSULUI............................................................................................................................................ 3

    COMPETENE CONFERITE............................................................. ................................................................. ............ 3RESURSE I MIJLOACE DE LUCRU............................................................... .............................................................. .... 3

    STRUCTURA CURSULUI............................................................................................................................................. 3CERINE PRELIMINARE............................................................................................................................................. 4

    DISCIPLINE DESERVITE...................................................... ................................................................. ....................... 4

    DURATA MEDIE DE STUDIU INDIVIDUAL................................................................ ........................................................ 4

    EVALUAREA STUDENILOR........................................................................................................................................ 4

    UNITATEA DE NVARE1.NOIUNILE DE INSTRUCIUNE, PROGRAM, LIMBAJ DE PROGRAMARE IMETALIMBAJ ................................................................................................................................................... 7

    1.1.OBIECTIVE...................................................................................................................................................... 7

    1.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .... 7

    1.3. PROGRAMAREA CALCULATOARELOR.................................................................................................................... 8

    1.4. LIMBAJ DE PROGRAMARE I METALIMBAJ................................................................ ............................................. 8

    1.5. LIMBAJ I SISTEM DE PROGRAMARE............................................................. ...................................................... 101.6. EVOLUTIA LIMBAJELOR DE PROGRAMARE................................................................. ........................................... 12

    1.7. CLASIFICAREA LIMBAJELOR DE PROGRAMARE....................................................................................................... 14

    1.8.REZUMAT..................................................................................................................................................... 16

    1.9.TEST DE AUTOEVALUARE A CUNOTINELOR......................................................................................................... 16

    1.10.TEM DE CONTROL............................................................ .............................................................. ............. 16

    1.11.BIBLIOGRAFIE.............................................................................................................................................. 17

    UNITATEA DE NVARE2. TEHNICI DE PROGRAMARE SI EXPLOATARE A CALCULATOARELOR ELECTRONICE18

    2.1.OBIECTIVE.................................................................................................................................................... 18

    2.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .. 18

    2.3. TEHNICI DE EXPLOATARE A SISTEMELOR DE CALCUL............................................................... ................................ 18

    2.4.REZUMAT..................................................................................................................................................... 202.5.TEST DE AUTOEVALUARE A CUNOTINELOR......................................................................................................... 212.6.TEST DE EVALUARE A CUNOTINELOR................................................................................................... ............. 22

    2.7.TEME DE CONTROL......................................................................................................................................... 22

    2.8.BIBLIOGRAFIE................................................................................................................................................ 22

    UNITATEA DE NVARE3. ALGORITMI I ALGORITMIZAREA APLICAIILOR.................................................. 24

    3.1.OBIECTIVE.................................................................................................................................................... 24

    3.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .. 24

    3.3. ALGORITMI.................................................................................................................................................. 243.4.PROPRIETILE ALGORITMILOR......................................................................................................................... 25

    3.5.TIPURI DE ALGORITMI........................................................... .............................................................. ............. 26

    3.6. OPERAIILE REPREZENTATE N ALGORITMI................................................................ ........................................... 26

    3.7.CLASIFICAREA ALGORITMILOR........................................................................................................................... 29

    3.8.REZUMAT..................................................................................................................................................... 31

    3.9.TEST DE AUTOEVALUARE A CUNOTINELOR......................................................................................................... 31

    3.10.TEST DE EVALUARE A CUNOTINELOR................................................................................................. ............. 32

    3.11.BIBLIOGRAFIE.............................................................................................................................................. 32

    UNITATEA DE NVARE4.DESCRIEREA ALGORITMILOR I FORME DE REPREZENTARE ................................ 34

    4.1.OBIECTIVE.................................................................................................................................................... 34

    4.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .. 34

    4.3.REPREZENTAREA ALGORITMILOR........................................................................................................................ 34

    4.4 REPREZENTAREA ALGORITMILOR PRIN SCHEME LOGICE........................................................................................... 35

    4.5. REPREZENTAREA ALGORITMILOR PRIN LIMBAJ PSEUDOCOD..................................................................................... 36

    4.6.REZUMAT..................................................................................................................................................... 374.7.TEST DE AUTOEVALUARE A CUNOTINELOR......................................................................................................... 37

  • 8/11/2019 Programarea-VBA-2013-

    6/78

    6

    4.8.TEST DE EVALUARE A CUNOTINELOR................................................................................................... ............. 38

    4.9.BIBLIOGRAFIE................................................................................................................................................ 38

    UNITATEA DE NVARE5. STRUCTURI FUNDAMENTALE DE PRELUCRARE (CONTROL) ................................. 40

    5.1.OBIECTIVE.................................................................................................................................................... 40

    5.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .. 40

    5.3.STRUCTURI FUNDAMENTALE DE CONTROL........................................................................................................... 405.4.REPREZENTAREA STRUCTURII ALTERNATIVE............................................................... ........................................... 41

    5.5.REPREZENTAREA STRUCTURII REPETITIVE....................................................... ...................................................... 42

    5.6REZUMAT...................................................................................................................................................... 43

    5.7.TEST DE AUTOEVALUARE A CUNOTINELOR......................................................................................................... 445.8.TEST DE EVALUARE A CUNOTINELOR................................................................................................... ............. 45

    5.9.BIBLIOGRAFIE................................................................................................................................................ 45

    UNITATEA DE NVARE6. ETAPELE ELABORRII UNUI PROGRAM NTR-UN MEDIU DE PROGRAMARE ........ 46

    6.1.OBIECTIVE.................................................................................................................................................... 46

    6.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .. 46

    6.3.PRINCIPALELE ETAPE ALE ELABORRII UNUI PROGRAM NTR-UN MEDIU DE PROGRAMARE.............................................. 46

    6.4.REZUMAT..................................................................................................................................................... 496.5TEST DE AUTOEVALUARE A CUNOTINELOR.......................................................................................................... 50

    6.6TEST DE EVALUARE A CUNOTINELOR.................................................................................................... ............. 50

    6.7BIBLIOGRAFIE................................................................................................................................................. 51

    UNITATEA DE NVARE7. ELEMENTE DE BAZ ALE MEDIULUI DE PROGRAMARE VBA ................................ 52

    7.1.OBIECTIVE.................................................................................................................................................... 52

    7.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .. 52

    7.3.DATE SI STRUCTURI DE DATE.CLASIFICAREA DATELOR............................................................................................ 53

    7.4CONSTANTE I VARIABILE.................................................................................................................................. 53

    7.5ALTE TIPURI DE DATE............................................................. ................................................................. .......... 56

    7.6 OPERATORI I EXPRESII.................................................................................................................................... 57

    7.7FUNCII........................................................ ................................................................. ................................ 597.8PROCEDURI.............................................................. ................................................................. ..................... 61

    7.9.CONTROALE VISUAL BASIC (VBA) ..................................................................................................................... 64

    7.10LUCRUL CU FIIERE DE DATE N MEDIUL VBA....................................................................................................... 657.11.REZUMAT................................................................................................................................................... 68

    7.12.TEST DE AUTOEVALUARE A CUNOTINELOR....................................................................................................... 69

    7.13.TEST DE EVALUARE A CUNOTINELOR................................................................................................. ............. 69

    7.14.TEME DE CONTROL....................................................................................................................................... 707.15.BIBLIOGRAFIE.............................................................................................................................................. 70

    UNITATEA DE NVARE8. PROGRAME ELABORATE N MEDIUL DE PROGRAMARE VBA ............................... 71

    8.1.OBIECTIVE.................................................................................................................................................... 71

    8.2.COMPETENELE UNITIIDE NVARE............................................................................................................. .. 718.3.PROGRAMUL 1 .............................................................................................................................................. 71

    8.4PROGRAMUL 2 ............................................................................................................................................... 72

    8.5PROGRAMUL 3 ............................................................................................................................................... 72

    8.6 PROGRAMUL 4 .............................................................................................................................................. 73

    8.7.PROGRAMUL 5 .............................................................................................................................................. 74

    8.8.PROGRAMUL 6 .............................................................................................................................................. 75

    8.9.PROGRAMUL 7 .............................................................................................................................................. 76

  • 8/11/2019 Programarea-VBA-2013-

    7/78

    7

    UNITATEA DE NVARE 1.NOIUNILE DE INSTRUCIUNE,PROGRAM, LIMBAJ DE PROGRAMARE I METALIMBAJ

    CUPRINS

    1.1. Obiective1.2. Competenele unitii de nvare1.3. Programarea calculatoarelor1.4. Limbaj de programare i metalimbaj1.5. Limbaj i sistem de programare1.6. Evoluia limbajelor de programare1.7. Clasificarea limbajelor de programare1.8. Rezumat1.9. Test de autoevaluare a cunotinelor1.10. Tem de control1.11. Bibliografie

    1.1. Obiective

    n aceast prim unitate de nvare se vor prezenta noiunile asociate logic:instruciune-program-limbaj de programare n contextul desfurrii activitilor de

    programare. Tot n cadrul acestei unitti de nvare vom prezenta elementele unuisistem de programare i interaciunile dintre aceste elemente n procesul de elaborare a

    programelor.

    1.2. Competenele unitii de nvareDup parcurgerea unitii vei fi n msur s:

    folositi structurile formalizate de metalimbaj pentru elaborarea de programentr-un limbaj de programare;

    explicairegulile sintactice i de punctuaie specifice unui limbaj deprogramare n funcie de natura aplicaiilor informatice;

    identificai corespunztor posibilitilede exploatare ale limbajelor deprogramare n activitatea de elaborare a programelor.

    Durata de parcurgere a primei uniti de nvare este de 3 ore.

  • 8/11/2019 Programarea-VBA-2013-

    8/78

    8

    1.3. Programarea calculatoarelor

    Noiuni generale

    n prelucrarea automat a datelor (PAD)programarea calculatoareloreste o

    noiune fundamental, fiind n strns corelaie cu alte noiuni de baz din acestdomeniu, cum sunt noiunile de: algoritm, limbaj de programare, program.Pentru prelucrarea datelor, fr intervenia utilizatorului n desfurarea acestui

    proces, calculatorul electronic necesit, pe lng datele de prelucrat, un ansamblu decomenzi, care s-i indice acestuia, ce operaii trebuie s execute pentru a obinerezultatele ateptate de utilizator.Ansamblul acestor comenzi reprezint o descriere a procesului de prelucrare a datelorcomplet i fr ambiguiti, definind toate aciunile calculatorului electronic n oricecaz particular al aplicaiei de efectuat. O astfel de descriere este denumit descrierealgoritmic, deoarece fr alte informaii suplimentare, calculatorul poate s efectuezetoate operaiile de prelucrare, furniznd rezultatele ateptate de utilizator.

    Descrierea algoritmic a acestui proces de prelucrare, dup care calculatorul seconduce n efectuarea unei aplicaii, este denumitprogram. Deci, programul este oexprimare a procesului de prelucrare automat, care indic operaiile pe carecalculatorul trebuie s le execute, astfel nct din datele de prelucrat (iniiale) s obinrezultatele ateptate (finale). n orice program, ordinul primit de calculator pentru aefectua o aciune determinat (ca de exemplu: o operaie de calcul, o operaie logicetc) se numete instruciune(comand).

    Elaborarea unui astfel de program necesit folosirea unui mijloc de comunicarentre utilizator i calculator, nct toate specificaiile din program (instruciunile), s

    poat fi nelese de calculator. Acest mijloc de comunicare, dintre utilizator icalculator, este denumit limbaj de programare.

    Stabilirea metodelor corespunztoare pentru efectuarea aplicaiilor deprelucrare a datelor, analiza logic a procesului de prelucrare, planificarea efecturiioperaiilor de prelucrare i verificarea rezultatelor obnute constituie, n general,obiectul programrii calculatoarelor electronice.

    Definii noiunile: algori tm, limbaj de programare, program............................................................................................................................................................................................................................................................................................................................................................................................................

    1.4. Limbaj de programare i metalimbaj

    L imbaj de programare

    n sens lingvistic, prin limbaj se nelege un sistem de comunicare specificoamenilor alctuit din sunete articulate, prin care oamenii i pot exprima gndurile,sentimentele i dorinele. Acest sens precizeaz caracterul natural al acestui sistemfolosit de oameni i aflat ntr-o continu dezvoltare.

    Odat cu dezvoltarea limbajului natural a aprut i limbajul artificial. Acesta afost creat n mod intenionat de oameni, pentru realizarea comunicrii ntr-unul sau

    altul din domeniile de activitate uman.Acest tip de limbaj este dotat cu posibilitatea emiterii i recepionrii formelor de

    00:05

    00:20

  • 8/11/2019 Programarea-VBA-2013-

    9/78

    9

    reprezentare ale comunicrii, dar pe care le folosete un numr mult mai restrns depersoane, astfel c asocierea semnificaiilor este mai explicit formulat, iarcomunicarea i nelegerea s fie ct mai simple.

    Orice limbaj se caracterizeaz prin: forme corespunztoare de reprezentare a comunicrii;

    reguli de organizare a acestor forme dereprezentare; semnificaii asociate formelor respective de reprezentare; reguli de constituire a semnificaiilor acestor forme de reprezentare; reguli de utilizare a limbajului.

    Necesitatea elaborrii de programe pentru rezolvarea oricror aplicaii cucalculatorul electronic a avut ca rezultat particularizarea formelor de reprezentare acomunicrii n cadrul limbajelor artificiale i apariia unui limbaj specilaizat, denumitlimbaj de programare, ca mijloc de comunicare ntre utilizator i calculator. Astfel,limbajul de programare este un limbaj artificial destinat descrierii prin directive,comenzi sau instruciuni exprimate simbolic, a operaiilor de prelucrare a datelorefectuate cu calculatorul electronic.

    Evoluia foarte rapid i impresionant a construciei calculatoarelorelectronice a avut drept consecin apariia unei diversiti de limbaje de programare.

    ntr-o astfel de diversitate, folosirea unui limbaj de programare necesitstudierea unor probleme specifice, cum sunt urmtoarele:

    definirea limbajelor de programare; relaia dintre utilizarea calculatoarelor i limbajele de programare; relaia dintre limbajele de programare i calculatoarele electronice.

    Pentru utilizator, limbajul de programare este important prin operaiile deprelucrare automat a datelor pe care le poate efectua. Astfel, apare noiunea despecializare a limbajelor de programare pentru diferite domenii i cerine deprelucrare.

    Pentru orice limbaj de programare exist trei aspecte: tipurile de date care pot fi prelucrate; operaiile de prelucrare i modul de nlnuire a lor; regulile prin care se formeaz structuri complexe de date i se execut operaii

    complexe de prelucrare.Orice limbaj de programare se poate caracteriza prin elementele specifice

    limbajului natural: alfabet, vocabular, gramatic, punctuaie, semantic, pragmatic.Alfabetul este reprezentat prin mulimea simbolurilor folosite n cadrul

    limbajului de programare.Vocabularul este reprezentat prin mulimea cuvintelor folosite pentru

    alctuirea construciilor de limbaj.Gramaticaeste un ansamblu de reguli prin care se formeaz construciile delimbaj, avnd dou componente: sintaxa i morfologia.

    Sintaxa studiaz ansamblul regulilor de formare a instruciunilor, avnd unrol important n orice limbaj de programare, deoarece calculatorul electronic nuaccept dect construciile de limbaj fr nici o eroare de sintax.

    Morfologiaconine ansamblul regulilor de modificare a formei cuvintelor, ncontextul folosirii cuvintelor n cadrul construciilor de limbaj.

    Punctuaiaeste un sistem de semne grafice convenionale, care au rolul de aindica folosirea corect a alfabetului, cuvintelor i instruciunilor (propoziii sau fraze).Punctuaia are rol de auxiliar grafic al sintaxei.

    Semanticastudiaz toate semnificaiile care se atribuie cuvintelor, permindidentificarea sensului construciilor de limbaj primite de calculator. Semantica

  • 8/11/2019 Programarea-VBA-2013-

    10/78

    10

    specific operaiile de executat pe o structur de date.Pragmatica reglementeaz modalitile de folosire practic a vocabularului,

    cuvintelor, instruciunilor, n general, construciilor limbajului de programare.Avnd n vedere cele prezentate anterior, limbajul de programare se poate

    defini ca fiind un ansamblu (o mulime) de simboluri, reguli de formare a

    instruciunilor, reguli de punctuaie, semnificaii atribuite instruciunilor i modalitide utilizare practic a acestora n activitatea de elaborare a programelor pentru

    prelucrarea automat a datelor.

    Metalimbaj

    Pentru ca programele s nu conin erori de sintax este necesar ca regulileunui limbaj (sintactice i de punctuaie) s fie cunoscute i folosite corect. n acestcontext, au fost elaborate structuriformalizate care cuprind toate instruciunile unuilimbaj de programare, prezentate ntr-o form care permite respectarea regulilorsintactice i a celor de punctuaie. Astfel de structuri formalizate alctuiescmetalimbajul fiecrui limbaj de programare, un instrument sintetic, sistematizat i

    simplificatde folosire n mod practic a oricrui limbaj de programare n activitatea deelaborare a programelor de prelucrare automat a datelor pentru efectuarea de aplicaii.

    n concluzie, metalimbajul este un limbaj folosit pentru descrierea altorlimbaje.Ca atare, aceast noiune este general deoarece poate desemna orice notaieformal, eventual chiar un limbaj natural. De asemenea, aceast noiune este relativdeoarece metalimbajul este el nsui un limbaj care trebuie definit, ceea ce implicexistena unui metalimbaj.

    S ne reamintim...

    Limbajul de programare se poate defini ca fiind un ansamblu (o mulime) de

    simboluri, reguli de formare a instruciunilor, reguli de punctuaie, semnificaiiatribuite instruciunilor i modaliti de utilizare practic a acestora n activitatea deelaborare a programelor pentru prelucrarea automat a datelor. Metalimbajuleste unlimbajfolosit pentru descrierea altor limbaje.

    1.5. Limbaj i sistem de programare

    Nivelu ri de limbaj de programare

    Pentru ca un program s poat fi executat pe orice tip de calculator electronic,trebuie ca programul s fie transmis calculatorului respectiv pe nelesul acestuia, adic

    n limbajul su propriu, denumit limbaj cod-main. Acest limbaj este dificil denvat i utilizat deoarece: limbajul cod-main folosete cifrele binare, programele au un caracter abstract

    i neinteligibil, iar dimensiunea mare a programelor rezultate face foartelaborios acest mod de lucru;

    fiecare calculator electronic dispune de un limbaj cod-main propriu, ceea ceconstituie un mare dezavantaj pentru programatori, deoarece programatorultrebuie s cunoasc, n acest caz, fiecare limbaj n parte;

    folosirea limbajelor cod-main poate fi un obstacol n extinderea domeniilorde folosire a calculatorului i realizarea portabilitii programelor pentrudiferite tipuri de aplicaii.

    Aceste motive au determinat, ca nc din perioada primei generaii de

    00:40

    00:50

  • 8/11/2019 Programarea-VBA-2013-

    11/78

    11

    calculatoare electronice, odat cu apariia i folosirea limbajelor de asamblare, s setreac laprogramarea simbolic. Chiar dac aceste limbaje sunt considerate n cadrulevoluiei limbajelor de programare ca fiind limbaje de nivel inferior (datoritdependenei lor de particularitile calculatorului pentru care au fost realizate),limbajele de asamblare constituie un salt calitativ spre limbajele de nivel nalt.

    Limbajele de asamblare aduc astfel primele elemente ale programriisimbolice, prin utilizarea codurilor mnemonice (pentru instruciuni) i a adresriisimbolice.

    De la limbajele de asamblare s-a trecut la elaborarea de limbaje de programaremai apropiate de limbajul natural, care au fost denumite limbaje de nivel nalt(limbaje

    procedurale) i respectiv limbaje de nivel foarte nalt (limbaje neprocedurale).Limbajele proceduralepermit descrierea algoritmilor de prelucrare sub forma

    unei succesiuni de comenzi (instruciuni), executate ntr-o anumit ordine, stabilit deprogramator. Datorit acestor caracteristici, aceste limbaje sunt cunoscute i subdenumirea de limbaje algoritmice.

    Elementele structurale ale limbajelor algoritmice, ca limbaje artificiale, nu

    depind de un anumit tip de calculator, ci de sintaxa i semantica proprii limbajuluirespectiv. Executarea unui program scris n limbaj procedural, presupune traducerea(translatarea) programului din limbajul n care a fost elaborat, n limbajul cod-mainal calculatorului folosit pentru rularea programului respectiv.

    Programul care rezult n urma scrierii instruciunilor acestuia ntr-un limbaj deprogramare, conform unui algoritm de prelucrare, se numete program surs.Programele surs trebuie traduse n limbajul propriu calculatorului, operaie care seefectueaz de un program specializat denumit translator.

    Translatorul i efectueaz funcia nainte de execuia programului, obinndu-se n final unprogram executabil.Programul executabilce se execut independent detranslator, se numete compilator. Programele rezultate ca urmare a aciuniicompilatorului (asupra programelor surs) se numesc programe obiect (moduleobiect). Cu alte cuvinte, compilatorul are rolul de a transforma programele surs n

    programe obiect.In cazul in care,tr anslatoru l i efectueazfuncia proprie simultan cu execuia

    programului, este denumitinterpretor. Execuia programului este mai lent, dar oferposibilitatea modificrii programului i n timpul rulrii acestuia.

    Un program surs scris ntr-un limbaj algoritmic poate fi executat pe uncalculator dac exist un translator specific acelui limbaj de programare. Pe uncalculator pot exista mai multe translatoare, dac exist instalate mai multe limbaje de

    programare. De asemenea, pentru un acelai limbaj pot exista mai multe versiuni de

    translatoare difereniate prin: restricii de limbaj cu scopul de scurtare a timpuluinecesar translatrii, simplificri pentru nsuirea mai rapid a limbajului, proceduricare folosesc mai eficient performanele calculatorului.

    Sistem de programare

    Existena, pe de o parte, a limbajelor de programare independente de structuraintern a calculatorului i, pe de alt parte, a translatorului propriu fiecrui limbaj, aavut ca rezultat definirea n domeniul general al software-ului, a unei uniti noi, aceeade sistem de programare. Acest sistem reprezint o combinaiedintre:

    limbajele de programare de nivel nalt folosite la scrierea programelor pentruefectuarea de aplicaii;

    programele de translatare (compilatoare i interpretoare).Sistemele de programare ofer programatorilor diverse avantaje, printre care

    01:10

  • 8/11/2019 Programarea-VBA-2013-

    12/78

    12

    urmtoarele: creterea operativitii activitii de programare, rezultat din conciziunea

    limbajelor de nivel nalt fa de cele de nivel sczut, ceea ce conduce la scurtareaprogramelor;

    uurina depanrii programelor care rezult din evidenierea greelilor de sintax

    i din posibilitatea corectrii facile a acestora; eficiena programului obiect, care rezultat din abilitatea programatorului de afolosi ct mai bine performanelecalculatorului electronic;

    eficiena folosirii memoriei calculatorului electronic, care poate s determineviteza de execuie a programului, asigurat de translator (compilator sau interpretor),eventual fr nici o intervenie din partea programatorului;

    uurina nvrii programrii, care duce la economisirea timpului pentru adeprinde modul de lucru cu un anumit limbaj de programare.

    S ne reamintim...Limbajele procedurale permit descrierea algoritmilor de prelucrare sub forma unei

    succesiuni de comenzi (instruciuni), executate ntr-o anumit ordine, stabilit deprogramator. Datorit acestor caracteristici, aceste limbaje sunt cunoscute i subdenumirea de limbaje algoritmice.

    1.6. Evolutia limbajelor de programare

    De la construirea primului calculator electronic Mark 1n anul 1944de ctrefirma IBM n colaborare cu Universitatea Harvard i pn n prezent, limbajele de

    programare au evoluat ntr-un ritm deosebit de spectaculos. Apariia i dezvoltarearapid a limbajelor de programare s-a aflat n strns legtur cu evoluia

    caracteristicilor constructive ale calculatoarelor. n evoluia software-ului s-ausuccedat mai multe etape.Prima perioad, situat ntre 1944 i 1950, este perioada de nceput n

    exploatarea limitat a calculatoarelor electronice i n activitatea de elaborare aprogramamelor pentru efectuarea de aplicaii din cteva domenii de activitate.Limbajele utilizate erau de tipcod-main, iar programarea reprezenta un efort mare

    pentru un grup restrns de specialiti.A doua perioad, cuprins ntre anii 19501959se caracterizeaz prin apariia

    limbajelor de programare automat i a sistemelor de programare. Apar limbajele deasamblare i spre sfritul perioadei limbajele de programare evoluate, denumitelimbaje de programare de nivel nalt (FORTRAN, ALGOL, COBOL iLISP).

    Limbajul FORTRAN (FORmula TRANslation), aprut n 1956, a fostdestinat rezolvrii unor aplicaii din domeniul tehnico-tiinific.Limbajul ALGOL (ALGOrithmic Language), aprut n 1958, a fost elaborat

    pentru rezolvarea de probleme matematice, fiind un limbaj cu structuri logiceapropiate de modul de scriere a formulelor matematice.

    LimbajulCOBOL(COmmon Business Oriented Language), aprut n 1959, afost elaborat pentru efectuarea de aplicaii economice, avnd faciliti pentruorganizarea datelor n fiiere, cu un volum mare de date.

    LimbajulLISP (LISt Processing), aprut n anul 1958, a fost elaborat ca unlimbaj conversaional destinat pentru prelucrarea de liste, folosind modele logico-matematice.

    A treia perioad, dintre anii 19601969, este marcat de preocuparea pentruelaborarea i dezvoltarea unui limbaj de programare universal care s ntruneasc

    01:20

  • 8/11/2019 Programarea-VBA-2013-

    13/78

    13

    caracteristici de la mai multe limbaje evoluate. Un astfel de limbaj a fost limbajulPL/1(Programming Language/1) care combina caracteristicile reprezentative ale celortrei limbaje de programare (ALGOL, FORTRAN, COBOL). De asemenea, a fostelaborat limbajul BASIC (Beginner's All-purpose Symbolic Instruction Code), ca ovariant simplificat a limbajului FORTRAN, cu scopul de a fi folosit interactiv pentru

    nvarea rapid a programrii.A patra perioad, cuprins ntre anii 19701979, se caracterizeaz prin

    apariia de noi limbaje de programare: PASCAL, PROLOG, ADA.Limbajul PASCAL, aprut n 1971, a fost elaborat pentru efectuarea de

    aplicaii tehnico-tiinifice i aplicaii economice. Acest limbaj satisface cerineleprogramrii structurate, concurente i n timp real.

    LimbajulPROLOG a fost elaborat pentru rezolvarea unor probleme care sepot exprima sub forma unor obiecte i a unor relaii ntre acestea. Este un limbajconversaional, asemntor cu LISP.

    Limbajul ADA, aprut n anul 1979, este destinat satisfacerii cerinelor deprogramare n timp real.

    A cincea perioad, situat dup anul 1980 ipn n prezent,este o perioadcare se caracterizeaz prin proliferarea unui numr mare de limbaje de programarecare rspund unor necesiti diverse de stocare i prelucrare automat a datelor. Deasemenea, au aprut aa-numitele dialecte, adic versiuni ale unor limbaje existente.

    Numrul limbajelor de programare create a depit 1000, dintre care aproximativ 200limbaje au o rspndire mai mare.

    Prelucrarea unui volum tot mai mare de date i necesitatea perfecionriitehnicilor de acces la un astfel de volum de date, a condus la perfecionarea tehnicilorde stocare, regsire i prelucrare a datelor, o deosebit rspndire avnd sistemele degestiune a bazelor de date (SGBD). Sistemele de gestiune a bazelor de date dispunde limbaje de descriere a structurii datelor n bazele de date i de limbaje demanipulare a datelor. n funcie de modul de organizare a datelor n bazele de date, sedisting:

    sisteme de gestiune a bazelor de date ierarhice; sisteme de gestiune a bazelor de date reea; sisteme de gestiune a bazelor de date relaionale; sisteme de gestiune a bazelor de date orientate obiect; sisteme de gestiune a bazelor de date distribuite.

    Stocarea i prelucrarea unor tipuri tot mai diverse de informaii (sunet iimagine) presupune, de asemenea, tehnici speciale de stocare i regsire, precum ilimbaje adecvate.

    Cerinele din ce n ce mai mari de prelucrare automat a datelor au condus lanecesitatea creterii vitezei de realizare a programelor, precum i a reduceriiposibilitilor de eroare. Aceste dou cerine au condus la apariia unui nou concept deprogramare, denumit programarea orientat obiect, care s ofere prototipuri multmai uor de inserat n cadrul unor aplicaii. Necesitatea folosirii calculatoarelorelectronice de ctre un numr tot mai mare de utilizatori a sporit preocuprile n sensulaccesibilitii totale, realizat prin limbaj natural, vocesau imagine.

    Cum se clasifica SGBD-urilen funcie de modul de organizare a datelor?...................

    01:50

  • 8/11/2019 Programarea-VBA-2013-

    14/78

    14

    1.7. Clasificarea limbajelor de programare

    Evoluia rapid nregistrat de limbajele de programare, ca mijloace decomunicare ntre om i sistemele automate de prelucrare a datelor a fost marcat de omare diversificare a acestora. n prezent, datorit multitudinii limbajelor de progra-

    mare se impun diferite clasificri, n funcie de diferite criterii. n funcie de caracteristicile de baz, limbajele de programare se pot clasificaastfel:

    limbaje de programare n cod-main; limbaje de programare simbolic (de asamblare sau pseudocod i autocod); limbaje de programare procedurale (algoritmice sau de nivel nalt); limbaje de programare neprocedurale (limbajele de nivel foarte nalt).

    Limbajele de programare n cod-main se caracterizeaz prin faptul cprogramatorul trebuie s specifice n amnunime modul de execuie, alocarearesurselor hardware (memorie, discuri, periferice). Adresarea memoriei se face cuindicarea exact a locaiilor de memorie.

    Limbajele de programare simbolic se caracterizeaz prin faptul cprogramatorul folosete coduri mnemonice pentru operaii i adrese simbolice pentrudesemnarea locaiilor de memorie. Datorit dependenei de caracteristicile construc-tive i funcionale ale calculatorului electronic, aceste limbaje de programare nu sunt

    portabile, adic nu pot asigura compa-tibilitatea programelor pe diferite tipuri decalculatoare, fiind astfel considerate limbaje de nivel inferior. Ca alternativ lalimbajele de asamblare a aprut limbajul de programare C, numit i asamblorindependent de main. Acest limbaj este orientat pe calculator fr s fie dependentde fiecare tip de calculator. Limbajul C ofer programatorilor accesul la calcu-lator ila facilitile sistemului de operare ntr-o msur mult mai mare dact celelalte limbajede programare independente de calculatorul electronic.

    Limbajele de programare procedurale (algoritmice sau de nivel nalt) secaracterizeaz prin faptul c programele se apropie mai mult de formalismulmatematic i de limbajul natural dect de limbajul cod-main, astfel c se numesc, dinaceast cauz, limbaje de nivel nalt. Aceste limbaje sunt ca atare limbaje artificiale,avnd o anumit structur, denumit gramatic i care folosesc un vocabular pentruexprimarea cerinelor de programare. Folosirea acestor limbaje conduce la mrirea

    productivitii de elaborare a programelor. Translatarea dintr-un asemenea limbaj denivel nalt, n limbaj cod-main este asigurat de un program denumit translator.

    Limbajele de programare neprocedurale (limbajele de nivel foarte nalt) secaracterizeaz prin faptul c succesiunea comenzilor (instruciunilor) nu se mai

    stabilete conform unui algoritm de prelucrare i nu mai influeneaz dect ntr-o micmsur ordinea lor de execuie. Aceste limbaje de programare fac saltul de la modulcum se rezolv o problem la ceea ce se dorete prin rezolvarea problemei. Altfelspus, un program scris ntr-un limbaj neprocedural ofer numai un principiu derezolvare, nefiind necesare i detaliile specifice algoritmilor de prelucrare. Din acesteconsiderente, limbajele neprocedurale reprezint un salt calitativ fa de limbajele

    procedurale, fiind numite i limbaje de nivel foarte nalt. Astfel de limbaje oferutilizatorului posibilitatea de a defini doar problema, fr a-l mai obliga s precizeze imodul de rezolvare.

    Dupfunciile ndeplinite de limbajele de programare, se disting: limbaje de interogare simpl;

    limbaje de interogare complex; generatoare de situaii i rapoarte;

  • 8/11/2019 Programarea-VBA-2013-

    15/78

    15

    limbaje grafice; sisteme de fundamentare a deciziilor; limbaje de nivel nalt; limbaje de nivel foarte nalt; medii de programare.

    Limbajele de interogare simplpermit consultarea fiierelor i bazelor de datepe un singur tip de nregistrare logic, folosind un criteriu de selecie mai puincomplex.

    Limbajele de interogare complex permit consultarea datelor din mai multetipuri de nregistrri logice, aparinnd uneia sau mai multor baze de date (SQLStructured Query Language, QBEQuery By Exemple etc).

    Generatoarele de situaii i rapoarte se caracterizeaz prin folosirea a treifuncii de baz: selecia datelor cutate, ordonarea dup anumite criterii i editareasituaiilor ntr-o structur formalizat (exemplu, Report Writer).

    Limbajele grafice permit reprezentarea sub form grafic a rezultatelorprelucrrii automate (ca de exemplu, ADRS/B6, SAS, FoxGraph etc).

    Sistemele de fundamentare a deciziilorse adreseaz specialitilor din diversedomenii de activitate, pentru realizarea de aplicaii complexe (de exemplu,MULTIPLAN, LOTUS, EXCEL etc).

    Generatoarele de aplicaii se folosesc pentru obinerea de programetranslatabile pe baza descrierii datelor de intrare i de ieire (exemplu, ARGUS,LEDA, dBASE IV, FoxPro etc).

    Limbajele de nivel naltpermit elaborarea de programe cu o mai mare uurin,lrgind astfel sfera utilizatorilor, precum i creterea vitezei de scriere a programelor(de exemplu, NATURAL, XTOP, MANTIS, AS etc).

    Mediile de programare sunt limbaje evoluate care permit integrarea pe oplatform grafic de utilizator a tuturor activitilor de elaborare i executare aprogramelor pentru efectuarea complet a aplicaiilor i anume:

    editarea programelor surs, care const n introducerea instruciunilor(comenzilor) de la tastatur, folosind editorul de texte al mediului de

    programare sau compatibil cu acesta; verificarea corectitudinii instruciunilor (comenzilor) introduse i sesizarea

    erorilor de sintax; asistarea utilizatorilor (programatorilor) la introducerea instruciunilor i

    eliminarea erorilor de sintax care apar la editarea programelor surs; translatarea (compilarea) programelor surs i obi-nerea programelor obiect

    executabile;

    depanarea programelor i eliminarea erorilor de sintax i semantic care apardup lansarea n execuie a programelor surs i a celor obiect; executarea programelor cu date de prob i eliminarea unor eventuale erori

    logice; salvarea (memorarea) programelor i pregtirea lor pentru exploatarea curent

    cu date complete.

    Cum se clasifica limbajele de programare din punct de vedere al funciilor pecare lendeplinesc?...................

  • 8/11/2019 Programarea-VBA-2013-

    16/78

    16

    1.8. Rezumat

    Programul este o exprimare a procesului de prelucrare automat, care indicoperaiile pe care calculatorul trebuie s le execute, astfel nct din datele de

    prelucrat (iniiale) s obin rezultatele ateptate (finale). n orice program, ordinulprimit de calculator pentru a efectua o aciune determinat (ca de exemplu: o

    operaie de calcul, o operaie logic etc.) se numete instruciune(comand). Mijlocul de comunicare dintre utilizator i calculator este denumit limbaj de

    programare.

    Orice limbaj de programare se poate caracteriza prin elementele specificelimbajului natural: alfabet, vocabular, gramatic, punctuaie, semantic,

    pragmatic. Metalimbajul este unlimbajfolosit pentru descrierea altor limbaje.

    Limbajul intern al unui calculator se numetelimbaj main(cod main). Limbajele procedurale permit descrierea algoritmilor de prelucrare sub forma

    unei succesiuni de comenzi (instruciuni), executate ntr-o anumit ordine, stabilit

    de programator.

    1.9. Test de autoevaluare a cunotinelor(timp necesar: 20 min.)

    1) Cum se caracterizeaza un limbaj de programare?2)

    Cum se numete limbajul intern al calculatorului?3) Ce reprezinta un program surs?4)

    Ce rol are compilatorul?5) Cum se clasifica SGBD-urile n funcie de modul de organizare a datelor?6) Ce intelegeti prin medii de programare?

    Rspunsuri:

    1) Un limbaj de programare se poate caracteriza prin elementele specificelimbajului natural: alfabet, vocabular, gramatic, punctuaie, semantic,

    pragmatic.2) Limbajul intern al unui calculator se numetelimbaj main(cod main).3) Programul care rezult n urma scrierii instruciunilor acestuia ntr-un limbaj de

    programare, conform unui algoritm de prelucrare, se numeteprogram surs.4) Compilatorul are rolul de a transforma programele surs n programe obiect.5) n funcie de modul de organizare a datelor n bazele de date, se disting:

    sisteme de gestiune a bazelor de date ierarhice;sisteme de gestiune a bazelor de date reea;sisteme de gestiune a bazelor de date relaionale;sisteme de gestiune a bazelor de date orientate obiect;

    sisteme de gestiune a bazelor de date distribuite.6) Mediile de programare sunt limbaje evoluate care permit integrarea pe o

    platform grafic a tuturor activitilor de elaborare i executare a programelorpentru efectuarea complet a aplicaiilor.

    1.10. Tem de control

    Alctuii un scurt referatcu tema Tipuri de limbaje de programare.

    02:40

  • 8/11/2019 Programarea-VBA-2013-

    17/78

    17

    1.11. Bibliografie

    I. Bibliografie obligatorie1. Baron C., Florea E. i Crean A. Programarea calculatoarelor, Editura Pro

    Universitaria, Bucureti, 20122. Olteanu C., Baron C. i Oancea B. - Baze de date, Editura Pro Universitaria,Bucureti, 20103. Olteanu C., - Baze de date n Marketing. Aplicaii practice Microsoft Access,Editura InfoMega, Bucureti, 20124. Olteanu C.,- Bazele informaticii n Marketing. Aplicaii practice MicrosoftWord, Excel, Powerpoint i programe legislative, Editura InfoMega, Bucureti,20125. Surcel T. i colectiv Medii de programare pentru gestiunea bazelor de date,Editura Tribuna Economic, Bucureti, 20046. Florescu V. (coordonator) i colectiv Baze de date.Fundamente teoretice i

    practice,cap. 5 (Programarea n limbajul VBA),Editura InfoMega, Bucureti, 20027. Popa Gh. i colectiv Baze de dateAccess, cap. VI (Module), Editura CISON,Bucureti, 20038. Murean M. Gestiunea bazelor de date. SGBD Access2002, Editura CURTEAVECHE, Bucureti, 2004

    II. Bibliografie facultativ1. Murean M. Sisteme de gestiune a bazelor de date. Access 2002, Editura

    CURTEA VECHE, Bucureti, 20032.Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura

    Economic, Bucureti, 20003. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura

    CISON, Bucureti, 2002

  • 8/11/2019 Programarea-VBA-2013-

    18/78

    18

    UNITATEA DE NVARE 2. TEHNICI DE PROGRAMARE SIEXPLOATARE A CALCULATOARELOR ELECTRONICE

    CUPRINS

    2.1. Obiective2.2. Competenele unitii de nvare2.3. Tehnici de exploatare a sistemelor de calcul2.4. Rezumat2.5. Test de autoevaluare a cunotinelor2.6. Test de evaluare a cunotinelor2.7. Bibliografie

    2.1. Obiective

    n aceast unitate de nvare se vor prezenta

    noiunile de programare i deexploatare a calculatoarelor, precum i modul de folosire a tehnicilor de programaren activitatea de elaborare a programelor.

    2.2. Competenele unitii de nvareDup parcurgerea unitii vei fi n msur s:

    Utilizai tehnicile avansate n activitatea de elaborare a programelor; Identificai metoda eficient de lucru folosit n scopul elaborarii unui

    program;

    Utilizaicorect regulile sintactice i de punctuaie specifice unui limbaj de

    programare n funcie de natura aplicaiilor informatice.

    Durata de parcurgere a acestei uniti de nvare este de 2 ore.

    2.3. Tehnici de exploatare a sistemelor de calcul

    Pentru a prezenta tehnicile de programare este necesar, ca n prealabil, s sedefineasc unele noiuni legate de tehnicile de exploatare a sistemelor de calcul.Odat cu dezvoltarea tehnologiilor de fabricaie a componentelor fizice ale

    calculatoarelor electronice s-au creat premizele perfecionrii tehnicilor deexploatare ale acestora, prin intermediul unor noi componente software, capabile sfoloseasc eficient resursele hardware.

    Tehnicile utilizate pentru execuia programelor au n vedere att algoritmiide reprezentare i gradul de utilizare a resurselor sistemului de calcul, ct i moduln care sunt realizate obiectivele sistemului de operare, n condiiile de cretere aeficienei de exploatare a sistemelor de calcul.

    Urmtoarele noiuni sunt legate de modul de exploatare a sistemelor decalcul:

    monoprogramming; multiprogramming;

    time-sharing; real-time system.

    00:05

  • 8/11/2019 Programarea-VBA-2013-

    19/78

    19

    Monoprogramming (monoprogramarea) reprezint tehnica n careexecuia programelor este realizat n modul de operare batch(pe loturi), n care unsingur program, cel ce se execut, beneficiaz de toate resursele sistemului decalcul. Intrarea n sistem a programelor se face secvenial, ceea ce nseamn c un

    program nu poate intra n sistem, dect dup ce programul anterior i-a terminatexecuia.

    S ne reamintim...Monoprogramarea reprezint un mod de exploatare a sistemelor de calcul prinexecutarea serial a programelor.

    Multiprogramming (multiprogramarea) reprezint tehnica n care maimulte programe (task-uri) sunt rulate simultan, resursele sistemului de calcul fiindcomutate de la un program la altul, n funcie de prioritile unitii centrale de

    prelucrare. Aceasta nseamn c n acelai interval de timp, mai multe programesunt ncrcate n memoria calculatorului, accesul fiecrui program la resurse fiindimpus de ctre unitatea central. Aceast tehnic, privind ncrcarea simultan amai multor programe, care folosesc partajat unitatea central de prelucrare, esteconsiderat execuie concurent i are ca obiectiv mrirea gradului de ocupare aunitii centrale. Este ns necesar s se fac distincie ntre multiprogramare imultiprelucrare.

    Atunci cnd mai multe programe ocup n acelai timp memoriacalculatorului i i partajeaz resursele, exploaterea unui sistem de calcul este nmultiprogramare, iar cnd ntr-un sistem de calcul exist mai multe procesoare,exploatarea sistemului de calcul este n multiprelucrare (multiprocessing). Ca

    atare, multiprogramarea este un concept software, iar multiprelucrarea este unconcept hardware.

    Care este diferena dintre multiprogramarei multiprelucrare ?................... ...................

    Timesharing (execuia programelor prin divizarea timpului) este tehnicade exploatare, caracterizat de folosirea concurent a resurselor unui sistem decalcul, de ctre mai muli utilizatori, prin intermediul terminalelor plasate local saula distan. Aceast tehnic este, prin nsi natura sa, o tehnic de lucruconversaional i const n comutarea sau multiplexarea resurselor de timp ntreutilizatori.

    Termenul de multiplexare, provenit din telecomunicai, semnific partajarearesurselor sistem, astfel nct s se creeze efectul de folosire simultan a resurselor,de mai muli utilizatori.

    Dac ncazul multiprogramrii, obiectivul central este creterea gradului deocupare al unitii centrale, timpul de rspuns neconstituind un obiectiv major, ncazul tehnicii time-sharing, unitatea central este partajat pe baz de cerere,

    prioritatea fiind optimizarea timpului de rspuns al sistemului de calcul.

    Notiunea de timesharingreprezint:

    00:30

  • 8/11/2019 Programarea-VBA-2013-

    20/78

    20

    ................... ...................

    Realtime system (sistem de calcul n timp real) este sistemul n caretimpul de rspuns, rezultat n urma execuiei calculelor i a celorlalte operaii, este

    suficient de mic, nct poate controla procesele ce se desfoar n cadrulsistemului respectiv. Analiza unui sistem care opereaz n timp real se poate facedin mai multe puncte de vedere: hardware, software, programare, testare, depanarei utilizare.

    Sistemele de calcul care opereaz n timp real au un timp de rspuns foartemic pentru a nu se perturba procesele controlate. Un exemplu de astfel de sistemesunt sistemele care controleaz desfurarea proceselor tehnologice.

    Notiunea de real-time systemreprezint:..............

    Analiza eficienei exploatrii sistemelor de calcul se poate efectua din maimulte puncte de vedere, printre care cele mai importante se refer la:

    performanele tehnice ale echipamentelor de prelucrare automat a datelor; tehnicile folosite n exploaterea sistemelorde calcul; tehnicile folosite pentru realizarea programelor n scopul efecturii de

    aplicaii.

    Analiza eficienei exploatrii sistemelor de calcul se refer la?...................

    S ne reamintim...Realtime system(sistem de calcul n timp real) este sistemul n care timpul derspuns, rezultat n urma execuiei calculelor i a celorlalte operaii, este suficientde mic, nct poate controla procesele ce se desfoar n cadrul sistemuluirespectiv.

    2.4. Rezumat

    Monoprogramareareprezint un mod de exploatare a sistemelor de calculprin executarea serial a programelor .

    Multiprogramarea reprezint tehnica n care mai multe programe (task-uri) sunt rulate simultan, resursele sistemului de calcul fiind comutate de laun program la altul, n funcie de prioritile unitii centrale deprelucrare.

    Timesharing (execuia programelor prin divizarea timpului) este tehnicade exploatare, caracterizat de folosirea concurent a resurselor unui sistem

    de calcul, de ctre mai muli utilizatori, prin intermediul terminalelor plasatelocal sau la distan.01:30

  • 8/11/2019 Programarea-VBA-2013-

    21/78

    21

    Realtime system (sistem de calcul n timp real) este sistemul n caretimpul de rspuns, rezultat n urma execuiei calculelor i a celorlalteoperaii, este suficient de mic, nct poate controla procesele ce sedesfoar n cadrul sistemului respectiv.

    2.5. Test de autoevaluare a cunotinelor(timp necesar : 20 minute)

    1. Suportul formal al informaiilor, modelul de reprezentare a informaiilor la nivelfizic i logic sunt:

    a. structurile b. datele c. comenzile d. instruciunile

    2. Pentru efectuarea oricrei aplicaii cu ajutorul calculatorului este necesar s fie:

    a.organizat b.structurat c.sistematizat d.algoritmizat

    3. Limbajul de programare cel mai apropiat de limbajul natural se numete:a.limbaj pseudocod b.limbaj proceduralc.limbaj neprocedural d.limbaj algoritmic

    4. Reprezentarea procesului de prelucrare automat a datelor complet i frambiguiti se numete:

    a. procesare b. evaluare c. reprezentare d. descriere algoritmic

    5. Descrierea algoritmic procesului de prelucrare, dup care calculatorul poateefectua orice aplicaie, este denumit:

    a. algoritm b. program c. instruciune d. comand

    6. n orice program, ordinul primit de calculator de a efectua o aciune determinatse numete:

    a. instruciune b. codificare c. operaie d. aplicaie

    7. Forma de reprezentare a comunicrii dintre utilizator i calculator se numete:

    a. limbaj natural b. limbaj artificialc. limbaj de programare d. intruciune

    8. Mulimea simbolurilor care sunt folosite ntr-un limbaj de programare senumete:

    a. instruciune b. program c. alfabet d. vocabular9. Ansamblul regulilor de formare a instruciunilor n cadrul limbajelor de

    programare se numete:

    a. alfabet b. vocabular c. sintax d. semantic

    10. Limbajele care fac saltul de la modul cum se rezolv la ceea ce se doreteprin rezolvarea problemei se numesc limbaje:

    a. algoritmice b. de nivel nalt c. procedurale d. neprocedurale

    Rspunsurile corecte la ntrebrile din testul de tipgril:

    1 b 2 d 3 c 4 d 5 b 6 a 7 c 8 c 9 c 10 d

  • 8/11/2019 Programarea-VBA-2013-

    22/78

    22

    2.6. Test de evaluare a cunotinelorA. Care sunt criteriile de alegere a mediilor de programare n activitatea de

    elaborare a programelor pentru efectuarea aplicaiilor informatice;B. Care sunt posibilitile de exploatare ale mediilor de programare fa de

    limbajele de programare, n procesul de elaborare a programelor;C. Ce se nelege, n sens lingvistic, printr-un sistem de comunicare specific

    oamenilor alctuit din sunete articulate ?D. Cum se numete sistemul de comunicare creat n mod intenionat de

    oameni, pentru realizarea comunicrii ntr-unul sau altul din domeniile deactivitate uman ?

    E. Cum se numete sistemul de comunicare destinat descrierii prindirective,comenzi sau instruciuni, exprimate simbolic, a operaiilor de prelucrareautomat a datelor ?

    F. Cum este denumit ansamblul regulilor de modificare a formei cuvintelor, ncontextul ntrebuinrii lor, n cadrul unui limbaj de programare ?

    G.

    Cum se numete programul elaborat ntr-un limbaj de nivel nalt (superiorlimbajului cod-main) conform algorit-mului aplicaiei ?

    H. Cum se numete limbajul de programare elaborat ca o variant simplificata limbajului FORTRAN cu scopul de a fi folosit interactiv pentru nvarearapid a programrii calculatoarelor ?

    I. Cum se numete programul obinut dup translatarea unui program surs,

    folosind un program de translatare corespunztor ?

    2.7. Teme de controla)

    Realizai un studiu comparativ privind posibilitile de folosire ale limbajelorde programare n funcie de nivelul situat fa de limbajul n cod-main.

    b) Alctuii un scurt referat cu tema: Modul de alegere a unui limbaj de

    programare n funcie de domeniile de folosire, specificul aplicaiilor iparticularitile limbajelor de programare.

    c) Alctuii un scurt referat cu tema: Influena exercitat de ctrecaracteristicile mediilor de programare asupra activitiilor de elaborare a

    programelor, n funcie de specificul aplicaiilor.

    2.8. Bibliografie

    I.Bibliografie obligatorie1. Baron C., Florea E. i Crean A.Programarea calculatoarelor, Editura ProUniversitaria, Bucureti, 20122. Olteanu C., Baron C. i Oancea B. - Baze de date, Editura Pro Universitaria,Bucureti, 20103. Olteanu C., - Baze de date n Marketing. Aplicaii practice Microsoft Access,Editura InfoMega, Bucureti, 20124. Olteanu C.,- Bazele informaticii n Marketing. Aplicaii practice MicrosoftWord, Excel, Powerpoint i programe legislative, Editura InfoMega, Bucureti,20125. Surcel T. i colectiv Medii de programare pentru gestiunea bazelor de date,

    Editura Tribuna Economic, Bucureti, 20046. Florescu V. (coordonator) i colectiv Baze de date.Fundamente teoretice i

  • 8/11/2019 Programarea-VBA-2013-

    23/78

    23

    practice, cap. 5 (Programarea n limbajul VBA), Editura InfoMega, Bucureti,20027. Popa Gh. i colectiv Baze de dateAccess, cap. VI (Module), Editura CISON,Bucureti, 20038. Murean M. Gestiunea bazelor de date. SGBD Access 2002, Editura

    CURTEA VECHE, Bucureti, 2004

    II. Bibliografie facultativ1. Murean M. Sisteme de gestiune a bazelor de date. Access 2002, Editura

    CURTEA VECHE, Bucureti, 20032.Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura

    Economic, Bucureti, 20003. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura

    CISON, Bucureti, 2002

  • 8/11/2019 Programarea-VBA-2013-

    24/78

    24

    UNITATEA DE NVARE 3.ALGORITMI I ALGORITMIZAREAAPLICAIILOR

    CUPRINS

    3.1. Obiective3.2. Competenele unitii de nvare3.3. Algoritmi3.4. Proprietile algoritmilor3.5. Tipuri de algoritmi3.6. Operaiile reprezentate n algoritmi3.7. Clasificarea algoritmilor3.8. Rezumat3.9. Test de autoevaluare a cunotinelor3.10. Test de evaluare a cunotinelor3.11. Bibliografie

    3.1. Obiective

    n aceast unitate de nvare se va prezenta noiunesde algoritmca premiz pentrunelegerea modului de algoritmizare a oricrei aplicaii. De asemenea, se vor prezenta

    proprietile algoritmilor, tipurile de algoritmi i operaiile care se reprezint nalgorimi pentru construcia corect a algoritmilor i reprezentarea corespunztoarelogic a aplicaiilor.

    3.2. Competenele unitii de nvareDup parcurgerea unitii vei fi n msur s:

    Definiinoiunea de algoritm n sens general i n sens restrictiv; Identificai proprietile algoritmilor pentru definirea lor corect sub aspect

    formal i logic, precum i tipurile de algoritmi n funcie de natura operaiilorde efectuat i de natura datelor folosite;

    Efectuai algoritmizarea aplicaiilor pentru adaptarea lor la cerinele prelucrriiautomate.

    Utilizai corect operatorii i operanzii n construcia algoritmilor pentrualgoritmizarea aplicaiilor.

    Durata de parcurgere a acestei uniti de nvare este de 3 ore.

    3.3. Algoritmi

    n prelucrarea automat a datelor, logica programrii calculatoarelor estedenumirea pentru ansamblul operaiilor de determinare, reprezentare i evaluare aalgoritmilor de rezolvare a aplicaiilor cu calculatorul electronic.

    ns, n contextul realizrii produselor informatice, aceast denumire esteextins, prin implicaiile sale, asupra modului de concepere a structurii de ansamblu a

    produselor informatice, cu dependenele funcionale specifice, precum i asupramodului de realizare a acestor produse.

    DefiniiiDenumirea de algoritm provine din contopirea cuvntului alhovism, dup

    00:05

  • 8/11/2019 Programarea-VBA-2013-

    25/78

    25

    numele unui matematician arab (ALHVARISMI care a trit n evul mediu), cucuvntul grec arithmos(numr).

    Definirea noiunii (conceptului) de algoritm a evoluat odat cu dezvoltareastudiilor matematice i a tehnicii de calcul (mai ales a calculatoarelor electronice).

    * n matematica contemporan prin algoritm se poate nelege orice proces

    aritmetic sau algebric care se efectueaz dup nite regulibine determinate.* n sens matematic mai riguros un algoritmeste o mulime finit de operaii(instruciuni, comenzi) cunoscute care, executate ntr-o ordine bine stabilit, pornindde la un set de valori (intrarea algoritmului) ce aparine unei mulimi de asemenea

    seturi, mulime numit domeniul de definiie al algoritmului, produc n timp finit un altset de valori (ieirea algoritmului).

    * n contextul n care se folosete calculatorul electronic, noiunea dealgoritmeste definit ca un ansamblu de reguli ce determin n mod univoc un proces

    finit de operaii de prelucrare automat asupra unor informaii admisibile iniiale nscopul obinerii informaiilor finale caresunt ateptate de utilizatori.

    Definii noiunea de algoritm......................................................................................................................................................................................................................................................................................................................................................................................................................

    3.4. Proprietile algoritmilor

    Pentru definirea corect sub aspect formal, algoritmii trebuie s ndeplineasccel puin trei condiii eseniale:generalitate,finitudinei unicitate.

    Generalitateaeste proprietatea algoritmilor prin care orice algoritm nu rezolvn general o singur problem, ci o clas de probleme de acelai tip. Aceast

    proprietate justific nsui sensul (scopul) pentru care un algoritm este elaborat. Cu ctsfera de aplicabilitate a algoritmului este mai larg, cu att eficiena folosirii acestuiaeste mai mare.

    Finitudinea este proprietatea algoritmilor potrivit creia informaiile finalerezult din informaiile iniiale printr-un numr finit de transformri (operaii). Aceast

    proprietate pune n eviden faptul c dac n parcurgerea unui algoritm, dintr-unanumit motiv (de obicei dintr-o eroare n logica elaborrii), o operaie sau un grup deoperaii se execut la infinit, atunci pentru a iei din aceast stare (a ntrerupe aceastexecuie) este necesar o intervenie din exterior.

    Unicitatea este proprietatea algoritmilor conform creia transformrile(operaiile), precum i ordinea lor de efectuare, prin care se obin anumite informaiifinale din informaiile iniiale, sunt univoc determinate de regulile algoritmului.Aceasta nseamn c ori de cte ori se pornete de la acelai set de valori aleinformaiilor (variabilelor) de intrare se obin ntotdeauna aceleai informaii finale(rezultate).

    Aceste trei proprieti caracterizeaz algoritmii numai sub aspect formal.Pentru a fi ns corespunztor i din punct de vedere al problemei de rezolvat (subaspect logic), orice algoritm mai trebuie s fie corecti eficient.

    Corectitudinea este o condiie indispensabil pentru orice algoritm, fiinddeterminat de metoda de rezolvare aproblemei aleas de utilizator.

    Eficienaunui algoritm este impus de modul cum se lucreaz la calculator ide timpul de rspuns al calculatorului. n prezent modul de lucru la calculator este, de

    00:30

  • 8/11/2019 Programarea-VBA-2013-

    26/78

    26

    obicei, modul conversaional, iar timpul de rspuns al calculatorului este timpul caretrece de la introducerea datelor n calculator de ctre utilizator i pn la obinerearezultatelor. Aceasta nseamn c, dei un algoritm poate fi corect sub aspect formal ial metodei de rezolvare, este posibil s fie ineficient dac, de exemplu, furnizeazrezultatele mai trziu dect momentul ateptat. De asemenea, un algoritm poate fi

    ineficient i sub alte aspecte, cum sunt: precizia, volumul de date necesare, resursefolosite etc.

    S ne reamintim...Algoritmii trebuie s ndeplineasc cel puin trei condiii eseniale: generalitate,finitudine i unicitate. Pentru a fi ns corespunztor i din punct de vedere alproblemei de rezolvat (sub aspect logic), orice algoritm mai trebuie s fie corectieficient.

    Cenelegei prin generali tate, fi ni tudinei unicitate?...................................................................................................................

    Dar prin corectitudineasi eficienaunui algoritm?...................................................................................................................

    3.5. Tipuri de algoritmi

    n funcie de natura operailor coninute i informailor folosite, algoritmii sepot mpri n dou mari grupe:algoritmi numericii algoritmi nenumerici.

    * Algoritmii numericisunt algoritmii care, n urma efecturii unui numr finit deoperaii aritmetice elementare asupra unor informaii numerice, furnizeaz un rezultat

    numeric ce constituie soluia sau aproximaiaacesteia pentru problema rezolvat. naceast grup se includ algoritmii ce corespund metodelor de calcul numeric, cumsunt: rezolvarea ecuaiilor, integrarea i derivarea numeric, calculul matriceal.

    Algoritmii numerici se caracterizeazprin: mrginirea (limitarea) n timp a duratei de execuie; definirea riguroas a fiecrui ciclu (pas) din cadrul structurii algoritmului; executabilitatea tuturor aciunilor (operaiilor) coninute; corectitudinea metodelorde evaluare a algoritmilor.* Algoritmii nenumericidenumii i algoritmi de prelucraresunt algoritmii n

    care soluia rezolvrii problemelor (rezultatul prelucrrii) se obine n urma efecturiiunui numr finit de operaii care nu sunt operaii aritmetice (de exemplu: sortarea,

    indexarea, filtrarea, ventilarea, regruparea, interclasarea etc.).n aceast grup se includ toi algoritmii de prelucrare a datelor organizate

    structural n fiiere de date i baze de date. n algoritmii de prelucrare pot fi incluse, nfuncie de natura aplicaiilor, i operaii aritmetice care se constituie n subalgoritminumerici.

    Definii noiunile de algori tmi numeri ci sialgoritmi nenumeri ci......................................................................................................................................................................................................................................................................................................................................................................................................................

    3.6. Operaiile reprezentate n algoritmi

    01:00

  • 8/11/2019 Programarea-VBA-2013-

    27/78

    27

    n structura algoritmilor, informaiile iniiale (datele de intrare) sunttransformate n informaii finale (date de ieire) prin diferite operaii (aciuni), care, n

    principal, sunt: Operaii de calcul, ce se refer la operaiile obinuite (adunare, scdere,

    nmulire, imprire i ridicare la putere) i la celelalte operaii mai complexe ce se pot

    executa prin reducerea la operaii aritmetice elementare.Aceste operaii sunt reprezentate prin simbolurile cunoscute din matematic sau prinsimbolurile folosite n limbajele de programare:

    + pentru adunare,- pentru scdere,* pentru nmulire,/ pentru imprire,** pentru ridicare la putere;( ) pentru subexpresii.

    Aceste operaii cnd sunt specificate n cadrul expresiilor se execut n modnatural, conform ordinei de prioritate cunoscut din matematic, sau n mod forat,

    prin folosirea parantezelor rotunde. Operaii de atribuire, prin care se stabilete coninutul unor variabile cu

    anumite valori, care pot fi valori ale unor constante, ale altor variabile sau aleunor expresii.

    Aceste operaii se pot reprezenta prin trei simboluri diferite:

  • 8/11/2019 Programarea-VBA-2013-

    28/78

    28

    Rezultatul unei astfel de comparri pune n eviden trei alternative: mai mic dect,egal cuimai mare dect.

    Exemple:A :B D :0

    S ne reamintim...Dup modul de exprimare a condiiilor logice, operaiile de decizie pot fi reprezentate

    prin dou feluri de simboluri:simboluri de comparare; simboluri de relaie.

    Punnd n eviden aceste trei alternative, nu se recomand ca simbolul de comparares fie folosit pentru formularea condiiilor logice, deoarece complic structuraalgoritmilor i, n consecin, reprezentarea acestora.

    Simbolurile relaionalesunt simbolurile folosite n matematic sau cele folosien limbajele de programare, cum sunt urmtoarele: mai mare dect= egal cu= mai mare dect sau egal cu

    nu este egal cuExemple:

    A < B A > B A = BA = B A B

    Punnd n eviden numai dou alternative (adevrat i fals), simbolurile de relaie(relaionale) sunt cele care se recomand s fie folosite pentru formularea (exprimarea)condiiilor logice.

    Operaii de intrare i ieire, ce se refer la introducerea informaiilor admisibileiniiale (datelor de intrare) n memoria calculatorului i la obinerea informaiilor finale(rezultatelor sau datelor de ieire).

    n prelucrarea automat a datelor, operaia de intrare se mai numete i operaiede citirei const n introducerea de date de la tastatur sau de pe un suport tehnic dedate, iar operaia de ieire se mai numete operaie de scrieresau de afiarei const

    n furnizarea de date pe ecranul monitorului sau pe imprimant. Pentru descriereaoperaiilor de intrare i ieire nu sunt simboluri speciale (consacrate), dar se folosesc nmod frecvent cuvintele CITETEi SCRIE.

    Alte operaii, prin care se desemneaz diferite operaii (aciuni) care se ntlnesc,de obicei, n algoritmii nenumerici (de prelucrare), ca de exemplu: cutare, extragere,sortare, interclasare etc. Aceste operaii nu se reprezint prin simboluri speciale(consacrate), ci chiar prin denumirea lor.

    Ordinea de execuie a operaiilor definetestructura de control a algoritmului.Aceast structur, indiferent de tipul algoritmului, prezint anumite similitudini, carederiv din cele dou caracteristici de baz ale oricrui algoritm: iterativitatea irecursivitatea.

    01:50

  • 8/11/2019 Programarea-VBA-2013-

    29/78

    29

    * Iterativitatea const n reluarea anumitor operaii de prelucrare, n generalcu alte valori ale variabilelor.

    * Recursivitateareprezint procesul de determinare a valorii unei variabile, laun moment dat, pe baza uneia sau a mai multor valori anterioare. Din cele prezentaterezult c, se poate face o asociere ntre recursivitate i iterativitate, n sensul c,obinerea valorilor succesive ale unei variabile recursive se poate asigura print -un

    proces iterativ.

    Definiicele dou caracteristici de baz ale unui algoritm......................................................................................................................................................................................................................................................................................................................................................................................................................

    3.7. Clasificarea algoritmilor

    Dup modul de succesiune a operaiilor (aciunilor) pe care le implic, algoritmii sempart n trei mari grupe:

    algoritmi liniari sau cu structur secvenial; algoritmi cu ramificaii sau cu structur alternativ; algoritmi ciclici sau cu structur repetitiv.

    Algoritmii liniari (cu structur secvenial)conin operaii care se succed nsecven (operaie dup operaie) de la admiterea informaiilor iniiale (datelor deintrare) i pn la obinerea informaiilor finale (datelor de ieire), fr condiii

    prestabilite de execuie i fr repetri ale operaiilor.

    Exemplu:Calculul expresiei E = A + BC implic efectuarea n ordine secvenial a

    celor trei operaii specificate:adunarea valorii variabilei A cu valoarea variabilei B;scderea din suma obinut a valorii variabilei C;atribuirea rezultatului obinut variabilei E.

    Algoritmii cu ramificaii (cu structur alternativ)conin operaii (aciuni)care se execut n funcie de ndeplinirea sau nendeplinirea unor condiii logice dinstructura algoritmilor; structura se ramific pe alternative distincte, fiecare avnd

    operaii care se execut condiionat.

    Exemplu:

    Calculul rdacinilor ecuaiei de gradul doi se desfoar pe etape, astfel: etapa 1: se calculeaz discriminantul ecuaiei pe baza formulei cunoscute; etapa 2: se compar discriminantul D cu zero; etapa 3: se calculeaz rdcinile ecuaiei astfel:

    dac D>0se execut operaiile pentru obinerea celor dou rdcini realei distincte;

    dac D=0se execut operaiile pentru obinerea celor dou rdcini realei egale;

    dac D

  • 8/11/2019 Programarea-VBA-2013-

    30/78

    30

    complexe.

    Algoritmii ciclici (cu structur repetitiv) conin operaii (aciuni) care seexecut ciclic (repetat), n funcie de ndeplinirea sau neindeplinirea unei condiiiimpuse. n structura unui algoritm ciclic parcurgerea o singur dat a blocului deoperaii repetabile se numete ciclu sau pas. Elementele unui ciclu (pas) sunt: corpulciclului, reprezentat de blocul de operaii care se repet i condiia impus, de caredepinde continuarea sau terminarea procesului repetitiv.

    n funcie de posibilitatea cunoaterii numrului de cicluri (pai) nainte de ancepe procesul ciclic (repetitiv), algoritmii ciclici sunt de dou feluri:

    algoritmi ciclici cu un numr cunoscut de cicluri (pai) sau cu variabil deciclare;

    algoritmi ciclici cu un numr necunoscut de cicluri (pai) sau cu condiielogic.

    Algoritmii ciclici cu un numr cunoscut de cicluri sunt algoritmii ciclici nstructura crora blocul de operaii se repet pn cnd se ajunge la numrul de cicluri

    prestabilit. Acest numr de cicluri este controlatde o variabil denumit variabil deciclare(contor sau numrtor) simbolizat, n general, cu V.

    Variabila de ciclare Veste determinat elementele: valoarea iniial Vi; valoarea final Vf; raia (pasul) de variaie R.

    Aceste trei elemente se gsesc ntr-o relaie bine definit cu variabila de ciclarei anume: la nceputul procesului repetitiv variabilei de ciclare V i se atribuie valoarea

    iniial Vipe baza relaiei V=Vi; dup efectuarea fiecrui ciclu (pas)variabila de ciclare Vse modific pe baza

    relaiei V=V+Ri apoi se verific condiia V>Vf, astfel c: dac aceast condiie este fals, atunci procesul de ciclare continu; dac aceast condiie este adevrat, atunci acest proces se termin.

    Algoritmii ciclici cu un numr necunoscut de ciclurisunt algoritmii ciclici ncare blocul de operaii se repet n funcie de ndeplinirea sau nendeplinirea uneianumite condiii care se numete condiie logic.

    innd seama de locul unde este situat condiia logic n structura algoritmilorciclici cu un numr necunoscut de cicluri se pot distinge:

    algoritmi ciclici cu condiia logic situat anterior; algoritmi ciclici cu condiia logic situat posterior.

    Algoritmii ciclici cu condiia logic situat anterior sunt algoritmii n carecondiia logic se verific nainte de executarea blocului de operaii. Ca atare, cndcondiia logic este fals de la prima verificare, blocul de operaii nu se executniciodat i se ncheie procesul repetitiv.

    Algoritmii ciclici cu condiia logic situat posterior sunt algoritmii n carecondiia logic este verificat dup executarea blocului de operaii. Cnd condiialogic este fals de la prima verificare, blocul de operaii se execut o singur dat i

  • 8/11/2019 Programarea-VBA-2013-

    31/78

    31

    se ncheie procesul repetitiv.

    Care sunt diferenele ntre algoritmii ciclici cu condiia logic situat anterior sialgoritmii ciclici cu condiia logic situat posterior ?..

    ...

    3.8. Rezumat

    Noiunea de algoritm este definit ca un ansamblu de reguli ce determin nmod univoc un proces finit de operaii de prelucrare automat asupra unorinformaii admisibile iniiale n scopul obinerii informaiilor finale care suntateptate de utilizatori.

    Algoritmii au urmtoarele proprieti: generalitate, finitudine, unicitate,corectitudinei eficien.

    n funcie de natura operailor coninute i informailor folosite, algoritmii sepot mpri n dou mari grupe: algoritmi numericii algoritmi nenumerici.

    Algoritmii numericisunt algoritmii care, n urma efecturii unui numr finitde operaii aritmetice elementare asupra unor informaii numerice, furnizeazun rezultat numeric ce constituie soluia sau aproximaia acesteia pentru

    problema rezolvat. Algoritmii nenumericidenumii i algoritmi de prelucraresunt algoritmii n

    care soluia rezolvrii problemelor (rezultatul prelucrrii) se obine n urma

    efecturii unui numr finit de operaii care nu sunt operaii aritmetice (deexemplu: sortarea, indexarea, filtrarea, ventilarea, regruparea, interclasareaetc.).

    Operaiile reprezentate n algoritmipot fi de tipul urmator: operaii de calcul,operaiide atribuire, operaiide decizie, operaiide intrare/iesire.

    Dup modul de succesiune a operaiilor (aciunilor) pe care le implic,algoritmii se mpart n trei mari grupe:- algoritmi liniari sau cu structur secvenial;- algoritmi cu ramificaii sau cu structur alternativ;- algoritmi ciclici sau cu structur repetitiv.

    3.9. Test de autoevaluare a cunotinelor(timp necesar : 20 minute)

    1) Definiinoiunea dealgoritm.2) Definii proprietatea de Generalitate.3) Definii proprietatea deFinitudine.4) Prin ce se caracterizeaz algoritmii numerici?5)

    Ce ntelegei prin operaiile de decizie?6) Care sunt caracteristicile de baz ale unui algoritm?7)

    Cum pot fi reprezentate operaiile de decizie?8) Ce ntelegei prin algoritmii ciclici cu un numr cunoscut de cicluri?

    02:40

  • 8/11/2019 Programarea-VBA-2013-

    32/78

    32

    Rspunsuri:

    1)Noiunea de algoritm este definit ca un ansamblu de reguli ce determin nmod univoc un proces finit de operaii de prelucrare automat asupra unorinformaii admisibile iniiale n scopul obinerii informaiilor finale care sunt

    ateptate de utilizatori.2) Generalitatea este proprietatea algoritmilor prin care orice algoritm nu rezolv

    n general o singur problem, ci o clas de probleme de acelai tip.3) Finitudinea este proprietatea algoritmilor potrivit creia informaiile finale

    rezult din informaiile iniiale printr-un numr finit de transformri (operaii).4) Algoritmii numerici se caracterizeaz prin:

    mrginirea (limitarea) n timp a duratei de execuie; definirea riguroas a fiecrui ciclu (pas) din cadrul structurii algoritmului; executabilitatea tuturor aciunilor (operaiilor) coninute; corectitudinea metodelor de evaluare a algoritmilor.

    5) Operaiilede decizie se refer la verificarea unei condiii logicei n funcie de

    rezultatul obinut se alege fie o alternativde urmat (n cazul algoritmilor curamificaii), fiecontinuarea, respectiv terminarea procesului repetitiv (n cazulalgoritmilor ciclici).

    6)

    Caracteristicile de baz ale unui algoritm sunt: iterativitatea i recursivitatea.7) Operaiile de decizie pot fi reprezentate prin dou feluri de simboluri:

    - simbolul de comparare;

    - simbolul de relaie.8)

    Algoritmii ciclici cu un numr cunoscut decicluri sunt algoritmii ciclici nstructura crora blocul de operaii se repet pn cnd se ajunge la numrul decicluri prestabilit.

    3.10. Test de evaluare a cunotinelor

    Care sunt operaiile reprezentate n algoritmi?Cum se clasific algoritmii dupmodul de succesiune a operaiilor (aciunilor) pe carele implic?

    3.11. Bibliografie

    I. Bibliografie obligatorie1. Baron C., Florea E. i Crean A. Programarea calculatoarelor, Editura ProUniversitaria, Bucureti, 20122. Olteanu C., Baron C. i Oancea B. - Baze de date, Editura Pro Universitaria,Bucureti, 20103. Olteanu C., - Baze de date n Marketing. Aplicaii practice Microsoft Access,Editura InfoMega, Bucureti, 20124. Olteanu C.,- Bazele informaticii n Marketing. Aplicaii practice MicrosoftWord, Excel, Powerpoint i programe legislative, Editura InfoMega, Bucureti,20125. Surcel T. i colectiv Medii de programare pentru gestiunea bazelor de date,

    Editura Tribuna Economic, Bucureti, 20046. Florescu V. (coordonator) i colectiv Baze de date.Fundamente teoretice i

  • 8/11/2019 Programarea-VBA-2013-

    33/78

    33

    practice,cap. 5 (Programarea n limbajul VBA),Editura InfoMega, Bucureti, 20027. Popa Gh. i colectiv Baze de date Access, cap. VI (Module), Editura CISON,Bucureti, 20038. Murean M. Gestiunea bazelor de date. SGBD Access2002, Editura CURTEAVECHE, Bucureti, 2004

    II. Bibliografie facultativ1. Murean M. Sisteme de gestiune a bazelor de date. Access 2002, Editura

    CURTEA VECHE, Bucureti, 20032.Nstase P. i colectiv Tehnologia bazelor de date Access 2000, Editura

    Economic, Bucureti, 20003. Popa Gh. i colectiv Baze de date Access - Culegere de probleme, Editura

    CISON, Bucureti, 2002

  • 8/11/2019 Programarea-VBA-2013-

    34/78