Skladba algoritmického jazyka

zložky algoritmu...

v1.98 28.04.2018 04:37

Algoritmický jazyk možno pre lepšiu orientáciu rozdeliť na dve zložky:

1. operačná zložka
2. riadiaca zložka
Operačná zložka
Obsahuje sadu prostriedkov, ktoré umožňujú spracovávať údaje. Základnými činnosťami sú príkazy a podmienky.

Príkazy sú vety jazyka, ktoré prikazujú vykonávať činnosti. Poznáme príkazy vstupu, výstupu a priradenia. Tieto objekty musia spracovávať nejaké menšie objekty. V programovaní to sú: premenné, konštanty a výrazy.

Premenná je objekt slúžiaci počas vykonávania algoritmu na odkladanie údajov. Jej hodnota sa počas činnosti algoritmu môže meniť.

Obsahuje konkrétnu hodnotu presne stanoveného typu (napr. celé číslo, reálne číslo, reťazec znakov…).

Každá premenná má svoje vlastné meno napríklad: obsah, dĺžka, priemer a pod. Je vhodné voliť mená premenných tak, aby bolo už z ich názvu jasné na čo budú slúžiť, napr,: obsah, prepona, MenoUčiteľa a pod.

Premenná nadobúda hodnoty priradením alebo načítaním.

Lokálne premenné – metódy často uchovávajú svoje dočasné stavy v lokálnych premenných.

Syntax pre ich deklaráciu je veľmi jednoduchá.

Pri ich prvom výskyte napíšeme typ premennej, nasleduje jej meno, rovná sa a predvolená hodnota.

Primitívne dátové typy sú typy hodnôt premenných. Keď deklarujeme premennú, do ktorej budeme ukladať nejaké čislo, musíme uviesť, akého dátového typu bude.

Môže byť napr. celočíselného typu (int) alebo to môže byť typ s desatinnou čiarkou (float), atď.

Konštanta je objekt, ktorý počas celej realizácie algoritmu nadobúda jedinú konkrétnu hodnotu príslušného typu.

Premenná označená ako konštantná zabraňuje akejkoľvek zmene jej hodnoty.

To znamená, že ak raz inicializujeme premennú na nejakú hodnotu a označíme ju ako konštantnú pomocou kľúčového slova napr. „final“, tak jej hodnota je nemenná.

Akýkoľvek pokus o zmenu hodnoty konštantnej premennej je považovaný za chybu, a teda nemožný.

Takúto premennú môžeme inicializovať rovno pri jej deklarácii v triede.

Výraz je predpis obsahujúci konštanty, premenné a spôsob ich spracovania pomocou operácií a funkcií podobných tým, ktoré poznáme z matematiky.

Výsledkom je hodnota príslušného typu, ktorá vznikne po vykonaní vo výraze naznačeného spracovania.
Riadiaca zložka
Počítačový program je postupnosť príkazov.

Túto postupnosť procesor postupne prechádza a jednotlivé príkazy vykonáva v poradí – najprv prvý, potom druhý atď.

Niekedy potrebujeme, aby sa isté príkazy vykonali len ak je splnená určitá podmienka.

Ďalšou možnosťou je zopakovanie sledu príkazov.

Tieto špecifické štruktúry označujeme aj ako základné riadiace štruktúry.

V algoritmoch sa stretávame s troma základnými konštrukciami, ktoré označujeme:

- SEKVENCIA
- VETVENIE
- CYKLUS
Sekvencia (Blok)
Je to najjednoduchšia riadiaca štruktúra.

Všeobecne sa dá povedať, že ide o postupnosť príkazov.

Je tvorená jedným alebo niekoľkými krokmi, ktoré sa vykonajú práve raz v danom poradí.

Napríklad v Jave uzatvárame postupnosť príkazov do zátvoriek { }.
Vetvenie
Je taká štruktúra, ktorá v procese vykonávania algoritmu umožňuje vyberať rôzne alternatívy riešenia podľa splnenia, či nesplnenia zadaných podmienok.

Ak je podmienka splnená, pokračuje sa vykonávaním vetvy, označenej aj ako „+“, v opačnom prípade sa pokračuje plnením príkazov „-“.

Voliteľne je možné ešte v prípade nepravdivého výroku vykonať alternatívny blok príkazov pomocou príkazu "else"
Vetvenie pomocou switch
Ak nestačí jednoduché vetvenie if-else a je potrebné mať na výber z viacerých možných úsekov kódu, je vhodné použiť vetvenie pomocou konštrukcie „switch“.

Na základe hodnoty premennej sa vyberie tá časť, ktorá je definovaná pre konkrétnu hodnotu alebo interval obsahujúci túto hodnotu.

Každá vetva je ukončená príkazom „break“.

Ak by sme zabudli ukončiť vetu príkazom „break“ program síce nevypíše chybu pri preklade, ale vykoná všetky príkazy, ktoré sa nachádzajú po prvý nájdený príkaz „break“.

Môžeme definovať aj úsek „default“, ktorý sa vykoná ak hodnota premennej nespadá ani do jednej z možností.
Cyklus
Táto riadiaca štruktúra nám poskytuje možnosť opakovať činnosť alebo činnosti.

Musíme vedieť, čo sa má opakovať a dokedy sa to má opakovať.

Činnosť, ktorá sa opakuje sa nazýva telo cyklu a podmienka cyklu nám určuje dokedy sa bude telo cyklu opakovať.

Cykly možno rozdeliť podľa vzťahu medzi telom a podmienkou cyklu na tri rôzne cykly:

