Sunteți pe pagina 1din 26

CURS 8- LIMBAJE DE PROGRAMARE(2)

LIMBAJUL PASCAL (2)

Variabile i constante
Toate variabilele cu care se lucreaz ntr-un program trebuie s fie declarate n seciunea VAR , iar constantele n CONST. Exemplu: VAR x,y,z: Real; t: BOOLEAN; sir: CHAR; nota: 1..10; culori: (rou,galben,albastru,verde);

TIPUL NTREG
Tipurile ntregi de date sunt: BYTE ntreg fr semn, cu valori [0..258] WORD ntreg fr semn, cu valori [0..65635] SHORTINT ntreg cu semn, cu valori [-128..127] INTEGER ntreg cu semn, cu valori [32768..32767] LONGINT ntreg cu semn, cu valori [2147483648.. 2147483647]

Operaiile aritmetice
Operaiile aritmetice ce se pot efectua cu aceste date: +, -, *,DIV(ctul mparirii n numere ntregi), MOD (ctul mpririi n numere ntergi)

x DIV y = ctul x MOD y = restul

OPERATORI RELAIONALI
Datele de tip ntreg pot fi puse n relaie, cu ajutorul operatorilor relaionali: <, >, <=, > =, =, < >. Exist dou funcii predefinite (ca pentru orice tip ordinal): SUCC (x); PRED (x) Exemple: ORD(4)=4 8 DIV 10 =0 ORD(-135)=-135 7/2 = 3.5 PRED(8)=7 7 DIV 2 = 3 SUCC(-1)=0 7 MOD 2 = 1

TIPUL REAL
Reprezint un numr real cuprins ntre dou limite care difer de la un compilator la altul i de la un tip la altul. Astfel, tipurile reale pot fi: REAL SINGLE DOUBLE EXTENDED COMP n ISO Standard Pascal este inclus doar tipul REAL. n cadrul operaiilor, toate tipurile reale sunt compatibile ntre ele. Operatorii aritmetici sunt valabili: adunare (+), scdere (-), nmulire (*) i mprire real (/).

OPERATORI
Datele de tip real pot fi puse n relaie cu ajutorul operatorilor relaionali <, >, <=, > =, =, < >. Observaii: Funciile SUCC i PRED nu funcioneaz, tipul REAL nefiind ordinal. Formatul unui numr real: NR_REAL:= {semn} {parte ntreag} {.parte fracionar} {E ntreg} Cel puin partea ntreag sau partea fracionar trebuie s apar.

EXEMPLE
VAR x,y: real; n: integer; .765; 123; -123.7; 123.765 E7; 123.765 E-7;

TIPUL CARACTER (CHAR)


O variabil de tip caracter poate avea drept valoare un caracter. O constant de tip caracter poate fi: a : Literele mari au alte valori dect cele mici. x:char Se reprezint n memorie pe un octet (0/255)255 de coduri x:= a sau x:=a e interpretat drept variabil pe care compilatorul o caut Nu exist operatori aritmetici, dar exist i funcioneaz operatorii relaionali: <, >, <=, > =, =, < >.

FUNCII
Tipul caracter e un tip ordinal, fiecrui caracter asociindu-i-se un numr (cod) ntre 0-255 exist funciile: SUCC (x) PRED (x) ASCII reprezint standardul american de codificare a caracterelor n numere. CHR (cod) este o funcie care ntoarce ca rezultat caracterul respectiv. x:=CHR (64) ORD (caracter) este o funcie care ntoarce codul ASCII al caracterului respectiv.

TIPUL BOOLEAN
Este un tip ordinal, enumerativ, care ocup un octet memorie i poate lua dou valori logice: adevrat fals Declaraia de tip se face : TYPE BOOLEAN =(TRUE, FALSE) Datele de tip boolean pot fi puse n relaie, rezultatul logic obinut derivnd din caracterul ordinal al acestui tip, n care relaia FALSE <TRUE este adevrat. Tipul boolean e ordinal, deci se pot utiliza funciile:SUCC;PRED.

TIPUL DECLARAT (ENUMERATIV)


