Algoritmy

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:
o elementárnosť (presne stanovený význam jednotlivých príkazov),
o determinovanosť (príkazy umožňujú presné a jednoznačné riadenie),
o rezultatívnosť (každý príkaz iba jednu interpretáciu) – vlastnosti jazyka
o 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
;
keď platí skonči;
;
*opakuj

pre od po s krokom ;
;
*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