sobota, 9 marca 2013

Algorytmika cz. 2: Schematy blokowe.

Schemat blokowy jest często stosowanym sposobem przedstawiania algorytmu. Jest on o wiele bardziej przejrzysty niż schemat krokowy, i o wiele łatwiej jest się w nim odnaleźć. Zapraszam na drugą część kursu algorytmiki.

Schemat blokowy służy do opisu działania algorytmu w sposób graficzny. Składa się on z bloków, z których każdy ma swój unikalny kształt pozwalający domyślić się jakiego typu instrukcje są w nim wykonywane.  Bloki te połączone są za pomocą linii ukazujących który krok ma zostać wykonany następny. Najlepiej będzie to ukazać na przykładzie:  

Rys. 2.1 - Przykład schematu blokowego.
Jak widać przedstawienie algorytmu rozpoczyna się od zaokrąglonego bloku START. Jest to blok początku algorytmu, czasami (np. w przypadku algorytmów rekurencyjnych, o których powiem później), zamiast napisu START znajduje się tam nazwa funkcji.
Następny jest blok wprowadzania danych. Jak widzisz jest on identyczny do bloku wyświetlania komunikatu i wyprowadzania wyników. Może to się wydać trochę dziwne, dlaczego jeden blok przedstawia to samo ale jest w tym pewna logika. Otóż w programowaniu bloki te reprezentują obsługę strumienia wejścia i wyjścia. Strumień wejścia służy do pobierania zewnętrznych danych np. takich które poda użytkownik. Strumień wyjścia służy natomiast do wyprowadzania wyników, najczęściej w formie komunikatów. Jeśli nie zetknąłeś się nigdy z programowaniem, jest to dla Ciebie pewnie trochę konfundujące, ale nie martw się. Z czasem stanie się to jasne, a na razie musisz zapamiętać, że bloki te służą do wprowadzania danych, oraz wyprowadzania wyników i komunikatów. 

Dalej widzimy blok decyzyjny. Jest to blok do obsługi znanego nam już jeśli. Np. Jeśli x > 3 to wykonaj instrukcje znajdujące się pod strzałką "Tak". W przeciwnym wypadku wykonaj te, które reprezentuje "Nie". Zapewne pamiętasz poprzedni algorytm gotowania wody. W tym bloku wstawilibyśmy warunek o tym czy użytkownik posiada czajnik elektryczny. Dla odpowiednich danych, wykonalibyśmy odpowiednie instrukcje. W bloku tym, możemy wpisać wszystkie możliwe znaki warunkowe w stylu: równości (=), większości (>), mniejszości (<) itp.

Kolejny jest blok obliczeń. W blokach tego typu zapisujemy wszystkie obliczenia, które ma wykonywać nasz algorytm. Dla przykładu: chcemy obliczyć pole kwadratu. W bloku tym wpisalibyśmy:
Rys. 2.2 - przykład bloku obliczeniowego.

Chciałbym żebyś zwrócił uwagę na znak dwukropka przed znakiem równości. W algorytmice oznacza on, że chcemy przypisać coś do jakiejś zmiennej, w tym wypadku p. Służy to do odróżnienia znaku oznaczającego przypisanie od znaku służącego do sprawdzenia czy jakieś dwie zmienne są sobie równe. 

Ostatnim blokiem jest blok zakończenia algorytmu STOP. Wyprowadzenie strzałki do tego bloku oznacza, że nasz algorytm w tym momencie zostaje zakończony. Po wystąpieniu tego bloku nie można wykonywać już żadnych innych instrukcji.

W ten, krótki sposób mam nadzieję, ze oswoiłem Cię z wyglądem schematu blokowego. Pewnie zapytasz: "Hej, gdzie obiecane algorytmy?". Otóż postanowiłem na razie ich nie wprowadzać i najpierw oswoić Cię z algorytmami ogólnie. W następnej części powiem jeszcze trochę o drzewach i myślę, że po tym, będę mógł przejść do omawiania samych algorytmów.


Brak komentarzy:

Prześlij komentarz

Pamiętaj aby Twoje komentarze były zawsze kulturalne i zgodne z obowiązującą Netykietą. Nie przeklinaj, nie obrażaj i nie wyzywaj innych użytkowników. PS: Nie karm troli.