Sunteți pe pagina 1din 9

Evoluia limbajului TURBO PASCAL

Limbajul TURBO PASCAL a fost elaborat n anul 1970 de ctre profesorul universitar Nickaus Wirth de
la Universitarea Tehnic din Zurich (Elveia) n scopul studierii mai profunde a programrii. A fost numit
aa n cinstea matematicianului i filosofului francez Blaise Pascal, care n anul 1642 a inventat prima
main de calcul (Pascalina), care aduna numere de pin la 8 cifre. Principalele caracteristici ale limbajului
sunt simplitatea, claritatea, robusteea trsturi care permit atingerea unui nivel ridicat n activitatea de
programare. La nceput limbajul a fost elaborat doar n mediul universitar, dar bucurndu-se de succes, a
depit aceste limite, gsind o rspndire mondial. Astfel a fost implimentat pe toate categoriile de
calculatoare. Pe parcursul anilor elementele limbajului standart Pascal au fost mbogite substanial,
crendu-se astfel versiunile TURBO Pascal 6.0, TURBO Pascal 7.0, Borland Pascal.
Componentele limbajului TURBO PASCAL
Limbajul TURBO PASCAL reprezint un sistem integrat, care include urmtoarele componente:
Editorul de programe - permite scrierea i modificarea programelor surs Pascal.
Compilatorul - analizeaz corectitudinea sintactic a programului editat i genereaz forma sa
executabil.
Sistemul de informaii ajuttoare (HELP) - care asigur obinerea de informaii referitoare la utilizarea
mediului de programare Turbo Pascal i respectiv, la elementele limbajului Turbo Pascal.
Componenta de gestiune a fiierelor - asigur salvarea n fiiere pe disc a programelor editate i ncrcarea
programelor surs de pe disc.
Etapele realizrii unui program
O metod de descriere a algoritmului este limbajul de programare. Instruciunile pentru rezolvarea unei
probleme sunt grupate ntr-un program. Pentru scrierea unui program se utilizeaz un limbaj de programare,
cu sintax i semantic riguros definite. n cazul de fa programele vor fi scrise n limbajul Pascal.
Forma n care este scris este numit program surs. Pentru a fi prelucrat de sistemul de calcul programul
surs trebuie nregistrat ntr-un fiier surs. Editorul permite att dactilografierea i modificarea textului
programelor surs, ct i salvarea acestora n fiiere pe un suport magnetic (de obicei disc fix sau disc flexibil).
Programul surs nu poate fi " neles " i executat direct de ctre sistemul de calcul, dar poate fi " tradus" ntr-o
form executabil, numit program executabil. Generarea programului executabil are sens numai dac
programul surs respect sintaxa limbajului de programare n care este scris. Analiza sintactic a programului
surs este realizat de ctre un program specializat, numit compilator, specific fiecrui limbaj de programare.
Compilatorul are menirea s deteste erorile sintactice i le semnalizeaz prin mesaje care arat cauza probabil a
fiecrei erori. Corectarea programului surs se realizeaz cu ajutorul editorului de texte. Dup corectare
programul surs trebuie compilat din nou. Acest proces se repet pn la eliminarea tuturor erorilor sintactice.
n afar de erori de sintax, programul poate avea erori de concepie. Pentru a verifica dac programul
executabil funcioneaz corespunztor, el trebuie testat pentru mai multe seturi de date, lund n vedere i
cazurile limit. Dac la execuie apar erori, trebuie determinat cauza i efectuate coreciile necesare. Dup
corectare programul surs trebuie recompilat i testat, pn la obinerea rezultatului ateptat.
nceperea sesiunii de lucru in Turbo Pascal
Lansarea sistemului Turbo Pascal se face prin executarea fiierului Turbo.exe. Ca efect, pe ecran se afieaz
fereastra principal, peste care se suprapune o fereastr de editare. n partea superioar a ferestrei principale se
afl bara cu urmtoarele meniuri:
FILE EDIT SEARCH RUN COMPILE DEBUG OPTIONS WINDOWS HELP
Un meniu poate fi selectat prin una din metodele:
se tasteaz F10, apoi cu ajutorul sgeilor ne deplasm la meniul dorit
se tasteaz ALT +litera de la nceputul denumirii meniului ( pentru FILE tastm ALT + F)
Deoarece comenzile i opiunile Turbo Pascal sunt foarte numeroase, ele sunt grupate n funcie
de semnificaie n cadrul unuia din aceste meniuri. Fiecare meniu, fiind solicitat, afieaz pe ecran
o list de opiuni de unde alegem opiunea necesar.
Anumite comenzi pot fi transmise direct, prin acionarea unei taste sau a unei combinaii de taste
de activare (hot keys - taste fierbini). Din aceast categorie fac parte i cele cteva menionate n
ultima linie din fereastra principal, numit linie de informare, care au urmtoarele semnificaii:
F1 Help
- acces la sistemul de informaii ajuttoare;
F2 Save
- salvarea programului din fereastra de editare ntr-un fiier pe disc;
F3 Open
- deschiderea unei ferestre de editare n care se ncarc coninutul unui fiier surs;
1

