Pagina de start a forumului GhiTza.MyForum.Ro
Inregistrare • Cautare • FAQ • Membri • Grupuri • Autentificare
Pascal - Structura unui program

 
Raspunde la subiect    Pagina de start a forumului GhiTza.MyForum.Ro » Programming Subiectul anterior
Subiectul urmator
Pascal - Structura unui program
Autor Mesaj
Ghitza
Founder
Founder
Ghitza

Data inscrierii: 15/Mar/2008
Mesaje: 161
Localitate: Baia Mare

Mesaj Pascal - Structura unui program Raspunde cu citat (quote)
Structura unui program Pascal

Cele trei parti principale ale unui program PASCAL sunt: antetul (header-ul) programului, declaratiile in care se descriu obiectele asupra carora vor avea loc prelucrarile (in cadrul programului pe care il analizam, vom considera numai declararea variabilelor) si partea principala a programului in care se scriu instructiunile (ansamblul operatiilor ce urmeaza a fi executate).

Pentru a intelege aceasta structura, deloc complicata, sa analizam fara graba un program (Borland) PASCAL care aduna 2 numere. Este vorba de un program care declara variabile, citeste valorile acestora, efectueaza un calcul simplu si afiseaza rezultatul.

I a scris:
PROGRAM adunare; {numele programului}
VAR a,b,S :real; {declararea variabilelor}
BEGIN
write('Introduceti prima cifra: '); readln(a);
write('Introduceti a 2-a cifra: '); readln(b); {citirea valorilor variabilelor}
S := a + b; {calculul}
writeln(S); {afisarea rezultatului}
END. {end-ul final}


Cand programul va fi rulat se va afisa:

Cod:
Introduceti prima cifra:  [a]
Introduceti a 2-a cifra: [b]
a + b


Ce am pus intre [] sunt variabilele care trebuie sa le introducem.

Header-ul (Antetul)


Prima linie contine antetul programului. Program este un cuvant rezervat cu care incepe (optional) un program (Borland) PASCAL. El este urmat de numele programului: volumul si de simbolul punct si virgula. Simbolul punct si virgula (" ; ") este un separator de instructiuni. Este strict necesar (cu mici exceptii despre care vom vorbi mai tarziu).

Note:

God of Pascal a scris:
Orice nume pe care il folositi intr-un program pascal se numeste identificator. El desemneaza: etichete, variabile, constante, feluri de date, proceduri, functii, programe. Un identificator este o secventa de litere, cifre sau liniute de subliniere, inițialul caracter fiind obligatoriu o litera sau o liniuta de subliniere ( _ ).

Cuvintele program, begin, end, var - se numesc cuvinte cheie sau cuvinte rezervate pentru că sunt deosebit de importante si sunt definite sa aiba anumite semnificatii.



Comment-uri

Dupa cum ati vazut in micul nostru exemplu de mai sus am pus niste explicatii de-a lungul codului programului.Ele se numesc 'comment-uri' si sunt incadrate de acolade ( { } )

Aceste comentarii vor fi ignorate de compilator ! (sunt folosite doar pentru a mari inteligibilitatea unui program)

Variabilele

Declararea variabilelor incepe cu , cuvantul rezervat 'var'.
Orice variabila trebuie sa aiba un nume !

Programul nostru ('suma') foloseste 3 variabile: a,b,S identificate pe al 2-lea rand, dupa 'PROGRAM + nume_program;' [faza de analiza].


Gruparea variabilelor:
Variabile de:

* intrare -
a -> primul numar
b -> al 2-lea numar

* iesire -
S -> suma numerelor


Tipurile de date


In pascal exista doua soiuri (simple) de date pentru variabile numerice: intregi si reale.

Variabilele intregi pot lua valori numai numere intregi (pozitive sau negative) ca: 1,0,4,620,-50.


A smart guy a scris:
Un calculator poate reprezenta numai o submultime finita de intregi. Un intreg poate fi reprezentat in memoria unui calculator numai daca valoarea sa apartine intervalului (-maxint-1, maxint), unde maxint este o constanta predefinita. In implementarile uzuale ale limbajului pascal maxint are valoarea 32767.
Daca o variabila pascal va avea o valoare fractionara sau o valoare mai mare decat maxint (maxlongint), variabila trebuie sa fie de tip real.


Intr-un program pascal tipul fiecarei variabile utilizate trebuie sa fie declarat. Omiterea declararii unei variabile folosite in partea principala a programului va genera o eroare. In programul pe care-l analizam , declararea variabilelor s-a facut utilizand enuntul:

Cod:
VAR a,b,S :real;


Odata intalnit acest enunt, compilatorul afla ca toate cele 3 variabile sunt de tip real.

BEGIN si END

Another smart guy a scris:
* Daca nu exista cel putin un enunt intre BEGIN si END programul nu va face nimic ( PROGRAMUL VA RULA ! dar nu va face nimic );
* Cuvintele cheie BEGIN si END sunt exemple de delimitatori (cuvinte sau simboluri care delimiteaza inceputul si sfarsitul unor zone ale programului);
* Spre deosebire de separatori (virgula, punct si virgula, etc), delimitatorii se gasesc in pereche. Exemplu: BEGIN-END.



Write/Writeln

Enunturile write/writeln sunt utilizate pentru afisarea pe un suport de informatie (de regula monitorul) a rezultatelor obtinute in urma prelucrarilor, a mesajelor catre utilizator etc.

Ori de cate ori se va executa un enunt write/writeln, calculatorul va afisa ad-litteram tot ceea ce este inclus intre apostrofuri, ca de exemplu si valorile oricarei variabile sau expresii aflate intre paranteze. Pentru separarea elementelor din corpul instructiunii se folosesc virgulele.

Diferenta dintre write si writeln:

* cand folosim 'writeln' programul va afisa ce este in paranteza si va trece pe randul urmator !
* pe de alta parte , cand folosim 'write' se va afisa textul dar nu se va mai trece pe randul urmator !


Read/Readln

In timpul in care s-a executat instructiunea:

Cod:
readln(a);


calculatorul va astepta sa se introduca un numar care va fi atribuit variabilei 'a'.
Aceste valori pot fi tastate pe o singura linie, cu spatii intre ele, sau cate una pe linie.

Diferenta dintre read si readln este asemanatoare cu cea de la write/writeln.


Atribuirea[/size]

Atribuirea variabilelor valori:

Cod:
S := a+b;


Acest enunt atribuie variabilei S valoarea lui 'a' + 'b'.
05/05/2008 09:52 Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:    
Raspunde la subiect    Pagina de start a forumului GhiTza.MyForum.Ro » Programming Ora este GMT + 2 ore
Pagina 1 din 1

 
Mergi direct la: 
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum


Powered by phpBB © 2001, 2005 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro