28
Програмски језик Parallaxis (2) Потпрограми општег типа. Функцијски потпрограми.

Програмски језик Parallaxis (2)

  • Upload
    nerys

  • View
    68

  • Download
    8

Embed Size (px)

DESCRIPTION

Програмски језик Parallaxis (2). Потпрограми општег типа. Функцијски потпрограми. Потпрограми општег типа. PROCEDURE Ime_pp(deklaracija argumenata); --- deklaracija lokalnih promenljivih BEGIN --- telo potprograma END Ime_pp;. Потпрограми општег типа. - PowerPoint PPT Presentation

Citation preview

Page 1: Програмски језик  Parallaxis  (2)

Програмски језик Parallaxis (2)

Потпрограми општег типа.Функцијски потпрограми.

Page 2: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

PROCEDURE Ime_pp(deklaracija argumenata);

--- deklaracija lokalnih promenljivih

BEGIN

--- telo potprograma

END Ime_pp;

Page 3: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

При декларацији аргумената за сваки аргумент се наводи: кључна реч VAR за позив по

референци, име аргумента, знак ‘:’ и тип аргумента.

Декларације аргумената одвајају се знаком ‘;’.

Page 4: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

У језику Parallaxis постоји 28 стандардних потпрограма општег типа.

Користићемо следеће ознакеord – набројиви, изведени и целобројни

типови података; elem – тип елемента скупа;skup – тип SET OF elem;niz – променљиве типа ARRAY OF char.

Page 5: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

DEC(SCALAR VAR x: ord) DEC(VECTOR VAR x: ord)

Умањује вредност променљиве x за 1 или додељује променљивој вредност њеног непосредног претходника.

Page 6: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

DEC(SCALAR VAR x:ord;SCALAR n:INTEGER) DEC(VECTOR VAR x:ord;VECTOR n:INTEGER)

Умањује вредност променљиве x за n или додељује променљивој вредност њеног n-тог претходника.

Page 7: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

INC(SCALAR VAR x: ord) INC(VECTOR VAR x: ord)

Увећава вредност променљиве x за 1 или додељује променљивој вредност њеног непосредног следбеника.

Page 8: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

INC(SCALAR VAR x:ord;SCALAR n:INTEGER) INC(VECTOR VAR x:ord;VECTOR n:INTEGER)

Увећава вредност променљиве x за n или додељује променљивој вредност њеног n-тог следбеника.

Page 9: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

EXCL(SCALAR VAR x:skup;SCALAR y:elem) EXCL(VECTOR VAR x:skup;SCALAR y:elem))

Уклања елемент y из скупа x.

Page 10: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

INCL(SCALAR VAR x:skup;SCALAR y:elem) INCL(VECTOR VAR x:skup;SCALAR y:elem)

Уводи елемент y у скуп x.

Page 11: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

Write(SCALAR c:char)

Знак c се шаље на активни излазни канал.

Page 12: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

WriteInt(SCALAR i:INTEGER;SCALAR n:CARDINAL)

Слање целог броја i на активни излазни канал са записом од n знакова.

WriteCard(SCALAR i,n:CARDINAL) WriteReal(SCALAR r:REAL;SCALAR n:CARDINAL) WriteFixPt(SCALAR r:REAL;SCALAR n,p:CARDINAL) WriteBool(SCALAR b:BOOLEAN) WriteString(SCALAR s:niz) Writeln

Page 13: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

Read(SCALAR VAR c:CHAR) ReadInt(SCALAR VAR i:INTEGER) ReadCard(SCALAR VAR c:CARDINAL) ReadReal(SCALAR VAR r:REAL) ReadBool(SCALAR VAR b:BOOLEAN) ReadString(SCALAR VAR s:niz)

Page 14: Програмски језик  Parallaxis  (2)

Потпрограми општег типа

OpenInput(SCALAR s:niz) OpenOutput(SCALAR s:niz) CloseInput CloseOutput

Page 15: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

PROCEDURE Ime_pp(dekl_arg): dekl_rez;--- deklaracija lokalnih promenljivihBEGIN--- telo potprogramaRETURN(rezultat);END Ime_pp;

Page 16: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

Декларација аргумената је иста као и код потпрограма општег типа осим што не постоји кључна реч VAR.

У декларацији резултата наводи се да ли је резултат скаларни или векторски, као и тип резултата.

Аргумент наредбе RETURN је излазни аргумент потпрограма и може бити променљива или израз.

Page 17: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

У програмском језику Parallaxis постоје 32 стандардна функцијска потпрограма.

Осим раније коришћених ознака користићемо и:

tip – име типа податкаport – име порта

Page 18: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

