programare

21

Upload: karina-neamtu

Post on 03-Feb-2016

18 views

Category:

Documents


0 download

DESCRIPTION

fragmente de materie disponibila pentru Programare

TRANSCRIPT

Page 1: Programare
Page 2: Programare

2

Page 3: Programare

Suport de curs pentru Initiere in programare

Curs de Programare 1 - Programarea aplicațiilor Microsoft Office (Visual Basic for Applications)

Introducere

VBA (Visual Basic for Applications) este un limbaj de programare creat de Microsoft pentru automatizarea aplicațiilor. Atașat inițial componentelor din Microsoft Office, în prezent sunt raportate peste 200 de aplicații care include VBA (CorelDraw, AutoCAD etc.).VBA este parte a familiei de limbaje Visual Basic, situându-se sub VB, dar peste VBScript. Totuși, VBA este acum un element esențial în versiunea completă VB, oferind suport pentru limbaj, interfața pentru forme, controale, obiecte, tehnologii de accesare a datelor. Atunci când este găzduită de altă aplicație, cum ar fi Excel, VBA oferă mijloacele de interacțiune cu obiectele aplicației gazdă. In acest caz, VBA permite dezvoltatorilor să furnizeze soluții complete care extind și/sau integrează aplicațiile gazdă. Pentru a programa în VBA trebuie totuși reținut că o cerință suplimentară față de alte limbaje este aceea că trebuie să se cunoască aplicația gazdă (Word, Excel, PowerPoint, Access etc.).Tipurile de controale disponibile in VBA sunt prezentate in tabelul urmator:Tabel 1 Tipuri de controale VBA

Nr. crt. Tip de control1. Etichete control2. Casetă text control3. CommandButton control4. Casetă listă control5. casetă combo control6. Cadru control7. OptionButton control8. casetă de selectare control9. ToggleButton control10. TabStrip control11. MultiPage control12. Bară de defilare control13. SpinButton control14. RefEdit control15. Imagine control

1. Scurt istoric1993 — VBA apare în Microsoft Excel1994 — VBA este atașat la Microsoft Project1995 — este inclus în Microsoft Access, înlocuind Access Basic1996 — VBA devine element în Visual Basic1996 — este inclus în Word, înlocuind Word Basic1997—VBA este integrat în suita Office 971997 — Microsoft licențiază VBA pentru utilizarea în alte aplicații software

2. Tipuri de controale

3

Page 4: Programare

Sectiunea 2

2.1. Controalele casetă textControalele casetă text sunt utilizate frecvent pentru a aduna de intrare de la un utilizator. Proprietatea Text conține intrarea efectuate într-un control casetă text .Cum se utilizează un control casetă text pentru a valida o parolăDacă ați setat proprietatea PasswordChar unui control casetă text , acesta va fi un control "editare mascate". Fiecare caracter care este tastat în caseta de text de control este înlocuit vizual de caractere specificat. Pentru a utiliza un control casetă text pentru a valida o parolă, urmați acești pași:Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.Adăugarea unui control casetă text la UserForm.În meniul vizualizare Proiect , faceți clic peProprietăți pentru a face vizibil fereastra proprietăți.În proprietatea PasswordChar a controlului casetă text , tastați *.

Adăugați un control CommandButton UserForm.Faceți dublu clic pe CommandButton control toopen fereastra de cod pentru UserForm.În fereastra de cod, tastați următorul cod pentru Evenimentul CommandButton1 Click :

Figură 1 Exemplu control Caseta text

În meniul de executare , faceți clic pe RunSub/UserForm.Tastați parola Userform în caseta de text de control.Faceți clic pe controlul CommandButton.Pentru acest exemplu, parola este "userform". Dacă tastați o parolă incorectă, veți primi o casetă de mesaj care afirmă că parola este incorectă, controlul casetă text este eliminat și apoi posibilitatea să reintroduceți parola. Când tastați o parolă corectă, primiți un mesaj de întâmpinare, și UserForm se închide.

2.2. Controale de tip CommandButton Utilizați un control CommandButton pentru a porni o procedură VBA. Evenimentul Click pentru controlul CommandButton de obicei atașat procedura VBA. Pentru a utiliza un control CommandButton care se execută o procedură când faceți clic pe evenimentul apare, urmați acești pași:Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.Adăugați un control CommandButton UserForm.