E definit de utilizator ca o list ordonat, prin enumerarea valorilor posibile, astfel: TYPE identif tip = (list elemente) TYPE zi_spt= (luni, mari, , duminic); Se creaz astfel un tip zi_spt cu 7 componente; tipul scalar e ordonat, deci asupra lui lucreaz funciile PRED, SUCC, ORD. SUCC (joi)=vineri PRED (mari)=luni ORD (joi)=4 adic numrul de ordine al elementului respectiv n list. Operatorii relaionali sunt valabili: luni<joi adevrat

TIPUL SUBDOMENIU

Se mai numete tip interval i se definete ca submulime a unui tip ordinal (numit tip printe) prin precizarea intervalului nchis de valori. Toate caracteristicile tipului printe (INTEGER, CHAR) se regsesc n tipul subdomeniului, singura deosebire dintre ele constnd n mulimea valorilor pe care le pot lua. El reprezint deci o submulime de elemente aparinnd unui tip scalar ordinal, mulime specificat prin elementul de nceput i cel de sfrit, ordonate cresctor.

EXEMPLU
TYPE Valori = 20..70; Litere_mari = A..Z VAR X : valori; Y : a..i Z : Litere_mari

Declaraia de tip
TYPE identif_tip = definiie tip; numele tipului declaraia Exemplu: TYPE CIFRA = 09; INTREG = INTEGER VECTOR = ARRAY [1100] OF REAL;

Declaraia de constante i variabile


Declaraia constantelor: CONST ident = valoare; Declaraia variabilelor: VAR identif var : tip variabil; numele variabilei tipul creia i aparine Observaie: Dac sunt mai multe variabile de acelai tip, se nir separate cu ,. Dac vreau ca o variabil s o transmit unei funcii sau proceduri, ea trebuie obligatoriu s aparin unui tip predefinit (declarat cu TYPE).

Declaraia de funcii
FUNCTION nume funcie (declaraie de variabile): tip rezultat; FUNCTION fact (n: integer): integer; Mai multe variabile se separ prin ; FUNCTION f(x:integer ; y:real):real; ; separ variabilele Funcia ntoarce ca rezultat o singur valoare

Declaraia de proceduri
PROCEDURE nume procedur (list parametri); Observaie: Att funciile, ct i procedurile au o structur asemntoare cu cea a programului, n sensul c n interiorul oricrei funcii sau proceduri se pot face declaraii (chiar i alte funcii sau proceduri) i au i partea executabil (instruciuni).

Instruciuni Pascal
Dup modul de realizare a sintaxei i a numrului de aciuni descrise, comenzile Pascal pot fi grupate astfel: instruciuni simple, care descriu aciuni unice, fr condiionri instruciuni compuse (structurate) Un program trebuie s execute cel puin o instruciune, chiar dac, la limit, aceasta e o instruciune vid.

Instruciuni simple:

instruciunea vid instruciunea de atribuire apeluri de procedur (funcie) instruciunea de salt necondiionat (GO TO) instruciunea vid

Instruciuni pentru implementarea structurilor fundamentale :

instruciunea condiional simpl IF instruciunea condiional multipl -CASE clasa instruciunilor repetitive

WHILE REPEAT FOR

Instruciuni simple

Instruciunea vid descrie aciunea vid. Se prezint ca o linie goal, urmat de ; i:=1 ; ; ; 2 instruciuni vide Instruciunea de atribuire evalueaz o expresie i atribuie rezultatul obinut unei variabile sau funcii Identificator := valoare;

Prioritatea operatorilor n Pascal

Apelul de procedur
Orice rutin scris de noi pentru a efectua anumite operaii se numete procedur. Procedurile ntlnite n program ca simple instruciuni genereaz o serie de operaii (exemplu READ). Compilatorul caut numele de procedur n biblioteca sa. Dac nu este gsit acolo, procedura e cutat n lista de declaraii de proceduri a programului. Dac nu este nici acolo, se afieaz un mesaj de eroare corespunztor. Dac e gsit, procedura e apelat; ea se execut corespunztor i, dup ncheierea execuiei ei, programul e continuat cu instruciunea care urmeaz instruciunii care a apelat procedura.

Instruciunea de salt necondiionat GO TO


Format: GO TO etichet; La ntlnirea ei se execut un salt la linia care este precedat de etichet(declarat ca LABEL), urmat de : (ca separator).

END

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