240 likes | 809 Views
Algoritmus. Algoritmus. je jednoznačný a zrozumiteľný postup umožňujúci z daných vstupných údajov získať v konečnom čase po vykonaní konečného počtu krokov správne výsledky, t. j. riešenie danej úlohy.
E N D
Algoritmus je jednoznačný a zrozumiteľný postup umožňujúci z daných vstupných údajov získať v konečnom čase po vykonaní konečného počtu krokov správne výsledky, t. j. riešenie danej úlohy. Algoritmus je teda postup alebo návod ako vyriešiť nejaký problém, napr. návod na upečenie koláča (kuchárska kniha)
Vlastnosti algoritmu • Elementárnosť– pozostáva z jednoduchých krokov • Determinovanosť – po každom kroku vieme povedať, ktorý krok nasleduje • Konečnosť– proces vykonávania skončí po konečnom počte krokov • Rezultatívnosť– musí viesť k výsledku • Hromadnosť – určený na riešenie problémov toho istého typu • Efektívnosť – vyriešenie problému v najkratšom čase
Príklady algoritmov • návod na obsluhu zariadenia • recept na pečenie koláča • technická dokumentácia • manuál k mobilnému telefónu ...
Program je algoritmus prepísaný do určitého programovacieho jazyka, napr. Basic, Pascal, C++, ... Programovací jazyk slúži na zápis daného programu. Počítač tomuto jazyku vôbec nerozumie, preto si ho prevádza do strojového kódu. Progr. jazyk Pascal navrhol v roku 1971 profesor informatiky Nikolaus Wirth a bol určený na vyučovanie programovania.
Algoritmizácia je činnosť na zostavenie algoritmu tak, aby spĺňal požadované vlastnosti algoritmu. Kompilátor je program, ktorý transformuje napísaný algoritmus z prog. jazyka do stroj. kódu.
Priebeh algoritmizácie • formulácia - jasná a jednoznačná formulácia a identifikácia, stanovenie cieľa riešenia úlohy (slovné zadanie úlohy ) • analýza – určenie podmienok postupu, nájdenie algoritmu riešenia • zostavenie algoritmu - presné vyjadrenie logiky a postupu riešenia, výsledkom ktorého riešiaci algoritmus
Algoritmus môže byť vyjadrený: • slovne – verbálne vyjadrenie jednotlivých krokov • symbolicky - presne stanovená syntax (spôsob zápisu operácií) aj sémantika (význam operácií, ktoré je možné použiť) • graficky - vývojové diagramy, V-S-V diagram • matematicky - sústava rovníc, matica, vzťahy medzi veličinami • programovacím jazykom - Pascal, C++
Vývojový diagram grafické znázornenie postupu s jednoznačnými pravidlami na kreslenie špecifických značiek príkaz podmienka začiatok/koniec vstup/výstup
V-S-V diagram skladá sa zo sekvencií po sebe idúcich krokov s minimom rozhodovania vstup spracovanie výstup
Slovný zápis začiatok čítaj ( A , B , C ); ak A > B tak MAX := A inak MAX := B; ak C > MAX tak MAX :=C; píš ( MAX ); koniec. Algoritmus na nájdenie najväčšieho z troch čísel.
Testovanie a ladenie programu Testovanie zisťuje, či nie sú v danom programe chyby. Ladenie ich odstraňuje, t.j. lokalizujeme (určíme miesto chyby) a špecifikujeme (určíme chybu). Chyby môžu byť : • syntaktické - zistené pri kompilácii, napr.: preklep v príkaze, nedeklarovaná premenná, chybný počet parametrov a pod. • logické (chyby v algoritme) -zistené počas alebo po skončení behu programu
Spôsoby testovania programov 1. zmenou testovacích hodnôt: spúšťame program s hodnotami pre známe výsledky 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. otestovanie alternatív
Programovacie metódy • zhora nadol – rozkladáme problém na čiastkové podproblémy až na úroveň jednotlivých príkazov • zdola nahor – napíšeme podprogramy a spojíme do výsledného programu • lineárny prístup – vytvárame program v poradí, ako sa budú príkazy realizovať • zvnútra von – najprv napíšeme najdôležitejšie časti so všetkými detailmi, potom začneme z najnižšej úrovne a pripravujeme opis • kombinované metódy
Základné prvky algoritmov • premenné - vstupné, pracovné, výstupné • začiatok algoritmu • koniec algoritmu • kroky algoritmu – jednoduché príkazy • podprogramy, funkcie • podmienky - binárna relácia + logické spojky (=,<,>, and, or, not...) • podmienený príkaz - vyhodnotenie podmienky a pokračovanie podľa výsledku vyhodnotenia • cyklus - opakovanie kroku • skok - prerušenie prirodzenej postupnosti krokov
algoritmus pozdrav; začiatok píš('Ahoj'); koniec. program pozdrav; begin write('Ahoj!'); end. Príklad: Vytvorte algoritmus a program, ktorý pozdraví vypísaním slova Ahoj! na obrazovke.
Čo je to algoritmus, program, algoritmizácia, programovací jazyk a kompilátor? Vlastnosti algoritmu Vyjadrenie algoritmu Testovanie a ladenie programu, spôsoby testovania programu Základné prvky algoritmov OPAKOVANIE