Premium

Získejte všechny články
jen za 89 Kč/měsíc

Programujeme pro Psiony, aneb OPL pro začátečníky (3)

Třetí pokračování našeho prázdninového rychlokurzu programování v jazyce OPL.

Přehled nejdůležitějších funkcí jazyka OPL

Aritmetické funkce - ABS, IABS (absolutní hodnota), VAL, EVAL (vyhodnotí číslo nebo výraz obsažený v řetězci), FLT (převede celé číslo na reálné), INT, INTF (zaokrouhlí hodnotu na celé číslo), EXP (mocnina čísla e), LN, LOG (přirozený a desítkový logaritmus), SQR (odmocnina), MAX, MIN (nalezení maxima a minima seznamu čísel nebo pole), SUM, MEAN, STD, VAR, (suma, průměr a směrodatná odchylka seznamu čísel nebo pole), RND (pseudonáhodné číslo), UADD, USUB (sčítání a odčítání celých čísel bez znaménka).

Trigonometrické funkce - COS, ACOS, SIN, ASIN, TAN, ATAN (parametr i vrácená hodnota je v radiánech), RAD, DEG (převod ze stupňů na radiány a zpět) a PI (číslo ).

Funkce pro práci s časem a datem - YEAR, MONTH, DAY, HOUR, MINUTE, SECOND (vrací aktuální hodnoty systémového času), DATETOSECS, SECSTODATE (převod data na počet vteřin uplynulých od půlnoci na 1.1.1970), DATIM$ (vrátí datum jako text), DAYS, DAYSTODATE (převod data na počet dnů uplynulých od 1.1.1900 a zpět), DOW, WEEK (číslo dne v týdnu a týdnu v roce), DAYNAME$, MONTH$ (jména dnů v týdnu a jména měsíců).

Řetězcové funkce - FIX$, GEN$, SCI$, NUM$ (převod reálného čísla na řetězec v pevné desetinné čárce, obecném tvaru, vědeckém tvaru nebo zaokrouhlené), HEX$ (převod celého čísla do šestnáctkové soustavy), LEFT$, RIGHT$, MID$ (výběr podřetězců), LEN (délka řetězce), LOC (vyhledání podřetězce), UPPER$, LOWER$ (převod řetězce na velká nebo na malá písmena), REPT$ (vytvoří řetězec z opakujících se znaků), CHR$ (pro převod ASCII hodnoty na kód znaku) a ASC (pro převod opačným směrem).

Pole

Proměnné mohou tvořit jednorozměrná pole - index pole uvádíme v kulatých závorkách; první prvek má index 1. Pole deklarujeme podobně jako samostatné proměnné za klíčovým slovem LOCAL (lokální proměnné) nebo GLOBAL. Při deklaraci řetězců používáme dva indexy oddělené čárkou: první udává počet prvků pole a druhý nejvyšší délku jednotlivého řetězce v poli.

PROC promenne:
  LOCAL a%(10), b(100)
  GLOBAL s$(100), r$(100, 1)
  s$ = "Text"
  r$(1) = "a" : r$(100) = "z"
ENDP

V předchozím příkladu jsme deklarovali lokální celočíselné šestnáctibitové (odlišené znakem procento) pole a% o velikosti 10 prvků a pole reálných čísel b obsahující 100 prvků. Pozor na druhý řádek, kde je uvedena globální deklarace. s$ je řetězcová proměnná, která může mít délku nejvýše 100 znaků. Teprve proměnná r$ označuje pole sta jednoznakových řetězců r$(1)r$(100).

Řídící struktury programu

Klasické větvení programu je možné pomocí klíčových slov IF, ELSEIF, ELSE a ENDIF. Každé z těchto klíčových slov musí být uvedeno na samostatném řádku nebo oddělené dvojtečkou jako samostatný příkaz. Struktura bloku podmínek je následující:

IF podmínka
  příkazy, které budou vykonány, bude-li podmínka platit
ELSEIF podmínka-2
  příkazy, které budou vykonány, bude-li platit podmínka-2
ELSEIF podmínka-3
  příkazy, které budou vykonány, bude-li platit podmínka-3
