Sunteți pe pagina 1din 18

Suport de curs pentru Initiere in programare

Curs de Programare 1 - Programarea aplicaiilor


Microsoft Office (Visual Basic for Applications)
Introducere
VBA (Visual Basic for Applications) este un limbaj de programare creat de
Microsoft pentru automatizarea aplicaiilor. Ataat iniial componentelor din
Microsoft Office, n prezent sunt raportate peste 200 de aplicaii care include VBA
(CorelDraw, AutoCAD etc.).VBA este parte a familiei de limbaje Visual Basic,
situndu-se sub VB, dar peste VBScript. Totui, VBA este acum un element
esenial n versiunea complet VB, oferind suport pentru limbaj, interfaa pentru
forme, controale, obiecte, tehnologii de accesare a datelor. Atunci cnd este
gzduit de alt aplicaie, cum ar fi Excel, VBA ofer mijloacele de interaciune cu
obiectele aplicaiei gazd. In acest caz, VBA permite dezvoltatorilor s furnizeze
soluii complete care extind i/sau integreaz aplicaiile gazd. Pentru a
programa n VBA trebuie totui reinut c o cerin suplimentar fa de alte
limbaje este aceea c trebuie s se cunoasc aplicaia 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.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

Tip de control
Etichete control
Caset text control
CommandButton control
Caset list control
caset combo control
Cadru control
OptionButton control
caset de selectare control
ToggleButton control
TabStrip control
MultiPage control
Bar de defilare control
SpinButton control
RefEdit control
Imagine control

1. Scurt istoric
1993 VBA apare n Microsoft Excel
1994 VBA este ataat la Microsoft Project
1995 este inclus n Microsoft Access, nlocuind Access Basic
1996 VBA devine element n Visual Basic
1996 este inclus n Word, nlocuind Word Basic
1997VBA este integrat n suita Office 97
1997 Microsoft liceniaz VBA pentru utilizarea n alte aplicaii software

2. Tipuri de controale
2.1. Controalele caset text
Controalele caset text sunt utilizate frecvent pentru a aduna de intrare de la un
utilizator. Proprietatea Text conine intrarea efectuate ntr-un control caset text .
Cum se utilizeaz un control caset text pentru a valida o parol
Dac ai 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, urmai aceti pai:
Pornii Excel i apoi deschidei un registru de lucru nou necompletat.
n meniul Instrumente , indicai spremacrocomenzii apoi facei clic pe
BasicEditor vizuale.
n meniul Inserare , facei clic peUserForm pentru a insera o UserForm n registrul
de lucru.
Adugarea unui control caset text la UserForm.
n meniul vizualizare Proiect , facei clic peProprieti pentru a face vizibil
fereastra proprieti.
n proprietatea PasswordChar a controlului caset text , tastai *.
Adugai un control CommandButton UserForm.
Facei dublu clic pe CommandButton control toopen fereastra de cod pentru
UserForm.
n fereastra de cod, tastai urmtorul cod pentru Evenimentul CommandButton1
Click :

Figur 1 Exemplu control Caseta text

n meniul de executare , facei clic pe RunSub/UserForm.


Tastai parola Userform n caseta de text de control.
Facei clic pe controlul CommandButton.
Pentru acest exemplu, parola este "userform". Dac tastai o parol incorect,
vei primi o caset de mesaj care afirm c parola este incorect, controlul caset
text este eliminat i apoi posibilitatea s reintroducei parola. Cnd tastai o
parol corect, primii un mesaj de ntmpinare, i UserForm se nchide.
2.2. Controale de tip CommandButton
Utilizai un control CommandButton pentru a porni o procedur VBA. Evenimentul
Click pentru controlul CommandButton de obicei ataat procedura VBA. Pentru a

utiliza un control CommandButton care se execut o procedur cnd facei clic pe


evenimentul apare, urmai aceti pai:
Pornii Excel i apoi deschidei un registru de lucru nou necompletat.
n meniul Instrumente , indicai spremacrocomenzii apoi facei clic pe
BasicEditor vizuale.
n meniul Inserare , facei clic peUserForm pentru a insera o UserForm n registrul
de lucru.
Adugai un control CommandButton UserForm.
Facei dublu clic pe CommandButton control todisplay fereastra de cod pentru
UserForm.
n fereastra de cod, introducei codul urmtor:

Exemplu de control CommandButton