4

Page 5: Programare

Suport de curs pentru Initiere in programare

Faceți dublu clic pe CommandButton control todisplay fereastra de cod pentru UserForm.În fereastra de cod, introduceți codul următor:

Exemplu de control CommandButtonÎn meniul de executare , faceți clic pe RunSub/UserForm.Culoarea de fundal pentru controlul CommandButton1 schimbă mereu că se face clic.

2.3. Control casetă listăScopul controlului casetă listă este să prezinte utilizatorul cu o listă de articole pentru a selecta din. Aveți posibilitatea să stocați Listă tabel element pentru o listă de control pe o foaie de lucru Excel. Pentru a popula un control casetă listă cu un interval de celule pe o foaie de lucru, utilizați proprietatea Sursă rânduri . Atunci când utilizați proprietatea MultiSelect , posibilitatea să configurați o listă de control pentru a accepta selecții multiple.Cum se obțin elementului selectat din listă de controlUtilizați proprietatea valoare unui control casetă listă pentru a returna elementul selectat. Pentru a returna elementul selectat într-un singur Selectați control casetă listă , urmați acești pași:Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În celulele a1: A5 pe Foaie1, introduceți valorile că doriți alternative pentru a popula controlul casetă listă .În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.Adăugarea unui control casetă listă la UserForm.Faceți dublu clic pe casetă listă control todisplay fereastra de cod pentru controlul casetă listă .În fereastra de cod, tastați următorul cod pentru Evenimentul Click Casetălistă1 :

Figură 2 Exemplu de control casetă listă

În meniul de executare , faceți clic pe RunSub/UserForm.Când faceți clic pe un element din listă, apare o casetă de mesaj cu elementul selectat.

2.4 Control imagineScopul controlului de imagine este pentru a afișa o imagine pe un UserForm. Pentru a atribui o fotografie la un control de imagine de la momentul execuției, utilizați funcția LoadPicture .Cum să încărcați o imagine într-un control de imaginePentru a insera un control imagine care vă solicită să selectați o imagine pentru a se încarcă atunci când faceți clic pe controlul de imagine , urmați acești pași:

5

Page 6: Programare

Sectiunea 2

Porniți Excel și apoi deschideți un registru de lucru nou necompletat.În meniul Instrumente , indicați spremacrocomenziși apoi faceți clic pe BasicEditor vizuale.În meniul Inserare , faceți clic peUserForm pentru a insera o UserForm în registrul de lucru.Adăugați un control imagine pe UserForm.Faceți dublu clic pe controlul de imagine pentru a deschide fereastra theCode pentru controlul imagine .În fereastra de cod, tastați următorul cod pentru Evenimentul Image1 Click :

Figură 3Exemplu de control Imagine

In meniul de executare , faceți clic pe RunSub/UserForm.UserForm apare.Faceți clic pe controlul de imagine .Faceți clic pe controlul de imagine , Selectați imaginea la deschidere boxappears de dialog, și apoi, aveți posibilitatea să selectați un fișier bitmap pentru a introduce în thecontrol.

3. Structuri de control

3.1. Structuri iterative

Prin intermediul construcțiilor de tip bloc prezentate în această secțiune se poate repeta, în mod controlat, un grup de instrucțiuni. În cazul unui număr nedefinit de repetiții, condiția de oprire poate fi testată la începutul sau la sfârșitul unui ciclu, prin alegerea structurii adecvate.

Tabel 2 Structuri iterative

Nr.crt. Structuri iterative1. Do...Loop2. For...Next3. For Each...Next4. While...Wend5. With

Do…Loop

6

Page 7: Programare

Suport de curs pentru Initiere in programare

Se vor utiliza structuri Do…Loop pentru a executa un grup de instrucțiuni de un număr de ori nedefinit aprioric. Dacă se cunoaște numărul de cicluri, se va utiliza structura For…Next.Execuția structurilor Do … Loop este explicată în tabelul următor

Explicatia structurilor Do … LoopDo While…Loop Testează condiția la începutul buclei, execută bucla numai dacă rezultatul

este True și continuă astfel până când o nouă evaluare produce False.Do Until…Loop Testează condiția la începutul buclei, execută bucla numai dacă rezultatul

