Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
informatika:maturita:16a [28. 02. 2020, 00.32] xbures1 Provedena stylistická a faktografická úprava, přidány dva typy pravděpodobnostních algoritmů. |
informatika:maturita:16a [26. 05. 2020, 13.21] (aktuální) xdostal [Eratosthenovo síto] |
||
---|---|---|---|
Řádek 17: | Řádek 17: | ||
* **Determinovanost** (Určenost) – V každé situaci musí být naprosto zřejmé jaký krok (instrukce) se právě provádí a jaký má následovat | * **Determinovanost** (Určenost) – V každé situaci musí být naprosto zřejmé jaký krok (instrukce) se právě provádí a jaký má následovat | ||
* **Obecnost** – Algoritmus by měl řešit typovou úlohu co nejvíce obecně, např. výpočty s využítím proměnných místo numerických konstant | * **Obecnost** – Algoritmus by měl řešit typovou úlohu co nejvíce obecně, např. výpočty s využítím proměnných místo numerických konstant | ||
- | * **Finitivnost** (Konečnost) – Algoritmus by měl vždy mít omezený počet kroků, po kterých skončí (výjimkou z klasického pojetí konečnosti může být cyklické opakování určitého z kroků) | + | * **Finitivnost** (Konečnost) – U algoritmu musí být možné určit po jaké době skončí, či musí být myslitelné naplnění podmínky pro jeho ukončení |
* **Resultativnost** (Výslednost) – Musí mít nějaký výstup, tím je buď řešení úlohy a nebo oznámení o nemožnosti nalezení tohoto řešení | * **Resultativnost** (Výslednost) – Musí mít nějaký výstup, tím je buď řešení úlohy a nebo oznámení o nemožnosti nalezení tohoto řešení | ||
* **Korektnost** (Správnost) – Výstup by měl být správně (platí zejména pro výpočetní algoritmy) | * **Korektnost** (Správnost) – Výstup by měl být správně (platí zejména pro výpočetní algoritmy) | ||
Řádek 30: | Řádek 30: | ||
Postup: | Postup: | ||
- | * Vytvoříme si pole všech čísel obsažených v daném rozsahu. | + | |
- | * Postupujeme postupně přes všechna čísla rozsahu a odebíráme z něj čísla, která jsou násobky těchto čísel. | + | Krok 1: Vytvoření seznamu, obsahujícího všechna čísla v rozsahu 2 až n: |
- | * Algoritmus končí pokud je z pole odebráno poslední číslo, nebo pokud je jako prvočíslo označeno číslo vyšší než odmocnina nejvyššího čísla (pak jsou všechny zbylé prvky prvočísla). | + | |
+ | Krok 2: První číslo ze seznamu je zapsáno jako prvočíslo do seznamu prvočísel a ze seznamu je vymazáno společně se všemi jeho násobky. | ||
+ | |||
+ | Krok 3: Opakuj krok 2, dokud není původní seznam prázdný. | ||
+ | |||
+ | Krok 4: Seznam prvočísel obsahuje všechna prvočísla od 2 po n | ||