n meniul de executare , facei 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. Avei posibilitatea s stocai 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, utilizai proprietatea Surs rnduri .
Atunci cnd utilizai proprietatea MultiSelect , posibilitatea s configurai o list
de control pentru a accepta selecii multiple.
Cum se obin elementului selectat din list de control
Utilizai proprietatea valoare unui control caset list pentru a returna elementul
selectat. Pentru a returna elementul selectat ntr-un singur Selectai control
caset list , urmai aceti pai:
Pornii Excel i apoi deschidei un registru de lucru nou necompletat.
n celulele a1: A5 pe Foaie1, introducei valorile c dorii alternative pentru a
popula controlul caset list .
n meniul Instrumente , indicai spremacrocomenzii apoi facei clic pe
BasicEditor vizuale.
n meniul Inserare , facei clic peUserForm pentru a insera o UserForm n registrul
de lucru.
Adugarea unui control caset list la UserForm.
Facei dublu clic pe caset list control todisplay fereastra de cod pentru controlul
caset list .
n fereastra de cod, tastai urmtorul cod pentru Evenimentul Click Casetlist1 :

Figur 2 Exemplu de control caset list

n meniul de executare , facei clic pe RunSub/UserForm.


Cnd facei clic pe un element din list, apare o caset de mesaj cu elementul
selectat.
2.4 Control imagine
Scopul controlului de imagine este pentru a afia o imagine pe un UserForm.
Pentru a atribui o fotografie la un control de imagine de la momentul execuiei,
utilizai funcia LoadPicture .
Cum s ncrcai o imagine ntr-un control de imagine
Pentru a insera un control imagine care v solicit s selectai o imagine pentru a
se ncarc atunci cnd facei clic pe controlul de imagine , urmai aceti pai:
Pornii Excel i apoi deschidei un registru de lucru nou necompletat.
n meniul Instrumente , indicai spremacrocomenzii apoi facei clic pe
BasicEditor vizuale.
n meniul Inserare , facei clic peUserForm pentru a insera o UserForm n registrul
de lucru.
Adugai un control imagine pe UserForm.
Facei dublu clic pe controlul de imagine pentru a deschide fereastra theCode
pentru controlul imagine .
n fereastra de cod, tastai urmtorul cod pentru Evenimentul Image1 Click :

Figur 3Exemplu de control Imagine

In meniul de executare , facei clic pe RunSub/UserForm.


UserForm apare.
Facei clic pe controlul de imagine .
Facei clic pe controlul de imagine , Selectai imaginea la deschidere boxappears
de dialog, i apoi, avei posibilitatea s selectai un fiier bitmap pentru a
introduce n thecontrol.
6

3. Structuri de control
3.1. Structuri iterative
Prin intermediul construciilor de tip bloc prezentate n aceast seciune se poate
repeta, n mod controlat, un grup de instruciuni. n cazul unui numr nedefinit de
repetiii, condiia de oprire poate fi testat la nceputul sau la sfritul unui ciclu,
prin alegerea structurii adecvate.
Tabel 2 Structuri iterative

Nr.crt.
1.
2.
3.
4.
5.

Structuri iterative
Do...Loop
For...Next
For Each...Next
While...Wend
With

DoLoop
Se vor utiliza structuri DoLoop pentru a executa un grup de instruciuni de un
numr de ori nedefinit aprioric. Dac se cunoate numrul de cicluri, se va utiliza
structura ForNext.
Execuia structurilor Do Loop este explicat n tabelul urmtor

Do While
Loop
Do Until
Loop
DoLoop
While
DoLoop
Until

Explicatia structurilor Do Loop


Testeaz condiia la nceputul buclei, execut bucla numai
dac rezultatul este True i continu astfel pn cnd o
nou evaluare produce False.
Testeaz condiia la nceputul buclei, execut bucla numai
dac rezultatul este False i continu astfel pn cnd o
nou evaluare produce True.
Se execut ntotdeauna bucla o dat, se testeaz condiia la
sfritul buclei i se repet bucla att timp ct condiia este
True. Oprirea este pe condiie fals
Se execut ntotdeauna bucla o dat, se testeaz condiia la
sfritul buclei i se repet bucla att timp ct condiia este
False. Oprirea este pe condiie adevrat.

