Základy algoritmizácie a programovania
Pojem algoritmu 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. 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, ktorý 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 ; keď platí skonči; ; *opakuj pre od po s krokom ; ; *pre
Overovanie správnosti algoritmov Chyby delíme na : syntaktické sémantické – logické, chyby počas behu programu Spôsoby testovania programov: zmenou testovacích hodnôt hraničné testovacie hodnoty – napr. cykly s podmienkou testujeme, kedy sa vykoná raz, ani raz, max. počet krát... úplné preskúšanie – zadanie všetkých hodnôt testovanie všetkých ciest – napr. otestovanie alternatívy Proces overovania delíme na dve fázy: testovanie – lokalizácia a identifikácia chyby ladenie – odstraňovanie chýb
Tvorba algoritmu Pred začiatkom tvorby algoritmu si zadefinujeme nasledovné podmienky: a) Vstupná podmienka: { VST: ...} obsahuje zoznam všetkých objektov, ktoré budeme v algoritme používať, ich vlastnosti a vzájomné vzťahy b) Výstupná podmienka: { VYS: ...} obsahuje objekty, ktoré sú výsledkom realizácie algoritmu, prípadne informácie o tom, ako sa zmenili vstupné podmienky
Grafický zápis algoritmu Vývojový diagram – grafický jazyk na zápis algoritmov. Značky vývojových diagramov: Z K spojnica
začiatok
koniec NIE (-)
vst / vys blok ÁNO (+)
podmienka
operačný blok (popis operácie)
rozhodovací blok
vopred definovaná činnosť (cyklus s presným počtom opakovaní)
Bloky - vo vývojovom diagrame sú pospájané spojnicami, ktoré kreslíme vždy vodorovne alebo zvislo; - ukončujeme ich šípkami, ktoré môžeme vynechať v prípade, ak dodržíme kreslenie z hora nadol a sprava doľava; Jazyky, v ktorých zapisujeme algoritmy určené na ovládanie počítačov nazývame programovacie jazyky. Algoritmus zapísaný v programovacom jazyku a spĺňajúci v prípade potreby i ďalšie požiadavky (napr. údaje pre výpočet), nazývame program. „Vety“ programovacieho jazyka nazývame príkazy, lebo prikazujú počítaču, čo má vykonať. Elementárne príkazy predpisujú bezprostrednú akciu, výpočet, ktorý vykoná procesor. Štruktúrované príkazy umožňujú kombinovať elementárne akcie do väčších celkov, opakovať ich alebo meniť ich poradie podľa potrieb programátora, a tak zapísať zložitú činnosť v stručnej a výstižnej forme.