Sunteți pe pagina 1din 12

[MEDII DE PROGRAMARE VIZUAL]

March 3, 2015

ELABORAREA PRODUSELOR-PROGRAM
Elaborarea unui produs-program constituie o activitate deosebit de complex, care
necesit utilizarea unei metodologii clare i unitare. De regul, o asemenea activitate se
desfoar n echipe de lucru complexe n care sunt inclui analiti, specialiti ai domeniului
pentru care se dezvolt produsul-program, programatori, specialiti n testarea i
implementarea produselor-program, utilizatori etc.
Literatura de specialitate pune n discuie o multitudine de probleme legate de
metodologia elaborrii produselor-program i subliniaz n mod deosebit necesitatea
existenei unei metodologii unitare. Totui, putem afirma c n forma sa final orice produsprogram poate fi privit ca un sistem cu funcii i componente proprii, cu intrri, ieiri,
prelucrri specifice i bucl de autoreglare i cu un scop bine stabilit.

Modele de elaborare a produselor-program


Din punct de vedere practic, elaborarea unui produs-program presupune parcurgerea
unui anumit numr de activiti specifice obinerii acestuia. Exist un numr nsemnat de
modele pentru elaborarea unui produs-program, dintre care cele mai importante sunt: modelul
n cascad, modelul n V, modelul spiral, modelul liniar, modelul incremental, modelul
RAD.
Modelul n cascad
Dintre toate modelele enumerate mai sus, modelul n cascad este cel mai des utilizat n
practic. Activitile avute n vedere la elaborarea produselor-program n cazul modelului n
cascad (vezi i figura) sunt:
definirea problemei;
analiza;
proiectarea;
dezvoltarea;
testarea;
implementarea;
ntreinerea.

1 Medii de programare vizual Curs 2

March 3, 2015 [MEDII DE PROGRAMARE VIZUAL]


Definirea problemei
Validare -Verificare
Analiz
Validare -Verificare
Proiectare
Validare -Verificare
Dezvoltare
problemei
Validare -Verificare
Testare
Validare -Verificare
Implementare
Validare -Verificare
Exploatare-ntreinere
Validare -Verificare

F ig. 1. Modelul n cascad de elaborare a unui produs-program

Acest model a fost dezvoltat de ctre Royce n 1970 i este cel mai familiar
programatorilor. Aa dup cum se observ n figura precedent, caracteristica fiecrei etape
const n a se finaliza cu o verificare i o validare n scopul eliminrii eventualelor anomalii
care ar putea s apar n cadrul fiecreia. Dac se constat eventuale anomalii, atunci se va
reveni la etapa precedent pn cnd acestea vor fi eliminate. n acest fel se realizeaz o
minimizare a costului pentru produsul-program dezvoltat. n acelai timp, trecerea de la o faz
la alta, n sus i n jos, ofer modelului un caracter iterativ i incremental.
Modelul n V
Modelul n V poate fi considerat ca un caz particular al modelului n cascad prin faptul
c activitile necesare elaborrii produsului-program sunt reprezentate grafic sub forma lui
V. Esena modelului const n aceea c separ primele etape ale procesului de dezvoltare n
sub-activiti ce au legtur cu construcia sistemului. Aceast organizare sub forma literei
V este dat de faptul c se pune n relaie direct de dependen primele etape cu cele aflate
n partea de jos din modelul n cascad.
n acest model se delimiteaz urmtoarele activiti 1 [Grama, 2000,55]:
1. analiza cerinelor i studiul de fezabilitate;
2. specificarea global;
3. proiectarea de ansamblu;
4. proiectarea de detaliu;
5. programarea;
6. testarea unitar;
7. integrarea i testul de integrare;
8. testul de acceptare;
9. implementarea i testul sistem.

Grama, A., Filip, M., Medii de programare n economie, Editura Sedcom Libris, Iai, 2000, p. 55

2 Medii de programare vizual Curs 2

[MEDII DE PROGRAMARE VIZUAL]

March 3, 2015

