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] ] 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 ]
Print, readlist, emptyp print toont een lijst 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 :in end 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 :lijst voorbeeld butfirst :lijst end
Tegenstellingen Schrijf een programma dat Maak gebruik van: 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
Oplossing to 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
Oplossing to 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