Procedury

Logo pozwala nam na utworzenie własnej procedury, procedura to część programu odpowiedzialna za wykonywanie odpowiednich działań. W logo mamy juz zdefiniowane gotowe procedury, nazywamy je procedurami pierwotnymi, możemy również definiować własne.

Procedury pierwotne

Procedury pierwotne jak już wczesniej wspomniano, są zdefiniowane w logo. Aby ich używać wystarczy znać ich nazwę i parametry z jakimi są wywoływane. Do procedur pierwotnych można zaliczyć wszystkie podstawowe komendy jakimi się posługujemy są to np:

Jak definujemy procedurę

Aby zdefiniować własną procedurę należy zastosować się do wzorca:

OTO NAZWA_PROCEDURY :parametr1 : parametr2 …
INSTRUKCJE
JUŻ

Warto zwrócić uwagę, że po napisaniu OTO nazwa_procedury i zatwierdzeniu klawiszem enter znak ? w edytorze zmienia się na > oznacza to, że instrukcje, które piszemy nie są wykonywane tylko są zapamiętywane przez program jako treść procedury.

Procedura bez parametrów

Na przykładzie kwadratu, który rysowaliśmy na ekranie wcześniej zdefiniujemy procedurę, która go narysuje. Kod procedury będzie wyglądał następująco:

OTO KWADRAT
POWTÓRZ 4 [NP 100, PW 90]
JUŻ

Dzięki takiemu zapisowi otrzymamy procedurę KWADRAT, która narysuje na ekranie kwadrat o długości boku 100, aby ją wywołać wystarczy, że napiszemy KWADRAT w oknie programu. Twoja przegądarka nie wspiera elementu canvas! Pobierz Internet Explorer 9 lub nowszą wersję!

Procedura z parametrami

Umiemy już zdefiniować prostą procedurę bez parametrów, teraz napiszemy procedurę, która będzie rysować kwadrat o określonym przez nas długości boku. Procedury z parametrami dają nam większe możliwości i sąbardziej uniwersalne w użytkowaniu. Na przykładnie naszego kwadratu będzie wyglądać następująco.

Jeśli chcemy użyć nazwy, którą wcześniej już zdefiniowaliśmy musimy ja przeredagować za pomocą procedury REDAGUJ [nazwa_procedury]. Użycie tej instrukcji spowoduje wywołanie edytora, który pozwala na modyfikację procedury.

OTO KWADRAT_BOK :BOK
POWTÓRZ 4 [NP :BOK, PW 90]
JUŻ

Dzięki nowej procedurze KWADRAT_BOK możemy narysować kwadrat o dowolnej wielkości, aby wywołać procedurę z parametrem należy wpisać KWADRAT_BOK 150 gdzie 150 jest przykładową długością boku naszego kwadratu.

Twoja przegądarka nie wspiera elementu canvas! Pobierz Internet Explorer 9 lub nowszą wersję!

Spróbujmy teraz stworzyć procedurę, która umożliwi nam narysowanie dowolnego wielokątu. Wykorzystując równanie 360/ilość_boków otrzymamy rozmiar kąta o jaki należy obrócić żółwia. Mając kąt i liczbę boków wystarczy że będziemy poruszać się żółwiem naprzód i obracać go o odpowiedni kąt. Dla ułatwienia umieścimy te dane wewnątrz instrukcji powtórz. Nasza procedura będzie miała następującą postać.

OTO WIELOKAT :ilośćboków :dlogośćboku
POWTÓRZ : ilośćboków [NP: dlogośćboku PW 360/:ilośćboków]
JUŻ

W naszym przypadku procedura WIELOKAT przyjmuje dwa parametry:

Obliczenia które są potrzebne aby uzyskać odpowiedni kąt znajdują sie wewnątrz insrukcji POWTÓRZ, tak więc nie musimy nic liczyć, do narysowania wielokąta wystarczy podać wybraną przez nas liczbę boków i ich długość.

Twoja przegądarka nie wspiera elementu canvas! Pobierz Internet Explorer 9 lub nowszą wersję!