Constatm c din lista de mai sus activitile 1-5 influeneaz n mod permanent o
activitate din 6-9, ceea ce permite o mai bun organizare a etapelor finale.
Dezavantajul acestui model const n c nu pune n eviden posibilitatea relurii unei
activiti deja parcurse, ceea ce poate s conduc la depistarea unor anomalii funcionale ale
produsului-program n faza de implementare. Acest lucru va duce la reluarea ntregului proces
de elaborare a produsului program cu costuri corespunztoare i pierderi de timp.
Modelul incremental
n modelele prezentate anterior rezult c dup o descompunere n elementele
componente, acestea sunt dezvoltate independent unele dup altele, n paralel sau secevenial
potrivit cu resursele disponibile. n modelul incremental, la un moment dat se dezvolt un
singur subansamblu de componente. Iniial se dezvolt un nucleu, iar apoi succesiv se
dezvolt incrementii care sunt totodat i integrai n sistemul propriu-zis.
Avantaje:
fiecare dezvoltare n parte este mai puin complex;
integrrile sunt progresive;
dup fiecare integrare de increment sistemul poate fi exploatat.
Dezavantaj:
necesitatea ca specificarea nucleului, a incremenilor i interaciunea lor s fie stabilite
de la nceputul proiectului.
Modelul n spiral
Modelul n spiral a fost propus n 1988 de ctre B. W. Boehm i este cel mai cunoscut
model evolutiv. El are la baz dou premise 2:
natura iterativ a dezvoltrii i nevoia de planificare i evaluare a riscurilor
fiecrei iteraii;
realizarea validrii ct mai devreme posibil i de ct mai multe ori, prin
construirea prototipurilor.
Obiectivul principal urmrit prin modelul spiral este gestiunea atent a riscurilor prin
combinarea modelului cascad cu prototipizarea. Se construiete mai nti o prim versiune a
sistemului, sub forma unui prototip, n care nu este definit ntregul sistem ci sunt luate n
considerare doar caracteristicile sale principale. Dup transpunerea prototipului n aplicaie,
aceasta este evaluat de ctre beneficiari, iar n funcie de rezultatul evalurii se pot defini i
implementa noi caracteristici ale sistemului, construindu-se un nou prototip ce va fi supus
evalurii. Acest proces se reia de mai multe ori, urmtoarele prototipuri fiind versiuni din ce
n ce mai complete ale sistemului propus. Modelul cascad se va regsi n cadrul fiecrei
iteraii.
Modelul spiral este descompus n mai multe activiti-cadru maxim 6, cum sunt
prezentate n continuare:
comunicarea cu beneficiarul (stabilirea i meninerea contactului dintre beneficiar
i proiectant);
planificarea (definirea resurselor, a termenelor limit de realizare);
analiza riscului (riscuri tehnice i de organizare);
proiectarea (definirea uneia sau mai multor reprezentri ale aplicaiei);

Oprea, D., Analiza i proiectarea sistemelor informaionale economice, Ed. Polirom, Iai, 1999, p. 68

3 Medii de programare vizual Curs 2

March 3, 2015 [MEDII DE PROGRAMARE VIZUAL]


construirea i lansarea;
evaluarea beneficiarului (feed-back din partea beneficiarului asupra schimbrilor
din noua versiune instalat).
Cea mai cunoscut variant a modelului este cea bazat pe 4 elemente majore, ca n
figura de mai jos.
Printre avantajele modelului spiral se pot enumera:
diminuarea riscurilor la nivel de prototip, prin angajarea treptat n proiect a
echipei de dezvoltare i a beneficiarilor;
valorificarea experienei anterioare n planificarea activitilor pentru prototipul
urmtor;
evaluarea riscurilor asociate proiectului n mai multe momente;
simplificarea operaiunilor de evaluare a ceea ce este necesar n etapa
(prototipul) urmtoare, inclusiv prin prisma costurilor.
Planificare

Analiza
riscului

Evaluarea
beneficiarului

Proiectare

F ig. 2. Ilustrarea modelului n spiral

Aplicarea cu succes a modelului spiral este condiionat de profesionalismul echipei


