[(80+66) = (10+x)]+50=3 r 12 x=[(50-3+12)-(80+66)J-10
x = 6
Rys. 22
Przykładem algorytmu numerycznego na wyższym poziomie może być algorytm Euklidesa dla największego wspólnego dzielnika dwóch liczb. Klasa zadań w tym przypadku jest określona poleceniem: „wyznacz największy wspólny dzielnik liczb a i b"\ parametry a, b przyjmują wartości w zbiorze liczb naturalnych; zbiór podstawowych czynności, to czynności: wyznaczanie reszty z dzielenia jednej liczby naturalnej przez drugą, porównywanie liczb, podstawianie jednej liczby za drugą (w przedstawionym niżej organigramie symbol a:-b oznacza, ze za a należy podstawić b).
Rys. 23
Zadanie numeryczne tej klasy jest określone przez parę wartości parametrów a, b; algorytm prowadzi automatycznie, przy umiejętności wykonywania podstawowych czynności, do rozwiązania tego zadania. Na przykład zadanie: „wyznacz największy wspólny dzielnik liczb 504 i 288” rozwiązujemy według algorytmu Euklidesa wykonując kolejne czynności opisane w organigramie:
1. Wyznaczamy resztę z dzielenia 504 przez 288, ta reszta równa się 216.
2. Stwierdzamy: 216 ^ 0, otrzymana reszta jest różna od zera.
3. Podstawiamy 288 za 504 i 216 za 288 i przy tym podstawieniu wykonujemy czynność opisaną w 1, a więc wyznaczamy resztę z dzielenia 288 przez 216, ta reszta równa się 72.
4. Stwierdzamy: 72 * 0, otrzymana reszta jest różna od zera.
5. Podstawiamy 216 za 288 i 72 za 216 i przy tym podstawieniu wykonu
jemy czynność opisaną w 3, a więc wyznaczamy resztę z dzielenia 216 przez 72, ta reszta równa się 0.
6. Stwierdzamy: otrzymana reszta jest równa zero, a więc zgodnie z poleceniem organigramu formułujemy odpowiedź: największym wspólnym dzielnikiem liczb 504 i 288 jest 72.
i
263