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.

Przykład:
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:


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.


Do góry      Do głównej


Cieszyna 2013, W. Salamon