de dezvoltare i flexibilitatea n aciune, inclusiv n alocarea de fonduri, dar i n definirea
activitilor de ntreprins.
Modelul RAD
Dezvoltarea aplicaiilor trebuie s rspund, ca orice domeniu de activitate, principiului
productivitii i eficienei economice. Detaliind, putem identifica mai multe aspecte ce
trebuie avute n vedere n dezvoltarea unei aplicaii 3:
productivitatea resurselor;
calitatea produsului;
timpul de realizare;
simplificarea ntreinerii;
satisfacia utilizatorului.
Modelul RAD i propune s porneasc de la surs, adic de la nevoile utilizatorilor.
Utilizatorul se gsete n centrul ateniei, fiind clientul sistemului ce se realizeaz.
RAD reprezint un arhetip revoluionar de succes n software-ul anilor 90, caracterizat
pe scurt prin mai repede, mai bine, mai ieftin, ceea ce este posibil de realizat printr-o
3

Silvestre, P., Verlhac, D., Le development de systemes dinformation, Edition Hermes, Paris, 1996, p. 112

4 Medii de programare vizual Curs 2

[MEDII DE PROGRAMARE VIZUAL]

March 3, 2015

abordare foarte riguroas, bazat pe echipe mici de specialiti bine pregtii, pe utilizarea
prototipurilor i impunerea unor limite rigide de timp n planificarea activitilor.
RAD se bazeaz pe modelul spiral, ceea ce permite dezvoltarea incremental i
repetitiv. Dei nu reiese din figura modelului, trebuie precizat influena metodelor orientateobiect, ce asigur o eficien sporit pentru RAD, prin utilizarea de componente pre-fabricate.
De asemenea, RAD apeleaz la generarea automat a codurilor prin sisteme CAPS
(Computer-Aided Prototyping System), care nlocuiesc scrierea manual, mai nceat a
codului i minimizeaz erorile. n fine, RAD nseamn flexibilitate, prin faptul c permite
utilizatorilor s foloseasc propriile limbaje de interogare sau generatoare de rapoarte. Dup
definirea de ctre J. Martin a filosofiei RAD 4 a urmat un val de propuneri de modele de
dezvoltare a aplicaiilor de tip RAD.
Planificarea cerinelor

Proiectare

Construire

Finalizare

F ig. 3. F azele unui ciclu de dezvoltare RAD

RAD se individualizeaz prin urmtoarele caracteristici:

utilizarea de echipe mixte, formate n medie din 6 persoane, incluzndu-i pe


utilizatorii finali, manageri i pe dezvoltatorii sistemului (aceast denumire face referire la
specialistul multilateral, ce are att cunotine specifice analizei de sistem, ct i de
proiectare i programare). Trebuie precizat c experiena anterioar este deosebit de
important, iar succesul proiectului este asigurat prin implicarea activ a utilizatorilor, ca i
prin comunicarea i colaborarea permanent ntre membrii echipei;
utilizarea de instrumente specializate care asigur:

dezvoltarea vizual,

crearea de prototipuri,

planificarea i gestiunea timpului,

colaborarea i lucrul n echip,

folosirea componentelor re-utilizabile i a componentelor API,

controlul versiunilor;

renunarea la caracteristici sau componente secundare (n special cu rol de


mbuntire a interfeei sau a dialogului cu utilizatorul) pentru a asigura ncadrarea n
termenele stabilite. De regul, ntregul proces de dezvoltare are o durat maxim de 6 luni;
prototipizarea iterativ, evolutiv.
Etapele unui ciclu de dezvoltare RAD pot fi prezentate i n succesiunea: analiz,
proiectare, realizare i integrare, testare i implementare, dar ntr-un mod diferit fa de
modelul clasic. Pentru ilustrare ne vom opri asupra ciclului de dezvoltare James Martin, cel

Martin, J., Rapid Application Development, Macmillan, 1991

5 Medii de programare vizual Curs 2

March 3, 2015 [MEDII DE PROGRAMARE VIZUAL]


