Údajové typy jazyka Pascal

19 okt

Celočíselné typy

Pascal poskytuje päť preddefinovaných celočíselných typov. Každý typ popisuje podmnožinu množiny celých čísel. Každý typ má určitý rozsah s ktorými vie pracovať a aké miesto zaberá v pamäti, tabuľke je uvedený ako veľkosť.

 

Typ

Rozsah hodnôt

Veľkosť
ShortInt -128 .. 127 1 Byte
Integer -32 768 .. 32 767 2 Byte
LongInt -2 147 483 648 .. 2 147 483 647 4 Byte
Byte 0 .. 255 1 Byte
Word 0 .. 65535 2 Byte

 

S celočíselnými údajovými typmi môžeme vykonávať operácie:

 

  • sčítanie (+)
  • odčítanie (–)
  •  násobenie (*)
  •  celočíselný podiel (div)
  •  celočíselný zvyšok (mod)

 

 

Automatické činnosti s celými číslami (funkcie a procedúry)

 

  • abs(x) – absolútna hodnota x
  • succ(x) – nasledovník x (číslo o 1 väčšie)
  • pred(x) – predchodca x (číslo o jedna nižšie)
  • inc(x) – zvýšenie premennej x o 1 (x:=x+1)
  • dec(x) – zníženie premennej x o 1 (x:=x-1)

 

 

Reálne čísla

 

Typ rozsah veľkosť
real 2,9*10-39 .. 1,7*10+38 6 Byte
single 1,5*10-45 .. 3,4*10+38 4 Byte
double 5,0*10-324 .. 1,7*10+308 8 Byte
extendet 3,4*10-4932 .. 1,1*10+4932 10 Byte
comp -2-63+1 .. 2+63-1 8 Byte

 

Operácie:

 

  • sčítanie (+)
  • odčítanie (–)
  • násobenie (*)
  •  delenie (/)

 

 

Automatické činnosti s celými číslami (funkcie a procedúry)

 

  •  sqrt (x) – druhá odmocnina x
  •  sqr (x) – druhá mocnina x
  •  sin (x) – sinus x
  •  cos (x) – cosinus x
  •  arctan (x) – arcustangens x
  •  ln (x) – prirodzený logaritmus
  •  exp(x) – ex
  •  abs(x) – absolútna hodnota x

 

Údajový typ ZNAK (char)

 

Znaky ako premenné v pascale môžeme definovať pomocou typu char. Vyjadrujú sa ohraničené apostrofmi pr. ‘A’ Inou možnosťou je zadať ich číselnú hodnotu ktorá sa nachádza v ASCII tabuľke. Pred túto číselnú hodnotu sa musí dať znak #.

Na získanie takejto číselnej reprezentácie znaku nám slúžia funkcie:

ord(‘A’) = 65

chr(65) = A

Zmena malých písmen na veľké:

Upcase

 

Logický typ (boolean)

 

Ide o údajový typ Boolean, ktorý môže nadobúdať len 2 hodnoty:

true – pravda

false – nepravda

 

Priorita operátorov:

 

Priorita Operátor
4 not
3 *, /, div, mod, and
2 +, -, or
1 =, <>, >, <, <=, >=

 

Operácie and, or, not:

 

X Y X and Y X or Y not (X)
false false false false true
false true false true true
true false false true false
true true true true false

 


Typ Reťazec (string)

 

Jedná sa o údajový typ string, ktorý môže mať maximálne dĺžku 255 znakov to znamená že sa jedná o postupnosť znakov. Typ reťazec je deklarovaný  ak nieje deklarovaná jeho veľkosť má preddeklarovanú veľkosť 255 znakov. Reťazcové konštanty sú zapisované v apostrofoch.

 

Procedúry a funkcie STRING

Procedúry

Funkcie

Delete (reťazec, index1, počet vymazaných znakov); s:= ‘jano’  delete(s, 2, 2)s=’jo’
Insert (vklad. ret., ciel ret, pozícia 1 znaku vkladaného reťazca) s:=‘kola‘  Insert (‘by’,s,3) s=‘kobyla‘
Copy ([reťazec, z ktorého berieme],[index začiatku], [počet prvkov]); s:=copy(‘značka’, 3, 4)  s=‘ačka‘
Concat zlúči (sčíta) lubov. počet reťazcov s:= concat(‘ABC’, ‘CE’, ‘FGH’) s=‘ABCCEFGH‘s:= ‘abc’+’bcd’+’def’ s=’abcbcddef’
Val ([reťazec], [premenná do ktorej sa uloží číslo], [chybový kód]) Val(‘123’, i, code)i, code: integercode=0 všetko OK ak číslo je to číslo kde došlo k chybe
Length – určí dĺžku reťazca dlzka:= length(‘abc’)dlzka = 3
pos určí pozíciu podreťazca v reťazci s:=’ahoj pascal’;n:=pos(‘ ‘,s);v n bude hodnota 5
str premeni integer na string s:string ; str(123,s);

s=’123′

Namiesto ‘abc’ môže byť premenná typu string meno, priezvisko: string;  concat (meno, priezvisko)