este False și continuă astfel până când o nouă evaluare produce True.Do…Loop While Se execută întotdeauna bucla o dată, se testează condiția la sfârșitul buclei

și se repetă bucla atât timp cât condiția este True. Oprirea este pe condiție falsă

Do…Loop Until Se execută întotdeauna bucla o dată, se testează condiția la sfârșitul buclei și se repetă bucla atât timp cât condiția este False. Oprirea este pe condiție adevărată.

For…Next Atunci când se cunoaște numărul de repetări ale unui bloc de instrucțiuni, se va folosi structura For…Next. Structura utilizează o variabilă contor, a cărei valoare se modifică la fiecare ciclu, oprirea fiind atunci când se atinge o valoare specificată.For Each…Next Similară structurii For…Next, structura For Each…Next repetă un grup de instrucțiuni pentru fiecare element dintr-o colecție de obiecte sau dintr-un tablou (cu excepția celor de un tip utilizator). Este utilă atunci când nu se cunoaște numărul de elemente sau dacă se modifică, în timpul execuției, conținutul colecției.While…Wend Execută un grup de instrucțiuni atât timp cât este adevărată o condiție.With Programarea orientată pe obiecte produce, datorită calificărilor succesive, construcții foarte complexe atunci când se numesc proprietățile unui obiect. În cazul modificărilor succesive ale mai multor proprietăți ale aceluiași obiect, repetarea zonei de calificare poate produce erori de scriere și conduce la un text greu de citit. Codul este simplificat prin utilizarea structurii With…End With. O asemenea structură execută o serie de instrucțiuni pentru un obiect sau pentru o variabilă de tip utilizator.

3.2. Structuri de decizie (If…Then…Else, Select Case) Ramificarea firului execuției după rezultatul verificării unei condiții este o necesitate frecventă în orice implementare. Pe lângă structurile prezentate, se pot utiliza trei funcții care realizează alegeri în mod liniarizat (pe o linie de cod): Choose(), Iif(), Switch(). If…Then…Else O asemenea structură, întâlnită de altfel în toate limbajele de programare, execută un grup de instrucțiuni ca răspuns la îndeplinirea unei condiții (compusă sau nu din mai multe condiții testate secvențial). Sintaxa permite o mare varietate de forme.Select Case Instrucțiunea Select Case se poate utiliza în locul unor instrucțiuni ElseIf multiple (dintr-o structură If…Then…ElseIf) atunci când se compară aceeași expresie cu mai multe valori, diferite între ele.

7

Page 8: Programare

Sectiunea 2

Instrucțiunea Select Case furnizează, prin urmare, un sistem de luare a deciziilor similar instrucțiunii If…Then…ElseIf. Totuși, Select Case produce un un cod mai eficient și mai inteligibil.

BibliografieJamsa, K. ,Klander L. – Totul despre C si C++, Editura Teora, 2010Schildt H. – C, C++ Manual Complet, Editura Teora, 2010Stroustrap, B., – C++, Editura Teora, 2013Kernighan, B., Ritchie, D. ,Limbajul C, Editura TeoraCristea V., Atanasiu I., E. Kalisz, V. Iorga , Tehnici de programare , Editura Teora 1999Dragomirescu C., Satnoianu L., Mirela Popa –Informatica – Fise de lucru pentru elevi , clasa a XI-a , Ed. Donaris , Sibiu , 2012Ionică I., Iordan V., Metode de elaborare a algoritmilor, Ed. Eubeea , Timișoara, 2012 Iordan V., Algoritm și programare în C, Ed. Eurostampa , Timișoara, 2007Ivașc C., Mona Prună , Tehnici de programare – Aplicații , Editura Petrion 1998Lica D., colectiv , Fundamentele programării , Editura L&S , București , 2011Mateescu G., Pavel F. Moraru – Informatică - varianta Pascal, Ed. Niculescu , Bucuresti 2011Oprescu D., L.B. Ienulescu , V. Pătrașcu , Informatică , manual pentru clasa a XI-a , Editura Niculescu , București , 2011Prejmerean V., Algoritmică și programare, Litografia Universității Babeș-Bolyai Cluj Napoca ,1999

8

Page 9: Programare

Suport de curs pentru Initiere in programare

