GYMNÁZIUM, VLAŠIM, TYLOVA
Autor | Ing. Marta Bechyňová |
Číslo materiálu | 4_1_INF_16 |
K dispozici na | http://www.ivt.mzf.cz/algoritmizace-a-programovani/uvod-do-algoritmu/8-resene-priklady/priklad-9/ |
Datum vytvoření |
|
Druh učebního materiálu | webová stránka |
Ročník | 1. |
Anotace | webová stránka pro vytvoření vývojového diagramu a programu v Pascalu pro určení největšího společného dělitele pomocí Euklidova algoritmu |
Klíčová slova | algoritmus, Euklidův algoritmus |
Vzdělávací oblast | Informační a komunikační technologie |
Očekávaný výstup | Studenti se naučí vytvořit vývojový diagram a program v Pascalu pro určení největšího společného dělitele pomocí Euklidova algoritmu. |
Zdroje a citace |
Sestavte algoritmus, který hledá největšího společného dělitele dvou čísel. Vychází ze známého Euklidova algoritmu, kdy menší číslo se odečítá od většího tak dlouho, dokud si obě nejsou rovna. Výsledná hodnota je pak hledaným největším společným dělitelem.
Analýza úlohy
Vstupní údaje: dvě celá kladná čísla A, B
Výstupní údaje: největší společný dělitel
Analýza: Odečítej menší číslo od většího, dokud si obě nebudou rovna.
Sestavení algoritmu
1. Čti A, B
2. Je A <> B ?
ANO – jdi na 3.
NE – jdi na 8.
3. Je A > B?
ANO – jdi na 4.
NE – jdi na 6.
4. A := A – B
5. Jdi na 2.
6. B := B – A
7. Jdi na 2.
8. Piš A
Vývojový diagram:
Program v Pascalu:
var A, B : integer; begin write('Zadej dvě čísla: '); read(A, B); while A <> B do if A > B then A:= A – B else B := B – A; write( 'Největší společný dělitel je ' , A); readln;readln end.
Příklady:
- Napište program, který donutí uživatele zadat kladné číslo a pak vytiskne jeho odmocninu. V případě zadání čísla záporného program v klidu vyžaduje (i opakovaně) zadání správné, tedy kladné vstupní hodnoty. Modifikace: počítejte počet pokusů, které uživatel potřeboval pro zadání kladného čísla.
- Vytiskněte čísla od 1 do n, použijte cyklus repeat, while, for, k názvu programu přidejte písmena a,b,c.