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
- 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