COS(SCALAR r:REAL):SCALAR REAL; COS(VECTOR r:REAL):VECTOR REAL; SIN(SCALAR r:REAL):SCALAR REAL; SIN(VECTOR r:REAL):VECTOR REAL; TAN(SCALAR r:REAL):SCALAR REAL; TAN(VECTOR r:REAL):VECTOR REAL; ARCSIN(SCALAR r:REAL):SCALAR REAL; ARCSIN(VECTOR r:REAL):VECTOR REAL; ARCCOS(SCALAR r:REAL):SCALAR REAL; ARCCOS(VECTOR r:REAL):VECTOR REAL;

Page 19: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

ARCTAN(SCALAR r:REAL):SCALAR REAL; ARCTAN(VECTOR r:REAL):VECTOR REAL;

у опсегу [-/2, +/2] ARCTAN2(SCALAR r1,r2:REAL):SCALAR REAL; ARCTAN2(VECTOR r1,r2:REAL):VECTOR REAL;

arctg(r1/r2) [-, +]

Page 20: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

EXP(SCALAR r:REAL):SCALAR REAL; EXP(VECTOR r:REAL):VECTOR REAL; LN(SCALAR r:REAL):SCALAR REAL; LN(VECTOR r:REAL):VECTOR REAL; SQRT(SCALAR r:REAL):SCALAR REAL; SQRT(VECTOR r:REAL):VECTOR REAL;

Page 21: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

ABS(SCALAR x:INTEGER):SCALAR CARDINAL; ABS(VECTOR x:INTEGER):VECTOR CARDINAL; ABS(SCALAR x:REAL):SCALAR REAL; ABS(VECTOR x:REAL):VECTOR REAL; FLOAT(SCALAR i:INTEGER):SCALAR REAL; FLOAT(VECTOR i:INTEGER):VECTOR REAL; TRUNC(SCALAR r:REAL):SCALAR INTEGER; TRUNC(VECTOR r:REAL):VECTOR INTEGER;

Page 22: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

CAP(SCALAR c:CHAR):SCALAR CHAR; CAP(VECTOR c:CHAR):VECTOR CHAR;

Претвара знак у велико слово. CHR(SCALAR i:INTEGER):SCALAR CHAR; CHR(VECTOR i:INTEGER):VECTOR CHAR; ORD(SCALAR i:ord):SCALAR INTEGER; ORD(VECTOR i:ord):VECTOR INTEGER; ORD(SCALAR i:CHAR):SCALAR INTEGER; ORD(VECTOR i:CHAR):VECTOR INTEGER;

Page 23: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

EVEN(SCALAR i:INTEGER):SCALAR BOOLEAN; EVEN(VECTOR i:INTEGER):VECTOR BOOLEAN; ODD(SCALAR i:INTEGER):SCALAR BOOLEAN; ODD(VECTOR i:INTEGER):VECTOR BOOLEAN; MAX(TIP ord):SCALAR ord;

Највећи елемент који припада типу ord.

MIN(TIP ord):SCALAR ord;

Најмањи елемент који припада типу ord.

Page 24: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

SIZE(SCALAR x:TIP):SCALAR INTEGER; SIZE(VECTOR x:TIP):VECTOR INTEGER;

Враћа број меморијских локација које заузима променљива x.

Page 25: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

STRCMP(SCALAR s1,s2:niz):SCALAR INTEGER; STRCMP(VECTOR s1,s2:niz):VECTOR INTEGER;

Пореди знаковне низове s1 и s2; резултат поређења је +1, 0 или -1 у зависности од тога да ли је низ s1 у лексикографском смислу већи, једнак или мањи од низа s2.

STREQ(SCALAR s1,s2:niz):SCALAR BOOLEAN; STREQ(VECTOR s1,s2:niz):VECTOR BOOLEAN;

Пореди знаковне низове s1 и s2; враћа TRUE ако је s1 у лексикографском смислу већи од низа s2; иначе FALSE.

Page 26: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

SBRANDOM():SCALAR BOOLEAN; VBRANDOM():VECTOR BOOLEAN; SCRANDOM():SCALAR CHAR; VCRANDOM():VECTOR CHAR; SIRANDOM():SCALAR INTEGER; VIRANDOM():VECTOR INTEGER; SRRANDOM():SCALAR REAL; VRRANDOM():VECTOR REAL;

Page 27: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

VAL(TIP ord;SCALAR n:INTEGER):SCALAR ord; VAL(TIP CHAR;SCALAR n:INTEGER):SCALAR CHAR; VAL(TIP ord;VECTOR n:INTEGER):VECTOR ord; VAL(TIP CHAR;VECTOR n:INTEGER):VECTOR ord;

Преводи цео број n у одговарајући елемент редног типа. Важи

ORD(VAL(ord,n)) = n

VAL(CHAR,n) = CHAR(n)

Page 28: Програмски језик  Parallaxis  (2)

Функцијски потпрограми

IN_Connected(PORT ul_port):VECTOR BOOLEAN; OUT_Connected(PORT izl_port):VECTOR BOOLEAN; IN_LineConnected(PORT izl_port,ul_port):VECTOR BOOLEAN; OUT_LineConnected(PORT izl_port,ul_port):VECTOR BOOLEAN;