Algoritmus: Rozdiel medzi revíziami
Riadok 57: | Riadok 57: | ||
==Príklady== | ==Príklady== | ||
+ | |||
+ | ===Jednoduché opakovanie=== | ||
+ | Príklad na jednoduché opakovanie | ||
+ | |||
+ | [[Súbor:Opakovanie.png|360px|none]]Ak podmienka platí program ide na výstup | ||
+ | Ak je podmienka neplatná vykoná príkaz a znova kým nebude platná podmienka | ||
+ | |||
===Príklad pomocou vývojového diagramu=== | ===Príklad pomocou vývojového diagramu=== | ||
Riadok 107: | Riadok 114: | ||
} | } | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=Odkazy= | =Odkazy= | ||
<references/> | <references/> |
Verzia zo dňa a času 12:27, 26. február 2020
Učebné texty
Algoritmus
Algoritmus znamená proces alebo súbor pravidiel ktoré sa majú dodržiavať pri operáciach alebo riešení problémov. Algoritmus sa preto týka súboru pravidiel,pokynov ktoré postupne definujú, ako sa má práca vykonať, aby sa dosiahli očakávané výsledky.[1]
Navrhnutý algoritmus je nezávislý od jazyka, tzn. že ide iba o jednoduché pokyny, ktoré je možné implementovať v akomkoľvek jazyku, a napriek tomu bude výstup rovnaký, ako sa očakávalo.
Vlasnosti algoritmu
Jasný a jednoznačný: Každý z jeho krokov by mal byť jasný vo všetkých aspektoch a musí viesť iba k jednému významu.
Dobre definované vstupy:
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ť.
Dobre definovaný vstup:
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.
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.
Všeobecnosť:
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“).
[2]
Riešenie problému pomocou algorimtu
1. Problém, ktorý má tento algoritmus vyriešiť.
2. Obmedzenia problému, ktoré je potrebné zohľadniť pri jeho riešení.
3. Vstup, ktorý sa má prijať na vyriešenie problému.
4. Výstup, ktorý možno očakávať, keď sa problém vyrieši.
5. Riešenie tohto problému v daných obmedzeniach.[3]
Značky vývojových diagramov
Značka sa využíva na začatie alebo ukončenie vývojového diagramu
Výkonný blok na program
Služi na zápis vstup a výstupov vývojoveého diagramu
Rozhodovací blok s jedným vstupom a viacerými výstupmi
Príklady
Jednoduché opakovanie
Príklad na jednoduché opakovanie
Ak podmienka platí program ide na výstup
Ak je podmienka neplatná vykoná príkaz a znova kým nebude platná podmienka
Príklad pomocou vývojového diagramu
Algoritmus, ktorý zistí či je možné zostrojiť trojuholník ak zadáme dĺžky troch strán.
Vstup: Dĺžky strán a,b,c
Výstup: Je možné zostrojiť trojuholník alebo nie.
Príklad v jazyku C
1 // C program ktorý ščíta 3 čísla pomocou algoritmu
2
3
4 #include <stdio.h>
5
6 int main()
7 {
8
9 // Premenné na vloženie 3 čísel
10 int num1, num2, num3;
11
12 // Premenná na ščítanie čísel
13 int sum;
14
15 // Vložiť 3 čísla
16 printf("Vlož 1. číslo: ");
17 scanf("%d", &num1);
18 printf("%d\n", num1);
19
20 printf("Vlož 2. číslo: ");
21 scanf("%d", &num2);
22 printf("%d\n", num2);
23
24 printf("Vlož 3. číslo: ");
25 scanf("%d", &num3);
26 printf("%d\n", num3);
27
28 // Sčítanie prememných a následné vypísanie súčtu
29
30 sum = num1 + num2 + num3;
31
32 // Výpis súčtu
33 printf("\nSúčet čísel je: %d", sum);
34
35 return 0;
36 }