Przeskocz do treści

Delta mi!

Algorytmy (I)

Andrzej Skowron

o artykule ...

  • Publikacja w Delcie: styczeń 1974
  • Publikacja elektroniczna: 21 stycznia 2016
  • Wersja do druku [application/pdf]: (389 KB)

W rozważaniach naszych nie będziemy chwilowo dążyli do ścisłej definicji algorytmu ani do formalizacji zapisu algorytmów. Celem naszym będzie wyrobienie u Czytelnika przekonania, że algorytm jest uściśleniem przepisu postępowania prowadzącego do zamierzonego celu.

Spróbujemy wymienić kilka charakterystycznych cech (nieformalnego) pojęcia algorytmu.

  • Algorytm określa się przez podanie przepisu postępowania, pamięci oraz sterowania.
  • Pamięć określa się jako zbiór, którego elementy nazywamy stanami.
  • Sterowanie (którego role może pełnić człowiek lub urządzenie) umożliwia przeprowadzenie obliczeń, a mianowicie w oparciu o przepis postępowania wyznacza jednoznacznie czynność, którą należy wykonać na aktualnym stanie pamięci oraz określa jednoznacznie następny stan pamięci i następną czynność do wykonania (jeśli jeszcze jakąś czynność należy wykonać).
  • Dla każdego algorytmu określony jest sposób wprowadzania do pamięci elementów zbioru nazywanego zbiorem danych oraz sposób odczytywania wyników z pamięci.

Aby wyjaśnić bliżej sens powyższych sformułowań rozważmy dobrze znany algorytm Euklidesa, który pozwala dla dowolnych liczb naturalnych |a i b wyznaczyć ich największy wspólny dzielnik oznaczany przez |NWD(a, b). Jeśli chcemy wyznaczyć NWD(a, b), gdzie a, b są liczbami naturalnymi, postępujemy według następujących reguł:

(1)
Jeśli a = b, to NWD(a, b) = a.
(2)
Chcąc znaleźć NWD(a, b) gdy a > b, dzielimy |a przez b i wyznaczamy resztę r z tego dzielenia. Z kolei dzielimy b przez |r i wyznaczamy nową resztę r1. Następnie dzielimy r przez r1 i wyznaczamy nową resztę r2 itd., aż dojdziemy do reszty 0. Ostatnia różna od zera reszta będzie największym wspólnym dzielnikiem liczb a i b.
(3)
Jeśli a < b, to postępujemy jak w (2) zamieniając rolami a i b. Przyjmiemy, że liczby naturalne będą przedstawiane w zapisie dziesiętnym i jeśli nie zajdzie potrzeba, nie będziemy odróżniać liczby naturalnej od jej zapisu dziesiętnego.
  • Cały artykuł dostępny jest w wersji do druku [application/pdf]: (389 KB)