Sunteți pe pagina 1din 4

Tipuri de date , variabile , constante , etichete , expresii.

Un program n limbajul Pascal conine o descriere a actiunilor ce trebuie s


fie executate de calculator i o descriere a datelor ce snt manevrate de aceste
aciuni. Aciunile snt descrise prin instruciuni, iar datele prin declaraii sau
definiii. Prin tip de date nelegem o mulime de valori.
Se disting trei categorii de tipuri de date:
- simple elementare;
- compuse structurate;
- de referin pointer.
n general, tipurile de date snt definite explicit prin declaraii type iar
operaiile asociate prin declaraii function sau procedure snt specifice
programului n care apar. Exist ns tipuri de date elementare de interes mai
general, numite tipuri predefinite. Valorile unui tip de date snt referite prin
variabile sau constante. Anumite constante snt predefinite.
type I = T;
unde I este un identificator numit numele tipului, iar T specificaia sa.
Declaraia variabilelor este precedat de cuvntul cheie var , a constantelor
de cuvnt cheie const , iar a etichetelor, de cuvnt cheie label .
Numele I poate fi folosit pentru referirea la tipul T n declaraiile ulterioare
de variabile sau pentru definirea altor tipuri. Exist tipuri de date anonime,
definite implicit prin declaraii de variabile de forma:
var v _ 1 , .. , v _ n : T ;
Ex:
label 1, 10 ;
type bin = 0 . . 1 ;
var bit : bin ;
cifra : 0 . . 9 ;
const zero = 0 ;
var i : integer ;
etichetele 1 i 10 , tipul bin cu elementele 0 i 1, variabila bit de tipul bin,
variabila I de tipul predefinit integer precum i constanta zero avnd
valoarea 0.
Tipuri de date simple i predefinite.
Tipurile simple snt de trei categorii: predefinite, enumerare i
subdomeniu. Tipurile simple se mai numesc i tipuri scalare.
Exist cinci tipuri de date predefinite: integer , real , boolean , char i text.

Tipul integer este o mulime de numere ntregi cuprinse ntre cel mai
mic i cel mai mare numr ntreg ce se pot reprezenta pe un calculator gazd
al limbajului. Exemplu: elementul -15 al tipului integer poate fi reprezentat
prin literele -15 sau -17B.
Fie x reprezentarea n baza 2 a unui numr ntreg . Reprezentarea n cod
complementar a lui x este:
{x
dac 0 < x < 0 111 111 111 111 111
rc (x) {
{2 - | x |
dac x < 0 i 2 - | x | > 1 000 000 000 000 000
{x
rc (x) {
{2+x

dac 0 < x < 2 1


dac 2 < x < 0

Cel mai mare numr reprezentabil n cod complementar este 2 1 , adic


32767 (maxint); cel mai mic numr este 2 , adic 32768.
Tipul real este mulimea de numere reale
{x |x = + 0 , x x . . . x b i x snt cifre n baza b i l < e < l }
unde baza b a sistemului de enumeraie, limitele l i l ale exponentului e
i numrul n + 1.
Exemplu: b=2, -128<e < 127 iar n = 23.
Elementele tipului real se reprezint n programe prin literale numerice de
formele i . f , i . fEs sau iEs , eventual precedate de semnul + sau - , unde i
i f snt numere zecimale intregi fr semn reprezentnd partea ntreag i
respectiv partea fracionar a literalului numeric.
Exemplu : -0,25 al tipului real poate apare n programe Pascal n una din
formele -0.25, -25E-2, -25.0E-2.
n programele Pascal elementele tipului real se presupun a fi scrise n baza
10. Reprezentarea sau memorarea acestora n calculator se face n virgul
mobil pe 2 cuvinte 32 bii simpl precizie sau pe 4 cuvinte 64 bii dubl
precizie. Poziie binar 15 prima din stnga, n notaia uzual a primului
cuvnt este a semnului, n poziiile 7 14 ale primului cuvnt se
memoreaz caracteristica exponentului mrit cu 128, iar n rest se
memoreaz mantisa partea fracionar fr prima poziie dup virgul.
Caracteristica este: c= 128 + e = 2 + 1= 10000001
Primul cuvnt al reprezentrii n calculator este 0 10000001 000000, iar al
doilea cuvnt 0000000000000000 n baza 2. Reprezentarea octal este

40200, respectiv 0. n mod analogic, -5.0 se va reprezenta prin numerele


octale 140640 i 0.
Cel mai mare numr real reprezentabil n simpl precizie este
0, 111111111111111111111111 2 1 2 10 .
Cel mai mic numr real pozitiv reprezentabil este:
0,1 2 = 2 10 .
Numerele reale de forma 0,1 x .. x ,part intervalul [, 1) n 2
subintervale de lungime (1- ) 2 = 2 .
Tipul boolean conine dou elemente referite prin constantele
predefinite false i true . Operaiile predefinite ale aceluiai tip and, or ,
not definesc o structur de algebr boolean .
Tipul char este o mulime finit i ordonat de caractere ce conine,
printre altele, litere, cifre, i caracterul spaiu.
Reprezentarea intern a unui element de acest tip se face pe 1 byte i are ca
valoare codul ASCHII al caracterului respectiv.
n implementarea Pascal q i r se calculeaz prin instruciunile urmtoare:
q := a
div b; r : = a mod b;
if (a < 0) and ( r < > 0) then
begin
r : = r + abs (y) ;
if b < 0 then q : = q + 1 else q : = q 1
end
n limbajul standard, q i r se calculeaz prin:
q : = a div b;
r : = a mod b;
if. (a < 0 ) and ( r < > 0 ) then
if b > 0 then q : = q 1
else begin q : = q + 1 ; r : = r 2 * b end
EXEMPLU:
begin
writeln ( ' 8 div 3 = ' ,
8 div
3 );
writeln ( ' -8 div 3 = ' ,
-8 div
3 );
writeln (' 8 div -3 =' ,
8 div (-3) );
writeln (' -8 div -3 =' ,
-8 div (-3) );
writeln (' 8 mod 3 =' ,
8 mod 3 );
writeln (' -8 mod 3 =' ,
-8 mod 3 );
writeln (' 8 mod 3)=',
8 mod (-3) );
writeln (' -8 mod -3 = ',
-8 mod (-3) );

end.
Operatori raionali uzuali = , < > , < , <= , >, >= conduc la
rezultate de tip boolean. Operanzii pot fi de tip integer prin reprezentri
binare bit cu bit.
Ex: not 1 este 2 , 6 or 3 este 7 , 6 and 3 este 2 .
Pentru tipurile integer , char i boolean exist funciile succ (succesor) i
pred (predecesor).
Pred (c) = chr (ord (c) 1) i succ (c) = chr (ord (c) + 1).
Operaii i funcii predefinite asociate.
Ex:
var
a : integer ;
b : real ;
c : char ;
d : boolean ;
begin
c:='x';
a:=1;
b : = 1.5 ;
a : = a + trunc ( -b) + round ( b) ;
a : = a mod a div a + ord ( ' x ') ;
b : = succ (a) + b / b - pred ( succ (a) );
c : = chr (ord (c) );
d : = ( b < = b ) and true ;
write ( a , b , c , d )
end.
Tipuri de date enumerare
Un tip enumerare este o mulime ordonat de valori specificate prin
identificatori.

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