Sunteți pe pagina 1din 4

FreePascal Ghid de utilizare

Incepnd cu anul 2007, Olimpiada Republicana de Informatica (ORI) va avea loc folosind sistemul de operare Windows, cu compilatoarele respective. Acest lucru va prezenta mai multe avantaje pentru competitori, i anume: 1. Programele vor putea folosi toata memoria calculatorului, nu doar 640 KB, ct sunt accesibile din TurboPascal (DOS). Astfel, declaraia:
var a:array[1..100*1000] of integer;

va fi acceptata de FreePascal, dar nu si de TurboPascal. 2. O variabila poate ocupa mai mult de 64 KB de memorie, deci nu va mai fi nevoie de rupt variabilele mari n mai multe segmente; 3. variabilele statice pot ocupa n total mai mult de 64 KB. Astfel, declaraia:
var a,b: array[1..10*1000] of longint;

va fi acceptata de FreePascal, dar nu si de TurboPascal (deoarece att a, ct i b, ocupa cte 40 KB i au n suma mai mult de 64 KB). 4. Acelai program compilat cu FreePascal ruleaz mult mai repede dect compilat cu TurboPascal, deoarece FreePascal este un compilator pe 32 de bii i folosete toate avantajele procesoarelor moderne. 5. FreePascal coincide practic cu TurboPascal, ns este cu mult mai rapid. Astfel, n baza testrilor programelor propuse de elevi la Olimpiada Republican de Informatic 2006, s-a constatat c peste 95% din programele scrise pentru TurboPascal s-au compilat fr nici o problema n FreePascal, iar viteza de execuie a fost de pna la 3 ori mai mare. 6. FreePascal este limbajul folosit la Olimpiadele Internaionale de Informatica ncepnd cu anul 2001. n Republica Moldova, ncepnd cu anul 2006, FreePascal-ul este folosit pentru selectarea elevilor ce vor fi inclui n lotul olimpic. Prin urmare, utilizarea FreePascal-ului va armoniza olimpiadele republicane i cele internaionale. 7. Un program scris in FreePascal poate fi compilat, fr modificri, i n sistemul de operare Linux, care este un sistem avansat i gratuit. 8. FreePascal, precum i spune i numele, este un compilator care se distribuie absolut gratis, fr a se nclca dreptul de autor. 9. FreePascal poate fi descrcat gratis de pe site-ul oficial http://www.freepascal.org, pagina http://www.freepascal.org/down/i386/win32.var.

Modul de lucru cu FreePascal


Dup executarea programului de instalare pe care l descrcai de pe adresa indicata mai sus, vei obine un directoriu n care se vor afla toate fiierele FreePascal. Acest directoriu va avea un nume de forma: c:\pp, unde pp nseamn Portable Pascal. n acest directoriu vei gsi subdirectoriile: 10. bin\i386-win32 fiierele executabile. Acolo se afla fp.exe, mediul de programare, care seamn foarte mult cu turbo.exe -ul lui TurboPascal si fpc.exe, care are un rol asemntor lui tpc.exe (compilatorul in linie de comanda); 11. doc documentaie in limba engleza despre limbaj si utilizarea lui; 12. examples exemple de programe in FreePascal; 13. alte directorii.
Atenie! Fiierele programelor-exemplu au extensia .pp, insa FreePascal accepta fr probleme i fiiere cu extensia .pas

Primul program in FreePascal


Paii necesari snt: 1. Lansarea mediului de programare:
c:\pp\bin\i386-win32\fp.exe

(in loc de c:\pp punei directorul unde ai instalat FreePascal pe calculatorul Dvs.) 2. Crearea unui fiier nou: File -> New 3. Scrierea programului: introducei cu ajutorul editorului urmtorul program:
uses crt; var i : integer; begin clrscr; writeln('Buna ziua, acum voi numara pana la 10!'); for i := 1 to 10 do begin writeln(i); end; writeln('Apasati Enter'); readln; end.

4. Salvai codul-sursa ntr-un fiier cu un nume oarecare (Atenie: FreePascal nu poate compila codurile-sursa care nu au fost salvate). 5. Compilarea programului: apsai tastele <Alt>+<F9>.

6. Executarea programului: apsai tastele <Ctrl>+<F9>. Precum se observa, lucrul in mediul de programare FreePascal nu se deosebete n mod esenial de lucrul n TurboPascal.

Depistarea erorilor de compilare


Principala deosebire dintre lucrul n TurboPascal i FreePascal o constituie detectarea erorilor in codul sursa. Astfel, TurboPascal arat doar prima eroare pe care a gsit-o, pe cnd FreePascal arata toate erorile pe care le-a putut depista. Pentru exemplificare, s compilm urmtorul program:
uses crt; var i:integer; begin clrscr; writenl('i=', ij); end; Acest program conine urmtoarele erori:

14. writenl in loc de writeln; 15. variabila ij nu este declarat; 16. dup ultimul end n loc de punct apare ;.
TurboPascal-ul va afia doar prima eroare:

FreePascal-ul va depista mai multe erori concomitent:

Variabilele de tip ntreg


ntruct FreePascal este un compilator de 32 de bii, n anumite condiii integer poate fi un ntreg de 32 de bii, iar n altele de 16 bii (ca n TurboPascal). n cazurile n care conteaz dimensiunea unei variabile, se va utiliza smallint pentru ntregi de 16 bii (smallint are 16 bii n orice condiii) i longint pentru ntregi de 32 de bii:
var i: smallint;

n FreePascal adresarea absoluta nu mai este posibil, astfel:


var l: longint absolute $40:$6c

se compileaz n TurboPascal, dar nu i n FreePascal. Mai multa informaie putei gsi pe site-ul FreePascal, la adresele: http://www.freepascal.org/docs.var (toat documentaia); http://www.freepascal.org/port.var (trecerea de la TurboPascal la FreePascal).

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