sobota 24. mája 2014

Programovanie, algoritmus, algoritmické konštrukcie

1. Definujte  pojem všeobecný algoritmus
2. Popíšte základné vlastnosti algoritmu
3. Vysvetlite pojem algoritmický jazyk
4. Popíšte spôsoby zápisu algoritmu
5. Popíšte základné algoritmické štruktúry
6. Načrtnite vývojový diagram, pre program, ktorý bude počítať korene kvadratickej rovnice



Všeobecný algoritmus - Algoritmus je konečná postupnosť dobre definovaných inštrukcií na splnenie určitej úlohy. Algoritmy môžu byť zapísané vo forme počítačových programov. Logická chyba v algoritme môže viesť k zlyhaniu výsledného programu. V algoritmoch sa často niekoľko krokov viacnásobne opakuje (iterácia), alebo ďalší postup závisí od aktuálneho stavu (vetvenie).

Algoritmický jazyk – je umelý jazyk, určený na tvorbu algoritmov. Vety algoritmického jazyka nazývame príkazy.

Sekvenciou rozumieme postupnosť príkazov.

Príkaz je povel, ktorý počítač alebo iné zariadenie pozná a dokáže vykonať.

Vlastnosti algoritmov


  • Konečnosť (Rezultatívnosť) - Každý algoritmus musí skončiť po vykonaní konečného počtu krokov. Tento počet krokov môže byť ľubovoľne veľký (podľa rozsahu a hodnôt vstupných údajov), ale pre každý jednotlivý vstup musí byť konečný.
  • Všeobecnosť (hromadnosť) - Algoritmus nerieši jeden konkrétny problém (napr. „ako vypočítať 3×7“), ale rieši všeobecnú triedu obdobných problémov (napr. „ako vypočítať súčin dvoch celých čísel“).
  • Efektivita - Všeobecne požadujeme, aby algoritmus bol efektívny, v tom zmysle, že požadujeme, aby každá operácia požadovaná algoritmom, bola dostatočne jednoduchá na to, aby mohla byť aspoň v princípe prevedená v konečnom čase iba s použitím ceruzky a papiera.
  • Determinizmus - Každý krok algoritmu musí byť jednoznačne a presne definovaný; v každej situácii musí byť úplne zrejmé, čo a ako sa má vykonať, ako má vykonávanie algoritmu pokračovať. Pretože bežný jazyk zvyčajne neposkytuje úplnú presnosť a jednoznačnosť vyjadrovania, boli pre zápis algoritmov navrhnuté programovacie jazyky, v ktorých má každý príkaz jasne definovaný význam. 
  • Vstup - Algoritmus zvyčajne pracuje s nejakými vstupmi, veličinami, ktoré sú mu odovzdané pred začatím jeho vykonávania, alebo v priebehu jeho činnosti. Vstupy majú definované množiny hodnôt, ktoré môžu nadobúdať.
  • Výstup - Algoritmus má aspoň jeden výstup, veličinu, ktorá je v požadovanom vzťahu k zadaným vstupom, a tým tvorí odpoveď na problém, ktorý algoritmus rieši.

Možnosti zápisu algoritmu


  • Slovný zápis pre vyjadrenie algoritmov je nám blízky, dobre sa nám v ňom uvažuje, ale ako prostriedok analýzy zložitejších úloh je nevýhodný pretože je neprehľadný.
  • Pomocou vývojových diagramov – vývojový diagram úlohy je bloková grafická reprezentácia postupnosti operácií, ktorá má realizovať úlohu v súlade s príslušným algoritmom.

Algoritmická štruktúra


  • lineárna jednoduchá štruktúra (sekvenčná) -  algoritmus prebieha lineárne bez opakovania a obsahuje v podstate vstupné, výpočtové a výstupné operácie. Sekvenciou rozumieme postupnosť príkazov, ktorá sa vykonáva v takom poradí, v akom sú jednotlivé časti zapísané. 
  • lineárna rozvinutá štruktúra (rozhodovacia) - algoritmus opäť prebieha lineárne bez opakovania, obsahuje však naviac operáciu výberu, keď určité operácie sa prevedú len za splnenia určitých podmienok. V opačnom prípade sa pokračuje ďalej vo výpočte alebo sa realizujú iné operácie. Dochádza teda k vetveniu v lineárnej sekvencii operácie programu. Vetvenie môže byť viacnásobné, závislé na hodnotách, ktoré obsahuje premenná nazývaná prepínač.
  • cyklická štruktúra - algoritmus môže prebiehať dvojako. V prvom prípade prebieha cyklus tak dlho, pokiaľ podmienka má hodnotu ÁNO. V druhom prípade sa opakuje tak dlho, pokiaľ podmienka má hodnotu NIE; cyklus teda prebehne minimálne raz. Tieto druhy cyklov používame v tom prípade, keď môžeme predom stanoviť počet opakovaní cyklu.

Podmienka alebo vetvenie predstavuje v algoritmizácii možnosť rozhodnúť sa podľa pravdivosti skúmaného znaku. 


Vývojový diagram riešenia kvadratickej rovnice




Žiadne komentáre:

Zverejnenie komentára