Curs de Programare 2 - Introducere în Programarea Orientată-Obiect

Introducere

Programarea orientată – obiect (POO) revoluționează aproape orice aspect al dezvoltării aplicațiilor cu Visual FoxPro, de la faza de analiză și proiectare până la faza de scriere a codului de program și testarea aplicațiilor și a componentelor aplicațiilor. De asemenea,Visual FoxPro, ca și Visual C++ de altfel, este un limbaj hibrid, adicădezvoltatorii de programe pot alege între metodele POO și programarea modulară. POO este o altfel de abordare decât programarea modulară, în faptul că POO lucrează cu entități de genul obiectelor. Dacă se dorește adaptarea unei aplicații într-o nouă formă,având în vedere că există o formă modificată a unei aplicații mai vechi, se realizează modificările pe baza unui procedeu numit subclasare, și anume preluarea vechilor obiecte ale aplicației și modificarea acestora după noile proprietăți. Comportamentul și atributele obiectelor originale sunt automat aduse și la noile obiecte modificate, acest lucru numindu-se moștenire. În schimb dacă se modifică cumva obiectele originale, schimbările făcute sunt aduse imediat și asupra obiectelor noi, realizate cu ajutorul subclasării, prin modificarea obiectelor originale. POO utilizează niște termeni, pentru a explica expres conceptele POO, și anume: moștenire, încapsulare și polimorfism.Primul și cel mai important concept cheie al POO este obiectul. Un obiect este un pachet de informații și acțiuni. Un obiects e conține pe sine. Toate cunoștiințele și comportamentele unui obiect sunt conținute în acesta. Acest concept este cunoscut sub numele de încapsulare. Orice obiect este caracterizat de proprietăți și evenimente.

1. Proprietăţi ale programării orientate obiect

1.1 Incapsularea

Accesul la variabilele unui obiect se face doar prin apelarea metodelor sale, orice alt obiect neștiind nici măcar de existența variabilelor obiectului în cauză.

1.2 Moştenirea

Unul dintre marile avantaje ale programării orientate obiect este posibilitatea de a reutiliza codul existent. Posibilitatea proiectării de noi clase folosind clase deja construite se numește moștenire. Dacă o clasă A moștenește o clasă B, atunci variabilele și metodele clasei B vor fi considerate ca aparținând și clasei A. Moștenirea permite crearea unor clase “de bază” cu rolul de a stoca caracteristici comune unor clase diferite, astfel aceste proprietăți nu vor trebui precizate în fiecare clasă în parte.Exemplu: Clasele “triunghi”, “patrulater” și “cerc” au structuri diferite, dar toate au o arie, un număr de laturi, perimetru, etc. Pentru ca în cele trei clase să nu se repete aceleași elemente, variabile și metode, soluția optimă este proiectarea unei clase “figură geometrică”, în care să se regăsească caracteristicile comune, și aceasta să fie moștenită de toate cele trei clase în cauză.

9

Page 10: Programare

Sectiunea 3

MostenireaDupă cum se vede și din imaginea de mai sus, moștenirea este posibilă și pe mai multe niveluri.NB: A nu se confunda moștenirea unei clase cu instanțierea ei. Numai o clasă poate moșteni proprietățile altei clase. În urma instanțierii unei clase rezultă un obiect.În urma moștenirii unei clase, clasa derivată (care moștenește proprietățile clasei de bază) nu copie proprietățile clasei de bază, ci acestea îi sunt direct accesibile.Datorită proprietății de moștenire o clasă derivată nu numai că are acces la variabilele și metodele clasei moștenite, dar le și poate redefini. Datorită acestui fapt o practică obișnuită în proiectarea orientată pe obiecte este declararea de metode cu corpul vid în clasele de bază, urmând ca acestor metode să li se ofere un corp în clasele derivate.Exemplu: Clasa “Figura geometrică” poate conține o metodă “aria()” care să calculeze aria figurii, dar o implementare a acesteia nu poate fi dată decât în clasele derivate (formula de calcul al ariei este diferită, în funcție de tipul figurii).Moștenirea ușurează munca proiectanților de sisteme informatice prin modularitatea pe care o promovează, astfel situații complexe din lumea reală putând fi mai ușor modelate.

1.3 Polimorfismul