mai reprezentativ dintre ciclurile de dezvoltare RAD. Exist n acest ciclu 4 faze: (1)
identificarea i planificarea cerinelor, (2) proiectare, (3) construire, (4) finalizare.
Planificarea cerinelor are ca obiectiv determinarea funciunilor sistemului.
Utilizatorul trebuie s aib un rol activ n aceast faz. Faza se desfoar n aa-numitele
ateliere de lucru (workshop), de tip Joint Requirements Planning. Activitile desfurate pot
fi grupate n: evidenierea problemelor, identificarea i precizarea cerinelor, planificarea
sarcinilor.
Proiectarea realizeaz modelarea sistemului prin prototipuri i alte instrumente de
modelare. Activitatea se desfsoar n ateliere de lucru de tip Joint Application Design. Dup
stabilirea modelului de lucru se ntocmete rapid prototipul. Fiecare prototip va fi testat i
validat n atelierele de lucru.
Construirea sistemului este apanajul specialitilor informaticieni, care transpun
modelele fazei anterioare n programe. Utilizatorii testeaz componentele i le valideaz sau
solicit, dac e necesar, ameliorarea acestora. Faza se ncheie prin integrarea componentelor
n sistemul final. Aa cum reiese i din figur, aceast faz i precedenta se constituie ntr-un
ciclu iterativ, pn la obinerea rezultatului dorit (Iterate Until Done). Pe parcursul acestui
ciclu prototipurile definite i revizuite pot evolua n prototipuri operaionale.
Finalizarea se refer la punerea n exploatare a sistemului. Aceast faz continu
testrile asupra produsului final, impune schimbri organizaionale, formeaz i instruiete
utilizatorii finali.
n sintez, modelul RAD se bazeaz pe urmtoarele soluii 5:
Includerea utilizatorilor n echipa de realizare a aplicaiei i implicarea
activ a acestora. S-a pornit de la faptul c utilizatorii sunt sursa cerinelor informaionale, ca
i beneficiari direci ai aplicaiei, deci opinia lor este determinant pentru succesul aplicaiei.
Implicarea direct i continu a utilizatorilor n procesul de dezvoltare este esenial pentru
succesul RAD. Ea prezint importan n detectarea din timp a eventualelor erori, tiind c
dac defectul este descoperit mai repede, costul remedierii va fi mai sczut. Costul corectrii
erorilor crete odat cu trecerea dintr-o etap a ciclului de via n alta.
Gestiunea optim a timpului. Se fixeaz intervale scurte de timp pentru
realizarea componentelor. Un proiect de dimensiuni mari va fi descompus n subproiecte cu
posibiliti de realizare n paralel. Pentru a asigura respectarea termenelor, se vor realiza mai
nti versiuni care vor cuprinde doar funcionalitile de baz. n final, se vor integra i
funcionalitile complementare.
Dezvoltarea incremental, numit i ciclu de elaborare n spiral. Este un
factor ce contribuie la sporirea vitezei de realizare a aplicaiilor. n loc s se lanseze direct
produsul final, aplicaia va apare n versiuni succesive. Se realizeaz prototipuri ale aplicaiei
prin parcurgerea a 3 etape: determinarea cerinelor informaionale, transpunerea lor sub form
de aplicaie, testarea acesteia de ctre utilizatori. Utilizarea prototipurilor permite ca
utilizatorii s observe i s corecteze sistemul.
Reutilizarea. O aplicaie nu mai este vzut ca un ansamblu de programe
executabile mpreun cu un ansamblu de date, care comunic prin intermediul unor interfee.
Aplicaia reprezint un ansamblu de servicii/componente care rspund unor obiective sau
cerine.
Utilizarea de instrumente CASE pentru generarea rapid i fr erori a
programelor.

Silvestre, P., Verlhac, D., Op. cit., pp. 112-113

6 Medii de programare vizual Curs 2

[MEDII DE PROGRAMARE VIZUAL]

March 3, 2015

Limbajul C#
Lansat publicului n iunie 2000 i oficial n primvara anului 2002, C# este un limbaj de
programare care combin facilit i testate de-a lungul timpului cu inova ii de ultim moment. C#

