2. Zobrazenie algoritmov

Zápis algoritmov

  • Slovný zápis – pre vyjadrenie algoritmov je nám blízky, dobre sa nám v ňom uvažuje, ale ako prostriedok analýzy zložitejších úloh je nevýhodný pretože je neprehľadný, nedostatočne zvýrazňuje zmeny postupu, môžu sa v ňom vyskytnúť nepresnosti. [1]
  • Pomocou vývojových diagramov – vývojový diagram úlohy je bloková grafická reprezentácia postupnosti operácií, ktorá má realizovať úlohu v súlade s príslušným algoritmom. [1]
  • Algoritmický jazyk – často je to akási zmes prirodzeného jazyka a príkazov nejakého konkrétneho programovacieho jazyka, do ktorého plánujeme algoritmus prepísať. [3]
  • Obrázkové jazyky – umožňujú programovať prostredníctvom spájania obrázkov; hlavným reprezentantom sú detské programovacie jazyky ako je napríklad Baltík, Imagine, Robot Karol. [2]
  • Programovacie jazyky – predstavujú formalizované algoritmické jazyky, popisujú činnosť algoritmus pomocou presne definovaného syntax. [2]

1. Slovný zápis:
Ľudský jazyk obsahuje množstvo slov (napríklad angličtina má takmer 800 000 slov), je v neustálom vývoji, slová v jazyku pribúdaj a zanikajú. Obsahuje množstvo výnimiek, umeleckých obratov, synoným, homoným a tvarov. Algoritmus zapísaný v prirodzenej ľudskej reči je nám najbližší a najpochopiteľnejší. Avšak je nevhodný pre komunikáciu so strojom, pretože ten vyžaduje stabilný a nemenný zoznam umožňujúci presnú špecifikáciu príkazov. Presnosť, konkrétnosť a adresnosť.
Nemožnosť využitia prirodzeného jazyka v komunikácii so strojom viedla k potrebe úpravy ľudského jazyka, redukcii jeho obsahu ma úzku skupinu slov. [2]


2. Vývojový diagram:
Ide o grafický zápis algoritmu vhodný najmä pre začiatočníkov. Umožňuje intuitívne chápať postup a tok výpočtu znázornený šípkami a geometrickými tvarmi aj bez vysvetľovania syntaxe. [2]


Základnými grafickými znakmi pre zápis algoritmu vo vývojovom diagrame sú:




Príklad:
Vývojový diagram na výpočet súčtu väčšieho z čísel a alebo b a čísla c

Vstup:
a, b, c – rôzne čísla
Výstup:
Z – výsledok – súčet
ak a > b súčet bude a + c
ak b > a súčet bude b + c
[5]




3. Programovací jazyk
Algoritmus a algoritmizácia sú určitými medzikrokmi medzi zadaním problému a jeho vyriešením na počítači. Pomocou algoritmu dokážeme vyriešiť problém, no takmer vždy ho potrebujeme preložiť do jazyka počítača.

Na komunikáciu s akýmkoľvek zariadením schopným vykonávať algoritmy potrebujeme jazyk. Aby bolo dorozumievanie pre človeka čo najprijateľnejšie vytvárajú sa umelé jazyky. Pomocou nich dokážeme jednoducho a jednoznačne vyjadriť algoritmus tak, že ho zariadenie (počítač) dokáže interpretovať. Takéto jazyky nazývame programovacie.
Činnosť, ktorú vykonávame pri zápise algoritmu do programovacieho jazyka, označujeme ako programovanie. [2]

Úlohy na precvičenie:

Napíšte aspoň 5 konkrétnych prvkov, ktoré programovací jazyk neobsahuje, ale ľudský jazyk áno:


Napíšte algoritmus tvorby správneho riešenia úlohy (slovne) a vytvorte k nemu vývojový diagram k nasledujúcej úlohe:
Prievozník má cez rieku previezť kozu, vlka a kapustu. K dispozícii má jeden čln, do ktorého sa okrem neho zmestí ešte jeden „pasažier“.

Úloha: Akým spôsobom splní úlohu, ak nesmie nechať na jednom brehu kozu s kapustou a vlka s kozou?


Nasleduje hra Koza, vlk a kapusta. Kliknutím na kozu, vlka alebo kapustu, naložíte alebo vyložíte tento objekt z lode (pokiaľ sa nachádzate pri brehu). Loď posúvate tlačidlami v horných rohoch.