...
ELSE
  příkazy, které budou vykonány, nebude-li žádná z podmínek splněna
ENDIF

Bloků za ELSEIF může být uveden libovolný počet; tyto bloky však není povinné v podmínce uvádět. Relační operátory v podmínce mohou být =, <>, <, <=, >, >= a mohou být spojeny pomocí logických operátorů AND, OR a NOT a závorek do libovolně složitých podmínek.

Cykly, které jazyk OPL používá, mohou mít podmínku na začátku i na konci. Z obou dvou těchto cyklů je možné vyskočit příkazem BREAK a vynutit si další iteraci pomocí příkazu CONTINUE.

WHILE podmínka
  příkazy, které budu vykonávány, dokud bude podmínka platit
ENDWH

DO
  příkazy, které budu vykonávány, dokud nebude podmínka splněna
UNTIL podmínka

Smyčky WHILE 1 ... ENDWH a DO ... UNTIL 0 jsou nekonečné smyčky, ze kterých musíme - chceme-li je opustit - vyskočit použitím příkazu BREAK.

  • Nejčtenější

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Xiaomi už se nebude držet zpátky. Pro řadu T chystá další prémiové funkce

26. dubna 2024

Smartphony řady T od Xiaomi mají vždy parádní výbavu, ale zároveň i pár kompromisů, aby trochu...

Váš iPhone může být hacknut, varuje Apple uživatele v desítkách zemích

27. dubna 2024

Jednotlivci z řad uživatelů iPhonů z více než devadesáti zemí světa obdrželi ve středu 10. dubna od...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Dětem neprodáváme. Britské děti si dost možná už smartphone nekoupí

27. dubna 2024

Premium Britští ministři zvažují přijetí zákona, který by omezoval prodej smartphonů. Jsou totiž...

Honor našel skulinu v testech. Tváří se jako nejlepší ve výdrži baterie

30. dubna 2024  7:02

Výrobci mobilních telefonů se snaží uživatele zaujmout všemi možnými způsoby. Těmi jsou samozřejmě...

Do Evropy zamíří další skládačka. Na konkurenci zaútočí hlavně cenou

30. dubna 2024

Evropský trh se skládacími smartphony se zase o něco málo zahustí. Zamíří na něj totiž novinka...

Další chytrý prsten na obzoru. Má být levný a ještě vám posvítí na cestu

29. dubna 2024

Společnost Black Shark představila pro domácí, čínský trh vlastní chytrý prsten. Model Black Shark...

Do konce měsíce výhodná střední třída. Test smartphonu Vivo V40 SE

28. dubna 2024

Vivo uvedlo do střední třídy smartphonů zajímavý stylový model V40 SE. Ten je důkazem toho, jak...

Chcete, aby vaše děti měli v dospělosti bohatství? Přečtěte si, jak na to!
Chcete, aby vaše děti měli v dospělosti bohatství? Přečtěte si, jak na to!

Správné finanční návyky a dovednosti vznikají právě v dětství. Mnoho dětí je přijímá přirozeně od svých rodičů, kteří jsou pro děti velkým vzorem....

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Horňáci versus dolňáci. Víme, čemu muži dávají přednost, a je to překvapení

Ženské tělo je pro muže celkově velmi atraktivní a nabízí jejich očím mnoho zajímavých partií. Největší pozornosti se...

Hello Kitty slaví padesátiny. Celý svět si myslí, že je to kočička, jenže není

Kulatý obličej se dvěma trojúhelníkovýma ušima, drobný čumáček, vousky a červená mašle na uchu. Taková je Hello Kitty,...

KOMENTÁŘ: Z Davida Černého se stal parazit. O umění už dávno nejde

Premium Když se David Černý v televizi pohádal s kurátorkou Marií Foltýnovou, spory o jeho plastiku na obchodním domě Máj...

Muž má recept na dlouhověkost, v jednašedesáti je ve skvělé formě

Dave Pascoe chce dokázat světu, že i v důchodu můžete vypadat jako za mlada a také se tak cítit. Stačí dodržovat pár...