Sposoby zapisu algorytmu
Algorytmy powinny być tak przedstawiane, aby było możliwe ich jednoznaczne odczytanie i zastosowanie. Dlatego teraz poznasz różne sposoby zapisu algorytmów.
Niektóre algorytmy można opisać słownie korzystając z języka potocznego. Jest to proste zwłaszcza wtedy, gdy algorytm jest prosty, a jego wykonawcą ma być człowiek. Pamiętajmy jednak, iż informatyka zajmuje się opracowywaniem algorytmów, których wykonanie powierzone zostaje komputerom. Dlatego taki sposób zapisu nie zawsze jest wystarczający. Musimy sięgnąć po inne metody.
Z czego składa się algorytm?
Zanim przejdziemy do zapisywania algorytmu przypomnij sobie czym jest algorytm. W skrócie możemy powiedzieć, że to przepis (plan) na rozwiązanie danego problemu. Nasz algorytm (podobnie jak przepis kulinarny) powinien zawierać opis danych (składników), opis wyników (co zamierzamy przyrządzić) oraz plan działania na to, jak z danych otrzymać wyniki (jak ze składników otrzymać danie).
Algorytm zawiera opis danych, opis wyników oraz plan działania, czyli przetworzenia danych. Możemy to przedstawić tak:
Sposoby zapisu algorytmów:
- opis słowny
- lista kroków
- pseudojęzyk (pseudokod)
- schemat blokowy
- drzewo (drzewo algorytmu)
- język programowania
Załóżmy, że naszym celem jest przedstawienie algorytmu obliczania średniej dwóch liczb. Algorytm ten przedstawimy teraz korzystając z podanych wyżej wszystkich sposobów zapisywania algorytmu.
Zadanie
Napisz algorytm obliczający średnią arytmetyczną dwóch liczb rzeczywistych.
Przykładowe rozwiązania zawierające wszystkie sposoby zapisu algorytmu zaprezentuję poniżej.
Opis słowny
W jaki sposób obliczymy średnią dwóch liczb? Weźmiemy dwie liczby i je zsumujemy, a otrzymany wynik podzielimy przez 2. Wystarczy teraz po prostu to zapisać.
Rozwiązanie 1. Opis słowny:
Weź dwie liczby i dodaj je do siebie. Otrzymany wynik podziel przez 2.
Lista kroków
Lista kroków to najprostsza i jednocześnie najbardziej naturalna metoda zapisywania algorytmu. Polega na opisie reguł postępowania za pomocą kolejnych kroków, punktów. Jest to sposób, z którym prawdopodobnie spotkałeś się na lekcjach matematyki, na których nauczyciel podaje schemat rozwiązania zadania danego typu.
Elementem charakterystycznym w tym sposobie zapisu jest numeracja poszczególnych kroków.
Rozwiązanie 2a. Lista kroków:
Krok 1. Pobierz pierwszą liczbę.
Krok 2. Pobierz drugą liczbę.
Krok 3. Dodaj liczby do siebie.
Krok 4. Wynik sumowania podziel przez 2.
Krok 5. Wyświetl wynik.
Krok 6. Zakończ
Powyższy algorytm możemy zapisać również za pomocą listy kroków pomijając słowo krok:
Rozwiązanie 2b. Lista kroków:
1. Pobierz pierwszą liczbę.
2. Pobierz drugą liczbę.
3. Dodaj liczby do siebie.
4. Wynik sumowania podziel przez 2.
5. Wyświetl wynik.
6. Zakończ
Pseudojęzyk, pseudokod
Pseudojęzyk (zwany również pseudokodem) to sposób pośredni między listą kroków, a językiem programowania. Zwykle zapis podobny jest do któregoś z popularnych języków programowania, ale jest mniej formalny.
Rozwiązanie 3a. Pseudokod:
Początek Rzeczywiste a Rzeczywiste b suma:= a+b średnia:= suma/2 Wypisz(średnia) Koniec
W powyższym pseudokodzie widzimy dwa działania (instrukcje): obliczającą sumę i średnią. Tak naprawdę możemy przecież połączyć je w jedno.
Rozwiązanie 3b. Pseudokod:
Początek Rzeczywiste a Rzeczywiste b średnia:= (a+b)/2 Wypisz(średnia) Koniec
Schemat blokowy
Schemat blokowy to graficzny sposób przedstawienia algorytmu. Składa się on z bloków, zawierających określone działania, oraz połączeń wskazujących kolejność ich wykonywania.
My teraz wracamy do naszego przykładu ze średnią. Jak będzie teraz wyglądał nasz algorytm?
Jeśli chcesz wiedzieć więcej o schematach blokowych koniecznie przeczytaj kolejny wpis: Schematy blokowe algorytmów. A tutaj znajdziesz przykłady schematów blokowych.
Język programowania
Aby zrealizować algorytm za pomocą komputera, zapisujemy go w postaci odpowiednio dobranego języka programowania. Mówiąc w skrócie, piszemy program.
Podsumowanie
Algorytmy można przedstawiać na różne sposoby. Od prostego, czyli po prostu opowiedzeniu o algorytmie, poprzez narysowanie schematu blokowego, aż po język programowania i ostateczną realizację w postaci programu komputerowego. Sposób zapisu dobieramy do konkretnego przypadku.
Ten artykuł jest częścią cyklu „Algorytmy dla uczniów”.