Uwaga: Teksty procedur Prostokt i Wielokt znajduj si na dyskietce w pliku I i I
FIGURY.LOG umieszczonym w kartotece R0ZDZ3.
W jzyku Logo za pomoc parametrw mona przekazywa informacje z oto-
czenia procedury do jej treci. (W innych jzykach programowania, np. w jzyku
Pascal, parametry umoliwiaj rwnie przekazywanie informacji z treci proce-
dury do rodowiska zewntrznego.)
Podkrelmy, e omwione w punkcie 3.2 instrukcje, np. FD, LT, maj podo-
bn budow, czyli skadni, jak wywoania procedur przez nas zdefiniowanych,
3. Grafika wia
78
nie trzeba jednak podawa ich definicji. Dlatego nazywa si je w jzyku Logo
instrukcjami lub procedurami pierwotnymi. (W innych jzykach, np. w jzyku
Pascal, w takim wypadku mwi si o procedurach standardowych.)
3.4. Wyraenia
Parametrami aktualnymi procedur w jzyku Logo nie musz by wycznie liczby,
Mog nimi by wyraenia. Wyraeniem nazywamy tak konstrukcj jzyka pro-
gramowania, ktra suy do wyznaczania pewnej wartoci (wyniku) - na przykad
wartoci liczbowej. W treci procedury Wielokt wystpio wyraenie
360 / :n
jako paramert aktualny procedury RT.
Wyraenie skada si z argumentw (np. 360, :n) i operatorw (np. /)
Argumentami mog by liczby, parametry procedur lub wywoania funkcji. Ti
omwimy wyraenia arytmetyczne, czyli wyraenia, ktrych wartociami s
liczby.
Operatory dziaa arytmetycznych s oznaczane nastpujco:
+ - dodawanie,
- - odejmowanie i zmiana znaku,
* - mnoenie,
/ - dzielenie.
W jzyku AC-Logo znaki dziaa dwuargumentowych oddziela si od ar|
mentw co najmniej jednym odstpem, np. 2 * :Bok + 15, a znaki dziaa ji
noargumentowych zapisuje si bezporednio przed argumentem, np. -:Kt.
Podczas obliczania wartoci wyraenia mnoenie i dzielenie maj wyszy pi
rytet ni dodawanie i odejmowanie. Zmian kolejnoci wykonywanych dzia
w wyraeniu mona uzyska stosujc nawiasy okrge.
3.4.1. Funkcje
W wyraeniu jako argumenty dziaa mog wystpowa wywoania procedur
tylko takich procedur, ktre obliczaj i przekazuj pewn warto (wynik),
ywa si je w jzyku Logo procedurami z wartoci lub - krcej - funkcji
Podobnie jak w przypadku procedur rozrnia si funkcje pierwotne i definiow
Przykadami funkcji pierwotnych w jzyku Logo s: SQRT (pierwiastek kw?
towy) i funkcje trygonometryczne SIN oraz COS. Argumenty funkcji zapisu;
po nazwie funkcji bez ujmowania ich w nawiasy, np. SQRT 2, SIN 35.
Przy obliczaniu wartoci wyraenia operatory bdce nazwami funkcji
najniszy priorytet w kolejnoci wykonywanych dziaa. Dlatego, na przj
3.4. Wyraenia
79
napis SIN :x * 2 + 5 oznacza obliczenie wartoci funkcji sinus dla argumentu
:x * 2 + 5. Gdybymy do wartoci funkcji SIN dla argumentu :x * 2 chcieli
doda 5, naleaoby napisa 5 + SIN :x * 2 lub (SIN :x * 2) +5.
W jzyku Logo mona definiowa wasne funkcje. Na przykad, funkcj o na-
zwie Potga2, ktrej wartoci jest druga potga jej argumentu, moemy zdefi-
niowa nastpujco:
TO Potga2 :Liczba
OP :Liczba * :Liczba
END
Definicja funkcji w jzyku Logo ma posta definicji procedury, w ktrej musi
wystpi instrukcja OP o skadni:
OP wyraenie
Wykonanie instrukcji OP w treci procedury o nazwie P powoduje (tak jak napo-
tkanie sowa END) opuszczenie treci tej procedury (tj. P) i przekazanie wartoci
wyraenia w miejsce wywoania procedury P. Procedur z tak nadan wartoci
nazywa si w jzyku Logo funkcj - o czym ju wspominalimy - i mona z niej
korzysta w wyraeniach tak samo, jak z funkcji pierwotnych jzyka Logo, np.
z funkcji SIN.
Pierwszy wiersz definicji funkcji nazywa si nagwkiem funkcji, a pozostae
wiersze tworz tre funkcji.
Przypomnijmy na zakoczenie tego punktu, e:
- wywoanie procedury jest instrukcj; nazwa procedury jest nazw instrukcji,
parametr aktualny procedury moe by wyraeniem, np. FD 7 * 7,
- wywoanie funkcji jest wyraeniem, czyli moe by uyte jako parametr
aktualny procedury; nazwa funkcji jest operatorem, argument funkcji moe
by wyraeniem, np. Potga2 5 + SQRT 4.
3.4.2. Wywietlanie tekstw i wartoci wyrae
Teksty w postaci pojedynczych sw lub caych zda oraz wartoci wyrae mona
wywietla na ekranie monitora. Miejsce, w ktrym rozpoczyna si wywietlanie
tekstu, jest wskazywane przez kursor tekstowy. Kursor ten mona ustawi we
wskazanym miejscu na ekranie za pomoc pierwotnej instrukcji
SETCURSOR [nr-kolumny nr-wierszd\
Lewy grny rg ekranu ma pozycj [0 0].
Wywietlanie odbywa si za pomoc pierwotnych instrukcji jzyka Logo. Wy-
korzystamy instrukcje wymienione w tablicy 3.3.
80
3. Grafika wia
Tablica 3.3. Instrukcje wywietlania i wymazywania tekstw
Instrukcja
Wykonanie instrukcji
PR wyraenie
TYPE wyraenie
CT
TS
Wywietla warto wyraenia i ustawia kursor tekstowy na
pocztku nastpnego wiersza, np. PR 3 + SQRT 2.
Wywietla warto wyraenia i pozostawia kursor tekstowy w
tym samym wierszu, np. TYPE Potga2 7.
Wymazuje teksty znajdujce si na ekranie.
Oczyszcza ekran i ustawia kursor tekstowy w lewym grnym
rogu ekranu; cay ekran jest przeznaczony na tekst.
Za pomoc instrukcji PR lub TYPE mona wywietli pojedyncze sowo poprze
dzajc je znakiem cudzysowu " zwanym w jzyku Logo jednoargumentowyi
operatorem dosownoci, np. TYPE "Prostokty. Jeli chcemy wywietli
cig sw za pomoc jednej instrukcji, to naley uj go w nawiasy kwadratowe, i
przykad PR [Trzy prostokty] . Pusty wiersz, czyli dodatkowy odstp midi
wierszami, mona wstawi do wywietlanego tekstu za pomoc PR [ ]. Jed<
odstp midzy sowami mona wywietli za pomoc instrukcji TYPE CHAR 3
poniewa wartoci pierwotnej funkcji CHAR : kod jest znak o kodzie ASCII ri
nym wartoci parametru kod (zob. rozdz. 2).
Zauwamy, e parametry niektrych instrukcji s umieszczane w nawiasa
kwadratowych. Taki rodzaj danych w jzyku Logo nazywa si list. Listy orr