- Cyklus so známym (explicitným) počtom opakovaní: for
- Cyklus s podmienkou na začiatku: while
- Cyklus s podmienkou na konci: do-while
Cyklus for
Pri použití tohto cyklu sa dá počet opakovaní vyjadriť dopredu (pred odštartovaním cyklu) a na operácie v tele cyklu nemajú žiaden vplyv.

Cyklus for má preto zmysel napríklad pri vykonávaní niekoľkých výpočtov, ktoré spolu súvisia, pri práci s elementmi na obrazovke alebo pri spracovávaní určitej množiny vstupných údajov.
Cyklus while
Ide o cyklus s podmienkou na začiatku.

Podmienka sa stará o ukončenie cyklu, čiže ak je podmienka splnená, vykoná sa telo cyklu a podmienka sa opäť zopakuje.

Ak podmienka splnená nie je, telo cyklu sa vynechá.

Pokiaľ „vstupná podmienka“ nie je splnená už pri prvom vstupe do cyklu, nemusí sa tento cyklus vykonať vôbec.
Cyklus do-while
V prípade tohto typu cyklu sa najprv vykoná telo cyklu a až potom sa overuje splnenie podmienky.

Ak je podmienka cyklu splnená, vykonávanie cyklu sa zopakuje.

V opačnom prípade sa cyklus ukončí.

Dôsledkom takejto postupnosti je, že telo cyklu vždy prebehne minimálne raz.
Continue a Break
Continue a Break sú špecifické príkazy určené na manipuláciu s cyklom. Príkazom „continue“ vo vnútri tela cyklu sa okamžite začne vykonávať telo cyklu od začiatku.

Pri použití „for“ cyklu sa vykoná aktualizácia počítadla a posúdi sa podmienka.

V cykle „while“ sa vyhodnotí počiatočná podmienka a pri cykle „do-while“ sa vyhodnotí koncová podmienka.

Príkazom „break“ sa preruší celý aktuálny cyklus a pokračuje sa nasledujúcimi príkazmi.

Pri konštrukcii mnohonásobného vetvenia „switch“ príkaz „break“ ukončuje jednotlivé vetvy.
Metódy
Metóda patrí medzi najčastejšie používané nástroje takmer každého programovacieho jazyka.

Predstavuje samostatnú časť programu vykonávajúcu nejakú špecializovanú funkciu.

Metódy sú umiestnené mimo hlavný program, ktorý je ale tiež vlastne metódou.

Metódu väčšinou voláme so zoznamom parametrov, ktorým odovzdávame hodnoty potrebné pre výpočet.

Metóda väčšinou vracia nejaký výsledok.

Existujú aj metódy, ktorým neodovzdávame žiadne údaje alebo naopak žiadne výsledky nevracajú.

Výhodou používania metód je zjednodušenie štruktúry programu, či možnosť opakovaného vykonávania výpočtov.

Nemusíme teda písať znovu celý kód, stačí zavolať príslušnú metódu.

Návratové hodnoty metód sú vždy typu typ_návratovej_hodnoty. Hodnota je z funkcie (metódy) predaná napr. pomocou príkazu return (hodnota).
Rozsah platnosti metódy
Rozsah platnosti metódy, definuje oblasť programu, v ktorej je metóda prístupná (je ju možné volať).

Rozsah platnosti funkcií je možné meniť (určovať) pomocou modifikátorov:

napr. public – metóda je viditeľná všade, kde je viditeľná trieda, v ktorej je metóda definovaná
napr. private – metóda je viditeľná iba vo svojej triede
napr. protected – metóda je viditeľná iba vo svojej triede a v jej podtriedach alebo v danom balíku
Operátory
Manipuláciu s premennými robíme pomocou operátorov.

Delíme ich do niekoľkých skupín
Priradenie hodnoty do premennej dosiahneme pomocou operátora =
Matematické operátory pre prácu s číslami sú štandardné, teda: +, -, *, / a % ( modulo, t.j. zvyšok po delení)
Dá sa použiť aj skrátený formát pre priradenie v tvare: premenná += hodnota; namiesto premenná = premenná + hodnota;
Častejšie než skrátený formát sa používajú operátory inkrementácie (++) a dekrementácie (--).

V spojení s premennými číselných typov majú význam - pripočítaj, resp. odpočítaj 1.
Používajú sa postfixovo (a++), ale niekedy aj prefixovo (++a).

Rozdiel sa prejaví pokiaľ v jednom príkaze súčasne vykonávame s premennou inú operáciu, prefixový (++a) sa vykoná ešte pred touto operáciou, postfixový až po nej.
Relačné operátory porovnávajú hodnoty primitívnych premenných.

Patria medzi ne < (menší než), > (väčší než), <=, >= (menší, či väčší alebo rovný), == (rovná sa), != (nerovná sa).

Pre porovnanie sa používa znak == (dve rovná sa).
Logické operátory spájajú pravdivostné výsledky viacerých relačných operácií porovnania && (a, súčasne), || (alebo), ! (negácia).
Špeciálnu skupinu tvoria bitové operátory, ktoré dokážu porovnávať (&, |, ^, ~) , alebo posúvať (<<, >>) jednotlivé bity v bytoch premenných.
Pretypovanie alebo zmenu dátového typu (napr. pri priradení do premennej iného primitívneho typu) vykonáva napr. Java väčšinou automaticky.

Iba v určitých prípadoch je potrebné použiť operátor pretypovanie (výstupný typ v zátvorke) pred premennou.

prosím, podpor autora stránky

toto je neziskový projekt
stránka má príjem jedine z reklamy a dobrovoľných príspevkov
môžeš prispieť...
prevodom na účet
SK 41 1100 000000
261 872 7972
SWIFT: TATRSKBX
cez PayPal
cez Viamo
cez Donater
Keď si došiel až sem, môžeš sa rozhodnúť čo ďalej...