ForNext
Atunci cnd se cunoate numrul de repetri ale unui bloc de instruciuni, se va
folosi structura ForNext. Structura utilizeaz o variabil contor, a crei valoare
se modific la fiecare ciclu, oprirea fiind atunci cnd se atinge o valoare
specificat.
For EachNext
Similar structurii ForNext, structura For EachNext repet un grup de
instruciuni pentru fiecare element dintr-o colecie de obiecte sau dintr-un tablou
(cu excepia celor de un tip utilizator). Este util atunci cnd nu se cunoate
numrul de elemente sau dac se modific, n timpul execuiei, coninutul
coleciei.
7

WhileWend
Execut un grup de instruciuni att timp ct este adevrat o condiie.
With
Programarea orientat pe obiecte produce, datorit calificrilor succesive,
construcii foarte complexe atunci cnd se numesc proprietile unui obiect. n
cazul modificrilor succesive ale mai multor proprieti ale aceluiai obiect,
repetarea zonei de calificare poate produce erori de scriere i conduce la un text
greu de citit. Codul este simplificat prin utilizarea structurii WithEnd With. O
asemenea structur execut o serie de instruciuni pentru un obiect sau pentru o
variabil de tip utilizator.
3.2. Structuri de decizie (IfThenElse, Select Case)
Ramificarea firului execuiei dup rezultatul verificrii unei condiii este o
necesitate frecvent n orice implementare. Pe lng structurile prezentate, se
pot utiliza trei funcii care realizeaz alegeri n mod liniarizat (pe o linie de cod):
Choose(), Iif(), Switch().
IfThenElse
O asemenea structur, ntlnit de altfel n toate limbajele de programare,
execut un grup de instruciuni ca rspuns la ndeplinirea unei condiii (compus
sau nu din mai multe condiii testate secvenial). Sintaxa permite o mare
varietate de forme.
Select Case
Instruciunea Select Case se poate utiliza n locul unor instruciuni ElseIf multiple
(dintr-o structur IfThenElseIf) atunci cnd se compar aceeai expresie cu
mai multe valori, diferite ntre ele. Instruciunea Select Case furnizeaz, prin
urmare, un sistem de luare a deciziilor similar instruciunii IfThenElseIf. Totui,
Select Case produce un un cod mai eficient i mai inteligibil.

Bibliografie
Jamsa, K. ,Klander L. Totul despre C si C++, Editura Teora, 2010
Schildt H. C, C++ Manual Complet, Editura Teora, 2010
Stroustrap, B., C++, Editura Teora, 2013
Kernighan, B., Ritchie, D. ,Limbajul C, Editura Teora
Cristea V., Atanasiu I., E. Kalisz, V. Iorga , Tehnici de programare , Editura Teora
1999
Dragomirescu C., Satnoianu L., Mirela Popa Informatica Fise de lucru pentru
elevi , clasa a XI-a , Ed. Donaris , Sibiu , 2012
Ionic I., Iordan V., Metode de elaborare a algoritmilor, Ed. Eubeea , Timioara,
2012
Iordan V., Algoritm i programare n C, Ed. Eurostampa , Timioara, 2007
Ivac C., Mona Prun , Tehnici de programare Aplicaii , Editura Petrion 1998
Lica D., colectiv , Fundamentele programrii , Editura L&S , Bucureti , 2011
Mateescu G., Pavel F. Moraru Informatic - varianta Pascal, Ed. Niculescu ,
Bucuresti
2011
Oprescu D., L.B. Ienulescu , V. Ptracu , Informatic , manual pentru clasa a XIa , Editura Niculescu , Bucureti , 2011
Prejmerean V., Algoritmic i programare, Litografia Universitii Babe-Bolyai
Cluj Napoca ,1999
8

Curs de Programare 2 - Introducere n Programarea


