TlačiťTlačiť Slovenčina English Hľadať RSS

© 2005 – 2024 Roman Horváth, všetky práva vyhradené. Dnes je 23. 4. 2024.

Stránka sa načítava, prosím čakajte…

Dátum: 4. 8. 2020, pred štyrmi rokmi, aktualizované: 31. 8. 2021, pred tromi rokmi

Aplikácia napísaná v programovacom jazyku Pascal môže pozostávať z modulov nazývaných jednotky (angl. units). Jednotka môže obsahovať vnútorné/vonkajšie premenné a definície typov, funkcií, procedúr, inicializačné príkazy a podobne.

Spolu s inštaláciou prostredia Pascal je dodaných množstvo predvolených jednotiek a jazyk Pascal umožňuje definovať vlastné jednotky, ktoré môžu používať iní programátori (alebo i programátor, ktorý ich napísal).

Cieľom jednotiek je znovupoužiteľnosť kódu. Čiže jednotka by mala byť písaná tak, aby bola využiteľná v rôznych projektoch v budúcnosti. Často sa však stretávame aj s jednotkami písanými len pre jeden softvérový projekt.

Na tejto karte je ukážková definícia jednotky vypocty. Súbor zdrojového kódu musí mať rovnaký názov ako jednotka (len s pridanou príponou .pas). Definícia jednotky sa začína kľúčovým slovom unit, ktoré nahrádza slovo program používané v „klasických“ zdrojových kódoch jazyka Pascal.

~

unit vypocty;

interface

function obsahKruhu(polomer: real): real;
function obvodKruhu(polomer: real): real;
function obsahStvorca(strana: real): real;
function obvodStvorca(strana: real): real;
function obsahObdlznika(stranaA, stranaB: real): real;
function obvodObdlznika(stranaA, stranaB: real): real;

procedure informacieOKruhu(polomer: real);
procedure informacieOStvorci(strana: real);
procedure informacieOObdlzniku(stranaA, stranaB: real);

implementation

function obsahKruhu(polomer: real): real;
begin
  obsahKruhu := PI * polomer * polomer;
end;

function obvodKruhu(polomer: real): real;
begin
  obvodKruhu := 2 * PI * polomer;
end;

function obsahStvorca(strana: real): real;
begin
  obsahStvorca := strana * strana;
end;

function obvodStvorca(strana: real): real;
begin
  obvodStvorca := 4 * strana;
end;

function obsahObdlznika(stranaA, stranaB: real): real;
begin
  obsahObdlznika := stranaA * stranaB;
end;

function obvodObdlznika(stranaA, stranaB: real): real;
begin
  obvodObdlznika := 2 * (stranaA + stranaB);
end;

procedure informacieOKruhu(polomer: real);
begin
  writeln('Kruh s polomerom: ', polomer:0:2);
  writeln('  Obsah kruhu je: ', obsahKruhu(polomer):0:2);
  writeln('  Obvod kruhu je: ', obvodKruhu(polomer):0:2);
end;

procedure informacieOStvorci(strana: real);
begin
  writeln('Stvorec so stranou: ', strana:0:2);
  writeln('  Obsah stvorca je: ', obsahStvorca(strana):0:2);
  writeln('  Obvod stvorca je: ', obvodStvorca(strana):0:2);
end;

procedure informacieOObdlzniku(stranaA, stranaB: real);
begin
  writeln('Obdlznik so stranami: ', stranaA:0:2, ', ', stranaB:0:2);
  writeln('  Obsah obdlznika je: ', obsahObdlznika(stranaA, stranaB):0:2);
  writeln('  Obvod obdlznika je: ', obvodObdlznika(stranaA, stranaB):0:2);
end;

end.

Na tejto karte sa nachádza ukážka programu, ktorý používa jednotku vypocty. Keď chceme ľubovoľnú (preddefinovanú alebo vlastnú) jednotku používať, musíme uviesť jej názov v zozname používaných jednotiek za klauzulou uses. Potom môžeme v našom programe používať všetky verejné položky definované v jednotke. (Treba vždy zabezpečiť, aby bola jednotka uložená na ceste, ktorú prehľadáva kompilátor počas procesu kompilácie, inak vznikne chyba.)

~

program pouzitie;

uses crt, vypocty;

var a, b: integer;

begin
  clrscr;
  write('Zadajte polomer kruhu: ');
  readln(a);
  informacieOKruhu(a);
  readln;
end.