Algorytm

 Algorytmem nazywamy przepis na wykonanie określonego zadania. Z algorytmami spotykamy się w życiu codziennym na każdym kroku, często sobie tego nawet nie uświadamiając.

 Rano myjemy zęby postępując z grubsza według przedstawionego niżej schematu:

  1. wyciśnij niewielką ilość pasty na szczoteczkę,
  2. przez 2 minuty szczotkuj zęby,
  3. kilka razy przepłucz wodą usta,
  4. umyj szczoteczkę pod bieżącą wodą.

 Później przygotowujemy na śniadanie swoją ulubioną jajecznicę, również realizując doskonale znany nam przepis:

  1. nałóż na patelnię trochę tłuszczu, np. masła,
  2. zapal palnik kuchenki,
  3. postaw patelnię z tłuszczem na palniku,
  4. wbij na patelnię 3 jajka, skorupki wyrzuć do kosza,
  5. wsyp dwie szczypty soli,
  6. mieszając czekaj aż zawartość patelni zgęstnieje,
  7. zgaś palnik,
  8. zawartość patelni umieść na talerzu i zjedz.

 W podobny sposób można opisać dziesiątki wykonywanych codziennie czynności, czyli podać algorytmy ich wykonania. Każdy z tych przepisów mówi nam jak pewien stan początkowy określonego układu przekształcić do pożądanego stanu końcowego (brudne zęby  -> czyste zęby, surowe jajka -> jajecznica).

 W matematyce i informatyce również algorytmem nazywamy przepis, który nam mówi jak wykonać pewne zadanie, osiągnąć określony cel. Jednocześnie jednak formułujemy wobec tego przepisu pewne ściśle określone wymagania, które muszą być spełnione, aby można go było nazwać algorytmem:

Algorytm jest to uporządkowany, skończony ciąg jednoznacznie określonych czynności, których wykonanie w skończonym czasie prowadzi do rozwiązania zadania.

Przykład algorytmu matematycznego, znajdowanie wartości bezwzględnej liczby:

  1. Wczytaj x
  2. Czy x<0 ?
  3. Jeśli TAK: x:=-x (zmień znak liczby na dodatni)
  4. Jeśli NIE: nie rób nic
  5. Wypisz x (wartość bezwzględna wczytanej liczby)

Sposoby zapisu algorytmu

 Algorytmy możemy przedstawiać na różne sposoby: opisowo, w punktach (tak robiliśmy do tej pory), za pomocą instrukcji wybranego języka programowania lub graficznie, stosując ogólnie przyjęte symbole. Ten ostatni sposób jest bardzo popularny, Poniżej przedstawimy symbole, których będziemy używać do zapisu algorytmów:

START
START
Tex

Początek algorytmu. Symbol początku algorytmu występuje dokładnie jeden raz. Nie dochodzi od niego żadna strzałka, a wychodzi jedna.

STOP
STOP
Text is not SVG - cannot display

 Koniec algorytmu. Symbol końca algorytmu, podobnie jak symbol rozpoczęcia, musi wystąpić w algorytmie jeden raz. Nie wychodzi z niego żadna strzałka, a dochodzi przynajmniej jedna.

WEJŚCIE/
WYJŚCIE
WEJŚCIE/...
Text is not SVG - cannot display

Blok wejścia lub wyjścia algorytmu. Przedstawia czynność wprowadzania danych do algorytmu (np. czytaj: x), jak i wyprowadzania otrzymanych wyników i komunikatów (np pisz: y). Z blokiem wejścia/wyjścia powiązana jest dokładnie jedna strzałka przychodząca i jedna wychodząca.

 

Blok operacyjny, zawiera operacje wykonywane przez algorytm. W blokach operacyjnych zawarte są wszystkie obliczenia wykonywane podczas realizacji algorytmu. Każdy blok operacyjny ma dokładnie jedną strzałkę przychodzącą i dokładnie jedną strzałkę wychodzącą.

?
?
TAK
TAK
NIE
NIE
Text is not SVG - cannot display

Blok decyzyjny, inaczej warunkowy. Wewnątrz bloku umieszczamy warunek, który może być spełniony lub nie. Jeśli warunek jest spełniony wychodzimy z bloku drogą opisaną "TAK", natomiast gdy warunek jest fałszywy podążamy dalej drogą wyznaczoną strzałką opisaną "NIE". Do bloku decyzyjnego dochodzi jedna strzałka wejściowa i wychodzą dwie strzałki wyjściowe ("TAK" i "NIE").

  Gdy już poznaliśmy symbole służące do graficznego przedstawiania algorytmów, możemy rozrysować opisany wcześniej algorytm znajdowania wartości bezwzględnej liczby:

START
START
Czytaj:
x
Czytaj:...
x < 0
x < 0
x := -x
x := -x
Pisz:
x
Pisz:...
STOP
STOP
T
T
N
N
Text is not SVG - cannot display