1 / 28

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

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

nerys
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Потпрограми општег типа PROCEDURE Ime_pp(deklaracija argumenata); --- deklaracija lokalnih promenljivih BEGIN --- telo potprograma END Ime_pp;

  3. Потпрограми општег типа • При декларацији аргумената за сваки аргумент се наводи: • кључна реч VAR за позив по референци, • име аргумента, • знак ‘:’ и • тип аргумента. • Декларације аргумената одвајају се знаком ‘;’.

  4. Потпрограми општег типа • У језику Parallaxis постоји 28 стандардних потпрограма општег типа. • Користићемо следеће ознаке ord – набројиви, изведени и целобројни типови података; elem – тип елемента скупа; skup – тип SET OF elem; niz – променљиве типа ARRAY OF char.

  5. Потпрограми општег типа • DEC(SCALAR VAR x: ord) • DEC(VECTOR VAR x: ord) Умањује вредност променљиве x за 1 или додељује променљивој вредност њеног непосредног претходника.

  6. Потпрограми општег типа • DEC(SCALARVARx:ord;SCALAR n:INTEGER) • DEC(VECTOR VARx:ord;VECTOR n:INTEGER) Умањује вредност променљиве x за n или додељује променљивој вредност њеног n-тог претходника.

  7. Потпрограми општег типа • INC(SCALAR VAR x: ord) • INC(VECTOR VAR x: ord) Увећава вредност променљиве x за 1 или додељује променљивој вредност њеног непосредног следбеника.

  8. Потпрограми општег типа • INC(SCALARVARx:ord;SCALAR n:INTEGER) • INC(VECTOR VARx:ord;VECTOR n:INTEGER) Увећава вредност променљиве x за n или додељује променљивој вредност њеног n-тог следбеника.

  9. Потпрограми општег типа • EXCL(SCALARVARx:skup;SCALAR y:elem) • EXCL(VECTOR VARx:skup;SCALAR y:elem)) Уклања елемент y из скупа x.

  10. Потпрограми општег типа • INCL(SCALARVARx:skup;SCALAR y:elem) • INCL(VECTOR VARx:skup;SCALAR y:elem) Уводи елемент y у скуп x.

  11. Потпрограми општег типа • Write(SCALAR c:char) Знак c се шаље на активни излазни канал.

  12. Потпрограми општег типа • 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

  13. Потпрограми општег типа • 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)

  14. Потпрограми општег типа • OpenInput(SCALAR s:niz) • OpenOutput(SCALAR s:niz) • CloseInput • CloseOutput

  15. Функцијски потпрограми PROCEDURE Ime_pp(dekl_arg): dekl_rez; --- deklaracija lokalnih promenljivih BEGIN --- telo potprograma RETURN(rezultat); END Ime_pp;

  16. Функцијски потпрограми • Декларација аргумената је иста као и код потпрограма општег типа осим што не постоји кључна реч VAR. • У декларацији резултата наводи се да ли је резултат скаларни или векторски, као и тип резултата. • Аргумент наредбе RETURN је излазни аргумент потпрограма и може бити променљива или израз.

  17. Функцијски потпрограми • У програмском језику Parallaxis постоје 32 стандардна функцијска потпрограма. • Осим раније коришћених ознака користићемо и: tip – име типа податка port – име порта

  18. Функцијски потпрограми • 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;

  19. Функцијски потпрограми • 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) [-, +]

  20. Функцијски потпрограми • 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;

  21. Функцијски потпрограми • ABS(SCALAR x:INTEGER):SCALAR CARDINAL; • ABS(VECTORx:INTEGER):VECTORCARDINAL; • ABS(SCALAR x:REAL):SCALAR REAL; • ABS(VECTORx:REAL):VECTORREAL; • FLOAT(SCALAR i:INTEGER):SCALAR REAL; • FLOAT(VECTORi:INTEGER):VECTOR REAL; • TRUNC(SCALAR r:REAL):SCALAR INTEGER; • TRUNC(VECTOR r:REAL):VECTORINTEGER;

  22. Функцијски потпрограми • CAP(SCALAR c:CHAR):SCALAR CHAR; • CAP(VECTORc:CHAR):VECTORCHAR; Претвара знак у велико слово. • 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;

  23. Функцијски потпрограми • 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.

  24. Функцијски потпрограми • SIZE(SCALAR x:TIP):SCALAR INTEGER; • SIZE(VECTOR x:TIP):VECTOR INTEGER; Враћа број меморијских локација које заузима променљива x.

  25. Функцијски потпрограми • 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.

  26. Функцијски потпрограми • SBRANDOM():SCALAR BOOLEAN; • VBRANDOM():VECTOR BOOLEAN; • SCRANDOM():SCALAR CHAR; • VCRANDOM():VECTOR CHAR; • SIRANDOM():SCALAR INTEGER; • VIRANDOM():VECTOR INTEGER; • SRRANDOM():SCALAR REAL; • VRRANDOM():VECTOR REAL;

  27. Функцијски потпрограми • 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)

  28. Функцијски потпрограми • 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;

More Related