ALT+F9 Compile - compilarea programului din fereastra de editare;


F9 Make
- generarea formei executabile a programului;
F10 Local Menu - acces la meniul principal, pentru a opera cu sistemul de meniuri Turbo Pascal.
Elementele ferestrei de editare
Principelele elemente ale ferestrei de editare sunt:
numele fiierului surs n care se salveaz textul programului editat . Dac nu a fost ales
nc un nume pentru fiierul surs, atunci numele afiat este NONAMExx.PAS
numrul de ordine al ferestrei de editare curente
poziia curent n cadrul textului surs, specificat n partea de jos a ferestrei, sub forma
indice_ linie : indice_ coloan;
zona rezervat afirii coninutului fiierului surs, situat n interiorul cadrului ferestrei.
Meniurile mediului integrat Turbo Pascal
Meniul FILE
Acest meniu ofer posibilitatea de a deschide i de a ncrca n memorie un fiier existent, de
a crea fiiere noi, de a memora fiierele, de a intra rapid n sistemul de operare DOS, de
a abandona mediul Turbo Pascal.
El include opiunile: New,Open (F3),Save As(F2), Save all,Change dir, Print, Printer Setup, Dos shell, Exit
(Alt+X).
New - permite deschiderea unei ferestre noi cu numele implicit NONAMExx.Pas. Aici putem culege textul
unui program. La salvare, fiierul poate fi numit cu alt nume.
Open(F3) - permite deschiderea unei ferestre existente, specificnd numele ei.
Save As - permite salvarea textului programului. La apelul acestei opiuni se deschide o
de dialog, n care se cere precizarea calea pe care va fi gsit fiierul salvat. La fel, schimbarea numelui fiierului
se face apelnd aceast opiune.
Save All - permite salvarea coninutului tuturor ferestrelor cu care se lucreaz la un moment dat.
Change dir -permite deplasarea ntr-un subcatalog al catalogului curent. La apelul acestei opiuni apare o fereastr,
n care se vizualizeaz subcataloagele. Dac se tasteaz TAB ne putem deplasa n aceast arborescen.
Print - permite tiprirea textului surs la imprimant (dac ea e deschis).
Dos Shell - permite ieirea rapid n sistemul DOS. Aici se pot executa diverse comenzi DOS, dup
care se revine prin tastarea cuvntului EXIT. Coninutul ferestrei n care am lucrat rmne nemodificat.
EXIT (Alt + X) - prsirea definitiv a mediului integrat Turbo Pascal.
Meniul EDIT
Meniul EDIT include urmtoarele opiuni: Undo, Redo, Cut, Copy, Paste, Show Clipboard, Clear
Undo - permite anularea ultimei aciuni
Redo - dezicerea de anulare.
Cut - permite mutarea blocului n fereastra Clipboard. Mutarea se face prin tergerea blocului din textul
surs.
Copy - mut blocul n fereastra Clipboard fr a fi ters din fereastra n care lucrm.
Paste - preia blocul din fereastra Clipboard i l scrie n fereastra activ, ncepnd cu poziia curent a
cursorului.n aa fel putem muta blocul dintr-un text n altul sau n cadrul aceluiai text.
Show Clipboard - vizualizeaz coninutul ferestrei Clipboard.
Clear - terge din text blocul selectat.
Meniul SEARCH
Acest meniu are urmtoarele opiuni, care uureaz procesul de editare:
Find, Replace, Search Again, Go To Line Number, Find Procedure, Find Error.
Find - are rolul de a cuta un ir n textul programului surs. n mod practic se afieaz o fereastr n care
suntem solicitai s introducem textul care se va cuta. De asemenea, n fereastr se prezint alte cteva opiuni
(se ajunge la ele prin apsarea tastei TAB i se marcheaz cu spaiu):
Case Sentive - dac este marcat (cu X) se face distincie ntre literele mari i mici;
Whole Words Only - consider textul ca un cuvnt separat (prin blancuri sau ali separatori);
Regular Expresion - textul poate conine i caractere de control;
Direction - stabilete direcia n care se face cutarea: Fordward - spre sfrit, Backward - spre nceput
2

