Algorytm - Najczęstsze błędy.
Nadawanie nazw
Każdy z klocków ma unikalną nazwę własną. Wstawiając klocki powinniśmy
zmieniać domyślne nazwy klocków na kojarzące się z ich zastosowaniem.
Przykłady:
TenKlocekCzyta_A - klocek czytający wartość A,
Porownaj_A_i_B - klocek warunku,
ObliczaPoleRombu - klocek operacji obliczania wartości,
Tak określone nazwy mówią wiele o przeznaczeniu klocka i sugerują powiązanie
go z innymi. Nie jest to wymóg formalny i plansza będzie traktowana jako poprawna,
jeśli pozostawimy nazwy domyślne, ale sami narażamy się na problemy ze zrozumieniem
naszego algorytmu, szczególnie gdy algorytm jest skomplikowany, a my wracamy do niego po upływie długiego czasu.
Nadawanie logicznych nazw pozwala również na szybką analizę poprawności algorytmu, przez czytanie podpowiedzi na pasku statusu po
najechaniu myszą na dany klocek.
Typy zmiennych
Zmienne przechowują wartość danego typu. Zmienna typu liczba całkowita nie może przechować liczby ułamkowej, czy też litery,
zmienna typu tekst nie przechowa liczby itd.
Przykład:
Chcemy mieć zmienną w której pomieścimy wynik dzielenia dwóch liczb. Wynik
dzielenia jest domyślnie liczbą rzeczywistą i taką zmienną musimy
przygotować. Jeśli pozostawimy typ wstawianej zmiennej jako domyślnie ustawiony całkowity, mamy błąd niezgodności zmiennych.
Wyrażenia
Tu spotykamy najwięcej błędów, a podstawowy błąd wynika z niezrozumienia konstrukcji klocka przypisania.
Mamy napisać wyrażenie obliczające pole prostokąta o bokach długości a i b zaś wynik ma się znaleźć w zmiennej P. Wszystko to zgodnie ze wzorem P=a*b lub w notacji pascalowej P:=a*b.
Nazwa zmiennej, to zmienna stojąca po lewej stronie znaku równości, czyli P. Rozwijamy listę zmiennych i wybieramy zadeklarowaną wcześniej zmienną P.
Wyrażenie, to przepis na obliczenie pola stojący po prawej stronie znaku równości, czyli a*b. Wpisujemy więc: a*b.
Zatem, znaku "=" (":=") nigdzie nie wpisujemy. Jest on rozgraniczeniem zmiennej i wyrażenia. I tylko tyle.
Wpisanie jako wyrażenia: P=a*b jest błędem, który nie jest sygnalizowany, gdyż jako wyrażenie może się w algorytmie pojawić np. "a=b*c", którego wynikiem jest wartość logiczna wstawiana do jakiejś zmiennej.
O pracy z oknem wyrażeń przeczytasz więcej tutaj.
Porównania
Mamy dwa typy klocków porównania.
Pierwszy porównuje dwie zmienne, drugi zmienną i obliczane wyrażenie.
Pamiętajmy, że:
- W zależności od potrzeb dobieramy odpowiedni klocek - tu także zdarzają się błędy.
- Nie możemy porównywać zmiennych całkowicie odmiennych typów. Np. nie ma sensu porównanie liczby i litery. Należy pamiętać o tym korzystając z tego klocka.
- Pisząc wyrażenie w drugim z klocków porównania pamiętajmy o błędach opisanych wyżej.
I jeszcze wiele innych istotnych dla działania programu błedów można "popełnić".
Błędy sygnalizowane są przez zaznaczenie klocków na czerwono. I tam należy
ich szukać, a przede wszystkim sprawdzajmy wyrażenia w oknie Buduj wyrażenie.
Tam nasza kontrola będzie najskuteczniejsza.
Cieszyna 2013, W. Salamon