Orientat-Obiect
Introducere
Programarea orientat obiect (POO) revoluioneaz aproape orice aspect al
dezvoltrii aplicaiilor cu Visual FoxPro, de la faza de analiz i proiectare pn la
faza de scriere a codului de program i testarea aplicaiilor i a componentelor
aplicaiilor. De asemenea,Visual FoxPro, ca i Visual C++ de altfel, este un limbaj
hibrid, adicdezvoltatorii de programe pot alege ntre metodele POO i
programarea modular. POO este o altfel de abordare dect programarea
modular, n faptul c POO lucreaz cu entiti de genul obiectelor. Dac se
dorete adaptarea unei aplicaii ntr-o nou form,avnd n vedere c exist o
form modificat a unei aplicaii mai vechi, se realizeaz modificrile pe baza
unui procedeu numit subclasare, i anume preluarea vechilor obiecte ale
aplicaiei i modificarea acestora dup noile proprieti. Comportamentul i
atributele obiectelor originale sunt automat aduse i la noile obiecte modificate,
acest lucru numindu-se motenire. n schimb dac se modific cumva obiectele
originale, schimbrile fcute sunt aduse imediat i asupra obiectelor noi, realizate
cu ajutorul subclasrii, prin modificarea obiectelor originale. POO utilizeaz nite
termeni, pentru a explica expres conceptele POO, i anume: motenire,
ncapsulare i polimorfism.
Primul i cel mai important concept cheie al POO este obiectul. Un obiect este un
pachet de informaii i aciuni. Un obiects e conine pe sine. Toate cunotiinele i
comportamentele unui obiect sunt coninute n acesta. Acest concept este
cunoscut sub numele de ncapsulare. Orice obiect este caracterizat de proprieti
i evenimente.

1. Proprieti ale programrii orientate obiect


1.1 Incapsularea
Accesul la variabilele unui obiect se face doar prin apelarea metodelor sale, orice
alt obiect netiind nici mcar de existena variabilelor obiectului n cauz.
1.2 Motenirea
Unul dintre marile avantaje ale programrii orientate obiect este posibilitatea de
a reutiliza codul existent. Posibilitatea proiectrii de noi clase folosind clase deja
construite se numete motenire. Dac o clas A motenete o clas B, atunci
variabilele i metodele clasei B vor fi considerate ca aparinnd i clasei A.
Motenirea permite crearea unor clase de baz cu rolul de a stoca caracteristici
comune unor clase diferite, astfel aceste proprieti nu vor trebui precizate n
fiecare clas n parte.
Exemplu: Clasele triunghi, patrulater i cerc au structuri diferite, dar toate
au o arie, un numr de laturi, perimetru, etc. Pentru ca n cele trei clase s nu se
repete aceleai elemente, variabile i metode, soluia optim este proiectarea
unei clase figur geometric, n care s se regseasc caracteristicile comune,
i aceasta s fie motenit de toate cele trei clase n cauz.
9

