Tegengestelden / Synoniemen
description
Transcript of Tegengestelden / Synoniemen
Tegengestelden / Synoniemen
Lesgever:Hans Yperman
Inhoud Herhaling taalwereld Onderzoeken van het probleem Implementatie
first, butfirst, last, butlast first van een lijst geeft het eerste
element uit de lijst. butfirst geeft de rest van de lijst. last geeft het laatste element butlast geeft alles behalve het
laatste element
Voorbeelden Make "fruit ["appel "banaan "citroen
"druif] first :fruit last :fruit butfirst :fruit butlast :fruit
Voorbeelden first [ [Appel Peer ][Banaan Perzik] ]
[Appel Peer ] first first [[Appel Peer ][Banaan Perzik]]
"Appel last first [[Appel Peer ][Banaan Perzik]]
"Peer
fput fput voegt elementen toe aan een
lijst print fput "A [B C ]
[A B C] print fput "A []
[A]
Print, readlist, emptyp print toont een lijst
print [1 2 3 4 ] readlist leest een lijst in
print readlist emptype controleert of een lijst
leeg is if emptyp [] [print [De lijst is leeg]]
output Geef een waarde terug uit een
procedure to voorbeeld :in
output fput "X :inend
voorbeeld "Hallo
Herhaling recursie eenvoudig en recursief geval Bij een lijst:
eenvoudig geval: de lege lijst recursief geval: haal een woord van
de lijst af, en geef de rest recursief door
Voorbeeld recursie to voorbeeld :lijst
if emptyp :lijst [stop]print first :lijstvoorbeeld butfirst :lijst
end
Tegenstellingen Schrijf een programma dat
een zin inleest zijn tegengestelde uitschrijft
Maak gebruik van: make "tegengestelden [[ dik dun]
[ domme slimme] [grote kleine] ... ] Voorbeeld: De grote slimme man is
dik wordt:De kleine domme man is dun
Extra zorg dat het programma niet alle
tegengestelden [ oud nieuw ] niet ook als [nieuw oud] moet opslaan.
Wat gebeurt er als een tegengestele 2 keer voorkomt in de lijst met tegengestelden
Oplossingto vergelijk :woord :lijst
if emptyp :lijst [output :woord ]
ifelse :woord = first first :lijst [
op last first :lijst
][
op vergelijk :woord bf :lijst
]
end
Oplossing
to tegengestelde :regel :lijst
if emptyp :regel [output []]
output fput (vergelijk first :regel :lijst ) (tegengestelde (butfirst :regel) :lijst)
end
Oplossingto tegenstelling
make "tegengestelden [[ dik dun] [domme slimme] [grote kleine] ]
make "regel readlist
print [de tegengestelde van ]
print :regel
print [ is ]
print tegengestelde :regel :tegengestelden
end