Origin - stabilete locul de unde ncepe cutarea: From cursor- ncepnd de la cursor, Entire Scope - ntregul
domeniu
Ok - s-au terminat opiunile, se nchide fereastra i se fac nlocuirile
Cancel - se renun la cutare
Help - se dau informaii despre cutare.
Meniul WINDOW
De multe ori este util s lucrm simultan cu mai multe ferestre. Deschiderea unei ferestre se face cu F3. Dintre
toate ferestrele deschise la un moment dat, numai una este activ i n ea se gsete cursorul. n lucrul cu mai
multe ferestre este util meniul WINDOW.
Aceste opiuni sunt: Size/ Move (CTRL + F5), Zoom, (F5), Tile, Cascade, Next (F6), Previous(SHIFT +F6),
Close (ALT + F3).
Size/ Move - permite modificarea dimensiunilor ferestrei active. Dac am selectat aceast opiune, fereastra
curent i schimb culoarea. n acest moment i putem schimba dimensiunile. Aceasta se realizeaz cu ajutorul
sgeilor i tastei SHIFT. n mod practic, prin apsarea tastei SHIFT i a sgeii n sus se reduce dimensiunea
vertical a ferestrei. Tot aa, prin apsarea tastei SHIFT i a sgeii stnga se reduce dimensiunea orizontal.
Dac se apas sgeille, fereastra se deplaseaz pe ecran n sensul indicat de sgei. Atunci cnd am terminat
aranjarea unei ferestre se tasteaz ENTER, iar fereastra revine la culoarea normal. n continuare se poate lucra
n ea n mod obinuit.
Zoom - are rolul de a maximiza fereastra activ. Dac exist deschise mai multe ferestre acestea devin
invizibile. Maximizarea ferestrei se poate efectua i cu combinaia de taste Alt+Enter.
Tile - are rolul de a afia n prim plan toate feresrtele deschise. Toate ferestrele au dimensiuni egale.
Cascade - are rolul de a dispune ferestrele una peste alta (n stiv), iar fereastra activ este n prim plan.
Next - are rolul de a activa fereastra urmtoare celei curente.
Previous - activeaz fereastra ce a fost activ anterior celei curente.
Close - la activarea acestei opiuni se nchide fereastra curent. Dac n cadrul textului s-au fcut modificri,
utilizatorul este ntrebat, dac se salveaz sau nu coninutul lui.
Vocabularul i sintaxa limbajului PASCAL
Cu ajutorul caracterelor de baz prin concatenare se construiesc cuvintele limbajului, care pot fi:
cuvinte rezervate (fixe) cuvinte engleze folosite n scopuri bine definite
cuvinte utilizator sunt construite de programator.
Identificator este o succesiune de litere (inclusiv i caracterul _) i cifre, care ncepe cu o liter (maximal un
identificator poate conine 63 caractere).
Observaie. n Turbo Pascal nu se face distincie dintre majuscule i minuscule n scrierea unui identificator,
adic clasa9 sau Clasa9 sau CLASA9 reprezint acelai identificator.
.
Constante i variabile
Constantele sunt date care nu-i schimb valoarea n timpul execuiei programului. Ele pot fi apelate
nemijlocit prin valoarea lor sau prin numele lor . Constantele pot fi de mai multe feluri: constante ntregi,
constante reale, constante ir de caractere, constante booleene.
Constantele ntregi sunt cele care reprezint numerele ntregi din matematic. Ex.: 23, -1255, +1234.
Constantele reale corespund numerelor reale i pot fi reprezentate n:
- format normal Ex.: -14.323, 124.456, 0.2344, -44.0
- format exponenial Ex.: 12345 E-6, adic 0.012345 ; -3.123456 E5, adic312345.6 )
Constantele ir de caractere sunt secvene de caractere cuprinse ntre caracterul apostrof (). Ex: ANA ,
123, OHARA. n cazul ultimului exemplu caracterul apostrof se dubleaz pentru a nu fi considerat ca
marcator de sfrit de constant. Cazul particular cnd irul este compus dintr-un singur caracter se numete
constant caracter.
Constantele booleene pot fi True (adevrat) i False (fals).
Variabila corespunde unei date ce i poate modifica valoarea n timpul execuiei programului. Ea are un nume
simbolic, un identificator cu adresa unei locaii din memoria calculatorului, iar coninutul acestei locaii este o
careva valoare dintr-o mulime bine determinat de valori.
3

Structura programului PASCAL