Abilitatea unei metode cu un anumit nume să aibă comportări diferite, în funcție de paramerii de intrare se numește polimorfism. Nu trebuie să se confunde această proprietate cu cea de moștenire, cu ajutorul căreia se pot redefini metodele moștenite de la o altă clasă. Polimorfismul se referă la metode cu același nume și cu parametri de intrare și/sau ieșire diferiți. În ceea ce privește moștenirea este vorba de metode redefinite, dar care își păstrează aceeași signatură (același nume și parametri de intrare/ieșire).Polimorfismul are un rol foarte important în reutilizarea codului. Să presupunem că avem o clasă “operații aritmetice” cu o metodă care să primească două numere oarecare (reale sau complexe). Dacă polimorfismul nu ar fi luat în calcul, atunci ar trebui implementate metode, fiecare cu o denumire diferită, pentru toate cele patru cazuri: (număr real + număr real, număr real + număr complex, număr complex + număr real, număr complex + număr complex) și utilizatorul clasei ar trebui să țină minte toate cele patru nume de metode pentru a face o adunare. Cu ajutorul polimorfismului, cele patru metode distincte pot avea același nume și programatorul care utilizează clasa “operații aritmetice” nu trebuie să rețină decât o singură denumire, compilatorul alegând varianta corectă în funcție de parametrii de intrare furnizați.

10

Page 11: Programare

Suport de curs pentru Initiere in programare

Pe scurt, prin polimorfism o metodă poate executa acțiuni diferite , în funcție de parametrii de intrare care îi sunt furnizați. Se realizează o interfață de comunicare a obiectului cu exteriorul mult mai unitară și flexibilă(metoda “adunare” are un singur nume și nu patru), proiectanții putând să se concentreze mai bine asupra modului cum să folosească obiectele, fiind scutiți de detalii de implementare.În unele limbaje de programare care suportă metoda orientată pe obiecte, cum ar fi C++, este permisă chiar și supraîncărcarea operatorilor standard predefiniți. De exemplu operatorul “+” , destinat efectuării operației de adunare pentru numere reale poate fi făcut să execute și alte tipuri de adunări.

2. Proprietăți

Datele dintr-un obiect sunt denumite proprietăți. O proprietate (în termenii Visual FoxPro) este foarte simplu o variabilă de memorie care este atașată la obiect și care are un anumit scop. Utilizarea valorii proprietății și modificarea ei se face utilizând numele obiectului urmat de punct (.) și apoi de numele proprietății. Proprietățile pot conține orice tipuri de date care sunt valide pentru variabilele de memorieVisual FoxPro. De exemplu, dacă avem o proprietate numită lEsteNou care este atașată la un obiect numit oTest, se poate interoga valoarea proprietății în felul următor: oTest.lEsteNou .

3. Metode

Pe lângă faptul că obiectele au date atașate, ele pot executa anumite acțiuni. Aceste acțiuni sunt reprezentate de fapt de codul de program care este scris în procedurile care sunt atașate la obiect. Aceste proceduri sunt denumite de fapt metode. Apelarea unei metode se face în mod asemănător cu a unei proprietăți, și anume numele obiectului, urmat de punct (.) și de numele metodei, după cum urmează: oTest.Print() .Tehnic, parantezele care apar la sfârșitul numelui metodei sunt necesare numai dacă se așteaptă returnarea unei valori sau dacă cumva se transmit parametrii metodei. Sugestia noastră este de a se utiliza întotdeauna paranteze pentru siguranță, în acest caz fiind și siguri că se apelează o metodă. În cazul apelării unei metode după care se așteaptă returnarea unei valori, se poate salva valoarea returnată în modul următor: lValoareReturnată = oTest.Print() .

4. EvenimenteEvenimentele sunt acțiuni care se întâmplă. De exemplu, făcând click pe butonul stânga al mouse-ului se declanșează un eveniment. Evenimentele pot fi cauzate de acțiunea utilizatorului (ca în cazul de mai sus) sau de către sistem însuși (ca în cazul în care apare o eroare). Dacă creezi o clasă de tipul unui buton de comandă înVisual FoxPro, poți atașa cod (ca o metodă) la evenimente. Dacă se declanșează evenimentul (de exemplu, utilizatorul face click stânga cu mouse-ul deasupra butonului de comandă), metoda asociată (care este metoda click) este apelată automat. În Visual FoxPro, se pot atașa metode la tot felul de evenimente: dacă se dă click pe mouse, dacă se ia mâna de pe mouse, se poate apela o metodă în momentul în care un obiect este creat (evenimentul Init) sau invers în momentul în care obiectul este șters (evenimentul Destroy). Apelarea evenimentelor se face în același mod ca și apelarea metodelor.

