Algoritmus – základný elementárny pojem informatiky, je prepis, návod, realizáciou ktorého získame zo zadaných vstupných údajov požadované výsledky.
- ide teda o postup spracovania jednej kvality informácií na novú
- realizátor procesor začne návod opísaný algoritmom vykonávať s konkrétnymi objektami
- napr. varenie
- pre prax je výhodné ak jeden algoritmus popisuje množinu podobných postupov
- algoritmus sa veľmi úzko viaže na jazyk v ktorom sú algoritmy zapísané
- metóda myslenia, schopnosť formulovať riešenia problémov, tak aby boli zrozumiteľné realizátorovi
Základné vlastnosti algoritmov
1. Elementárnosť – algoritmus sa skladá z elementárneho počtu krokov
2. Determinovanosť – po každom kroku vieme jednoznačne povedať, či algoritmus skončil, alebo nie
3. Konečnosť – vykonávanie procesu opísaného algoritmom skončí po konečnom počte krokov
4. Rezultatívnosť – pre rovnaké vstupné údaje dáva vždy rovnaké výsledky
5. Hromadnosť – algoritmus je určený na riešenie problémov toho istého typu
6. Efektívnosť – algoritmus má zabezpečiť riešenie problému v čo najkratšom čase
Algoritmický jazyk – je umelý jazyk, určený na tvorbu algoritmov, ktotý by mal spĺňať podmienky:
elementárnosť (presne stanovený význam jednotlivých príkazov),
determinovanosť (príkazy umožňujú presné a jednoznačné riadenie),
rezultatívnosť (každý príkaz iba jednu interpretáciu) – vlastnosti jazyka
konečnosť a hromadnosť (zabezpečí užívateľ)
Vety algoritmického jazyka nazývame príkazy.
Programovací jazyk – je algoritmický jazyk implementovaný v počítači
Základné algoritmické konštrukcie:
1. Sekvencia
2. Alternatíva
3. Cyklus
4. Podprogram
Ak algoritmický jazyk umožňuje tieto základné algoritmické konštrukcie hovoríme, že je štruktúrovaný.
Zápis pomocou štruktúrogramov:
Sekvencia Alternatíva
Cyklus s podmienkou na začiatku
Cyklus s podmienkou na konci
Cyklus so známym počtom opakovaní
Slovné zápisy algoritmov:
Sekvencia
algoritmus
;
Alternatíva
ak tak
inak ;
Cykly
opakuj
< telo cyklu 1 >;
keď platí skonči;
< telo cyklu 2 >;
*opakuj
pre od po s krokom ;
< telo cyklu >;
*pre
Overovanie správnosti algoritmov
Chyby delíme na :
1. syntaktické
2. sémantické – logické, chyby počas behu programu
Spôsoby testovania programov:
1. zmenou testovacích hodnôt
2. hraničné testovacie hodnoty – napr.
cykly s podmienkou testujeme, kedy sa vykoná raz, ani raz, max. počet krát...
3. úplné preskúšanie – zadanie všetkých hodnôt
4. testovanie všetkých ciest – napr. odtestovanie alternatívy
Proces overovania delíme na dve fázy:
1. testovanie – lokalizácia a identifikácia chyby
2. ladenie – odstraňovanie chýb.