deriva din doua dintre cele mai de succes limbaje de programare: C si C++. De asemenea,
limbajul este o ruda apropiat a limbajului Java.
C# pronunat (C sharp) este un limbaj de programare orientat pe obiecte dezvoltat de firma
Microsoft, ca soluie standard pentru dezvoltarea aplicaiilor Windows. Creatorii lui sunt
Anders Hejlsberg (autor al limbajelor Turbo Pascal i Delphi), Scot Wiltamuth i Peter Golde.
C# respect standardul ECMA-334 (European Computer Manufactures Association).
Bunicul limbajului C# este C-ul. De la C, C# mosteneste sintaxa, multe din cuvintele cheie
si operatorii. De asemenea, C# construieste peste modelul de obiecte definit in C++. Relatia
dintre C# si Java este mai complicata. Java deriva la randul sau din C si C++. Ca si Java, C# a
fost proiectat pentru a produce cod portabil. Limbajul C# nu deriva din Java. Intre C# si Java
exista o relatie similara celei dintre veri, ele deriva din acelasi stramos, dar deosebindu-se
prin multe caracteristici importante. Dei Java a rezolvat cu succes problema portabiliii,
exista unele aspecte care i lipsesc. Una dintre acestea este interoperabilitatea limbajelor
diferite, sau programarea n limbaj mixt (posibilitatea codului scris ntr-un limbaj de a lucra
n mod natural cu codul scris n alt limbaj). Interoperabilitatea limbajelor diferite este
esenial la realizarea sistemelor software de dimensiuni mari.
Limbajul C# contine mai multe facilitati inovatoare, dintre care cele mai importante se refera
la suportul ncorporat pentru componente software. C# dispune de facilitati care
implementeaza direct elementele care alcatuiesc componentele software, cum ar fi
proprietile, metodele si evenimentele. Poate cea mai importanta facilitate de care dispune
C# este posibilitatea de a lucra intr-un mediu cu limbaj mixt.

Relatia dintre C# si arhitectura .NET


C# are o legatura deosebita cu mediul sau de rulare, arhitectura .NET. Pe de o parte, C# a fost
dezvoltat pentru crearea codului pentru arhitectura .NET, iar pe de alta parte bibliotecile
utilizate de C# sunt cele ale arhitecturii .NET. Limbajul C# folosete Microsoft :NET
Framework, o colecie de clase care poate fi descrcat prin Internet i care este ntreinut
permanent de Microsoft. Prima versiune dateaz din 2001, ultima versiune fiind 4.5, un
update al versiunii :NET 4.0. i dateaz din 10/9/2012.
Arhitectura .NET defineste un mediu de programare care permite dezvoltarea si executia
aplicatiilor indiferent de platforma. Aceasta permite programarea in limbaj mixt si ofera
facilitati de securitate si portabilitate a programelor. Este disponibila deocamdata pentru
platformele Windows.
Legat de C#, arhitectura .NET defineste doua entitati importante si anume biblioteca de clase
.NET si motorul comun de programare sau Common Language Runtime (CLR).
C# nu are o biblioteca de clase proprie ci utilizeaza direct biblioteca de clase .NET. De
exemplu, cand se ruleaza un program care efectueaza operatii de intrare-iesire, cum ar fi
afisarea unui text pe ecran, se utilizeaza biblioteca de clase .NET.
7 Medii de programare vizual Curs 2

March 3, 2015 [MEDII DE PROGRAMARE VIZUAL]


Motorul comun de programare (CLR) se ocupa de executia programelor C#. El asigura de
asemenea programarea in limbaj mixt, securitatea si portabilitatea programelor. Atunci cand
este compilat un program C#, sau un program in limbaj mixt, rezultatul compilarii nu este un
cod executabil. In locul acestuia, se produce un fisier care contine un tip de pseudocod numit
limbaj intermediar sau pe scurt IL (Intermediate Language). Acest fisier IL poate fi copiat in
orice calculator care dispune de .NET CLR. Prin intermediul unui compilator denumit JIT
(Just In Time), motorul comun de pogramare transforma codul intermediar in cod executabil.
Procesul de conversie decurge astfel: atunci cand un program .NET este executat, CLR
activeaza compilatorul JIT. Compilatorul JIT converteste IL in cod executabil pe masura ce
fiecare parte a programului este neceasra. In concluzie, orice program compilat pana in format
IL poate rula in orice mediu pentru care CLR este implementat. In acest fel arhitectura .NET
asigura portabilitatea.
Clasele coninute n .NET sunt neutre fa de limbaj (aplicaiile pot fi scrise n diverse
limbaje) i uureaz munca de programare n realizarea interfeelor aplicaiilor, accesul la
date, conectarea la servere de baze de date, accesarea resurselor din Internet, programarea
aplicaiilor bazate pe comunicaii prin reele, etc. Aplicaiile care folosesc .NET sunt
executate ntr-un mediu software denumit CLR (Common Language Runtime). Acesta poate
fi asimilat unui procesor virtual, asemntor mainii virtuale Java, care furnizeaz servicii de
management a resurselor calculatorului, asigurare a stabilitii i securitii execuiei.