5. ClasePână la acest punct, toate discuțiile din acest capitol au fost centrate în jurul obiectelor. În programarea orientată-obiect, obiectele nu sunt niciodată programate, ci mai degrabă obiectele de bază(numite clase) pot fi programate.

11

Page 12: Programare

Sectiunea 3

Functii matematice

Toate obiectele sunt instanțiate (adică, create) pornind de la clase. De aceea, toate programele se fac a nivelul clasei. Odată un obiect instanțiat pe baza unei clase, tot ceea ce trebuie să faci este să interacționezi cu el. Nu se adaugă sau se modifică metode existente într-un obiect, ci mai degrabă se adaugă și se modifică metode în clase pe baza cărora se instanțiază obiectele.

Un exemplu de clasă

Define Class Clasă as Custom

12

Page 13: Programare

Suport de curs pentru Initiere in programare

Această linie de program spune Visual FoxPro că utilizatorul definește o nouă clasă numită Clasă bazată pe o clasă de bază Custom.

cNume = ""cTip = ""EsteNou = .F.

Liniile anterioare sunt cunoscute ca declarații de cod. În această parte a definiției clasei, se enumeră variabilele (proprietățile) obiectului și valorile lor inițiale.

Definitia unei metodeAceasta este o definiție a unei metode. Apelarea unei metode va executa toate liniile de cod dintre linia PROCEDURE până la linia ENDPROC.

7. Instanțierea Obiectelor

Un obiect este instanțiat cu ajutorul funcțieiCREATEOBJECT().

Sintaxa pentru crearea unei instanțe a claseiClasă

8. Subiecte pentru atestat Pascal sau C++

Problema 1Sa se citeasca numarul natural N, apoi inca N numere naturale. Sa se afiseze valoarea cea mai mica si cea mai marecitita, precum si cel mai mic divizor comun ale acestora.Problema 2Sa se citeasca numere intregi pana la intalnirea numarului 0. Pentru fiecare numar sa se afiseze numarul si sumadivizorilor.Problema 3Se citeste un numar natural. Sa se afiseze media aritmetica a cifrelor pare.Problema 4Sa se citeasca numere intregi pana la intalnirea numarului 0. Sa se afiseze suma numerelor prime.Problema 5Se citesc N perechi de numere naturale. Sa se afiseze pentru fiecare pereche cel mai mic divizor comun si cel mai mic multiplu comun.

13

Page 14: Programare

Sectiunea 3

Problema 6Se citeste un numar natural. Sa se afiseze cifra cea mai mica si cea mai mare a numarului.Problema 7Sa se citeasca numere intregi pana la intalnirea numarului 0. Sa se afiseze DA sau NU- daca exista un numar prim intre ele sau nu. Daca DA, sa se spune daca suma numerelor prime este sau nu mai mare de un numar dat, K.Problema 8Sa se citeasca numere intregi pana la intalnirea numarului 0 si se memoreaza intr-un vector. Sa sa formeze alti trei vectori din elementele primului, intr-unul se vor inscrie patratii perfecti, in celalalt restul. Sa se ordoneze primul vector in ordine descrescatoare.Problema 9Se citesc N numere naturale. Sa se afiseze numerele palindrom si numarul lor.Problema 10Sa se formeze o matrice cu N linii, M coloane cu numere generate aleator din [-20,30]. Sa se afiseze matricea. Sa se afiseze elementul cel mai mare pentru fiecare linie impara din matrice si elementul minim pentru fiecare linie para.Problema 11Sa se citeasca o matrice NxM. Sa se afiaseze pentru fiecare coloananumarul elementelor prime, iar daca matriceaeste patratica se va afisa suma elementelor care se afla deasupra diagonalei secundare.Problema 12Sa se alcatuiasca un vector cu N elemente, numere aleatoare din [-30,20]. Sa se afiseze vectorul. Se citeste un numar X. Sa se afiseze daca acest X este element al vectorului(DA sau NU), si daca DA in ce pozitie apar. Sa se ordoneze crescatori elementele cu indice pare.Problema 13Se citeste un sir de caractere. Sa se modifice orice aparitie a subsirului „Joe” sau „JOE” in „Joseph”.Problema 14Sa se genereze un sir de caractere de lungime aleatoare din litere luate aleatori. Sa se afiseze.

