Logo

1. beolvasás
2. binfa ábrézolása listában
3. tavalyi zh-k

1. Beolvasás
olvasszó (osz) - nincs paramétere, <enter>-ig vár, a szövegben nem lehet "szünet" (readword rw)
szó? - a beolvasott szöveg szó-e? (word?)
szám? - a beolvasott szöveg szám-e? (number?)
olvaslista (ol) - ld. olvasszó, de a szövegben itt lehet szünet is (readlist rl)
olvasjel (oj) - egy karaktert olvas be (readchar rc)

2. Binfa
a.) specifikáció (vázlat)
üres lista - üres fa
[] üres fa
[ [] 5 [] ] - elem beillesztése
[ [] 5 [ [] 6 [] ] ] - (x5y), ahol y=x6x
( pl: épít [3 4 1 8] )
bejáró:fa
(pl: kiír bejár épít [8 4 9 3 6])

b.) megvalósítás
tanuld beilleszt :elem :fa
ha üres? : fa [er ( lista [] : elem [] )] ~
[ha :elem < elsõ en :fa ~
[er fput beilleszt :elem elsõ :fa en :fa] ~
[er lput beilleszt :elem utolsó: fa un :fa]]
vége

tanuld faépít :lista
ha ürese? lista [er []] ~
[er beilleszt elsõ :lista épít en :lista]
vége

tanuld bejár :fa
ha ürese? :fa [er []] ~
[er mondat bejár elsõ :fa ~
elsõ en:fa ~
bejár utolsó :fa]
vége

*** rekurzív hívások: - elsõ ág: amikor van eredmény - többedik: amikor nincs


2002. március 20., Programozási nyelvek - Illés Zoltán