Příkaz (programování)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Příkaz je nejmenší samostatný prvek programu v imperativních programovacích jazycích vyjadřující nějakou činnost, která má být provedena. Program v imperativním jazyce je obvykle sada podprogramů tvořených posloupností příkazů. Příkaz se může skládat z menších částí (např. výrazů).

Programovací jazyky obvykle rozlišují:

* výraz - vyhodnotí se na určitou hodnotu * příkaz - obsahuje proveditelný kód ** jednoduchý příkaz ** složený příkaz (blok) - může obsahovat jeden nebo více příkazů * deklaraci, případně definici

Druhy příkazů

Jednoduché příkazy

aserce: assert(ptr != NULL); * přiřazení: A:= A + 5 * příkaz skoku: goto next; * návrat z funkce: return 5; * volání procedury: CLEARSCREEN

Složené příkazy

blok: begin integer NUMBER; WRITE('Number? '); READLN(NUMBER); A:= A*NUMBER end * cyklus s testem na začátku: while NOT EOF DO begin READLN end * cyklus s testem na konci: do { computation(&i); } while (i * cyklus s řídicí proměnnou: for A:=1 to 10 do WRITELN(A) end * podmíněný příkaz: if A > 3 then WRITELN(A) else WRITELN("NOT YET"); end * vícecestné větvení: switch (c) { case 'a': alert; break; case 'q': quit; break; } * příkaz with: with open(filename) as f: use(f)

Syntaxe

Vzhled příkazů vytváří vzhled programu. Programovací jazyky jsou charakterizovány příkazy, které používají (např. +more jazyky používající složené závorky pro bloku). Příkazy často začínají slovem, které určuje, o jaký příkaz se jedná, např. if, while nebo repeat. Tato slova jsou často vyhrazená (klíčová), což znamená, že je nelze používat jako identifikátory proměnných nebo funkcí. V imperativních jazycích obvykle má každý příkaz specifickou syntaxi odlišnou od volání funkce. Pro popis syntaxe příkazů se obvykle používá Backusova-Naurova forma nebo syntaktické diagramy.

Sémantika

Po sémantické stránce se příkazy obvykle odlišují od volání podprogramů v tom, jak pracují s parametry. Parametry podprogramů se obvykle vyhodnocují jednou před voláním funkce. +more Naproti tomu parametry příkazu se vyhodnocují opakovaně (například podmínka while-cyklu nebo vůbec (např. tělo while-cyklu). Takovéto parametry příkazu jsou technicky parametry volané jménem. Tyto parametry se vyhodnocují, pouze pokud je to potřeba (lenivé vyhodnocování). Pokud jazyk poskytuje parametry volané jménem, je možné chování příkazů implementovat podprogramy (viz Lisp). Jinak je popis sémantiky příkazů mimo možnosti jazyka, proto popisy jazyka obvykle popisují sémantiku přirozeným jazykem.

Výrazy

Ve většině jazyků se příkazy odlišují od výrazů tím, že příkazy nevracejí hodnotu a jsou volány pouze pro své vedlejší účinky, zatímco výrazy vracejí hodnotu a často nemají žádné vedlejší účinky. Mezi imperativními jazyky je ALGOL 68 jedním z mála jazyků, kde i příkazy mohou vracet výsledek. +more V jazycích, které kombinují imperativní a funkcionální přístup, jako jsou jazyky skupiny Lispu, se výrazy a příkazy nerozlišují; dokonce i výrazy prováděné v sekvenčním kontextu pouze pro své vedlejší účinky a výrazy vracející hodnoty nejsou považovány za výrazy. Čistě funkcionální jazyky příkazy vůbec nemají, mají pouze výrazy.

Rozšiřitelnost

Většina jazyků má pevný počet příkazů definovaných jazykem. Rozšiřitelné jazyky, které umožňují, aby si programátor definoval nové příkazy, jsou spíše experimentální.

Odkazy

Reference

Související články

Řídicí struktura * Výraz (pro srovnání)

Externí odkazy

[url=http://www.pcmag.com/encyclopedia_term/0,2542,t=program+statement&i=49804,00.asp]PC ENCYCLOPEDIA: Definice of: program příkaz[/url]

Kategorie:Programovací konstrukce

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top