Strona główna » Algorytmy » Artykuły » Różne sposoby zapisu algorytmu
 

Różne sposoby zapisu algorytmu

· Schemat blokowy · Lista kroków, Drzewo ·

Wstęp

W poprzednim artykule przedstawiłem jak tworzyć schemat blokowy algorytmu. W tej części pokaże inne sposoby reprezentowania algorytmów. Niektóre są bardziej lub mniej wygodne. Ważne, aby nauczyć się chociaż jednej pomocniczej reprezentacji algorytmu. Może to pomóc napisać algorytm w języku wysokiego poziomu.

Lista kroków

Lista kroków jest chyba najbardziej intuicyjną metodą zapisu algorytmów. W swojej budowie przypomina sposób zapisu przepisu kulinarnego. Kolejne operacje to kolejne punkty listy. Wygoda tego sposobu reprezentacji polega na tym, że prawie całkowicie nie używa się terminów związanych z jakikolwiek językiem programowania. Wystarczy używać sformułowań typu: oblicz, przesuń, zamień czy jeśli. Załóżmy, że chcemy, aby program dla wczytanych wartości a, b i c funkcji kwadratowej f(x) = ax2 + bx + c przedstawił ile pierwiastków dane równanie posiada. Na początek należy określić Specyfikacje:

Zapisując w ten sposób algorytm warto pamiętać, aby zdanie były naturalne tj. żeby to rzeczywiście były takie zdania, które moglibyśmy wykorzystać w rozmowie z drugim człowiekiem. Wszystkie operacje powinny być wyjaśnione jeśli posiadamy jakiekolwiek wątpliwości czy cos zapisać czy nie.

Specyfikacja

Dane:trzy liczby rzeczywiste a, b i c
Wynik:liczba całkowita, ilość pierwiastków podanej funkcji kwadratowej f
  1. Wczytaj dane a, b i c
  2. Oblicz ∆ = b2 - 4ac
  3. W zależności od wartości ∆ wybierz komunikat i go wyświetl:
    ∆ < 0brak rozwiązań
    ∆ = 0jedno rozwiązanie
    ∆ > 0dwa rozwiązania
  4. Zakończ algorytm

W zapisie można pominąć wczytywanie danych na początku. Z założenia przyjmuje się, że jest to element konieczny bez którego algorytm nie ma sensu. Jednak w przypadku wczytywania danych dalej w kodzie warto wyszczególnić. Pozwoli to łatwiejsze zrozumienie listy kroków.

Drzewo algorytmu

Innym sposobem na przedstawienie wybranego algorytmu jest drzewo algorytmu. Jest to już postać graficzna, która może nieco przypominać schemat blokowy. Jednak w tym przypadku nie używa się specjalnych pól o różnych kształtach. Wszystkie operacje są łączone przy pomocy gałęzi. Punkt od którego algorytm się rozpoczyna nazywany jest korzeniem, a operację wykonywane w trakcie wykonywania wierzchołkami pośrednimi. Nietrudno się domyślić, że wszystkie pola, które kończą działanie algorytmu to liście.

Należy pamiętać, że każde dwa wierzchołki nie mogą mieć więcej niż jedno połączenie. Byłoby to sprzeczne z drzewem algorytmu. Przykładowy algorytm zapisany w postaci drzewa wygląda następująco:

Drzewo algorytmu

Na pierwszy rzut oka trudno szukać wyglądu drzewa. Jednak po odwróceniu o 180° można zauważyć schemat drzewa.

Zadanie

Zadanie 1

Napisz listę kroków i narysuj drzewo algorytmu dla poniższego zadania:

Dane:lista trzech liczb rzeczywistych {a, b, c}
Wynik:posortowana rosnąco wczytana lista