F ig. 4. Motorul comun de programare

Spaiul de nume (NameSpace) reprezint un concept aprut n C++ odat cu extinderea


programrii obiectuale. Clasele care alctuiesc o aplicaie pot proveni din surse diferite i pot
avea din ntmplare aceeai denumire. Dac programatorii au creat clasele n spaii de nume
distincte, eventualele coincidene de nume pot fi uor rezolvate, denumirea fiecrei clase fiind
precedatp de denumirea spaiului de nume cruia i aparine. Pentru a evita tastarea spaiului
de nume naintea fiecrei denumiri de clase se folosete clauza Using. .NET Framework
definete peste 90 de spaii de nume, majoritatea avnd denumiri ncepnd cu System. Pn
acum s-au folosit spaiile de nume System i System.Windows.Form.
8 Medii de programare vizual Curs 2

[MEDII DE PROGRAMARE VIZUAL]

March 3, 2015

Laborator 3
1. Controlul de tip GroupBox
Un GroupBox este un control de tip container care se folosete pentru a plasa controale copil
pe un formular. Este un chenar dreptunghiular etichetat care nconjoar mai multe controale.
Scopul unui GroupBox este s arate vizual relaiile dintre controale. Proprietatea Text
reprezint eticheta controlului. Un asemenea control se utilizeaz de obicei pentru a grupa
controale de tip RadioButton. Dac exist dou asemenea controale, fiecare coninnd mai
multe butoane de opiune (radio), fiecare grup este mutual exclusiv, setnd o singur valoare
pentru fiecare grup.
2. Controlul de tip RadioButton
Un control de tip RadioButton permite selectarea unei singure opiuni dintr-un grup de
variante. Butoanele radio sunt plasate de obicei ntr-un grup sau un container cum ar fi Panel
sau GroupBox i permite selecatra unei singure opiuni din cadrul acelui control. n fiecare
grup o singur opiune poate fi selectat. Atunci cnd o opiune este selectat, celelalte opiuni
sunt automat deselectate. Plasate pe un formular, toate butoanele radio funcioneaz ca un
grup, permind selecia unei singure opiuni. Pentru proprietatea Name a unui control de tip
RadioButton se folosete prefixul opt (de la opiune).
Dac se dorete selecia mai multor opiuni se utilizeaz controale de tip CheckBox. Ambele
tipuri de controale ofer posibilitatea selectrii sau deselectrii opiunilor. Diferena este c
mai multe controale de tip CheckBox pot fi selectate n acelai timp pe cnd butoanele de
opiune sunt mutual exclusive.
Proprietatea Checked permite setarea sau verificarea selectrii butonului. Aceasta are implicit
valoarea true:
if (optRadioButton.Checked)
{
// codul care se execut dac opiunea este selectat
}
else
{
// codul care se execut dac opiunea nu este selectat
}

3. Controlul de tip CheckBox


Controlul de tip Checkbox permite selecii multiple. De obicei butoanele se plaseaz n
cadrul unui control de tip container cum ar fi GroupBox sau Panel. Pentru a verifica dac o
valoare este selectat se folosete proprietatea cheked care poate avea valoarea de true sau
false (implicit valoarea este true). Pentru proprietatea Name a unui control de tip CheckButton
se folosete prefixul chk (de la opiune).
4. Controlul de tip Combo box
Un control de tip ComboBox este o combinaie ntre un TextBox i un ListBox i permite
alegerea unui element dintr-o list sau introducerea unei noi valori. Valorile unui ComboBox
pot fi inserate prin cod utilizndu-se metoda Add. Pentru a terge cte un element se poate
folosi metoda Remove method iar pentru a terge ntreaga list se utilizeaz metoda Clear.
comboBox1.Items.Add("Sunday");
Pentru a recupera valoarea selectat din list ntr-un ir se poate folosi:
string var1;
var1 = comboBox1.Text;
9 Medii de programare vizual Curs 2

