MICROPEL 03.2004 všechna práva vyhrazena kopírování publikace dovoleno pouze bez zmìny textu a obsahu http://www.micropel.cz



Podobné dokumenty

Programovací jazyk Pascal

3.7.5 Znaménkové operátory Násobící operátory Rùzné operátory Základní objekty Konstanty Sig

1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz

KOMUNIKAÈNÍ DDE SERVER PRO AUTOMATY MICROPEL VERZE 2.3 POPIS ROZHRANÍ A OVLÁDÁNÍ


PESexcl. PODPORA PRO VÝMÌNU DAT S APLIKACÍ MICROSOFT EXCEL s využitím DDE serveru PESdde


:5$ =islv GDW V DOWHUQDFt QHMY\ããtKRELWX



Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\


Øízený pøeklad - make




4x kombinovaný analogový vstup s vysokou pøesností (0..10V, R, C)



MenuLIB KNIHOVNA SIMPLE4 PRO TVORBU UŽIVATELSKÉHO ROZHRANÍ NA PLC MICROPEL

Vytváøení sí ového diagramu z databáze: pøíklad

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

PESprint. TISKOVÁ BRÁNA SYSTÉMU PES aplikace pro komunikaèní procesor - PES-CP24/PRINT

Algoritmizace a programování

v trojúhelníku P QC sestrojíme vý¹ky na základnu a jedno rameno, patu vý¹ky na rameno oznaèíme R a patu na základnu S


Izolaèní zesilovaèe s IL300 Zapojení izolaèních zesilovaèù s IL300 se liší pøedevším režimem v nichž pracují interní fotodiody Podle toho zda interní