Mostenirea
Dup cum se vede i din imaginea de mai sus, motenirea este posibil i pe mai
multe niveluri.
NB: A nu se confunda motenirea unei clase cu instanierea ei. Numai o clas
poate moteni proprietile altei clase. n urma instanierii unei clase rezult un
obiect.
n urma motenirii unei clase, clasa derivat (care motenete proprietile clasei
de baz) nu copie proprietile clasei de baz, ci acestea i sunt direct accesibile.
Datorit proprietii de motenire o clas derivat nu numai c are acces la
variabilele i metodele clasei motenite, dar le i poate redefini. Datorit acestui
fapt o practic obinuit n proiectarea orientat pe obiecte este declararea de
metode cu corpul vid n clasele de baz, urmnd ca acestor metode s li se ofere
un corp n clasele derivate.
Exemplu: Clasa Figura geometric poate conine o metod aria() care s
calculeze aria figurii, dar o implementare a acesteia nu poate fi dat dect n
clasele derivate (formula de calcul al ariei este diferit, n funcie de tipul figurii).
Motenirea uureaz munca proiectanilor de sisteme informatice prin
modularitatea pe care o promoveaz, astfel situaii complexe din lumea real
putnd fi mai uor modelate.
1.3 Polimorfismul
Abilitatea unei metode cu un anumit nume s aib comportri diferite, n funcie
de paramerii de intrare se numete polimorfism. Nu trebuie s se confunde
aceast proprietate cu cea de motenire, cu ajutorul creia se pot redefini
metodele motenite de la o alt clas. Polimorfismul se refer la metode cu
acelai nume i cu parametri de intrare i/sau ieire diferii. n ceea ce privete
motenirea este vorba de metode redefinite, dar care i pstreaz aceeai
signatur (acelai nume i parametri de intrare/ieire).
Polimorfismul are un rol foarte important n reutilizarea codului. S presupunem
c avem o clas operaii 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: (numr real + numr real, numr real + numr complex,
numr complex + numr real, numr complex + numr complex) i utilizatorul
10

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
acelai nume i programatorul care utilizeaz clasa operaii aritmetice nu
trebuie s rein dect o singur denumire, compilatorul alegnd varianta corect
n funcie de parametrii de intrare furnizai.
Pe scurt, prin polimorfism o metod poate executa aciuni diferite , n funcie de
parametrii de intrare care i sunt furnizai. Se realizeaz o interfa de
comunicare a obiectului cu exteriorul mult mai unitar i flexibil(metoda
adunare are un singur nume i nu patru), proiectanii putnd s se concentreze
mai bine asupra modului cum s foloseasc obiectele, fiind scutii de detalii de
implementare.
n unele limbaje de programare care suport metoda orientat pe obiecte, cum ar
fi C++, este permis chiar i suprancrcarea operatorilor standard predefinii. De
exemplu operatorul + , destinat efecturii operaiei de adunare pentru numere
reale poate fi fcut s execute i alte tipuri de adunri.
2. Proprieti
Datele dintr-un obiect sunt denumite proprieti. O proprietate (n termenii Visual
FoxPro) este foarte simplu o variabil de memorie care este ataat la obiect i
care are un anumit scop. Utilizarea valorii proprietii i modificarea ei se face
utiliznd numele obiectului urmat de punct (.) i apoi de numele proprietii.
Proprietile pot conine orice tipuri de date care sunt valide pentru variabilele de
memorieVisual FoxPro. De exemplu, dac avem o proprietate numit lEsteNou
care este ataat la un obiect numit oTest, se poate interoga valoarea proprietii
n felul urmtor: oTest.lEsteNou .
3. Metode
Pe lng faptul c obiectele au date ataate, ele pot executa anumite aciuni.
Aceste aciuni sunt reprezentate de fapt de codul de program care este scris n
procedurile care sunt ataate la obiect. Aceste proceduri sunt denumite de fapt
metode. Apelarea unei metode se face n mod asemntor cu a unei proprieti,
i anume numele obiectului, urmat de punct (.) i de numele metodei, dup cum
urmeaz: oTest.Print() .
Tehnic, parantezele care apar la sfritul numelui metodei sunt necesare numai
dac se ateapt 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 apelrii
unei metode dup care se ateapt returnarea unei valori, se poate salva
valoarea returnat n modul urmtor: lValoareReturnat = oTest.Print() .
4. Evenimente
Evenimentele sunt aciuni care se ntmpl. De exemplu, fcnd click pe butonul
stnga al mouse-ului se declaneaz un eveniment. Evenimentele pot fi cauzate
de aciunea utilizatorului (ca n cazul de mai sus) sau de ctre sistem nsui (ca n
cazul n care apare o eroare). Dac creezi o clas de tipul unui buton de comand
nVisual FoxPro, poi ataa cod (ca o metod) la evenimente. Dac se
declaneaz evenimentul (de exemplu, utilizatorul face click stnga cu mouse-ul
deasupra butonului de comand), metoda asociat (care este metoda click) este
apelat automat. n Visual FoxPro, se pot ataa metode la tot felul de
11

evenimente: dac se d click pe mouse, dac se ia mna 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 acelai mod ca i apelarea metodelor.
5. Clase
Pn la acest punct, toate discuiile 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.
Functii matematice

Toate obiectele sunt instaniate (adic, create) pornind de la clase. De aceea,


toate programele se fac a nivelul clasei. Odat un obiect instaniat pe baza unei
clase, tot ceea ce trebuie s faci este s interacionezi 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 crora se instaniaz obiectele.

12

Un exemplu de clas
Define Class Clas as Custom
Aceast linie de program spune Visual FoxPro c utilizatorul definete o nou
clas numit Clas bazat pe o clas de baz Custom.
cNume = ""
cTip = ""
EsteNou = .F.
Liniile anterioare sunt cunoscute ca declaraii de cod. n aceast parte a definiiei
clasei, se enumer variabilele (proprietile) obiectului i valorile lor iniiale.

Definitia unei metode


Aceasta este o definiie a unei metode. Apelarea unei metode va executa toate
liniile de cod dintre linia PROCEDURE pn la linia ENDPROC.
7. Instanierea Obiectelor

13

Un obiect este instaniat cu ajutorul funcieiCREATEOBJECT().

Sintaxa pentru crearea unei instane a claseiClas


