<< home >>
Didaktické využitie mini-jazyka Robot Karel na ZŠ
<<- ->>


  • Turbo Pascal

TURBO PASCAL

Vyhradené slovo
 
and, array, asm, begin, case, const, constructor, destructor, div, downto, do, else, end, exports, file, for, function, goto, if, implementation, in, inherited, inline, interface, label, library, mod, nil, not, object, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor

a direktívy:

absolute, assembler, export, external, far, forward, index, interrupt, near, private, public, resident, virtual

... a mnoho iných (v dokumentácii príslušného kompilátora)
{časť definície v hranatých zátvorkách [ ] v konkrétnom prípade nemusí byť uvedená}

Organizácia programu
 

program meno programu; hlavička programu

zoznam použitých unit; {uses} časť deklarácií a definícií
deklarácia návestí; {label}
definícia konštánt; {const}
definícia typov; {type}
deklarácia premenných; {var}
deklarácia procedúr; {procedure}
deklarácia funkcií; {function}

begin

príkaz 1; príkazová časť
príkaz 2;
...
príkaz N;

end.

V deklarácii procedúr a funkcií nesmie byť uses.


Údajové typy - štandardné
 

Celočíselný typ

byte 0..255
shortint-128..127
word0..65535
integer-32768..32767
longint-2147483648..2147483647

Povolené je hexadecimálne číslo za znakom $ (napr. $16 je 22 desiatkove)

Typy reálnych čísel

real

a ďalšie len s použitím numerického koprocesora (direktíva{$N+})

single
double
extended
comp(zobrazenie v pevnej riadkovej čiarke)

Typ char

Jeden znak v ASCII kóde. Platí:

#20 = Chr(20) kódová reprezentácia znaku
#65 = 'A'
^G súčasné stlačenie Ctrl a G

Typ string

var text:string[30]; //dĺžka reťazca text je 30 znakov

Reťazec znakov, Null-terminated, ASCIIZ, OpenString

Booleovské typy

boolean
ByteBool1 slabika // pre kompatibilitu s C, ktorý považuje za true každú hodnotu
WordBool2 slabiky // okrem nuly
LongBool4 slabiky //


Užívateľsky definované typy
 

· Vymenovaný typ

· Typ interval

· Typ ukazovateľ

· Typ pole

· Typ záznam

· Typ množina

· Typ súbor

· Procedurálny typ

· Objektový typ


Konštanty a Premenné
 

const
meno = hodnota;

var
meno1,meno2,...,menoN : údajový typ;

{Vyhradené slovo const, var, type, ... v časti deklarácii a definícii sa uvádza len raz!}



Jednoduché príkazy
 

premenná:=výraz
read(parameter)
readln(parameter )
write(parameter )
writeln(parameter )


Štruktúrované príkazy
 

Zložený príkaz je vhodné "blokovať" medzi begin a end.

Podmienené príkazy

· Binárne vetvenie algoritmu

if podmienka
then
blok príkazov
else
blok príkazov

· Viacnásobné vetvenie algoritmu

case premenná of
hodnota1:blok príkazov
hodnota2:blok príkazov
...
hodnotaN:blok príkazov


Príkazy cyklu

· Príkaz while (nemusí sa vykonať ani raz, pokiaľ je splnená podmienka)

while podmienka
do blok príkazov

· Príkaz repeat (vykoná sa aspoň raz)

repeat
blok príkazov
until podmienka

· Príkaz for (počet opakovaní je vopred známy)

for i:=začiatočná_hod to koncová_hod do blok príkazov
alebo

for i:=koncová_hod downto začiatočná_hod do blok príkazov


Štruktúrované typy údajov
 

· Typ pole

type pole=array[1..10] of integer;
{jednorozmerné pole s indexovanými premennými pole[1] atď.}

type matica=array[1..8] of array[1..8] of array[1..8] of real;
{trojrozmerné pole s indexovanými premennými matica[1,1,1] atď., možno zapísať aj:}
type matica=array[1..8,1..8,1..8] of real;

· Zhustený typ pole

pred slovo array vložíme slovo packed

v programe využívame príkazy:

pack(pole,i,packedpole);
unpack(packedpole,pole,i);

· Typ záznam (heterogénna kompozícia prvkov)

type záznam=record
den:1..31;
mesiac:(januar,februar,marec);
rok:1900..2100;
   end

Sprístupnenie zložiek premennej typu záznam umožňuje aj príkaz with:

with zoznam_premenných_typu_záznam do blok príkazov

· Typ množina 

Hodnotami množiny sú opäť množiny, vytvárajú sa z prvkov základu, bázy.

type báza=(cervena, zlta, cierna);
farba=set of báza;


· Typ súbor (postupnosť prvkov rovnakého typu)


type student=record
...
  end
kartoteka=file of student

· Typ ukazovateľ (dynamická údajová štruktúra, premenná)

type U=@T

Do množiny hodnôt typu ukazovateľ patrí vždy aj hodnota nil.


Procedúry a funkcie
 

deklarácia:

procedure meno;
begin
postupnosť príkazov
end

alebo

procedure meno(vstupy; var vystupy:typ)
begin
postupnosť príkazov
end

function meno;
begin
postupnosť príkazov
meno:=výraz // ! ! !
postupnosť príkazov
end


Bloková štruktúra programu
 

Z hľadiska hierarchie blokov možno objekty rozdeliť na lokálne a globálne. Objekt je lokálny pre blok, v kt. bol deklarovaný, a globálny pre všetky hierarchicky nižšie bloky. Lokálny objekt "zatieňuje" globálny.


Programové jednotky - unit
 

Po preložení zo zdrojovej formy vznikne súbor meno.tpu

unit meno;
interface
uses zoznam jednotiek; //nepovinné
verejné deklarácie a definície
implementation
uses zoznam jednotiek; //nepovinné
interné deklarácie a definície
procedúry a funkcie
begin
inicializačný kód
end.

Použitie v hlavnom programe:

uses meno;

hneď za hlavičkou programu.



<<- ->>