Strona główna » Algorytmy » Artykuły » Schemat blokowy algorytmu
 

Schemat blokowy algorytmu

· Schemat blokowy · Lista kroków, Drzewo ·

Wstęp

Istnieje wiele różnych języków programowania. To samo rozwiązanie choć napisane w innym języku wykonuje dokładnie te same operacje. Graficzna reprezentacja algorytmu pozwala na uogólnienie sposobu działania algorytmu tak, aby mógł zrozumieć go każdy. Zaletą takiego rozwiązania jest fakt, że nie trzeba się martwić czy osoba, której przekazujemy szkic zna ten sam język programowania. Jednak są zasady, których należy przestrzegać. Inaczej schemat blokowy może być nieczytelny.

Sposób zapisu

Połączenie

Schemat blokowy składa się z różnego rodzaju obiektów, które są połączone liniami. Linie powinny być poprowadzone tylko poziomo lub pionowo. Dopuszcza się, aby pojedyncze połączenie składało się z dwóch prostopadłych odcinków. Na końcu tego typu połączenia rysuje się niewielki grot, który wskazuje, która operacja następuje po której. Po lewej wygląd strzałki, a po prawej prawidłowy sposób łączenia strzałek.

Połączenie

Początek

W całym schemacie blokowym algorytmu może być tylko jeden początek. Oznaczany jest przez blok START. Poniżej przedstawiony jest jego wygląd wraz z prawidłowym wyprowadzeniem połączenia. Warto zauważyć, że z tego obiektu połączenie może tylko wychodzić z obiektu:

Obiekt START

Koniec

Dowolny algorytm może przerwać wykonywanie w dowolnym momencie. Z tego powodu koniec algorytmu oznaczamy obiektem STOP. Tego typu blok może wystąpić tylko raz. Z tego obiektu nie wyprowadza się połączenia do następnego kroku:

Blok STOP

Blok operacyjny

Zwykłe operacje wykonywane na zmiennych zapisuje się w zwykłym prostokącie. Wykonywane działania zapisuje się w środku. Do zwykłych operacji zaliczamy działania arytmetyczne, albo wywołania innych funkcji. Do bloku musi być połączenie przed i po:

Blok operacyjny

Blok wymiany danych

W przypadku wczytywania lub wypisywania danych używa się równoległoboku, a w nim co się wczytuje, albo wypisuje. Należy pamiętać, że wymaga obu połączeń:

Blok wymiany danych

Blok warunku

Jeśli algorytm korzysta z instrukcji warunkowej w kodzie to należy użyć bloku warunkowego. Jest to przekręcony o \(45^\circ\) kwadrat. Przyjmuje się, że połączenie z poprzednim krokiem przychodzi od góry. Na lewo wyprowadzany jest połączenie do dalszych instrukcji jeśli prawda. Z prawej jeśli przeciwnie. W przypadku pisania programu jeśli wykonuje się tylko, gdy coś jest prawdziwe to kompilator sam dopisuje połączenie co jeśli nie. Należy pamiętać, żeby w schemacie blokowym dorysować każde połączenie!

Blok wymiany danych

Łącznik

W przypadku bardzo zaawansowanych algorytmów lub kiedy chcemy wyszczególnić dany fragment kodu wystarczy użyć łącznika. Przyjmuje się, że łącznik to numer, ale równie dobrze to może być dowolny tekst. Wybraną wartość zapisuje się w środku koła. Zapisu po lewej używa się do wykonania połączenia do, a po prawej do połączenia gdzie zaczyna się do:

Blok wymiany danych

Łącznik nie służy do wykonywania innego algorytmu o czym świadczą tylko pojedyncze połączenia w obu przypadkach. Inny algorytm można wywołać przy pomocy bloku operacyjnego.

Dodatkowe wskazówki

Należy pamiętać, aby w schemacie blokowym nie używać operatorów znanego języka programowania. Wszystko powinno być zapisane słownie lub przy pomocy wyrażenia matematycznego. Tylko wtedy schemat blokowy może zostać zrozumiany przez wszystkich. Rzecz jasna nie stosowanie się do tego nie musi stanowić problemu w określonej grupie odbiorców.

Długość połączeń pomiędzy obiektami jest dowolna. Należy jednak pamiętać, aby ich długość nie była za krótka (wszystko koło siebie będzie przypominać plamę, a nie schemat) i nie za długa (niepotrzebne marnowanie przestrzeni utrudnia czytanie). W przypadku kolejnych instrukcji najlepiej przyjąć jedną odległość i zmieniać ją tylko w przypadku np. bloków warunkowych.

Przykłady

Poniżej znajduje się przykładowy kod, który rozwiązuje równanie ax2 + bx + c = 0. Przyjmujemy, że dane to współczynniki a, b i c.

Blok wymiany danych