8. Subiecte pentru atestat Pascal sau C++
Problema 1
Sa 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 2
Sa se citeasca numere intregi pana la intalnirea numarului 0. Pentru fiecare
numar sa se afiseze numarul si sumadivizorilor.
Problema 3
Se citeste un numar natural. Sa se afiseze media aritmetica a cifrelor pare.
Problema 4
Sa se citeasca numere intregi pana la intalnirea numarului 0. Sa se afiseze suma
numerelor prime.
Problema 5
Se citesc N perechi de numere naturale. Sa se afiseze pentru fiecare pereche cel
mai mic divizor comun si cel mai mic multiplu comun.
Problema 6
Se citeste un numar natural. Sa se afiseze cifra cea mai mica si cea mai mare a
numarului.
Problema 7
Sa 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 8
Sa 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 9
Se citesc N numere naturale. Sa se afiseze numerele palindrom si numarul lor.
Problema 10
Sa 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 11
Sa 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 12
Sa 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.
14

Problema 13
Se citeste un sir de caractere. Sa se modifice orice aparitie a subsirului Joe sau
JOE in Joseph.
Problema 14
Sa se genereze un sir de caractere de lungime aleatoare din litere luate aleatori.
Sa se afiseze.

Bibliografie
V. Ionescu - Programare procedural, Editura Renaissance, Bucureti, 2010
L. Negrescu - Limbajele C i C++ pentru nceptori, vol. I i II, EdituranAlbastr,
Cluj Napoca, 2009
D. Joia - Programare procedural, Editura Universitii Titu Maiorescu,Bucureti,
2008
K. Jamsa, L. Klander - Totul despre C i C++, Editura Teora, 2005
C. Dsclescu - Programare orientat pe obiecte (C++), Editura
Renaissance,Bucureti, 2010
M. Oprea - Programare orientat pe obiecte - Exemple n limbajul C++,Editura
MATRIX ROM, Bucureti, 2003;
I. Smeureanu, M. Dardila - Programare orientat pe obiecte n limbajul C+
+,Editura CISON, Bucureti 2005;
L. Negrescu - Limbajul C++ , Editura ALBASTRA, Cluj 2000
C. Dsclescu - Programare n Java, Editura Renaissance, Bucureti, 2010
. Tanas, C. Olaru, . Andrei - Java de la 0 la expert (ediia a II-a), Editura
Polirom, 2007;
D. Logoftu - Algoritmi fundamentali n Java. Aplicaii, Editura Polirom,2007;
H. Georgescu - Introducere n universul Java, Editura Tehnic, 2002;
C. Frsinaru - Curs practic de Java, Editura Matrix Rom, 2005.
H. Ciocrlie, R. Ciocrlie - Tehnici de programare i structuri de date,
Ed.Eurostampa, 2010
H. Georgescu Tehnici de programare, Ed. Univ. Bucureti, 2005
T. Cormen, C. Leiserson, R. Rivest Introducere n algoritmi, Ed. Byblos 2004
H. Georgescu, L. Livovschi Sinteza i analiza algoritmilor, Ed. tiinific i
Enciclopedic, 1986
D. Joia - Algoritmi i structuri de date, Editura Renaissance, Bucureti, 2010
I. Tomescu - Data Structures, Editura Universitii din Bucureti, 1997
D. Knuth - Arta programrii calculatoarelor, vol 3: Sortare i cutare,
EdituraTeora, Bucureti, 2002
M. Popescu - Baze de date, Editura Renaissance, Bucureti, 2010
M. Popescu - Baze de date relaionale, Editura Academiei Tehnice
Militare,Bucureti, 2001
M. Tilca, R. Boriga - Baze de date, Ed. Univ. Titu Maiorescu, 2007
M. Fotache - Proiectarea bazelor de date. Normalizare i
postnormalizare.Implementri SQL i oracle, Ed. Polirom, 2005
. Ardeleanu - Transact SQL, Ed. Niculescu, 2004
R. Dellinger - Baze de date i gestionarea tranzaciilor, Ed. Albastr,
ClujNapoca,2000.

15

16

Contents
Curs de Programare 1 - Programarea aplicaiilor 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. Proprieti ale programrii orientate obiect....................................................9

17

Figur 1 Exemplu control Caseta text.....................................................................4


Figur 2 Exemplu de control caset list................................................................5
Figur 3Exemplu de control Imagine......................................................................6
Y
Tabel 1 Tipuri de controale VBA.............................................................................. 3
Tabel 2 Structuri iterative....................................................................................... 6

18

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