March 3, 2015 [MEDII DE PROGRAMARE VIZUAL]


Pentru a terge un element din list se poate utiliza indexul acestuia (SelectedItems). n
exemplul urmtor este eliminat al doilea element al listei (numrtoarea elementelor ncepe cu
valoarea 0). Valoarea -1 semnific faptul c nici o valoarea nu este selectat:
comboBox1.Items.RemoveAt(1);
Condul urmtor va elimina valoarea "Sambata" din combobox.
comboBox1.Items.Remove("Sambata");
5. Instruciunea alternativ IF
De multe ori o valoare nu este cunoscut. Aceasta poate fi testat cu ajutorul declaraiilor If
sau Switch. Cu ajutorul unei declaraii if, putem lua o decizie logic pe baza acesteia. n
cadrul unei declaraii If se testeaza o expresie care este evaluat la valoarea adevrat sau fals.
Cu ajutorul operatorilor logici putem nlnui expresiile.

O declaraie If determin care ramur va fi executat n funcie de o expresie boolean.


// if-else statement
if (condition)
{
then-statements;
}
else
{
else-statements;
}
// Next statement in the program.
O declaraie If poate s nu conin ramura else:
// if statement without an else
if (condition)
{
then-statements;
}
// Next statement in the program.
Dac variabila condition este evaluat cu valoarea true, se execut partea Then. Dac condiia
este fals ramura de Else este executat. Deoarece nici o condiie nu poate fi simultan i
adevarat i fals. Niciodat i ramura then i ramura else nu sunt executat n acelai timp.
Dup testare execuia programului este transferat primei instruciuni de dup If.
10 Medii de programare vizual Curs 2

[MEDII DE PROGRAMARE VIZUAL]

March 3, 2015

Dac o declaraie nu include ramura else, iar condiia este adevrat, se va executa ramura
Then. Dac condiia este fals, se transfer controlul la prima instruciune de dup If.
Ambele ramuri (then i else) pot conine una dau mai multe instruciuni care sunt incluse ntre
acolade ({}). Pentru o singur declaraie acoladele sunt opionale dar sunt recomandate, cu
atat mai mult cu ct Visual Studio adaug imediat acoladele, deci nu mai exist nici problema
pierderii timpului punnd acoladele.
Expresia trebuie evaluat la valoarea true sau false. Nu este acceptat un rezultat numeric sau
un tip de referin aceasta va produce o eroare de compilare. Expresiile pot fi complexe.
Operatori:
= = egalitate (nu atribuire!!!)
! operatorul negaie
&& operatorul AND
|| operatorul OR
Exemple de condiii:

(!checkBox1.Checked)
(optZece.Checked == false && optCinspe.Checked == false && optDouazeci.Checked

== false)

optZece.Checked == false || optCinspe.Checked == false)

O declaraie sau mai multe declaraii din cadrul ramurilor Then sau Else pot fi de orice tip,
inclusiv o alt declaraie if imbricat n if-ul original. n cazul declaraiilor imbricate, fiecare
clauz else aparine ultimului If care nu are un else corespunztor. Imbricarea creeaz un flux
asemntor cu utilizarea operatorului &&. Aranjarea declaraiilor If poate afecta performana
sistemului n unele situaii.
Exemplu:
if (condition)
{
code to execute;
if (condition)
{
code to execute;
}
else if (condition)
{
if (condition)
{
code to execute;
}
}
}
else
{
if (condition)
{
code to execute;
}
}

11 Medii de programare vizual Curs 2

March 3, 2015 [MEDII DE PROGRAMARE VIZUAL]


Validarea unui numr real inserat ntr-un TextBox:
double doutput = 0;
if (double.TryParse(txtPret.Text, out doutput))
{
MessageBox.Show("Valoarea introdusa pentru pret este un numar de tip
double valid :-)");
}
else
{
MessageBox.Show("Valoarea introdusa pentru pret nu este un numar de tip
double valid!!!");
}

12 Medii de programare vizual Curs 2

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