Documente Academic
Documente Profesional
Documente Cultură
Cursul 3
DEZVOLTAREA RAIONAMENTULUI
Dup ce v-ai pus de acord cu utilizatorul asupra scopurilor i rezultatului programului, restul
depinde numai de dumneavoastr. Treaba dumneavoastr este s luai acel rezultat i s stabilii
cum putei determina calculatorul s-l produc. Ai fragmentat problema global n instruciuni
detaliate, pe care calculatorul le poate executa. Aceasta nu nseamn ns c suntei gata de a scrie
programul, ci din contra. Acum suntei gata pentru a dezvolta raionamentul ce va produce acel
rezultat.
Definirea datelor de ieire parcurge o etap bun din descrierea a ceea ce se presupune c
trebuie s efectueze programul. Acum, dumneavoastr trebuie s hotri cum se va ndeplini
aceasta. Trebuie s ordonai detaliile astfel nct acestea s opereze ntr-un mod ordonat n timp. De
asemenea, trebuie s hotri ce decizii va lua programul dumneavoastr, ca i aciunile rezultate din
fiecare dintre aceste decizii.
Organigramele
Organigramele i instrumentele corespunztoare de concepere a raionamentului constituie
elementele de baz ale profesionitilor din domeniul calculatoarelor. Complexitatea programelor cere
ca s gsii o modalitate oarecare de descriere a raionamentului programului, nainte de a-l scrie.
Organigramele pot prea arhaice, dar se constat c programatorii ce nu utilizeaz astfel de
instrumente sunt mai puin productivi dect ar putea fi.
Se spune c o ilustraie face ct o mie de cuvinte, iar organigrama ofer o reprezentare ilustrat
a logicii programului. Organigrama nu include toate detaliile programului, ci reprezint cursul logic
general al acestuia. Organigrama ofer logica pentru programul final. Dac organigrama este corect
desenat, scrierea efectiv a programului devine o chestiune de rutin. Dup terminarea ntregului
program, organigrama poate constitui documentaia pentru acesta.
Organigrama descrie caseta central a modelului de intrare-prelucrare-ieire, corespunztor
programelor de calculator.
Organigramele sunt compuse din simboluri utilizate n standardele industriale:
Fig. 1
Numai dup ce ai nvat s programai, putei ncepe s creai organigrama unui program; cu
toate acestea, trebuie s realizai organigrame nainte de a scrie programe. Acest sindrom de tip oul
sau gina" este obinuit pentru nceptorii n programare. Atunci cnd vei ncepe s scriei propriile
programe, vei nelege mult mai bine necesitatea organigramelor.
Aa cum putei constata exist multe simboluri posibile. Cu toate acestea, numai cteva sunt
utilizate n mod curent. Acest curs v prezint cel mai des ntlnite simboluri de organigram. Cu cele
pe care le vei cunoate aici, vei putea scrie i realiza toate organigramele care v vor fi vreodat
necesare. Celelalte simboluri constituie doar rafinamente ale celor despre care vei afla aici.
n figura 2 sunt descrise simbolurile de organigram utilizate n acest curs; ele sunt extrem de
des utilizate n literatura referitoare la programare, n ceea ce privete proiectarea de sus n jos, putei
utiliza organigramele pentru a descrie orice eveniment, nu numai programele de calculator.
Fig. 2
Simbolurile de organigram nu au nici o legtur cu casetele din proiectarea de sus n jos.
Reinei c proiectarea de sus n jos este instrumentul utilizat pentru obinerea detaliilor programului.
Organigramele furnizeaz raionamentul necesar pentru obinerea acestor detalii.
n continuare sunt descrise aceste simboluri si modul lor de utilizare.
Prelucrare
Conine o descriere a ceea ce se efectueaz. Se utilizeaz un simbol de prelucrare
atunci cnd are loc un proces direct de prelucrare a datelor, cum ar fi un calcul sau
iniializare ntr-un program.
Decizie
Utilizat atunci cnd programul trebuie s ia o decizie bazat pe dou alternative
cum ar fi tiprirea pe ecran sau la imprimant, n funcie de locul n care dorete
utilizatorul s se efectueze tiprirea.
Intrare/Iesire
Se utilizeaz pentru orice intrare sau ieire efectuat de ctre program, cum ar fi
adresarea unei ntrebri utilizatorului sau tiprirea unui raport. (Forma nclinat a
simbolului I/O indic semnificaia sa; semnul"/" din prescurtarea I/O este nclinat n
acelai mod.)
Terminal
Simbolul terminal cu cuvntul START scris n interior este folosit ntotdeauna pentru
nceperea oricrei organigrame. Simbolul terminal cu cuvintele STOP sau RETURN
scrise n interior este folosit ntotdeauna la sfritul oricrei organigrame. Atunci
cnd v vei referi ulterior la organigram, nu se va pune ntrebarea unde ncepe i
unde se sfrete.
Continuare
Fig. 3
Fig. 4
Unele organigrame nu au nevoie s curg ctre dreapta, deoarece descriu secvenial logica
programului, ns majoritatea prezint un fel de curs ntr-una dintre cele dou direcii recomandate. Ar
putea exista situaii n care o organigram corect s par c ncalc aceast regul; n curnd vei
vedea un astfel de exemplu. Din cauza repetrilor din raionament, este posibil ca organigrama s
aib zone ce curg n sus i ctre stnga pentru a repeta seciuni din organigram, dar, de fapt, firul
logic trebuie s fie continuat n direciile prefereniale.
Firul logic general trebuie s curg de sus n jos i de la stnga la dreapta.
Regula 3: simbolul de decizie este singurul care poate avea mai multe puncte de ieire i, de obicei,
are dou. Majoritatea simbolurilor de organigram au un punct de intrare i unul de ieire. Sgeile de
direcie a fluxului indic punctele de intrare i de ieire. Simbolul de decizie are ntotdeauna dou
puncte de ieire deoarece n acel loc din raionament poate avea loc unul din dou lucruri, iar fluxul
ulterior al raionamentului este determinat de ctre rezultatul acelei decizii. n figura 4 este ilustrat
aceast regul.
Regula 4: un simbol de decizie trebuie s conin ntotdeauna o ntrebare la care se poate rspunde
prin da sau nu. Decizia dintr-o organigram trebuie s aib ntotdeauna dou i numai dou variante
(de aici rezult i motivaia celor dou ieiri de la Regula 3). Decizia se poate vedea n nsi simbolul
respectiv. Majoritatea simbolurilor de organigram conin cuvinte ce descriu ceea ce se ntmpl n
acel loc din organigram. Figura 5 ilustreaz aceast regul.
Fig. 5
Ieirile din fiecare decizie trebuie, de asemenea, etichetate n mod clar. Deoarece ieirile sunt
rezultatele unei ntrebri la care se poate rspunde prin da sau nu, acestea se eticheteaz prin Da
sau Y, respectiv Nu sau N, astfel nct s se tie ce indic ieirea respectiv.
S-ar putea s v ntrebai dac este rezonabil s v ateptai ca toate deciziile s aib doar
dou rezultate posibile. Exist momente n care programul dumneavoastr trebuie s aleag o
valoare dintre multe altele, bazndu-se pe datele primite. Oricum ar fi, mai multe simboluri de decizie
vor putea rezolva orice numr de posibiliti.
Regula 5: instruciunile din interiorul simbolurilor trebuie s fie descrieri clare n limba romn, nu n
calculatoreasc" sau ntr-un limbaj de programare, nainte de a scrie programul, este necesar s
realizai organigrama acestuia. Nu trebuie s includei n interiorul simbolurilor de organigram
instruciuni de programare. Dac n acest moment ai fi fost gata pentru a programa, n-ar mai fi fost
nevoie s cheltuii timp pentru realizarea organigramei.
Organigrama constituie propriul dumneavoastr mers al logicii. De fapt, vei converti
organigrama n instruciuni dintr-un limbaj de programare, dar numai dup ce este sigur c aceasta
reprezint raionamentul corect , nu mai nainte.
Exemplu de organigram
n figura 6 este prezentat organigrama de apelare telefonic a unui prieten. Pentru a pstra
exemplul acesta n limite rezonabile, organigrama include aspectele importante ale problemei, cu
toate c mai exist nc multe alte modaliti de a realiza organigrama.
Vedei dac putei urmri organigrama. Sgeile de direcie v arat cum s procedai. Urmrii
organigrama de mai multe ori, de la nceput pn la sfrit, avnd n vedere fiecare dintre aceste
situaii diferite:
1. Presupunei c telefonul nu funcioneaz atunci cnd ncepei apelul.
2. Presupunei c prietenul dumneavoastr este acas i rspunde la telefon.
3. Presupunei c telefonul prietenului dumneavoastr este ocupat.
4. Presupunei c acas la prietenul dumneavoastr nu este nimeni.
5. Presupunei c prietenul dumneavoastr nu este acas, dar rspunde colegul de camer.
Observai c organigrama nu omite detaliile unui apel real. Pe de alt parte, nici nu caut s
presupun prea mult. Pentru dumneavoastr, apelarea telefonic a unui prieten poate s nsemne
simpla ridicare a receptorului i apelarea, dar - atunci cnd organizai detaliile n organigram ncepei s observai ct de multe lucruri ai considerat a fi subnelese.
Observai cum v ajut utilizarea unei organigrame pentru detalierea raionamentului
programului la organizarea i selectarea detaliilor necesare din program? n cursul anterior ai aflat
ct de important este fragmentarea scopurilor acestuia n mai multe etape detaliate. Organigrama v
ajut s facei tocmai aceasta.
Observai i cum acioneaz simbolurile conectoarelor pentru a menine organigram aerisit i
ordonat. Exist mai multe locuri n care se repet poriuni din organigram. De exemplu, dac
telefonul prietenului este ocupat, cercul conector notat cu A dirijeaz fluxul napoi n partea de sus a
organigramei. Raionamentele repetitive, cum ar fi acest; pare s mearg n sens opus celui de
parcurgere al organigramei, contrar celei de-a doua reguli; n realitate nu se ntmpl aa, deoarece
raionamentul repetat continu de fapt n jos i spre dreapta cnd se va rspunde n sfrit la
telefonul prietenului.
Fig. 6
Organigramele ca soluii la probleme reale
Trecnd la o problem cu o soluionare computerizat, s presupunem c dorii s realizai
organigrama mai multor sisteme de state de plat, incluznd orele suplimentare efectuate. Trebuie
detaliat procedura necesar pentru calculul salariului net, dat fiind posibilitatea de a exista o norm
i jumtate sau norm dubl, nainte de a realiza organigrama, ncercai s analizai aceste detalii:
Dac un salariat lucreaz 40 de ore sau mai puin, acesta va primi tariful pe or nmulit cu
numrul de ore lucrate.
Dac un salariat lucreaz ntre 40 i 50 de ore, acesta va primi tariful normal pe or nmulit cu
40 de ore, plus o dat si jumtate tariful pe or (de 1,5 ori tariful pe or) pentru numrul de ore
cuprinse ntre 40 i 50.
Dac un salariat lucreaz peste 50 de ore, acesta va primi un tarif dublu (de dou ori tariful pe
or), plus 10 ore la un tarif de o dat i jumtate (pentru numrul de ore cuprinse ntre 40 i 50), plus
de 40 de ori tariful normal pe or pentru primele 40 de ore.
Dei putei urmri aceste detalii dac nu avei ncotro, organigrama v ofer o modalitate mult
mai simpl de descriere a raionamentului. Urmrii organigrama din figura 7. Luai orice numr de ore
lucrate i urmai-l de-a lungul organigramei. Organigrama v menine pe calea dreapt a cursului
logic, fr detalii ce nu se aplic. A ncerca s scrii un program dup lista de trei puncte de mai sus
este mult mai dificil dect a-l scrie dup organigram.
Fig. 7
Pseudocodul
n ciuda soliditii si uurinei de realizare a organigramelor, unele firme prefer o alt metod
de descriere logic, denumit pseudocod.
Pseudocodul, denumit uneori i englez structurat, este o metod de scriere a raionamentului
prin utilizarea de propoziii, n locul diagramelor necesare realizrii organigramelor.
Organigramele necesit mult timp i mult hrtie pentru a fi desenate. Cu toate c exist
programe de realizare a organigramelor, care v ajut la desenarea si plasarea simbolurilor, acestea
sunt adeseori limitate i nu ofer flexibilitatea necesar de multe ori n logica programrii. Ca urmare,
adeseori trebuie s v resemnai a desena organigramele cu mna. Atunci cnd ai terminat o
organigram i constatai c ai omis dou simboluri importante, va trebui s redesenai o mare parte
din aceasta. Prin natura lor, organigramele necesit mult timp pentru a fi desenate, iar unele firme nu
accept ca programatorii lor s cheltuiasc timp pentru realizarea acestora, atunci cnd pseudocodul
poate s le nlocuiasc si este mai eficient ca timp.
Singurul instrument necesar pentru pseudocod este un procesor de text. Procesoarele de text
ofer capacitatea de a insera, muta i a terge poriuni de text. Deoarece pseudocodul nu necesit
desene, este mai rapid dect realizarea de mn a organigramelor i mai uor de ntreinut. n plus,
muli programatori sunt de prere c logica pseudocodului este mai uor de convertit n programul
final.
Ca i n cazul organigramelor, nu exist o modalitate de a nva pe cineva tehnicile pseudocodului, dac nu a petrecut un timp oarecare programnd. Prefixul pseudo nseamn fals; prin
urmare, pseudocodul nseamn literal cod fals. Cu ct tii mai multe despre limbajele de programare,
cu att v vei adapta mai bine la pseudocod, aa c citii urmtorul exemplu i ncercai s v formai
o prere despre acesta.
Pseudocodul nu conine instruciuni ale unui limbaj de programare, dar nici nu este o engleza
cursiv. Este un set de cuvinte din limba englez, ce permite descrierea logic, observate att de des
n organigrame i limbaje de programare. Aa cum se ntmpl i cu organigramele, se poate scrie un
pseudocod pentru orice, nu numai pentru programe de calculator. O mulime de manuale de instruire
utilizeaz o form de pseudocod pentru a descrie etapele necesare asamblrii componentelor.
Pseudocodul ofer o descriere strict a raionamentului, ce ncearc s lase puin loc pentru
ambiguiti.
Mai jos este prezentat raionamentul n problema statelor de plat, sub form de pseudocod.
Observai c putei citi textul, dei nu este un limbaj de programare. Indentarea ajut la inerea
evidenei propoziiilor ce merg mpreun. Pseudocodul poate fi citit de oricine, chiar i de ctre
persoanele nefamiliarizate cu simbolurile de organigram:
FOR fiecare salariat:
IF salariatul a lucrat intre 0 si 40 ore THEN
Salariul net egal numrul de ore lucrate ori tariful pe ora.
OTHERWISE
IF salariatul a lucrat ntre 40 si 50 de ore THEN
salariul net egal 40 ori tariful;
la care se adaug (numr ore lucrate -40) ori tariful pe ora ori 1,5.
OTHERWISE
salariul net egal 40 ori tariful pe ora;
la care se adaug 10 ori tariful pe ora ori 1,5;l
la care se adaug (numr ore lucrate -50) ori de doua ori tariful pe ora.
Deducei impozitele din salariul brut.
PRINT cecurile
END problema
Programarea structurat
La sfritul anilor '60, departamentele de programare au nceput s se poticneasc n sarcini
nerezolvate, ce creteau n ritmuri incredibile. Mai muli oameni scriau mai multe programe ca
oricnd, n timp ce muli programatori trebuiau angajai pentru ntreinerea programelor scrise
anterior.
Atunci cnd un program este terminat, el este considerat finalizat doar pentru momentul
respectiv. Ipotezele dintr-un program referitoare la sarcina ndeplinit de program se vor schimba n
timp. ntotdeauna ntreprinderile evolueaz n aceast economie global. Responsabilii cu
prelucrarea datelor ncepuser s recunoasc faptul c povara ntreinerii programelor ncepea s
fac ravagii n detrimentul dezvoltrii. Programatorii erau retrai de la noile proiecte pentru a le
actualiza pe cele vechi, ntreinerea dura prea mult.
nvai s scriei programe ce pot fi citite i ntreinute. Firmele economisesc bani atunci cnd
un programator scrie programe uor de ntreinut.
n timpul crizei ntreinerii programelor din anii '60, persoanele ce se ocupau de prelucrarea
datelor au nceput s caute noi modaliti de programare. Nu erau neaprat interesai de noi limbaje,
ci mai degrab de noi modaliti de a scrie programe, care s le fac s funcioneze mai bine i mai
rapid i - ceea ce este cel mai important - s le fac uor de citit, astfel nct ceilali s le poat
ntreine fr prea mare btaie de cap. Tehnicile de programare structurat au fost concepute n
aceast perioad.
Programarea structurat este o filosofie ce declar c programele ar trebui scrise ntr-un mod
ordonat, fr multe salturi nainte i napoi. Dac un program este conceput astfel nct s poat fi
citit cu uurin, atunci el poate fi mai uor modificat. Oamenii tiau de muli ani c un stil de scriere
clar este important, dar acest lucru a devenit evident pentru cei din domeniul calculatoarelor numai
dup aproape 20 de ani de utilizare a tehnicilor nestructurate.
Exist unele controverse referitoare la momentul exact n care programatorii nceptori ar trebui
s nceap s foloseasc programarea structurat. Unii sunt de prere c programatorii trebuie
instruii s foloseasc programarea structurat nc de la nceput. Alii cred c nceptorii trebuie s
nvee s programeze n orice mod n care pot rezolva problema respectiv, ca apoi s se adapteze
la programarea structurat.
Acum, cnd ai neles organigramele i limbajul pseudocod, putei vedea n ce const
programarea structurat cu ajutorul acestor instrumente. Cnd vei nva un limbaj de programare
vei gndi n stilul programrii structurate i v vei ncadra nc de la nceput, n mod natural, n
tiparul acesteia.
Un program bine scris i uor de citit nu nseamn c este neaprat structurat. Programarea
structurat este o abordare specific a programrii, care produce n general programe bine scrise si
uor de citit. Nimic nu poate convinge la o schimbare un programator ce se grbete s termine un
program prin ceea ce crede el c este cea mai rapid modalitate. Adeseori se aud replici ca: Mai
trziu l voi face structurat, dar deocamdat l voi lsa aa cum este". Acest mai trziu" nu vine
10
niciodat. Oamenii utilizeaz un program pn ntr-o zi cnd trebuie efectuate modificri, iar acestea
dureaz tot att de mult ct - sau chiar mai mult dect - ar fi nevoie pentru a-l arunca la gunoi i a-l
rescrie de la zero.
Programarea structurat include urmtoarele trei construcii:
Secvena;
Decizia (denumit i selecie);
Bucla (denumit i repetiie sau iteraie).
O construcie este un bloc de construcie al unui limbaj i una dintre operaiile fundamentale ale
acestuia. Atta vreme ct un limbaj de programare accept aceste trei construcii (majoritatea
accept), putei scrie programe structurate. Opusul unui program structurat este cunoscut sub
denumirea de program spaghetti. Ca i spaghetele care se revars i se ncolcesc peste tot n
farfurie, un program nestructurat - unul plin de instruciuni spaghetti - se revars peste tot si nu are
nici un fel de structur. Un program nestructurat conine o mulime de ramificaii. O ramificaie apare
atunci cnd un program merge pe o cale sau alta, fr nici o ordine.
Majoritatea limbajelor de programare permit ramificarea printr-o instruciune GOTO. Instruciunea
GOTO funcioneaz dup cum sun; ea i comunic calculatorului s treac n alt loc din program i
s continue execuia de acolo. Cutarea urmtoarei instruciuni de executat din program te face s-i
pierzi irul gndirii.
Unii programatori i unele manuale de programare v avertizeaz s v inei departe de
instruciunea GOTO. Instruciunea GOTO n sine nu este rea, atunci cnd este utilizat moderat, dar
poate face ravagii n posibilitatea de a citi un program, dac este utilizat prea des.
Cele trei construcii din programarea structurat nu se aplic doar programelor. Vei descoperi c
le putei utiliza n organigrame, pseudocod i n orice alt set de instruciuni pe care le scriei pentru
alii. Construciile din programarea structurat garanteaz c un program nu se ramific peste tot i
c orice execuie este controlat i uor de urmrit.
n continuare se explic fiecare din cele trei construcii din programarea structurat. Citii-le cu
atenie i vei constata c programarea structurat este un concept uor de neles, nvnd despre
structur nainte de a nva un limbaj, vei ajunge s v gndii automat la aceasta atunci cnd v
vei dezvolta abilitile de programare.
Secvena
Secvena nu este nimic altceva dect un set de dou sau mai multe instruciuni, una dup alta.
Instruciunile secveniale reprezint cea mai simpl din cele trei construcii din programarea
structurat, deoarece permit urmrirea programului de la prima pn la ultima instruciune din
secven, n figura 8 este prezentat o organigram ce ilustreaz o secven.
Pseudocodul corespunztor secvenei din organigram este:
GET numrul de ore lucrate.
MULTIPLY numrul de ore cu tariful pe ora.
SUBTRACT impozitele pentru a calcula salariul net
PRINT cecul.
11
Totui, secvena merit s fie utilizat pentru raionamentul liniar de programare, atunci cnd este
posibil.
Fig 8
Decizia (Selecia)
Ai ntlnit deja construcia de decizie, ntr-o organigram, simbolul de decizie este punctul n
care este luat decizia. Ori de cte ori un program ia o decizie, trebuie s o ia ntr-o direcie din dou.
Evident c o decizie reprezint o rupere a cursului secvenial al programului, dar este o rupere
controlat.
Prin natura sa, o ramificare trebuie efectuat pe baza rezultatului unei decizii (de fapt, programul trebuie s omit instruciunile ce nu trebuie executate). Totui, spre deosebire de o ramificaie
dreapt, o decizie garanteaz c nu trebuie s v batei capul cu secvena ce nu este executat. Nu
va trebui s v ntoarcei napoi i s citii partea din program omis de ctre decizie, (n funcie de
noile date, este posibil ca programul s repete o decizie i s ia o cale diferit a doua oar, dar, pe de
alt parte, putei ntotdeauna presupune c secvena de decizie ce nu este executat n momentul
respectiv este irelevant pentru bucla curent.)
Fig. 9
Pseudocodul corespunztor deciziei prezentate n organigram este:
IF elevul a obinut A sau B,
d elevului un certificat de absolvire.
OTHERWISE:
Organizeaz o ntlnire prini/profesor;
d elevului o tema suplimentara.
12
Poate c cea mai important sarcin a calculatoarelor o constituie executarea de bucle sau
ciclarea (termenul utilizat pentru repetarea sau iterarea liniilor din program). Calculatoarele repet
poriuni de program de milioane de ori i nu se plictisesc niciodat. Calculatoarele sunt tovari
perfeci pentru cei care au o mulime de date de prelucrat, deoarece ele pot prelucra datele, repetnd
pentru toate datele calculele obinuite, n timp ce omul poate analiza rezultatele.
Executarea de bucle prevaleaz n aproape orice program scris. Rareori se ntmpl s scriei
un program format dintr-o secven liniar de instruciuni. Timpul necesar pentru proiectarea si
scrierea unui program nu merit ntotdeauna efortul, atunci cnd este vorba doar de o serie liniar de
instruciuni. Programul funcioneaz la capacitate maxim atunci cnd poate repeta o serie de
instruciuni secveniale sau decizii.
n figura 10 este prezentat o organigram ce repet o seciune dintr-o bucl. Buclele ncalc
doar temporar regula ce spune c organigramele trebuie s curg n jos i spre dreapta. Buclele din
interiorul organigramei sunt corecte, deoarece, n final, raionamentul va nceta s execute bucle.
Nu uitai de cumplita bucl infinit. O bucl infinit este o bucl ce nu se termin niciodat, n
cazul n care calculatorul dumneavoastr intr ntr-o bucl infinit, el va continua s o execute, fr a
termina vreodat, iar uneori este dificil de recptat controlul asupra programului fr a reporni
calculatorul. Buclele ar trebui ntotdeauna prefaate de ctre o instruciune de decizie, astfel nct, n
cele din urm, decizia s declaneze sfritul buclei, pentru ca restul programului s poat fi
executat.
Pseudocodul corespunztor organigramei este:
IF sunt mai muli cumprtori,
DO urmtoarele:
CALCULATE balana financiara pentru urmtorul cumprtor;
PRINT o factura.
OTHERWISE,
PRINT raportul total al balanei financiare.
Dup cum vedei, n cele din urm nu vor mai fi cumprtori, iar bucla (ce ncepe cu do") va
nceta a fi efectuat, astfel nct restul logicii va putea prelua comanda.
Fig. 10
Testarea programului
13
14
simultan programul dumneavoastr. Cu toate c aceasta presupune un timp ceva mai lung de fiecare
dat cnd se calculeaz salariile, se pot compara rezultatele programului cu cele ale sistemului
manual, pentru a vedea dac corespund.
Numai dup cteva perioade n care plata se face cu testare n paralel, utilizatorul poate cpta
destul ncredere pentru a utiliza programul fr copii de siguran manuale.
n timpul acestei perioade de testare, este posibil s fie necesar ca programatorii s efectueze
mai multe schimbri n program. Ateptai-v s fie necesare modificri i nu v vei simi dezamgit,
pierzndu-v ncrederea n programare. Arareori se ntmpl ca programatorii s scrie un program
corect de prima dat. De obicei, sunt necesare multe ncercri pentru a realiza programe corecte.
Testarea n amnunt descris n acest paragraf nu constituie o asigurare perfect c programul este
corect. Unele erori pot aprea numai dup ce programul este utilizat o vreme. Cu ct efectuai mai
multe testri, cu att este mai puin probabil s apar ulterior erori.
nvarea limbajului de programare
Deocamdat, n acest curs a fost lsat deoparte o etap important. Aceasta este etapa de
nvare a limbajului de programare. Restul cursului este dedicat descrierii limbajului C.
15