Algoritmus: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
Riadok 57: Riadok 57:
 
[[Súbor:Image5.png|none|360px]]
 
[[Súbor:Image5.png|none|360px]]
  
===Príklad v jazyku c===
+
===Príklad v jazyku C===
 
+
<source lang="c" line>
 +
// C program to add three numbers
 +
// with the help of above designed algorithm
 +
 
 +
#include <stdio.h>
 +
 
 +
int main()
 +
{
 +
 
 +
    // Variables to take the input of the 3 numbers
 +
    int num1, num2, num3;
 +
 
 +
    // Variable to store the resultant sum
 +
    int sum;
 +
 
 +
    // Take the 3 numbers as input
 +
    printf("Enter the 1st number: ");
 +
    scanf("%d", &num1);
 +
    printf("%d\n", num1);
 +
 
 +
    printf("Enter the 2nd number: ");
 +
    scanf("%d", &num2);
 +
    printf("%d\n", num2);
 +
 
 +
    printf("Enter the 3rd number: ");
 +
    scanf("%d", &num3);
 +
    printf("%d\n", num3);
 +
 
 +
    // Calculate the sum using + operator
 +
    // and store it in variable sum
 +
    sum = num1 + num2 + num3;
 +
 
 +
    // Print the sum
 +
    printf("\nSum of the 3 numbers is: %d", sum);
 +
 
 +
    return 0;
 +
}
 +
</source>
  
  

Verzia zo dňa a času 15:30, 25. február 2020


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]

Univerzalny algoritmus.png


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]

Príklady

Príklad pomocou vývojoveé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 to add three numbers 
 2 // with the help of above designed algorithm 
 3   
 4 #include <stdio.h> 
 5   
 6 int main() 
 7 { 
 8   
 9     // Variables to take the input of the 3 numbers 
10     int num1, num2, num3; 
11   
12     // Variable to store the resultant sum 
13     int sum; 
14   
15     // Take the 3 numbers as input 
16     printf("Enter the 1st number: "); 
17     scanf("%d", &num1); 
18     printf("%d\n", num1); 
19   
20     printf("Enter the 2nd number: "); 
21     scanf("%d", &num2); 
22     printf("%d\n", num2); 
23   
24     printf("Enter the 3rd number: "); 
25     scanf("%d", &num3); 
26     printf("%d\n", num3); 
27   
28     // Calculate the sum using + operator 
29     // and store it in variable sum 
30     sum = num1 + num2 + num3; 
31   
32     // Print the sum 
33     printf("\nSum of the 3 numbers is: %d", sum); 
34   
35     return 0; 
36 }




Odkazy