0RW\O3LFWXUH%R[ 7LPHU7LPHU

Dosud vyšlo: Sudoku pro každého 2

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

3.3.2 Základní pojmy a teorie Kódování Principy, znaky a využití genetických algoritmù Expertní systémy

MaR.LIB V2.0. MaR.LIB V2 Ing. Jaroslav Kurzweil , MICROPEL s.r.o

MaR.LIB KNIHOVNA SIMPLE4 PRO TVORBU APLIKACÍ MÌØENÍ A REGULACE NA PLC MICROPEL


Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické


Úvod do programovacích jazyků (Java)



NULOROVÉ MODELY Spokojíme-li se pouze se základní analýzou elektronického obvodu s ideálními prvky, osvìdèuje se èasto užití nulorových modelù aktivní

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

baspelin CPM Popis komunikaèního protokolu CPM KOMPR

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Turnaj HALAS ligy v logických úlohách Brno

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

14 UKAZATELE A ØETÌZCE

TERM 4MK. Univerzální regulaèní systém. Charakteristika. ZPA EKOREG s.r.o. Ústí nad Labem

NOiYHVQLFH SVDFtKR VWURMH Í (Q Ï Á. (VF ) )SURJUDPRYDWHOQpNOiYHV\) ) 3VF 6F/ 3DX NRQWURON\ ,QV +RPH 3J8S 7DE 'HO (QG 3J'Q &DSV/ (QWHU Í 6KLIW


5 Přehled operátorů, příkazy, přetypování

PESgsm. GSM BRÁNA SYSTÉMU PES aplikace pro komunikaèní procesor - PES-CP24/GSM

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

HALAS liga online. 18. a 21. kvìtna Booklet. HALAS liga HALAS. sudokualogika.cz SUDOKUCUP.COM


map Manažerský nástroj pro analýzu mailové komunikace firemních týmù a neformálních skupin

DOKOPO. Komunikaèní karta se samostatným procesorem a dual-port pamìtí. Technická pøíruèka. verze 2.0. A plikace Mikroprocesorové Techniky





Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Tabulka pro zaèáteèníky. Tabulka. zaèáteèníky. Zaèínáme s poèítaèem. Windows pro zaèáteèníky. Windows pro pokroèilé. Text pro zaèáteèníky

MU-411/412 MU-811/812. 4x AIN (12 bitù), RS-485

Vzpùsobeno pøedevším zdravotními pomùckami, které tyto osoby používají. U vozíèkáøù


Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky



dovolují dělení velkých úloh na menší = dekompozice



Matematika. Poèetní operace v oboru do

Vývody kontaktù ovládacích obvodù stykaèù a pomocného napájení jsou na svorkovém poli, jak je obvyklé u pøstrojù modulového provedení. Provedení èelní

David Matoušek ÈÍSLICOVÁ TECHNIKA základy konstruktérské praxe Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována ne

Úøad prùmyslového vlastnictví. s e ž á d o s t í o z á p i s d o r e j s ø í k u. Údaje o ochranné známce - oznaète køížkem


Pohled do nitra mikroprocesoru Josef Horálek

8 Třídy, objekty, metody, předávání argumentů metod

Návod k obsluze [CZ] Solar thermo [Digital]

Kniha je urèena všem zájemcùm o teorii elektrických obvodù Poslouží jako pøíruèka pro praxi, ale i jako uèebnice pro studenty støedních a vysokých ško

Algoritmizace a programování

Matematika I Ètvercové matice - determinanty

/2*,.$ 5(6(7 Ë=(1Ë +$/7 *(1(5È ',129é & 6./ $/8. ' /,ý. ýë7$ý 5(*,675 5(*, é. 6e5,29é 5(*,675 * $.808/È725 5:0. %8',ý(/ 45(*,675 5(*

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Úvod do programování. Lekce 1

Základy algoritmizace a programování

kap..2 Plochy (Surfaces) Plochy jsou rozšíøením NURBS køivek. Zatímco køivka NURBS používala jednorozmìrnou interpolaci (U), u ploch je navíc pøidán d


OHGHQ ~QRU E H]HQ GXEHQ NY WHQ þhuyhq. SROROHWt

Rozdílová dokumentace STEREO 16 dodatek


Obsah. ÈÁST I Vývojové prostøedí Visio

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

PESpro KOMPLEXNÍ VÝVOJOVÉ PROSTØEDÍ NA TVORBU A LADÌNÍ APLIKACÍ PRO AUTOMATY SYSTÉMU PES 02/2001

Transkript:

SIMPLE 4 Popis programovacího jazyka SIMPLE verze 4 pro vývoj aplikací s PLC MICROPEL edice 03.2004 2. verze dokumentu doplnìn popis editorù doplnìn popis spec. funkcí doplnìn popis sdílených sí ových promìnných MICROPEL 03.2004 všechna práva vyhrazena kopírování publikace dovoleno pouze bez zmìny textu a obsahu http://www.micropel.cz 2 SIMPLE V4 - popis jazyka 03.2004 94 stran 2

OBSAH 1. Programovací jazyk SIMPLE V4 5 1.1 Mùj první pøíklad 5 1.2 Mezní stavy a vlastnosti promìnných 9 1.3 Promìnné a mezní stavy 10 2. Konstrukce programu 12 2.1 Lexikální symboly 12 2.2 Identifikátory 13 2.3 Celoèíselné literály 14 2.4 Èíselné literály v pohyblivé øádové èárce 15 2.5 Klíèová slova 15 2.6 Typy promìnných 15 2.7 Klíèová slova a speciální znaky logických výrazù 17 2.8 Klíèová slova pro podprogramy a funkce 18 2.9 Další vyhrazená slova a jejich významy 19 2.10 Komentáøe 20 2.11 Oddìlovaèe øádek 21 3. Sémantika 22 3.1 Identifikátory a jejich vlastnosti 22 3.2 Celoèíselné promìnné 25 3.3 Aritmetické promìnné 26 3.4 Jednoduché promìnné 26 3.5 Pole 27 3.6 String 27 3.7 Výrazy 28 3.8 Kompatibitita typù promìnných 30 4. Zápis zdrojového textu v SIMPLE V4 33 4.1 Deklarace konstant 33 4.2 Deklarace promìnných 33 4.3 Pole promìnných a jejich deklarace 34 4.4 Definice typù 34 4.5 Deklarace tabulek 35 4.6 Deklarace podprogramù a funkcí 36 3 SIMPLE V4 - popis jazyka 03.2004 94 stran 3

4.7 Pøíkazy jazyka SIMPLE V4 37 4.8 Umìle zavedené pøíkazy 40 4.9 Makra 42 5. Chyby 44 5.1 Chybová hlášení generovaná pøekladaèem 44 6. Syntaktické diagramy 67 7. Vstupy/výstupy, speciální registry 82 7.1 RESET 82 7.2 Rychlost systému 82 7.3 Èasovaèe 82 7.4 Reálný èas 83 7.5 A/D pøevodník 85 7.6 Obsluha displeje a klávesnice 85 7.7 Funkce DISPLAY 87 7.8 Formátování tisku hodnot na displej 88 7.9 Formát pro tisk znakù 90 7.10 Definování vlastních grafických symbolù 90 7.11 Jak funguje zobrazování 91 7.12 Editace hodnot 93 7.13 Sí ové promìnné 93 7.14 Seznam speciálních funkèních promìnných 94 4 SIMPLE V4 - popis jazyka 03.2004 94 stran 4

1. Programovací jazyk SIMPLE V4 Programovací jazyk SIMPLE V4 byl navržen pro programování prùmyslových øídících automatù MICROPEL øady MPC300, PES-K a vyšších. Jazyk v maximální míøe usnadòuje vývoj øídících algoritmù a jejich implementaci ve zmínìných automatech. Pomocí programovacího jazyka SIMPLE V4 je možné nyní plnì využít technických prostøedkù implementovaných v automatech. Jazyk umožòuje s vysokým programovacím komfortem navrhnout a odladit i takové aplikace, jejichž øešení pomocí jazyka Simple V2 (pøedchùdce verze 4) bylo znaènì komplikované a vyžadovalo pomìrnì vysokou erudici programátora. Jazyk pøebírá od svých pøedchùdcù (Simple) všechny pozitivní rysy a ve znaèné míøe je rozšiøuje a pøináší s sebou i nìkterá novátorská øešení mezních situací vyskytujících se v oblasti programování. Vzhledem k tomu, že jazyk SIMPLE V4 je navržen pro øešení prùmyslových øídících algoritmù, zachovává si všechny charakteristiky jazyka bezpeèného programování a bìhu programu v reálném èase. Program je vždy vykonáván od zaèátku až do pøíkazu END odkud se bìh programu vrací zpìt na první pøíkaz. Vzhledem k tomu, že jazyk SIMPLE V4 není syntakticky vybaven na programování interních programových smyèek a neumožòuje programovat žádné skoky, je program vytvoøený v tomto jazyce imunní vùèi vzniku tzv. fatálních chyb jako je napø. zacyklení èi bloudìní. Z výše uvedeného vyplývá, že každý programový øádek, vyjma speciálních konstrukcí, se vždy v prùbìhu hlavní programové smyèky vyhodnocuje. Konstrukce jazyka tak nutí programátora používat programovací obraty, které odpovídají struktuøe tzv. stavového stroje. Výsledný program se pak znaènì blíží konstrukci logického automatu z klasických logických obvodù, pøi zachování znaèné variability øešení dané právì programovými nástroji jazyka SIMPLE V4. 1.1 Mùj první pøíklad Ukažme si obecné vlastnosti jazyka SIMPLE V4 na jednoduchém pøíkladu. Pøedstavme si, že mìøíme výkon èerpacího zaøízení a podle hodnoty tohoto výkonu øídíme nìjakou pomocnou pumpu apod. Pøíklad je pouze ilustrativní a školský. Postaèí však na demostrování stylu zápisu jazyka a ukázání jeho nìkterých specifických vlastností. 5 SIMPLE V4 - popis jazyka 03.2004 94 stran 5

Pøíklad I0 # Mereni_vykonu ; Oznaèení pøeddefinované promìnné jménem var word Vykon ; Promìnná pro pomocný výpocet výkonu var safe word Pumpa ; Promìnná pro stanovení øízení pomocné pumpy /* Funkce pro výpoèet a pøekalibrování výkonu */ Function word Zjisti_Vykon (word Vstup) return ( Vstup * 5 / 3 + 15 ) ; ; Zde zaèíná hlavní smyèka Vykon = Zjisti_Vykon (Mereni_vykonu) ; Uložení pøekalibrované hodnoty výkonu do promìnné Výkon if (Vykon < 50) then pumpa = pumpa+1 else pumpa = pumpa-1 ;podmínìný pøíkaz pro nastavení øídící velièiny pomocné pumpy end V zápisu zdrojového textu uvedeného pøíkladu mùžeme najít nìkolik oddílù. Nejprve je nutné zapsat s jakými promìnnými budeme v programu pracovat. V aplikacích s automaty MICROPEL máme kromì obyèejných promìnných pro potøeby výpoètù a uchování hodnot i promìnné, pøes které jsou navázána nìkterá data z interních obvodù automatù. Tyto speciální promìnné jsou pøeddefinovány v tzv. konfiguraèních souborech standardními jmény. Tìmto standardním pojmenováním promìnných jdou, pro pøehlednost pøi zápisu zdrojového textu, pøiøadit jména smysluplnìjšího významu, která více odpovídají povaze aplikace. Abychom nastínili vlastnosti programovacího jazyka SIMPLE V4 uvedeme podrobný komentáø jednotlivých øádkù zdrojového textu programu. Tyto komentáøe mají posloužit k základnímu nástinu a rozhodnì nejsou vyèerpávajícím popisem jazyka. Komentáø k øádku "I0 # Mereni_vykonu" Zápis na tomto øádku realizuje oznaèení pøeddefinované vstupní promìnné I0 jménem Mereni_vykonu. Je samozøejmì možné pøistupovat k hodnotì vstupní promìnné pøes její jméno I0, ale z hlediska pøehlednosti a pochopitelnosti programu i po delší odmlce, je taková praxe nevýhodná. Promìnná se standardním oznaèením I0 obsahuje v automatu hodnotu analogovì-digitálního pøevodu z pøíslušné vstupní svorky automatu. Dá se tedy 6 SIMPLE V4 - popis jazyka 03.2004 94 stran 6

øíci, že nás informuje o velikosti analogového napìtí na svorce I0. O to, aby v této promìnné byla vždy platná hodnota, se stará mikroprocesor automatu. Komentáø k øádku "var word Vykon" a øádku "var safe word Pumpa" Jak je již možná zøejmé ze zápisu øádkù zdrojového textu, jedná se o tzv deklaraci promìnných. Toto zdánlivì složité slovní spojení oznaèuje skuteènost, že si pøejeme pracovat s promìnnými typu "word" a typu "safe word". Oznaèit pouze typ promìnné však nestaèí. Abychom tu èi onu promìnnou mohli odlišit my i pøekladaè zdrojového textu od jiné stejného typu, musíme ji pojmenovat. Jak je z obou øádkù vidìt, tak jsme jedné promìnné pøisoudili jméno Vykon a druhé jméno Pumpa. Pøed každou deklarací promìnné èi bloku promìnných je nutné uvést slovo var. Toto slovo oznaèuje v deklaraci tzv. sekci promìnných. Mimo sekce promìnných má jazyk SIMPLE V4 ještì další deklaraèní sekce, pro které je také vyhrazeno pøíslušné klíèové slovo. Komentáø k øádku /* Funkce...*/ Všechny texty uvedené mezi dvojicí dvojznakù /* a */ nejsou do pøekladu zdrojového textu zahrnuty a jsou urèeny pro umístìní tzv. blokového èi víceøádkového komentáøe. Komentáø slouží k vepsání poznámek programátora. Komentáø obvykle zpøehledòuje a vysvìtluje použité programové konstrukce. Kromì blokového komentáøe existuje v jazyce SIMPLE V4 i jednoduchý komentáø tj. komentáø, který zaèíná znakem ";" a konèí s pøechodem na další øádku zdrojového textu. Komentáø k øádku "Funciton word..." Na tomto øádku deklarujeme tzv. funkci. Funkce je programová konstrukce, s jejíž pomocí obvykle øešíme èasto se opakující programové konstrukce tj. posloupnosti jednotlivých pøíkazù. Funkce mùže mít deklarovány parametry tj. promìnné, které potøebuje pro øešení zapsaných pøíkazù. V uvedeném zápisu má funkce jeden parametr, který je nazván Vstup. Toto jméno mùže být zcela libovolné a slouží pouze k identifikaci parametru, pokud ho použijeme pro výpoèty uvnitø funkce. Je-li možné parametry pøipodobnit vstupùm, pak funkèní hodnota (tj. výsledek, který se ve funkci vypoèítá a z funkce pøedá dál) je obdobou výstupu. Komentáø k øádku "return ( Vstup * 5 / 3 + 15 )" Na tomto øádku se specifikují souèasnì dvì vìci. První z nich je aritmetický výraz (výpoèet) uvedený v závorkách. Tohoto výpoètu se zùèastòují konstanty 5, 3 a 15 a aktuální hodnota parametru Vstup. Druhou specifikací je pak pøedání vypoèítané hodnoty z výrazu. Pøedání specifikujeme (spouštíme) pomocí slova return. 7 SIMPLE V4 - popis jazyka 03.2004 94 stran 7

Komentáø k øádku "Vykon = Zjisti_Vykon (Mereni_vykonu)" Tento øádek je již souèástí hlavní programové smyèky. Vystupuje zde volání funkce Zjisti_Vykon, které se pøedává jako parametr hodnota promìnné Mereni_vykonu tj. hodnota analogovì digitálního pøevodu ze svorky I0. Výstupní hodnota z funkce je pomocí pøiøazovacího pøíkazu "Výkon =..." zapsána do promìnné Výkon. Komentáø k øádku "if (Vykon < 50) then..." Øádek je zápisem tzv. podmínìného pøíkazu. Podmínìný pøíkaz je jedna z nejdùležitìjších konstrukcí jazyka SIMPLE V4. Pomocí podmínìného pøíkazu realizujeme logiku rozhodování v konstruovaném programu. Pro podmínìný pøíkaz jsou vyhrazena tzv. klíèová slova "if", "then", "else". Klíèové slovo "if" uvozuje podmínìný pøíkaz a za tímto slovem je oèekáván tzv. logický výraz. Logický výraz je oddìlen od další èásti podmínìného pøíkazu slovem then. V pøípadì, že výsledek vyhodnocení logického výrazu je pravdivý vykoná se èást programu mezi klíèovým slovem then a else. V opaèném pøípadì se vykoná èást podmínky za klíèovým slovem else. Schematicky to situaci mùžeme vyjádøit takto: if [logický výraz] then [pravdivá èást] else [nepravdivá èást] K uvedenému zápisu je nutné ještì podotknout, že nepravdivá èást podmínìného pøíkazu není pro jeho zápis povinná a tudíž je možné ji v pøípadì potøeby vynechat vèetnì klíèového slova else, které ji uvozuje. Pravdivá a nepravdivá èást se mùže skládat z vìtšího poètu samostatných pøíkazù a ty pak musí být uzavøeny mezi klíèová slova "begin" a "end". Komentáø k øádku "end" Øádek end je ukonèovacím øádkem celé programové smyèky. Od tohoto bodu se vrací vykonávání programu opìt na první øádek hlavní programové smyèky. Kometáø k pøiøazovacím pøíkazùm Ve zdrojovém textu je použit mimo jiné i pøiøazovací pøíkaz "pumpa = pumpa+1" a pøíkaz "pumpa = pumpa-1". V zásadì se jedná o triviální aritmetické výpoèty pøièítání a odeèítání jedné. Na tìchto výpoètech by nebylo nic zajímavého, pokud by nebyly realizovány s promìnnou typu "safe". Tento typ promìnné je specialitou jazyka SIMPLE V4 a jedná se o tzv. bezpeènou promìnnou. Pomocí bezpeèné promìnné jsou øešeny tzv. mezní stavy. Podívejme se na mezní stavy a vlastnosti promìnných ponìkud podrobnìji. 8 SIMPLE V4 - popis jazyka 03.2004 94 stran 8

1.2 Mezní stavy a vlastnosti promìnných Velkou skupinou tzv. klíèových slov jazyka je skupina používaná pro oznaèení typu promìnných. Promìnnou mùžeme chápat jako pamì ové místo pro uložení aktuální (pro jednoduchost) èíselné hodnoty. Øíkáme obvykle, že promìnná nabývá hodnoty. V øadì pøípadù nepotøebujeme ukládat do promìnné velký èíselný rozsah a spokojíme se napø. s rozsahem hodnot od 0 do 255. Uvedenému rozsahu pøesnì odpovídá kapacita jedné pamì ové buòky tak, jak je obvodovì realizována. V tomto pøípadì, je pak pamì ová buòka stoprocentnì využita. Pøedstavme si, že pro uložení hodnoty promìnné využijeme dvì pamì ové buòky. Co tím získáme? V první øadì se rozšíøí rozsah hodnot, které jsme schopní v tìchto buòkách zobrazit na rozsah od 0 do 65535. V druhé øadì se však musíme smíøit s potøebou použít pro zobrazení hodnot dvou pamì ových bunìk. Pøedstavme si nyní, že pøi bìhu našeho programového algoritmu se nestane, že by hodnota uvažované promìnné pøekroèila 255. Jak bude v takovém pøípadì využit pamì ový prostor vyhrazený pro tuto promìnnou? Jedna pamì ová buòka reprezentující vyšší øády hodnot bude po celou dobu bìhu programu obsahovat nulu a tudíž bude konstantní. Z tohoto dùvodu pak mùžeme hodnotu této pamì ové buòky kdykoliv urèit, aniž bychom ji potøebovali neustále v pamìti udržovat. Dá se tedy øíci, že pro uvedený pøípad je pamì pro uložení specifických hodnot promìnné využita velmi neefektivnì. Existuje však i druhý extrém, který mùže v prùbìhu programu nastat. Jedná se o situaci, kdy je vyhrazené místo v pamìti pro uložení hodnoty nedostateèné. V takovém pøípadì dochází k tzv. pøeteèení. Ukažme si pøeteèení na jednoduchém pøíkladu. Pøedstavme si, že naše promìnná má pro zobrazení hodnoty vyhrazenu právì jednu pamì ovou buòku a pojme tedy zobrazení èísel v rozsahu od 0 do 255. Pøedpokládejme, že aktuální hodnota promìnné je 255. Pøièteme-li k této hodnotì èíslo 1, mìla by promìnná obsahovat hodnotu 256. Tuto hodnotu však ve vyhrazeném pamì ovém prostoru naší promìnné zobrazit nelze. Jakou hodnotu bude tedy obsahovat promìnná? Hodnota bude odpovídat výsledku po pøeteèení. Princip pøeteèení mùžeme vyjádøit v uvažovaném pøípadì vzoreèkem: Y = X-256,kde X je hodnota vìtší než 255 a vznikla napø. výše uvedeným souètem èísla 255 a 1, Y je pak výsledná hodnota zobrazená v uvažované promìnné. Dosadíme-li do vzorce naší výslednou hodnotu 256 obdržíme výsledek 0. To znamená, že hodnota naší promìnné bude najednou nulová. Ještì horší pøípad nastane, když stejného principu využijeme pro 9 SIMPLE V4 - popis jazyka 03.2004 94 stran 9

zobrazení znaménkových èísel. V takovém pøípadì mùže napø. pøi souètu dvou kladných èísel dojít k pøeteèení a výsledná hodnota bude najednou èíslo záporné. Jak takovou situaci mùžeme øešit? Jsou v zásadì dvì základní možnosti. Buï se s touto vlastností smíøíme (a nìkdy to mùže být i výhodné) a nebo pro každou použitou promìnnou vyhradíme dostatek prostoru v pamìti. Co však znamená pojem dostatek prostoru v pamìti? Tato otázka je neøešitelná, nebo pamì ové obvody jsou zatím stále koneèné kapacity a o nekoneènosti si mùžeme nechat jenom zdát. V našich pøíkladech tedy narážíme na problematiku zobrazení èísel v koneèném rozsahu vzhledem k výsledkùm výpoètù, které mohou tento rozsah pøekroèit. Situace s pøekroèením rozsahu zobrazení je známa od ranných poèítaèových dob a není nièím výjimeèným. V rùzných programovacích jazycích je tato situace øešena rùznì popø. není øešena vùbec a je ponecháno zcela na vùli programátora jak, tyto mezní stavy v použité aritmetice ošetøí. Shròme nyní výhody a nevýhody zavedení rùzných typù promìnných. Hlavní nevýhodou zavedení typù promìnných je (promìnných s omezeným a rùzným rozsahem zobrazení èísel), jak už bylo nastínìno, problematika mezních stavù. Naproti tomu však pøinášejí typy promìnných øadu výhod. Poèítáme mezi nì možnost optimálního využití pamì ového prostoru (ten je vždy nìjak omezen), výrazného urychlení výpoètu v celoèíselném zobrazení než v zobrazení napø. v plovoucí øádové èárce. Možnosti zpracovávat velièiny v takovém formátu v nìmž se s nimi dobøe poèítá apod. 1.3 Promìnné a mezní stavy V programovacím jazyce SIMPLE V4 jsou zavedeny rùzné typy promìnných od tìch nejjednodušších tzv. bitových, kdy promìnná mùže nabývat pouze dvou hodnot 0 nebo 1 až po promìnné zobrazované v plovoucí øádové èárce pokrývající rozsah v exponentu od 10E-38 po 10E38. Tím se jazyk principiálnì neliší od vyšších programovacích jazykù typu C nebo Pascal apod. Výraznì vìtší odlišnost jsou však v øešení tzv. mezních stavù. Nìkteré z tìchto stavù jsme popsali v pøedchozí kapitole. "Bezpeèné" typy promìnných V jazyce jsou zavedeny tzv. bezpeèné typy promìnných, které se svými vlastnostmi více blíží realitì reálného svìta regulací. Má-li pøi aritmetické operaci dojít k pøeteèení, dosadí se do promìnné maximální zobrazitelná hodnota v daném typu. Analogicky je pak øešeno i tzv. podteèení, kdy se do promìnné dosadí nejnižší možná hodnota. 10 SIMPLE V4 - popis jazyka 03.2004 94 stran 10

Další zajímavou mezní situací z hlediska programování je dìlení nulou. V poèítaèích typu PC lze tuto situaci programátorsky øešit obsluhou tzv. vyjímky. Porozhlédneme-li se po rùzných aplikaèních programech na tento typ poèítaèù najdeme mizivé procento programù, které tento problém øeší. V daleko vìtší míøe se programátoøi spoléhají na to, že zmínìná situace nenastane. Programovací jazyk SIMPLE V4 øeší tento problém automaticky pøi použití bezpeèných typù promìnných. Použijeme-li bezpeèné typy promìnných, pak je dìlení nulou povolená operace a její výsledek je buï kladná nebo záporná maximální hodnota zobrazitelná v daném typu promìnné. O znaménku výsledku v tomto pøípadì dìlení rozhoduje znaménko èitatele (dìlence). S dìlením nulou však souvisí i další mezní stav. Jedná se o pøípad, kdy nulu dìlíme nulou. Je-li znám trend hodnot èi funkèní závislost èitatele a jmenovatele, pak se ve vyšší matematice poèítá tzv. limita. V pøípadì, že nejsou známy zmínìné závislosti, tak se úloha neøeší. V našem pøípadì tyto závislosti nejsou známy nebo do dìlení vstupují vždy pouze dvì konkrétní hodnoty. Z tohoto dùvodu je v jazyce SIMPLE V4 výsledek dìlení nuly nulou striktnì definován jako nulový. Tento výsledek simuluje napø. elektrický zkrat dìlièe napìtí apod. V daném pøípadì se nedá øíci, že by takto definovaný výsledek byl matematicky správnì, ale zdá se, že jako ošetøení popisovaného mezního stavu je vhodný. 11 SIMPLE V4 - popis jazyka 03.2004 94 stran 11

2. Konstrukce programu Následující odstavce jsou vìnovány zápisu a konstrukci programu. Kapitoly jsou èlenìny podle struktury jazyka a postupují od popisu jednotlivých výrazových prostøedkù urèených pro zápis programových øádek až po popis chyb, speciálních konstrukcí a pravidel. 2.1 Lexikální symboly Pojmem lexikální symboly oznaèujeme základní konstrukèní prvky jazyka pomocí nichž, za využití definovaných pravidel (gramatiky), vytváøíme zápis algoritmu programu. Pod pojmem program míníme textový soubor, který se skládá z tzv. øádek zdrojového textu a obvykle ho oznaèujeme pojmem zdrojový text. Každý zdrojový øádek mùže být maximálnì 512 znakù dlouhý a je složen právì z lexikálních symbolù oddìlených oddìlovaèi. Pojmem oddìlovaè oznaèujeme vyhrazený znak èi vyhrazenou skupinu znakù užívanou k oddìlení jednotlivých lexikálních symbolù. Oddìlovaè není urèen pouze k jakémusi estetickém uspoøádání øádky, ale jeho význam je hlubší. Umožòuje totiž rozpoznat jednotlivé lexikální symboly. Jeho funkce je obdobná jako funkce mezer mezi slovy tohoto textu. V jazyce SIMPLE V4 jsou definovány tyto oddìlovaèe (separátory) : mezera tabulátor komentáø oddìlovaèe øádek V jazyce SIMPLE V4 jsou definovány následující lexikální symboly: identifikátory celoèíselné literály èíselné literály zapsané v pohyblivé øádové èárce øetìzce znakové literály speciální symboly klíèová slova oddìlovaèe øádek (pouze v nìkterých konstrukcích) Klíèové slovo, identifikátor a èíslo musí být od jiného klíèového slova, identifikátoru nebo èísla oddìleno oddìlovaèem. 12 SIMPLE V4 - popis jazyka 03.2004 94 stran 12

2.2 Identifikátory Identifikátory jsou posloupnosti písmen, èíslic a znaku podtržítko. Písmena pøedstavující èeskou diakritiku nejsou pro zápis identifikátorù povolena. Identifikátory musí zaèínat vždy písmenem nebo podtržítkem. K èemu identifikátory slouží? V zápise programu je vždy nutné oznaèit nìjaké èásti èi prvky srozumitelným jménem. Jedná se napøíklad o promìnné, funkce, podprogramy apod. S takto oznaèenými programovými prvky je pak možné pracovat v symbolickém tvaru. Uveïme jednoduchý pøíklad s nímž se dozajista každý setkal. V matematice je pro výpoèet obvodu èi plochy kruhu používáno Ludolfovo èíslo. Hodnota tohoto èísla je obecnì známa alespoò na dvì desetinná místa, tedy 3.14. Ve vzorcích pro zmínìné výpoèty se však tato konstanta oznaèuje øeckým písmenem pí. Je to èásteènì z dùvodu jednoduššího zápisu, ale podstatné je to, že Ludolfovo èíslo je možné uvádìt na rùzný poèet desetinných míst a jak víme jeho koneèná hodnota dodnes není pøesnì známa. Tento problém však pøenecháme matematikùm a vezmeme si pouze jedno ponauèení. Urèitou hodnotu mùžeme vyjádøit snadno zapamatovatelným symbolem a jako symbol ji pak vyjadøovat ve zdrojovém textu programu. Pozastavme se ještì nad významem podtržítka, které je zaøazeno do výètu znakù používaných pøi zápisu identifikátorù. Pøi konstrukci složitìjších algoritmù popøípadì pøi øešení problémù s mnoha vstupními a výstupními promìnnými nevystaèíme obvykle s jednoslovným oznaèením. Vzhledem k tomu, že mezera má vyhrazený význam oddìlovaèe a nelze ji tak ve jménu identifikátoru použít, vypomùžeme si u víceslovných názvù právì symbolem podtržítka. Uveïme pøíklad zápisu víceslovného identifikátoru bez a s použitím podtržítka: totojeidentifikátorprogramu toto_je_identifikátor_programu Z uvedeného pøíkladu je význam podtržítka pro zpøehlednìní zápisu zcela zøejmý. Uveïme praktiètìjší pøíklad. Pøedstavme si, že regulujeme dva identické stroje tj. stroje stejného typu, které se od sebe liší pouze svým umístìním v místnosti. Hodnoty potøebné k øízení tìchto strojù je nutné nejprve vypoèítat a pak je pøedat. Pro výpoèet mùžeme užít totožného algoritmu pro oba stroje s tím, že do výpoètu zadáme vždy hodnoty pro øízení prvního nebo druhého stroje. Získáme tak dva výsledky výpoètu a pro jejich uložení použijeme dvì výstupní promìnné symbolicky oznaèené napø. takto: motor_dolniho_stroje ;pro první stroj motor_horniho_stroje ;pro druhý stroj Takto oznaèené promìnné, v nichž udržujeme výsledky výpoètù øídícího algoritmu, se pak mnohem hùøe zamìní s jinými promìnnými, které s uvedeným stroji tøeba vùbec nesouvisí. 13 SIMPLE V4 - popis jazyka 03.2004 94 stran 13

Identifikátory, jak je zøejmé z uvedených v pøíkladù, tedy používáme pro identifikaci jednotlivých prvkù programu, jako jsou promìnné, podprogramy, konstanty a typy. 2.3 Celoèíselné literály Obecnì oznaèujeme pojmem literál zápis konstantního prvku programu tj. prvku, jehož hodnota èi tvar se nemìní v celém zdrojovém textu. Pøíkladem mùže být libovolná konstanta. Celoèíselné literály jsou tedy zápisy konstant z celoèíselné øady èísel. Pojmovì je rozlišujeme hlavnì proto, že je možné zapsat i literály jiných typù a pøekladaè musí porozumìt, jaký druh literálu máme na mysli. Jak pøekladaè pozná náš úmysl bude zøejmé v kapitolách vìnovaných klíèovým slovùm a speciálnì typùm promìnných. V tomto okamžiku berme na vìdomí, že celoèíselné literály jsou zápisy èísel z øady celých èísel tj. nejbližší èísla se liší o 1 a neobsahují desetinnou èást. Pro zápis celoèíselných literálù mùžeme použít buï dekadického nebo hexadecimálního formátu. V dekadickém zápisu je dovoleno použít èíslic od 0 do 9. Uveïme pøíklady zápisu èísla 12 jako celoèíselného literálu v dekadické soustavì: 012 00012 pozn. znaménka + a - napsaná pøed èíslem nejsou souèástí literálu, ale patøí k tzv. unárním operátorùm Použijeme-li pro zápis celoèíselných literálù soustavu hexadecimální mùžeme v zápisu použít èíslice od 0 do 9, písmena od A do F (od a do f). Znakù pro vyjádøení znaménka v této soustavì použít nemùžeme nebo nejsou pro zápis literálù definována. Souèasnì hexadecimální zápis musí mít takový formát, aby bylo možné ze zápisu literálu jednoznaènì urèit v jaké soustavì je zapsán. Co se týèe hodnoty, tak je rozdíl zapíšeme-li 12 v soustavì dekadické a 12 v soustavì hexadecimální. Porovnáme-li tyto hodnoty pøes soustavu dekadickou zjistíme, že dekadických 12 je skuteènì 12, ale hexadecimálních 12 je dekadicky 18 a to je ponìkud rozdíl. Z uvedeného dùvodu pro zøejmou identifikaci hexadecimálních èísel byl zvolen odlišný formát zápisu. Vzorem byl zápis implementovaný v dnes hojnì používaném programovacím jazyce C. Hexadecimální zápis celoèíselného literálu je vždy uvozen dvojicí znakù 0x nebo 0X, za níž pak následuje zápis hexadecimálního èísla. Tím je jednak odlišeno, že se jedná o hexadecimální formát a souèasnì se tím automaticky dodržuje syntaktické pravidlo o zápisu celoèíselných literálù a to, že zápis celoèíselného literálu musí zaèínat èíslicí. Uveïme nyní pøíklad zápisu celoèíselného literálu v hexadecimální soustavì: 0x12 (18 dekadicky) 0xC (12 dekadicky) Dalším dùležitým parametrem zápisu celoèíselných literálù je dovolený èíselný rozsah v nìmž se musí zápis nacházet. Pro zápis hodnot celoèíselných literálù je v jazyce SIMPLE V4 definován èíselný rozsah oznaèovaný symbolicky jako 4G resp. 0xFFFFFFFF. 14 SIMPLE V4 - popis jazyka 03.2004 94 stran 14

Uvedené zápisy oznaèují shodnì, že zapsaná èísla musí být z intervalu -2147483648 do +2147483647 decimálnì tj. 0x00000000 až 0xFFFFFFFF hexadecimálnì. 2.4 Èíselné literály v pohyblivé øádové èárce Obdobnì, jako mùžeme ve zdrojovém textu programu používat zápisu celoèíselných literálù, mùžeme použít i konstanty zapsané ve formátu pohyblivé øádové èárky. Pro vyjádøení hodnot v plovoucí øádové èárce je dovoleno používat èíslic od 0 do 9, znaku desetinné teèky. znamének + a - a znaku E pro oddìlení exponentu. Znaménko + je implicitní a není nutné ho psát pro vyjádøení kladných hodnot. Zápis literálu v pohyblivé øádové èárce musí vyhovovat formálnímu tvaru zápisu: zx.xezxx,kde písmeno x zastupuje posloupnost èíslic od 0 do 9, písmeno z oznaèuje znaménko. Nìkteré èásti zápisu nejsou povinné. Jedná se o kladné znaménko pro vyjádøení kladných èísel. Desetinnou teèku v pøípadì, že za ní následují pouze nulové èíslice a èást obsahující zápis exponentu v pøípadì, že hodnota exponentu je rovna nule. Uveïme nìkteré možnosti zápisu literálù v pohyblivé øádové èárce. Èíslo 0.125 mùžeme zapsat napø. tìmito zpùsoby: 0.125 1.25E-1 12.5E-2 125E-3 2.5 Klíèová slova Klíèová slova jsou vyhrazená jména, které není možné použít pro zápis jiných prvkù programu. Klíèová slova mají pøiøazen zcela pevný a jednoznaèný význam. Jsou vyhrazena pro oznaèení typu promìnných, uvození a ukonèení rùzných logických konstrukcí zdrojového textu, oznaèují i nìkteré operace s èísly, oznaèují v øadì pøípadù i speciální vlastnosti programových prvkù pøedevším promìnných. 2.6 Typy promìnných Zavedení rùzných typù promìnných má v programovacích jazycích zcela zøejmé odùvodnìní. Výsledný pøeložený program je vždy psán se zámìrem, aby mohl být spuštìn na tom èi onom poèítaèi (programovatelném automatu). Každý poèítaè disponuje výpoèetním výkonem takovým na jaký byl zkonstruován. Vzhledem k tomu, že tento výkon není nikdy neomezený, snažíme se obvykle program psát tak, aby rychlost zpracování vstupních dat pøevyšovala rychlost s jakou tato data do systému pøicházejí. Teorie øíká, že musíme mít k dispozici takový výkon, aby rychlost zpracování dat byla v nejhorším pøípadì 15 SIMPLE V4 - popis jazyka 03.2004 94 stran 15

rovna rychlosti jejich toku. Pouze v takovém pøípadì jsme schopni zpracovat všechny pøíchozí zmìny dat (uvažujeme zcela asynchronní tok dat vùèi jejich vzorkování systémem). Z uvedeného plyne, že program píšeme tak, abychom využili optimálnì výpoèetní výkon procesoru, který bude program zpracovávat. Velmi jednoduchým zpùsobem je možné takou optimalizaci zajistit právì výbìrem vhodných typù promìnných. Vycházíme z toho, že zpracování napø. souètu trvá napø. pro promìnnou typu byte výraznì kratší dobu než pro promìnnou typu long apod. Vìtšinou platí, že èím menší je èíselný rozsah typu promìnné, tím rychleji s ní procesor pracuje. Programovací jazyk rozlišuje typy promìnných uvedené v následující tabulce. TYP (Klíèové slovo) ÈÍSELNÝ ROZSAH bit 0 / 1 byte 0-255 word 0-65535 int -32768-32767 longword 0-4294967296 longint -2147483648-2147483647 float -10E38-10E38 string (má specifické vlastnosti) Nìkteré typy z popisovaného výètu promìnných jsou svázány s klíèovým slovem "safe". Tímto klíèovým slovem sdìlujeme pøekladaèi, že má k takto oznaèené promìnné pøistupovat s uvážením øešení mezních stavù a vyjímek tak, jak bylo popsáno výše v odstavci "Promìnné a mezní stavy". Klíèové slovo safe je možné použít spoleènì s typy word, int, longword, a longint. Pro ostatní typy tj. pro typ bit, byte, float a string nemá toto klíèové slovo význam nebo typ bit je vlastnì logická promìnná (nìkdy též relé), typ byte je prioritnì zaveden pro použití v kontextu jednotlivého znaku textových øetìzcù, implementovaná aritmetika promìnných typu float se sama o sobì chová jako bezpeèná a typ string jde použít pouze jako vstupní typ promìnné tj. není možné do promìnné tohoto typu zapsat a dopustit se tak nìjakého problému. 16 SIMPLE V4 - popis jazyka 03.2004 94 stran 16

2.7 Klíèová slova a speciální znaky logických výrazù Pod pojmem logický výraz máme na mysli zápis, který se vyhodnocuje tak, že se zkoumá jeho pravdivost èi nepravdivost. Podle výsledku vyhodnocení se pak v programu rozhodujeme, jaký pøíkaz se má vykonat. Logický výraz tak úzce souvisí s (rozhodovacími) podmínìnými pøíkazy. Klíèovými slovy svazujeme do logických podmínek výrazy u nichž je možné rozhodnout, zda jsou pravdivé èi ne. Speciální symboly jsou, pak urèeny pro vyhodnocení jednotlivých výrazù vstupujících do logického výrazu. Uveïme jednoduché pøíklady. Pøedstavme si, že máme k dispozici promìnnou typu byte. Jak již víme, mùže tato promìnná nabývat hodnotu v rozmezí od 0 do 255. Z tìchto hodnot není obecnì zøejmé, která je z hlediska logického vyhodnocení pravdivá èi nepravdivá. O pravdivosti hodnoty je možné rozhodnout pouze na základì nìjakého typu porovnání. Porovnáme-li napø. aktuální hodnotu promìnné vùèi hodnotì 100, pak podle typu porovnání umíme rozhodnout zda hodnota promìnné porovnání vyhovuje nebo ne tj. zda je hodnota pravdivá nebo ne. Uveïme pøíklad. Zapišme porovnání napø. takto: PROMENNA > 100,kde promìnná oznaèuje aktuální hodnotu promìnné, která vstupuje do porovnání. V uvedeném pøíkladì je tedy aktuální hodnota promìnné porovnána vùèi hodnotì 100. Uvedený výraz je pak vyhodnocen jako pravdivý tehdy, když aktuální hodnota promìnné je vìtší jak hodnota 100. V opaèném pøípadì je výraz vyhodnocen jako nepravdivý. Pro zápis porovnání jsou vyhrazeny speciální znaky uvedené v následující tabulce: ZNAK VÝZNAM < menší než <= menší nebo rovno > vìtší >= vìtší nebo rovno <> rùzný Jednotlivé výrazy vstupující do logických podmínek pak svážeme pomocí klíèových slov logických operací. 17 SIMPLE V4 - popis jazyka 03.2004 94 stran 17

V následující tabulce jsou uvedeny klíèová slova pro zápis logických podmínek: KLÍÈOVÉ SLOVO and or not VÝZNAM logický souèin výsledkù vyhodnocených výrazù logický souèet výsledkù vyhodnocených výrazù negace výsledku vyhodnoceného výrazu Uveïme na tomto místì pouze pro ilustraci jednoduchý pøíklad zápisu logického výrazu (detailní popis je uveden v odstavcích vìnovaných syntaxi jazyka): if TEPLOTA < 20 and VYKON < 50 then V uvedeném pøíkladì je mezi klíèovými slovy if a then uveden logický výraz, který je vyhodnocen jako pravdivý tehdy, když aktuální hodnota promìnné TEPLOTA je nižší než 20 a ve stejném okamžiku je aktuální hodnota výkonu topení menší jak 50. V ostatních pøípadech je výraz nepravdivý. Na výsledek vyhodnocení tj. na pravdivost èi nepravdivost výrazu jsou pak navázány jednotlivé výkonné èásti podmínìného pøíkazu if-then-else. 2.8 Klíèová slova pro podprogramy a funkce Podprogram a funkce jsou èásti programu tj. posloupnosti pøíkazù. Oznaèíme-li takovou posloupnost ve shodì se syntaxí jazyka SIMPLE V4 jménem, definujeme buï podprogram nebo funkci. V podprogramu nebo funkci mùžeme deklarovat tzv. lokální promìnné tj. takové promìnné jejichž platnost je omezena pouze na pøíslušný podprogram nebo funkci. Mimo tìlo podprogramu je lokální promìnná neznámá a tudíž i neplatná. Podprogram èi funkce dobøe poslouží v okamžiku, kdy v nìkolika èástech hlavního programu potøebujeme vykonat stejné posloupnosti pøíkazù. Výhoda slouèení pøíkazù do podprogramu nebo funkce tedy spoèívá v tom, že tyto posloupnosti pøíkazù jsou umístìny v pamìti pouze jednou a pøesto je možné jejich vykonání z rùzných míst programu. Kdyby však nebylo možné takto zapsané posloupnosti pøíkazù ovlivòovat bylo by použití podprogramù èi funkcí znaènì omezeno. Aby šlo vykonávání pøíkazù uvnitø podprogramù èi funkcí ovlivòovat, je možné pøedat do podprogramu nebo funkce tzv. parametry. Pod pojmem parametry máme na mysli aktuální hodnoty zvolených promìnných. Uvnitø podprogramù èi funkcí pak mùžeme za použití podmínìných pøíkazù ovlivòovat zpracování jednotlivých pøíkazù. 18 SIMPLE V4 - popis jazyka 03.2004 94 stran 18

Z hlediska použití pak rozlišujeme podprogram a funkci. Odlišnost spoèívá v tom, že funkce tzv. vrací hodnotu tj. z hlediska syntaxe jazyka mùže být použita (volána) na místì operandu výrazu. Podprogram hodnotu nevrací a tudíž nemùže stát volání podprogramu ve výrazu. S použitím funkcí a podprogramù souvisí následující klíèová slova: KLÍÈOVÉ SLOVO VÝZNAM subroutine oznaèuje, že následuje jméno podprogramu function oznaèuje, že následuje jméno funkce return oznaèuje konec, návrat z podprogramu, funkce exit oznaèuje pøerušení provádìní pøíkazù podprogramu a tím jeho pøedèasné ukonèení var v souvislosti s definicí parametrù oznaèujepromìnnou jejíž hodnotu je možné uvnitø podprogramu mìnit const oznaèuje promìnnou, kterou není možné použít na levé stranì pøiøazovacího pøíkazu 2.9 Další vyhrazená slova a jejich významy Syntaxe jazyka SIMPLE V4 obsahuje další klíèová slova a symboly, které jsou nezbytné pro zápisy nìkterých speciálních podmínek zpracování pøíkazù jazyka. Jedná se o klíèová slova: library oznaèuje, že pro pøeklad se mají uvažovat definice, podprogramy, funkce apod. uvedené v knihovnì specifikovaného jména. absolute table type oznaèuje že dvì nebo více specifikovaných promìnných má pøekladaè umístit na spoleènou adresu v datové pamìti. Zmìníme-li hodnotu jedné z takto oznaèených promìnných zmìní se hodnota i ve všech ostatních umístìných na zmínìnou spoleènou adresu v datové promìnné. klíèovém slovo pro deklaraci tabulek konstant v kódové pamìti. Konstanta typu table je vždy chápána jako pole konstantních hodnot zvoleného typu. Typem mùže být libovolný ze základních pøedefinovaných typù nebo struktura definovaná na jejich základì. klíèové slovo umožòující definovat promìnné tzv. vlastních typù. Jedná se pøedevším o struktury dat složené z více promìnných standardního (základního) typu. 19 SIMPLE V4 - popis jazyka 03.2004 94 stran 19

Další speciální znaky definované v jazyce SIMPLE V4 jsou uvedeny v tabulce: ZNAK VÝZNAM ( uvozující znak deklarace seznamu, parametrù podprogramu a funkce, závorkování výrazù ) ukonèující znak deklarace seznamu, parametrù podprogramu a funkce, závorkování výrazù [ uvozující znak pro urèení položky datového pole ] ukonèující znak pro urèení položky datového pole 0 oddìlovací znak seznamu deklarací a seznamù : oddìlovací znak pøíkazù? znak odkazu na bit v promìnné napø. byte apod.! bitová inverze v promìnné napø. byte apod. ' bitová negace # oznaèení makropøíkazu & znak pro operaci bitového logického souèinu ^ znak bitové logické operace výhradní nebo (exclusive-or) znak bitové operace nebo (bitový logický souèet) ~ znak bitové logické operace pro bitovou negaci + znak aritmetického souètu - znak aritmetického rozdílu * znak aritmetického souèinu / znak aritmetického podílu % znak pro zbytek po deloèíselném podílu << znak pro aritmetický posun vlevo >> znak pro aritmetický posun vpravo 2.10 Komentáøe Komentáøe jsou dùležitou souèástí jazyka. Umožòují zpøehlednit zápis programu a mnohdy jsou jediným vodítkem programátora k pochopení zápisu programu pøi jeho revizi po uplynutí dostateènì dlouhé doby. V jazyce jsou definovány dva typy komentáøù. Prvnímu z nich mùžeme øíkat øádkový. Tento typ komentáøe je uvozen znakem ";" a od tohoto znaku do konce øádku je pøekladaèem text ignorován. Druhým typem komentáøe je blokový komentáø tj. libovolný text vèetnì oddìlovaèù øádek umístìný mezi dvojice znakù "/*" (zaèátek komentáøe) a "*/" (konec komentáøe). 20 SIMPLE V4 - popis jazyka 03.2004 94 stran 20