Un program scris n Pascal are urmtoarea structur:
1. program nume ;
2. parea declarativ
3. begin
4. parea executabil
5. end.
1, 3, 5 - cuninte rezervate, care delimiteaz cele dou pri ale programului.
Partea program nume este antetul programului. Cuvntul program alctuiete partea fix a antetului. El este un
cuvnt- cheie (fix, rezervat, care marcheaz nceputul programului i precizeaz numele acestuia. Al doilea
cuvnt este chiar numele programului, ales de programator. Numele trebuie s respecte anumite reguli: trebuie s
nceap cu o liter i s nu conin dect caractere alfabetice ( litere) i numerice (cifre) sau caracterul _
(semnul de subliniere). Un astfel de nume se numete identificator, datorit rolului su - pentru a identifica
programul.
Partea declatativ. Aici se declar toate datele care sunt folosite ulterior n program i pot fi standard sau create
de programator. De obicei, le declarm n felul urmtor:
- uniturile ( uses)
- etichetele (label)
- constantele (const)
- tipurile noi de date (type)
- variabile (var)
- proceduri / funcii ( procedure / funcion)
Partea executabil a unui bloc poate conine mai multe instruciuni, desprite una de alta prin caracterul ; (punct
i virgul).
Cuvntul rezervat begin i end sunt cuvinte-cheie i semnific nceputul, respectiv, sfritul prii executabile.
Dup end se pune . (punct).
Declararea uniturilor (uses)
Uniturile sunt fiiere cu extensia . tpu. n care se pstreaz proceduri i funcii, care vor fi folosite n timpul
execuiei programului.
De exemplu: uses crt;
uses crt, graph;
uses crt; graph, dos;
Unitatea system conine toate procedurile i funciile standard ale limbajului i se ncarc odat cu apelarea
compilatorului i care, evident, nu trebuie declarat. Unitatea crt conine proceduri i funcii pentru gestiunea
ecranului i tastaturii., de exemplu, procedura clrscr cu efect de tergere a ecranului; GOTO(x,y), care mut
cursorul n poziia specificat de valorile ntregi ale lui x i y. Unitatea DOS permite apelarea unor funcii ale
sistemului de operare direct din program, iar unitatea GRAPH conine funcii i proceduri grafice.
Declararea constantelor (const):
La elaborarea unor programe apar situaii cnd una i aceeai dat numeric este utilizat de mai multa ori.
Astfel se poate ntmpla ca valoarea 3.14159 s apar n cteva expresii. Pentru comoditate acestei constante i se
asociaz un nume care se declar ca constant i se scrie n locurile respective.
Deci, constantele sunt date care nu-i schimb valoarea lor n timpul executrii programului.
Ele pot fi numere ntregi (integer), reale (real), caracteriale (char), ir de caractere (string), luate n ghilimele.
De exemplu: 2, 3,7, -10 - constante de tip integer
3.2; 4.8; 8.25
- constante de tip real
'A' ; ' B ' ; ' 2 ' ; ' '
- constante de tip char
' mama '; ' Sandu'; 'elev ' - constante de tip string.
Constantele trebuie declarate n partea declarativ cu cuvntul const i atribuite valori.
Se declar: const nume_constanta1= valoare;
nume_ constanta2= valoare;
De exemplu: const n= 5 ; x= 3.2; c= 'A' ; u= true; pi= 3.1415;
Este interzis modificarea valorii constantei dup ce ea a fost declarat. Utilizarea constantelor simplific
procesul de modificare a programelor. Dac apare necesitatea de a schimba valoarea unei date ce apare n mai
multe locuri este de ajuns modificarea ntreprinderea-un singur loc n compartimentul declarrilor constantelor,
4

adic naintea declarrilor tipurilor i variabilelor. Limbajul Turbo Pascal conine constanta predefinit MaxInt.
Valoarea ei indic cel mai mare numr ntreg care poate fi atribuit unei variabile de tip Integer. Aceast valoare
este 32767.
Declararea etichetelor (label):
Etichetele sunt numere ntregi fr semn din domeniul 10,1,...9999 sau identificatori i se utilizeaz pentru a
marca instruciunile limbajului Pascal. Ele se delimiteaz de instruciuni prin dou puncte.
etichet : rnd de program;
De exemplu:
8888 : clrscr;
salut: x:= 7;
Etichetele se declar n compartimentul respectiv utiliznd cuvntul rezervat label.
Label eticheta1, eticheta2, ;
Se folosesc etichetele mpreun cu instruciunea de transfer goto, n care eticheta se scrie fr dou puncte.
Pentru a face salt se foosete instruciunea GOTO etichet.: GOTO salut; GOTO 8888;
Exemplu: label 8888, salut;
.....
goto 8888;
........
8888: writeln( se curata ecranul);
goto salut;
......
salut: end.
Declararea variabilelor (var):
Variabilele - date care pot s-i schimbe valoarea n timpul execuiei programului.
Ne imaginm variabilele ca nite cutiue, care n mod obligatoriu au nume (identificator) i n care la
momentul dat se pstreaz o valoare. Variabilelor li se atribuie valori cu ajutorul operaiei de atribuire ( :=) sau
de la tastatur cu ajutorul procedurii READ.
Se declar: var
variabila1, variabila2, : tipul;
variabila11, variabila12, : tipul;
De exemplu: var
m, n, p, q : integer;
x, r :real;
ch : char;
u : boolean

Tipuri de date
Prin dat se nelege orice entitate asupra creia poate opera calculatorul. Prin tip de dat se nelege
mulimea valorilor definite care le poate lua aceast dat i o mulime de operaii care pot fi efectuate cu valorile
respective.
n Pascal se permite lucrul cu: tipuri de date predifinite (existente n cadrul limbajului) si tipuri definite de
utilizator.
Dup structura lor tipurile de date pot fi: tipuri simple i tipuri compuse.
Prin tip simplu se nelege un tip ordinal sau tipul real. Tipurile ordinale reprezint mulimi finite i ordonate de
valori. Se poate referi la numrul de ordine al unei valori (cu funcia Ord), poate fi specificat elementul succesor
(cu funcia Succ) i elementul predecesor (cu funcia Pred) al unui element dat. Tipurile ordinale sunt: Integer,
Char, Boolean, tipul enumerare, tipul interval.
Tipul real nu este tip ordinal !
Tipuri structurate sunt: tipul tablou, ir de caractere, nregistrare sau articol, mulime, obiect.
Tipurile sunt definite (sau asociate variabilelor) n compartimentul respectiv.
Vom trata ulterior tipurile de date simple.

Tipul ntreg
Dac in matematic mulimea de valori a tipului ntreg este o submulime infinit din ambele pri, n Pascal
aceast mulime este finit i reprezint o submulime a numerelor ntregi. Ea are urmtoarele 5 implimentri:
Integer, Word, Byte, ShortInt, LongInt.
5

n tabelul ce urmeaz sunt prezentate artate domeniile de valori, numrul se octei necesari pentru
reprezentarea valorilor respective i constantele predefinite ale tipurilor de date integer:
Valoare
Tip
Minima
Maxima
Semn
Numar octeti
Shortint
-128
127
Da
1
Byte
0
255
Nu
1
Integer
-32768
32767
MAXINT
Da
2
Word
0
65535
Nu
2
-2147483648
2147483647
4
Longint
MAXLOGINT
Da
Turbo Pascal permite, de asemenea folosirea valorilor ntregi hexazecimale (n baza 16) prin scrierea semnului $
n faa acestora. De exemplu, $27= 39.
Prin constanta predefinit MaxInt se nelege valoarea ntreag +32767. Tipul ntreg este un tip ordinal:
succesorul ntregului i este i+1 , predecesorul ntregului i este i-1. Ordinul ntregului n este egal cu n.
Diagrama de sintax a numerelor ntregi

cifra='0', '1', ..., '9'


cifra_hex='0', '1', ..., '9','A','B', ..., 'F'
a) Diagrama de sintaxa pentru numere ntregi
b) Diagrama de sintaxa pentru numere ntregi
exprimate zecimal
exprimate hexazecimal
Operaiile permise cu valorile de tip ntreg sunt urmtoarele:
+
adunare;
2+3=5;
-2+(-10)=-12
scdere;
2-6=-4;
78-34=-44
*
nmulire
2*(-5)=-10; 4*6=24
div mprire ntreag; M div N returneaz ctul mpririi ntregi ntre M i N. Rezultatul este de tip ntreg.
mod restul mpririi ntregi; M mod N returneaz restul mpririi ntregi ntre M i N. Rezultatul este de tip
ntreg.
Exemple de aplicare a ultimelor operaii:
10 Div 3 =3; 25 Div 4 =6; 100 Div 25 =4
10 Mod 3 =1; 25 Mod 4 =1; 100 Mod 25 =0
Relaia dintre operaiile Mod i Div este: A Mod B= A-(A Div B)*B, pentru A>0, B>0
Proprietatea operaiilor pe valorile de tip ntreg este urmtoarea: *, Div, Mod au cea mai mare prioritate.
Operaiile cu aceeai prioritate se efectueaz de la stnga la dreapta. De exemplu:
- 10 + 20 = 10 i nu 30
18 Div 2*3=27 i nu 3.
Nu pot fi alturi dou operaii. Nu este corect scrierea: A*-B. Corect va fi A*(-B). Parantezele pot schimba
ordinea aplicrii operaiilor. Aceast afirmaie este valabil si pentru alte combinaii de tipuri.
Asupra valorilor de tip ntreg sunt permise operaiile relaionale: <, <= , >, >= , <>.
Rezultatul unei operaii relaionale este de tip Boolean (True sau False).
Regulile de stabilire a tipului rezultatului aplicrii operaiilor aritmetice care utilizeaz operatori ntregi sunt:
- Tipul unei constante ntregi se deduce din valoarea constantei. Se alege acel tip predefinit, care domeniul cel
mai restrns i care include valoarea respectiv. De exemplu, tipul constantei 5 este ShortInt, iar tipul
constantei 240 este Byte.
- La un operator binar (adic un operator care are doi operanzi) operatorii sunt convertii mai nti n tipul lor
comun, i doar dup aceea se efectueaz operaia. Prin tipul comun se nelege acel tip predefinit, care are
domeniul cel mai restrns i include toate valorile posibile ale celor dou tipuri. De exemplu, tipul comun al
unui Integer i al unui Byte este Integer, iar tipul comun al unui Integer i al unui Word este Word. Operaia
va fi efectuat conform preciziei tipului comun, iar tipul rezultatului va fi tipul comun.
Urntoarele patru funcii standard returneaz rezultat de tip ntreg:
Abs(x)
calculeaz valoarea absolut a lui x; Ex. Abs(5)=5; Abs(-5)=5
Sqr(x)
calculeaz x 2; Ex. Sqr(9)=81; Sqr(-10)=100
Trunc(z)
z trebuie s fie de tip real, rezultatul este partea ntreag a lui z. Partea zecimal
6

