Se afișează postările cu eticheta Limbajul Pascal - specifici de lucru. Afișați toate postările
Se afișează postările cu eticheta Limbajul Pascal - specifici de lucru. Afișați toate postările

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.


sâmbătă, 8 mai 2010

Comentarii în programe Pascal

Pe lîngă textele explicative ce transmit diverse mesaje de ghidare utilizatorului, într-un program Pascal se mai pot introduce şi comentarii. Acestea sunt utile doar programatorului pentru a înscrie diverse informaţii despre ce face şi despre cum este conceput respectivul program. Comentariile reprezintă orice text încadrat între două acolade şi poate fi pe unul sau mai multe rânduri:

{acesta este un comentariu in Pascal}


şi au următoarele caracteristici:

  1. sunt ignorate de către compilator. Rezultă de aici că:
    • nu sunt executate de către calculator
    • textul cuprins între acolade nu va fi afişat niciunde cînd vom rula programul
    • comentariile nu modifică cu nimic execuţia programului şi nici rezultatele afişate

  2. comentariile pot fi introduse oriunde în program şi pot fi oricâte dorim.

Reluăm ca şi exemplu scrierea programului de mai sus, dar în care am introdus şi nişte comentarii (poate prea multe):


{program care citeste 2 numere   si apoi le afiseaza asa cum sunt}

program numere_comentat; {numele programului trebuie continut intr-un singur cuvant, fara spatii}
Var nr1: integer; nr2: real; {am definit o variabila ca si reala}
Begin {de aici incepe programul}
Write ('Introduceti numarul intreg=');
Readln (nr1); Write ('Introduceti numarul real=');
Readln (nr2); {programul citeste variabila reala}
Writeln ('Numarul intreg este=', nr1);
Writeln ('Numarul real este=', nr2); {programul afiseaza deci, cele doua numere exact asa cum au fost introduse, fara nici o modificare}
end.


Salvaţi şi executaţi pe rând cele două programe numere şi numere_comentat. Observaţi dacă în timpul rulării celor două programe exită vreo diferenţă.

Poate că acum la aceste programe simple şi scurte nu vedeţi utilitatea folosirii comentariilor. Dar în cazul unor programe mari, de zeci sau sute de instrucţiuni, liniile de comentariu introduse din loc în loc şi în punctele principale ale programului, vă vor ajuta foarte mult să vă daţi seama despre ce este vorba în program, fie că reluaţi lucrul la acel program după un timp mai îndelungat, fie că după voi va urma un alt programator care va trebui să facă unele modificări.



Utilizarea textelor explicative

În cadrul programelor complexe în care se folosesc mai multe variabile şi se cere introducerea de la tastatură a conţinutului unora dintre ele, precum şi afişarea conţinutului altora, pentru un utilizator care nu cunoaşte limbajul Pascal şi nici nu vede programul sursă, ar fi foarte greu să ştie în fiecare moment, conţinutul cărei variabile i se cere a introduce de la tastarură, precum şi conţinutul cărei variabile este afişat. De aceea într-un program se mai introduc şi linii de text explicativ, care uşurează utilizarea lui de către un client. Linile de text explicative sunt introduse tot cu ajutorul instrucţiunii Write sau Writeln şi ele nu influenţează cu nimic rezultatul programului.

Trasnscriem mai jos programul nostru adăugând şi explicaţiile necesare.

program text2; Var propoz: string; Begin  Write (‘Introduceti propozitia dorita: ‘);  Readln (propoz);  Write (‘Textul este: ‘);  Write (propoz); end.

Trebuie acordată o mare atenţie ca valoarile variabilelor introduse de către utlizator de la tastatură să fie compatibile cu tipul variabilelor, declarate în secţiunea de declaraţii. Astfel o variabilă de tip integer sau real nu poate conţine caractere (litere şi nici semne de punctuaţie), de asemenea o variabilă de tip string poate conţine şi cifre, dar asupra ei nu se pot aplica operaţiile aritmetice. Pentru a se evita deci, ca utilizatorul să introducă o valoare nepotrivită într-o variabilă se folosesc aceste texte explicative.


Primul program Pascal

Pentru a scrie azi primul program în Pascal avem nevoie să învăţăm prima instrucţiune din Pascal, adică o instrucţiune prin care comandăm calculatorului să scrie ceva, să afişeze un text, pe monitor. Numele acestei instrucţiuni este WRITE (cei care ştiţi engleză trebuie că cunoaşteţi sensul verbului to write).

Iar primul program şi cel mai simplu poate arăta aşa:

begin
        Write (‘Clasa a 6-a’);
end.

În Pascal există o regulă generală şi anume începutul oricărui program se face cu cuvântul begin iar sfârşitul programului se anunţă cu cuvântul end urmat de punct. Deasemenea fiecare linie de comandă se termină cu punct şi virgulă.

Execuţia programului va avea ca rezultat afişarea propoziţiei Clasa a 6-a.Observăm că pentru aceasta textul nostru trebuie cuprins între două apostroafe şi închis între paranteze. Aceasta este ceea ce se numeşte sintaxa intrucţiunii WRITE.

Pentru ca să vedem rezultatul execuţiei programului, trebuie ca el să fie scris aşa cum este în mediul de editare Turbo Pascal sau Borland Pascal, apoi să fie compilat şi lansat în execuţie (rulat).

Petru cei care nu au instalat şi nu sunt familiarizaţi cu programul Turbo Pascal sau Borland Pascal, prezentăm separat o anexă a instalării şi utilizării programului Turbo Pascal 7.0. Cei care îl au instalat pe calculator şi cunosc deja modul de lucru cu acest program, pot sări peste anexa aceasta.


Tutorial "Programarea Pascal. Şiruri de caractere"