Bibliografie

V. Ionescu - Programare procedurală, Editura Renaissance, București, 2010L. Negrescu - Limbajele C și C++ pentru începători, vol. I și II, EdituranAlbastră, Cluj Napoca, 2009D. Joița - Programare procedurală, Editura Universității Titu Maiorescu,București, 2008K. Jamsa, L. Klander - Totul despre C și C++, Editura Teora, 2005C. Dăscălescu - Programare orientată pe obiecte (C++), Editura Renaissance,București, 2010M. Oprea - Programare orientată pe obiecte - Exemple în limbajul C++,Editura MATRIX ROM, București, 2003;I. Smeureanu, M. Dardila - Programare orientată pe obiecte în limbajul C++,Editura CISON, București 2005;L. Negrescu - Limbajul C++ , Editura ALBASTRA, Cluj 2000C. Dăscălescu - Programare în Java, Editura Renaissance, București, 2010Ș. Tanasă, C. Olaru, Ș. Andrei - Java de la 0 la expert (ediția a II-a), Editura Polirom, 2007;D. Logofătu - Algoritmi fundamentali în Java. Aplicații, Editura Polirom,2007;H. Georgescu - Introducere în universul Java, Editura Tehnică, 2002;C. Frăsinaru - Curs practic de Java, Editura Matrix Rom, 2005.H. Ciocârlie, R. Ciocârlie - Tehnici de programare și structuri de date, Ed.Eurostampa, 2010H. Georgescu – Tehnici de programare, Ed. Univ. București, 2005

14

Page 15: Programare

Suport de curs pentru Initiere in programare

T. Cormen, C. Leiserson, R. Rivest – Introducere în algoritmi, Ed. Byblos 2004H. Georgescu, L. Livovschi – Sinteza și analiza algoritmilor, Ed. Științifică și Enciclopedică, 1986D. Joița - Algoritmi și structuri de date, Editura Renaissance, București, 2010I. Tomescu - Data Structures, Editura Universității din București, 1997D. Knuth - Arta programării calculatoarelor, vol 3: Sortare și căutare, EdituraTeora, București, 2002M. Popescu - Baze de date, Editura Renaissance, București, 2010M. Popescu - Baze de date relaționale, Editura Academiei Tehnice Militare,București, 2001M. Tilca, R. Boriga - Baze de date, Ed. Univ. Titu Maiorescu, 2007M. Fotache - Proiectarea bazelor de date. Normalizare și postnormalizare.Implementări SQL și oracle, Ed. Polirom, 2005Ș. Ardeleanu - Transact SQL, Ed. Niculescu, 2004R. Dellinger - Baze de date și gestionarea tranzacțiilor, Ed. Albastră, ClujNapoca,2000.

15

Page 16: Programare

Sectiunea 3

ContentsCurs de Programare 1 - Programarea aplicațiilor Microsoft Office (Visual Basic for Applications).........3

Introducere.........................................................................................................................................3

1. Scurt istoric.................................................................................................................................3

2. Tipuri de controale.....................................................................................................................3

3. Structuri de control....................................................................................................................6

Bibliografie.........................................................................................................................................8

Curs de Programare 2 - Introducere în Programarea Orientată-Obiect.................................................9

Introducere.........................................................................................................................................9

1. Proprietăți ale programării orientate obiect..................................................................................9

16

Page 17: Programare

Suport de curs pentru Initiere in programare

Figură 1 Exemplu control Caseta text.....................................................................................................4Figură 2 Exemplu de control casetă listă................................................................................................5Figură 3Exemplu de control Imagine......................................................................................................6

Tabel 1 Tipuri de controale VBA.............................................................................................................3Tabel 2 Structuri iterative.......................................................................................................................6

17