Przeczytaj
Zapisywanie algorytmów w postaci schematu blokowego
Do zapisywania algorytmów można wykorzystać schematy blokowe. Są one graficzną reprezentacją czynności składających się na algorytm. Więcej na ich temat znajdziesz w e‑materiale Zapisywanie algorytmów za pomocą schematu blokowegoZapisywanie algorytmów za pomocą schematu blokowego.
Przykładowy schemat blokowy
Spróbujmy przedstawić inny algorytm w postaci schematu blokowego. Ma on opisywać metodę sprawdzania, czy punkt o określonych współrzędnych należy do zdefiniowanego odcinka.
Formalna prezentacja problemu mogłaby wyglądać następująco:
Algorytm sprawdzania, czy punkt w dwuwymiarowej przestrzeni kartezjańskiej znajduje się na odcinku pomiędzy dwoma zadanymi punktami.
Specyfikacja problemu:
Dane:
Ax
– współrzędnax
punktuA
wyznaczającego pierwszy koniec odcinka; liczba rzeczywista.Ay
– współrzędnay
punktuA
wyznaczającego pierwszy koniec odcinka; liczba rzeczywista.Bx
– współrzędnax
punktuB
wyznaczającego drugi koniec odcinka; liczba rzeczywista.By
– współrzędnay
punktuB
wyznaczającego drugi koniec odcinka; liczba rzeczywista.Cx
– współrzędnax
punktuC
, którego przynależność do odcinkaAB
sprawdzamy; liczba rzeczywista.Cy
– współrzędnay
punktuC
, którego przynależność do odcinkaAB
sprawdzamy; liczba rzeczywista.
Wynik:
Algorytm zwraca wartość logiczną prawda
, jeżeli sprawdzany punkt przynależy do podanego odcinka lub – w przeciwnym wypadku – podaje wartość logiczną fałsz
.
Aby sprawdzić, czy trzy punkty leżą na jednej prostej, należy obliczyć wyznacznikwyznacznik macierzymacierzy, w której jako dwie pierwsze kolumny podamy współrzędne punktów. W pierwszej kolumnie znajdą się składowe współrzędnych oznaczone indeksem x
, w drugiej – indeksem y
, a w trzeciej umieszczamy wartości jeden. Jeśli wyznacznik macierzy jest równy zero, oznacza to, że punkty leżą na jednej prostej. Nie wiemy jednak, czy punkt C
znajduje się między punktami A
i B
. Aby to sprawdzić, będziemy musieli porównać ich współrzędne.
Jeśli sprawdzilibyśmy współrzędne punktów przedstawionych na rysunku, okazałoby się, że leżą one na jednej prostej – wyznacznik jest bowiem równy zero. Punkt C
nie leży jednak na odcinku ograniczonym punktami A
i B
.
Wspomniana wcześniej macierz wygląda następująco:
Gdzie jako , i podstawiamy wartości .
Wyznacznik macierzy możemy obliczyć, korzystając z następującego wzoru:
M=AIndeks dolny xxBIndeks dolny yym + AIndeks dolny yykCIndeks dolny xx + BIndeks dolny xxCIndeks dolny yyj − CIndeks dolny xxBIndeks dolny yyj − AIndeks dolny yyBIndeks dolny xxm − AIndeks dolny xxCIndeks dolny yyk
,gdzie M
oznacza wyznacznik.
Przedstawiony wzór wynika z reguły (metody) Sarrusareguły (metody) Sarrusa.
Aby dowiedzieć się, czy punkt C
jest umieszczony między punktami A
i B
(wiedząc, że A
, B
i C
leżą na jednej prostej) należy sprawdzić, czy wszystkie współrzędne C
leżą między współrzędnymi A
i B
.
W tym celu trzeba zadać pytania dwa pytania.
Czy współrzędna
CIndeks dolny xx
zawiera się w przedzialeAIndeks dolny xx, BIndeks dolny xx
?Czy współrzędna
CIndeks dolny yy
zawiera się w przedzialeAIndeks dolny yy, BIndeks dolny yy
?
Jeśli obie odpowiedzi są twierdzące, punkt C
leży między punktami A
i B
.
Algorytm opisany za pomocą pseudokodu:
Schemat blokowy prezentujący działanie algorytmu:
Grafika przedstawia schemat blokowy, opisujący algorytm wykorzystywany do sprawdzania, czy punkt o określonych współrzędnych należy do odcinka o danych końcach. Najpierw obliczamy wyznacznik wspomnianej macierzy, aby sprawdzić, czy punkty leżą na jednej prostej. Jeśli okaże się, że tak nie jest, zwrócona zostaje wartość fałsz
(punkty nie mogą wówczas leżeć na jednym odcinku).
Gdy punkty są umieszczone na jednej prostej, sprawdzamy, czy punkt C
leży między punktami A
i B
. Robimy to w dwóch etapach, sprawdzając kolejno wartość dwóch wyrażeń warunkowych. Moglibyśmy zapisać wszystkie warunki w jednym bloku, jednak schemat byłby wówczas mniej czytelny. Z tego powodu powstały trzy bloki instrukcji warunkowych.
Słownik
wykorzystywana w matematyce metoda zapisu wyrażeń lub symboli w postaci tablicy złożonej z k
kolumn i l
wierszy
metoda wykorzystywana do obliczania wyznacznika macierzy stopnia trzeciego; nie może być ona używana do obliczania wyznaczników macierzy wyższych stopni
liczba, którą można przyporządkować macierzy kwadratowej dowolnego stopnia; każda macierz ma tylko jeden wyznacznik, zależny od wartości zapisanych w niej elementów