se pierde. Ex.: trunc(2.9)= 2; trunc(-8.7)= -8


Round(z) z trebuie s fie de tip real. Rezultatul are tipul ntreg i se calculeaz conform
regulii:
Trunc(z+0.5), dac z> =0
Round(z)=
Trunc(z- 0.5), dac z <0
Exemplu: round(3.3)=3; : round(-3.3)=-3; : round(5.8)=6; : round(-8.9)=-9;
Deosebit de util i funcia Odd(x). Argumentul ei este de tip ntreg. Rezultatul este de tip boolean: True,
dac argumentul este numr impar i False dac argumentul este par.
Ex. Odd(7) - true; odd(-8) -false
Tipul Iteger este un tip ordinal, adic mulimea valorilor este ordonat fiecare valoare are un ordin, care
pentru tipul integer coincide cu acest numr.
Funcia Ord(x), pentru x- ntreg , returneaz ordinul valorii: ord(x)=x. Adic ord(7)=7; ord(0)=0; Rezultatul
funciei Ord(x) este de tip ntreg.
Pe valorile tipului ntreg pot fi aplicate dou funcii Succ i Pred care returneaz succesorul i respectiv
predecesorul argumentului.
Succ(x), x-ntreg, returneaz valoarea ordinul creia este cu 1 mai mare ca ordinul lui x, dac x este diferit de
valoarea maxim a tipului su; n caz contrar se genereaz o eroare.
Ord(succ(x))=ord(x)+1; succ(6)=7, succ(99=100;
Pred(x), x-ntreg, returneaz valoarea ordinul creia este cu 1 mai mic ca ordinul lui x, dac x este diferit de
valoarea minim a tipului su; n caz contrar se genereaz o eroare.
Ord(pred(x))=ord(x)-1; pred(6)=5, pred(9)=98; pred(-32768) nu exist
Funcia aleatoare Random(x) returneaz un numr ntmpltor de pe intervalul [0,x). Rezultatul este de tip
ntreg.
Funcia Inc(x,[N]) returneaz vaoarea lui x+N; inc(8, 4)= 12; inc(8)=9
Funcia Dec(x,[N]) returneaz vaoarea lui x-N; dec(8, 3)= 5; dec(8)=7
Declararea variabilelor de tip intreg se face n compartimentul respectiv. Ex.: Var a,b,c: integer;
Exemplu. S considerm declaraiile: Var a,b,m,n,i : integer;
n urma secvenei de atribuiri: A:=2; b:=2; bA:=3+a; m:=b div2; i:=1; n:=sqr(2+i); i:=pred(i) vom avea:
a=2; b=5; m=2; n=9; i=0
Reinei:
Faptul, c un numr n este par se poate exprim prin: mod 2=0 n sau odd(n) este false;
Faptul, c un numr n este divizibil prin m, se exprim prin n mod m=0:
Ultima cifr a unui numr ntreg n se afl n mod 10. Pentru a afla celelalte cifre ale numrului n va trebui s
facem o mprire prin 10 (n div 10). Apoi se consider din nou ultima cifr i se repet mprirea.

Tipul real
Mulimea valorilor tipului real este o submulime a numerelor reale. Exist 5 tipuri reale: Real, Single
(precizie simpl), Double (precizie dubl), Extended i Comp (compatibile), care se deosebesc dup domeniul de
valori, dup numrul de octei necesari pentru reprezentarea n memorie, dup numrul de cifre semnificative.
n tabelul ce urmeaz sunt artate domeniile de valori, numrul se octei necesari pentru reprezentarea
valorilor respective i constantele predefinite:
Tip

Nr. octei

Domeniu de valori

Cifre zecimale

Real
6
2.9E-39 .. 1.7E38
11-12
Single
4
1.5E-45..3.4E38
7-8
Double
8
5.0E-324..1.7e308
15-16
Extended
10
1.9E-451..1.1E932
19-20
Comp
8
-2E63 +1.. 2E63 1
19-20
Exemple de declarare a variabilelor de tip Real: Var A,B,C :Real;
Evident, aceast declarare se scrie n compartimentul respectiv.
Operaiile pe acest tip sunt: + (adunare), -(scdere) ,*(nmulire) , / (mprire)
Rezultatul aplicrii unei astfel de operaii este de tip real, chiar dac unul din operatori este de tip ntreg. Pentru
valorile reale sunt permise operaiile relaionale: <, <= , >, >= , <>. Rezultatul unor astfel de operaii este de tip
boolean, avnd valorile True sau Fase.
Operaiile de nmulire * i cea de mprire / au cel mai nalt grad de prioritate.
Funciile tipului de date real:
1. Abs(x) Ex. Abs(-7.23)= 7.23; Abs(-10)= 10; -Abs(5)= -5; - tipul argumentului este ntreg sau real.
Rezultatul este identic cu argumentul.
7

2. Sqr(x) Ex. Sqr(2.1)=4.41; Sqr(9)=81- tipul argumentului este ntreg sau real. Rezultatul este identic cu
argumentul.
3. Sqrt(x) returneaz valoarea rdcinii ptrate din x. Ex. Sqrt(9.0)=3.0
4. Trunc(x) - returneaz partea ntreag a numrului real x.
Ex. Trunc(8.3)=8; Trunc(-2.7)=-2; Trunc(-3.4)=-3; Trunc(3.6)=3;
5. Round(x)- returneaz valoarea rotungit a numrului real x pn la ntreg n felul urmtor:
dac x>=0, round(x)=trunc(x) + 0.5
dac x<0, round(x)=trunc(x) - 0.5
Ex. Round(3.3)=3; Round(-3.3)=-3; Round(5.8)=6; Round(-8.9)=-9;
6. Frac(x)- returneaz partea fracionar a numrului real x. Ex. Frac(3.45)=0.45; Frac(-8.1)=0.1;
7. Randomize- returneaz n numr ntreg din intervalul 0-1.
8. Int(x) - returneaz partea ntreag a lui x. Atenie! Funcia Int(x) returneaz un numr real, de fapt,
partea ntreag a unui numr x, privit ca numr real.
Ex. Int(3.4)=3.0; Int(-3.4)=-4; Int(3.6)=3.0; Int(-3.6)=-4;
9. Sin(x)- sinus din x (x este exprimat n radiani). Argumentul poate fi ntreg sau real. Rezultatul este real.
10. Cos(x) cosinus din x. Argumentul poate fi ntreg sau real. Rezultatul este real.
11. Arctan(x) arctangenta din x. Argumentul poate fi ntreg sau real. Rezultatul este real.
12. Ln(x)- logaritm natural din x. Argumentul poate fi ntreg sau real. Rezultatul este real.
13. Exp(x) - ex (e are valoarea aproximativ 2,71). Argumentul poate fi ntreg sau real. Rezultatul este real.
14. Exp(y*Ln(x))- Xy . Argumentul poate fi ntreg sau real. Rezultatul este real.
15. Random - valoare aleatoare.Tipul rezultatului este real
Observaie: Pentru a obine partea ntreag ca numr ntreg a lui x, se poate scrie Trunc(Int(x))
Atenie! Tipul real nu-i ordinal, de aceea nu putem vorbi despre succesorul i predecesorul unui numr real.

Tipul de date logic


Deseori este numit boolean n cinstea matematicianului englez D. Bool, fondatorul logicii matematice. n
limbajul Pascal sunt definite dou constante logice: True (adevr ) i False (fals). Variabila logic poate lua una
din aceste valori i are tipul boolean. Descrierea variabilei logice se face n blocul de declaraii a programului
utiliznd civntul BOOLEAN. De ex, descriera variabilelor logice p,q,r:
Var p,q,r: boolean;
Datele logice se utilizeaz la verificarea corectitudinii unor condiii sau la compararea unor mrimi. Rezultatul
poate fi adevr sau fals.
Pentru compararea datelor sunt prevzute cele 6 operaii de relaie: < (mai mic), < = (mai mic sau egal), =
(egal), <> (diferit), >= (mai mare sau egal), >
(mai mare)
Dac vom aplica operaiile de relaii asupra datelor aritmetice, vom primi valorile logice: True sau False. De
exemplu: Relaia 5> 3 retuneaz rezultat True. Relaia 5= 3 retuneaz rezultat False.
Cu datele de tip boolean pot fi efectuate operaiile:
NOT - negaie logic (NU), AND nmulire logic (I, conjuncie), OR - adunare logic (SAU, disjuncie).
Operaiile logice AN D i OR se aplic asupra a dou mrimi, iar operaia NOT asupra unei mrimi. Operatorul
NOT aplicat valorii False produce rezultatul True, iar aplicat valorii True produce rezultatul False. Operatorul
AND va produce valoarea True dac cei doi operanzi asupra crora se aplic ambii au valoarea True, altfel va
produce valoarea False. Operatorul Or va produce valoarea True dac dintre cei doi operanzi asupra crora se
aplic, cel puin are valoarea True, altfel va produce valoarea False.
Urmtorul tabel ilustreaz rezultatele operaiilor asupra datelor logice:
X
Y
not X
X and Y
X or Y
false
false
true
false
false
false
true
true
false
true
true
false
false
false
true
true
true
false
true
true
Exemple:
1. Rezultatul operaiei (C >10) OR (D< 3 ) este True dac:
C= 12 i D=2
b) C= 12 i D=5
c) C= 8 i D=2
i este False pentru C= 8 i D=5.
2. Rezultatul operaiei (C >10) AND (D< 3 ) este True dac: C= 12 i D=2;
i este False pentru: a) C= 12 i D=5; b) C= 8 i D=5; c) C= 8 i D=2.
3. n rezultatul efecturii operaiei: P:=X<=5; variabila logic primete valoarea True, dac X<=5. n caz contrar
(adic, X> 5, variabila primete valoarea False.
8

Spre deosebirede variabilele de tip ntreg sau real, valorile variabilelor booleene nu pot fi citite de la tastatur cu
ajutorul procedurii-standard readln, ci vor fi date prin atribuire.
n limbajul Pascal prioritile operaiilor sunt:
NOT- prioritate superioar fa de AND, care la rndul ei are prioritare mai mare fa de OR.
Operatorii relaionali au cea mai joas prioritate din toi operatorii Pascal. Astfel:
NOT P=Q se trateaz: (NOT P)=Q
P<=Q AND R se trateaz: P<=(Q AND R)
P OR Q AND R se trateaz: P OR (Q AND R).
Astfel, n caz c n expresii lipsesc parantezele rotunde, atunci operaiile se efectueaz conform descreterii
prioritilor lor. Operaiile care se bucur de aceeai priotitate se efectueaz de la stnga la dreapta. Pentru a
schimba ordinea operaiilor se folosesc paranteze rotunde.
De exemplu, calcularea expresiei (A=B)And(C<=D) se efectueaz n ordinea: 1.Se determin valoarea
afirmaiei A=B; 2. Se determin valoarea afirmaiei C<=D; 3. Se efectueaz operaia logic AND.
Deci, nti se calculeaz expresiile din paranteze, apoi valorile primite se folosesc n calculele ulterioare.
Tipul de date logic este ordinal, adic elementele luoi pot fi ordonate. Deaceea, este adevrat: False < True .
Adic Ord(True)=1 i Ord(False) =0
n limbajul Pascal inegalitatea matematic: 1 < X < 2 se scrie: (X>1) AND (X<2).
La fel nscrierea A=B=C n Pascal se face: (A=B) AND (A=C).
Condiia c, X nu aparine domeniului 2 i +2 se scrie: NOT((X> 2) AND (X< 2)) sau (X < 2) AND (X>2).
Notaia x (-,1) U (2,) se exprim prin (x<1) Or (x>2).
Notaia c anul este bisect ( adic este multiplu de 4, dar nu multiplu de 100, n schimb multiplu de 400) este:
(an Mod 4=0) AND (an Mod 100<> 0) OR (an Mod 400=0)
n Pascal este definit funcia standard ODD(X), care returneaz valoarea True, dac argumentul X este un
numr ntreg impar; valoarea False, dac argumentul X este un numr ntreg par.

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