marți, 11 mai 2010

Erori ce pot apărea într-un program

Programarea este unul din domeniile ce solicită la maxim capacitatea de concentrare şi atenţia programatorului. Deoarece calculatorul nu poate ghici ceea ce doream noi să execute, el poate doar executa ceea ce i-am spus noi să facă, intrucţiunile pe care i le dăm trebuie să fie scrise într-un limbaj folosit la modul cel mai corect. Bineîţeles situaţia este valabilă nu doar pentru programele scrise în Pascal, ci pentru toate programele scrise în orice limbaj.

Şi pentru că a greşi este totuşi omeneşte, să vedem ce erori pot apare în timpul scrierii unui program şi unde trebuie să fiţi mai atenţi.

În principal avem două tipuri de erori:


Erori de sintaxă: apar datorită neatenţiei şi sunt erorile cauzate de scrierea incorectă sau incompletă a unor porţiuni de program. Ca şi exemple am putea aminti:

scrierea greşită a denumirilor de instrucţiuni, sau de variabile (în cel de al doilea caz folosiţi defapt nume de variabile nedeclarate).

scrierea greşită a semnelor de punctuaţie (două puncte în loc de punct şi virgulă sau invers, etc).

alegerea incorectă a tipului unor variabile.

Toate aceste erori sunt detectate de către compilator în timpul operaţiei de compilare, ele nu permit compilarea programului, compilatorul afişând în schimb diverse mesaje de eroare.


Erori logice: sunt datorate alegerii incorecte a metodei sau formulei de rezolvare a problemei pe care vrem s-o rezolvăm cu ajutorul calculatorului. Ceea ce face şi mai dificilă depistarea şi corectarea acestor erori, este că compilatorul nu le detectează.

Ca să luăm un exemplu simplu, să presupunem că în programul ce calculează media a două numere reale, în formula de calcul a mediei nu folosim parantezele ci scriem media:=a+b/2;

Aici compilatorul nu are de unde ghici ce vrem noi defapt să calculăm şi dacă restul programului este scris corect, compilarea este posibilă, deci şi execuţia programului.

Dar oare rezultatul afişat va fi cel corect?


O metodă de verificare (deşi nu perfectă) a acestor erori logice, este compararea rezultatelor. Adică în primul rând se rezolvă problema manual pe hârtie, luând doua-trei exemple (cu cât mai multe cu atât mai bine), iar apoi se rezolvă problema şi cu ajutorul programului.

Ca să rămânem tot la exemplul nostru cu programul medie, luaţi mai întâi o hârtie şi calculaţi media a două sau trei perechi de numera oarecare (puteţi să vă folosiţi şi de un calculator de buzunar). Sau puteţi să vă folosiţi şi de exemple rezolvate din manuale sau culegeri, dacă există. După aceasta calculaţi media aceloraşi perechi de numere prin intermediul programului scris de voi. Dacă rezultatele sunt identice, aveţi şanse ca programul să fie corect, dacă rezultatele nu coincid trebuie revăzut programul şi depistate erorile.


Desigur că în cazul unor programe simple cum este cel pentru calculul mediei aritmetice, nu este greu ca acestea să fie scrise corect. Dar mai târziu când veţi ajunge să scrieţi programe mai lungi, mai complexe, ce conţin calcule matematice complicate, posibilitatea apariţiei unor astfel de erori este foarte mare.


Niciun comentariu:

Trimiteți un comentariu