Podstawy algorytmiki Dariusz Piekarz CENTRUM EDUKACJI NAUCZYCIELI W KOSZALINIE Podstawa programowa kształcenia ogólnego z informatyki wprowadza już od najmłodszych klas szkoły podstawowej zagadnienia związane z nauką programowania. W edukacji wczesnoszkolnej osiągane jest to głównie poprzez układanie w logicznej kolejności pewnych zdarzeń, obrazków i czynności. Już na etapie klas I-III mówi się o rozwiązywaniu zadań, zagadek i łamigłówek prowadzącym do odkrywania algorytmów. W zakresie programowania i rozwiązywania problemów wymagana jest od ucznia umiejętność programowanie wizualnego prostych sytuacji lub historyjek według pomysłów własnych i pomysłów opracowanych wspólnie z innymi uczniami, pojedynczych poleceń, a także ich sekwencji sterujących obiektem na ekranie komputera bądź innego urządzenia cyfrowego. W klasach IV-VIII wspomina się o rozumieniu, analizowaniu i rozwiązywanie problemów na bazie logicznego i abstrakcyjnego myślenia, myśleniu algorytmicznym, programowaniu i układanie algorytmów. Czym jest algorytm? W najprostszym ujęciu jest to sposób postępowania prowadzący do rozwiązania problemu. Algorytmy mogą być przedstawione w formie:, opisu słownego, listy kroków, schematu blokowego. Algorytmy mają być pomocne w zrozumieniu przez uczniów sposobu rozwiązana problemu, Należy więc dla określonego etapu edukacyjnego lub nawet dla wybranej grupy uczniów wybrać odpowiednią formę opisu algorytmicznego. W najmłodszych klasach będzie to zazwyczaj opis słowny lub lista kroków. W klasach starszych wykorzystać będzie można również schematy blokowe. - 1 -
Opis słowny algorytmu Ten sposób zapisu wykorzystany może być na każdym etapie kształcenia. Najczęściej jednak stosowany jest w klasach młodszych ze względu na jego łatwą interpretację. Najprostszym przykładem będzie algorytm przygotowania herbaty: Przygotuj wszystkie składniki. Wlej do czajnika wodę i zagotuj. Wsyp herbatę do filiżanki i zalej gorącą wodą. Jeżeli lubisz herbatę z cukrem dodaj cukier. Jeżeli lubisz herbatę z cytryną dodaj cytrynę. Powyższy algorytm pomimo swojej prostoty zawiera tzw. bloki decyzyjne: dodanie cukru lub cytryny w zależności od upodobań. Lista kroków Ten sposób zapisu algorytmu jest rozbudowaną formą zapisu słownego. Zawiera ponumerowane kolejne etapy rozwiązania problemu. Powyższy przykład parzenia herbaty zapisany za pomocą listy kroków przedstawiał się będzie następująco: 1. Przygotuj wszystkie składniki. 2. Wlej do czajnika wodę. 3. Zagotuj wodę. 4. Wsyp herbatę do filiżanki. 5. zalej herbatę gorącą wodą. 6. Jeżeli lubisz herbatę z cukrem dodaj cukier. 7. Jeżeli lubisz herbatę z cytryną dodaj cytrynę. Taka forma zapisu algorytmu wykorzystana może być podczas programowania robotów edukacyjnych, przy programowaniu w aplikacjach Baltie lub Scratch, a także podczas nauki programowania w językach tekstowych. Jedną z możliwości wykorzystania zapisu algorytmów za pomocą listy kroków jest praca na macie edukacyjnej. Zapis słowny kolejnych kroków zastąpić można opisem obrazkowym. Do tej formy zapisu potrzebne będą obrazkowe polecenia, symbolizujące ruch w określonym kierunku: - 2 -
Poniżej przedstawiony jest przykład algorytmu dopłynięcia okrętem do wyspy ze skarbem przy wykorzystaniu maty edukacyjnej: Algorytm lista kroków Przedstawiony w przykładzie algorytm może być wykorzystany do wyjaśnienia zagadnienia powtórzeń (iteracji). Schemat algorytmu przedstawiał się będzie wtedy następująco: 4x 2x Pojedyncze kroki zastąpione zostały zapisem symbolizującym liczbę powtórzeń kolejnych poleceń: przesuń okręt 4 x w górę, obróć w lewo, przesuń okręt 2 x w lewo. - 3 -
Schemat blokowy Klasycznym sposobem zapisu algorytmów jest schemat blokowy. Przedstawia on w formie diagramu przebieg programu. W schematach blokowych wykorzystywane są symbole: START Początek programu Symbol ten wskazuje, w którym miejscu rozpoczyna się program. Koniec programu Symbol wskazuje miejsce zakończenia programu. Wprowadź: x Wprowadzenie danych do programu Wypisz: y Wyświetlenie (wyprowadzenie) wyników obliczeń suma = a+b Wykonanie obliczeń T a>b N Blok decyzyjny Sprawdzenie warunku. Działanie programu przebiega zgodnie ze ścieżką T (Tak), jeżeli warunek jest spełniony. W przeciwnym wypadku działanie przebiega zgodnie ze ścieżką opisaną N (Nie). 1 Łącznik stronicowy Łączy ze sobą fragmenty algorytmu składającego się z kilku części. - 4 -
Przykłady prostych algorytmów Algorytm wyboru większej z dwóch liczb START Wprowadź: a,b Tak a>b Nie Wypisz: a Wypisz: b Zwróćmy uwagę, że algorytm ten nie sprawdza przypadku, w którym liczby a i b są równe. Dobrze napisany program komputerowy powinien uwzględniać wszystkie przypadki, które mogą wystąpić. Powyższy algorytm można uzupełnić o dodatkowy blok sprawdzenia warunku: Tak a=b Nie Wypisz: Liczby są równe - 5 -