Na tej stronie dowiesz się o kolejnych elementach jezyka Logo Komeniusz jakim są funkcje. Schemat działania funkcji wygkląda nastepująco:
dane -------funkcja --------wynik
Funkcje to szczególny rodzaj procedur, które mają wynik.
W języko Logo komeniusz jest wiele funkcji matematycznych pierwotnych, których nie trzeba definiować:
pwk - pierwiastek kwadratowy,
abs - wartość bezwzględna.
Funkcja pwk 100 daje wynik 10, ale w komunikacie otrzymamy napis:
Nie wiem co zrobic z 10
Nie powiedziałeś co zrobić z wynikiem
pwk 100 nie jest poleceniem. Jest wyrażeniem, które ma wartość 10. Jeżeli chcemy by Logo Komeniusz wiedział co zrobić z 10 należy napisać:
? pisz pwk 100
10
Inne funkcje to:
ilorazc - iloraz całkowity,
reszta - reszta z dzielenia.
Ważną funkcją w Logo Komeniusz jest funkcja losowa. Jej wynikiem jest losowo wybrana, nieujemna liczba całkowita mniejsza od danej liczby n.
PrzykładZostanie wypisanych 10 liczb losowych z zakresu od 0 do 9
Jeżeli funkcji nie ma wśród funkcji pierwotnych należy ją zdefiniować samemu. Definiując funkcję należy opisać procedure obliczania jej wyniku i musi w jej definicji wystąpić przynajmniej raz polecenie wynik (w skrócie wy), które ustala wynik obliczeń.
Przykład 1Żeby obliczyć kwadrat danej liczby x należy zdefiniować funkcję dokwadratu.
oto dokwadratu :x
wynik :x*:x
już
Sprawdzanie działania funkcji:
? pisz dokwadratu 4
16
Wykonując rzuty kostką do gry, za każdym razem z tym samym prawdopodobieństwem wypadnie jeden z wyników: 1, 2, 3, 4, 5, 6. Żeby zdefiniować funkcję kostka w Logo Komeniusz należy użyć funkcji losowa.
oto kostkawyrażenie losowa 6 może mieć wartość 0, 1, 2, 3, 4, 5. Żeby nie wypadało 0 oraz żeby mogło wypaść 6 należy do wyniku dodać jeden. Więc 1+losowa 6 daje takie samo prawdopodobieństwo uzyskania: 1, 2, 3, 4, 5, 6.
Sprawdzanie działania funkcji:Często zadania dotyczą liczby wystąpień czynnika p w rozkładzie liczby n na czynniki pierwsze. zdefiniujmy funkcję liczba2, której wynikiem będzie liczba wystąpień dwójki w rozkładzie liczby n na czynniki pierwsze. Jeżeli liczba n będzie liczbą nieparzystą to wynikiem będzie 0, jeżeli dana liczba będzie parzysta to wiemy że w jej rozkładzie na czynniki pierwsze wystapi przynajmniej jedna dwójka. Żeby dowiedzieć się ile jeszcze należy podzielić daną liczbę przez dwa i obliczyć, ile jest dwójek w rozkładzie na czynniki pierwsze otrzymanego ilorazu.
oto liczbawystąpień2 :nUzyto tu polecenia warunkowego w postaci:
jeśli warunek lista_poleceń1 lista_poleceń2W powyższym przykładzie sprawdzamy czy dana liczba jest parzysta - czy reszta z dzielenia jest równa 2 - jeśli tak wykonujemy polecenie wy 1+ liczbawystąpień2 :n/2 (wynik jest równy 1 + liczba wystapień dwójki w rozkładzie na czynniki pierwsze ilorazu danej liczby przez 2) w przeciwnym przypadku wykonujemy polecenie wy 0, które daje w wyniku 0 i kończy obliczenia
Przykład: