Vakdidactiek Informatica De Logo Taalwereld Tom Beerens AILO Informatica Tom.Beerens@rug.ac.be
Ter opfrissing Read Char of RC Read List of RL COUNT Leest karakter in van input Make “jaofnee RC Inputkarakter in jaofnee Leest karakter in van input Make “jaofnee RC Inputkarakter in jaofnee Leest lijst in van input Make “naam RL Ingegeven tekst in naam Leest karakter in van input Make “jaofnee RC Inputkarakter in jaofnee Leest lijst in van input Make “naam RL Ingegeven tekst in naam Telt aantal elementen Count [Logo [Taal Wereld]]
Ter opfrissing (2) ITEM WORD SEntence Geeft het Xe element weer Item 3 “Taalwereld Geeft het Xe element weer Item 3 “Taalwereld Voegt woorden of karakters aan elkaar PR Word “Geachte “, Geeft het Xe element weer Item 3 “Taalwereld Voegt woorden of karakters aan elkaar PR Word “Geachte “, Voegt lijsten of woorden samen PR SE “Hoe [gaat het]
Uitbreiding Taalwereld FIRST eerste karakter uit een woord, eerste woord uit een lijst PR FIRST “Taalwereld -> T LAST laatste karakter uit een woord, laatste woord uit een lijst PR LAST [Taal Wereld] -> Wereld
Uitbreiding Taalwereld (2) BF of ButFirst alle tekens of woorden behalve het eerste PR BF “Taalwereld -> aalwereld BL of ButLast alle tekens of woorden behalve het laatste PR BL [Taal Wereld] -> Taal
Uitbreiding Taalwereld (3) FPUT plaatst een nieuw element vooraan in de lijst PR FPUT “taal [wereld] -> [taal wereld] LPUT plaatst een nieuw element achteraan in de lijst PR LPUT “taal [wereld] -> [wereld taal] EMPTYP nagaan of een lijst (of woord) leeg is of niet
Korte oefeningen Procedure die een woord telkens reduceert met 1 karakter. Vb) Tom -> om -> m Procedure die een woord omkeert Vb) Computer -> retupmoC Procedure die een woord telkens reduceert met 1 karakter. Vb) Tom -> om -> m
Oplossing korte oefeningen to erafvoor :woord if emptyp :woord [stop] pr :woord erafvoor bf :woord end to erafachter :woord erafachter bl :woord
Oplossing korte oefeningen (2) to omkeren :woord if emptyp :woord [stop] pr last :woord omkeren bl :woord end
Oefening Synoniemen - Tegenstellingen Doel: Herschrijven van een ingegeven tekst, maar gebruik makend van synoniemen of tegenstellingen De hond is slim en de kat is triest. Synoniem -> De hond is intelligent en de kat is droevig. Tegenstelling -> De hond is dom en de kat is blij. Doel: Herschrijven van een ingegeven tekst, maar gebruik makend van synoniemen of tegenstellingen
Oplossing oefening to tegenstelling make "woorden [[...][...]...] pr [Welke zin moet ik herschrijven?] make "regel rl pr zin :regel :woorden end to vergelijk :regel :woorden if emptyp :woorden [op :regel] if :regel = first first :woorden [op last first :woorden] ifelse :regel = last first :woorden [op first first :woorden] [op vergelijk :regel bf :woorden] to zin :regel :woorden if emptyp :regel [op []] op fput (vergelijk first :regel :woorden)(zin (bf :regel) :woorden)
Geheimschrift - Codering Wat is codering? Waarvoor gebruikt? Geheimhouden van belangrijke info, … Wat is codering? ZENDER ONTVANGER Ik ben Tom Beerens Jl cfo Upn Cffsfot K, tdy Glu Tddfdyx CODEREN
Simple Substitution Cipher Doel: Elke letter verwisselen door een andere. Hoe gaat het? -> Jpr hssy jry? Hoe aanpakken? Tekst opsplitsen in aparte woorden Woorden opsplitsen in aparte karakters Karakter per karakter coderen Doel: Elke letter verwisselen door een andere. Hoe gaat het? -> Jpr hssy jry? Hoe aanpakken?
Oplossing oefening to codeerletter :letter :code output codeermatch :letter "abcdefghijklmnopqrstuvwxyz :code end to codeermatch :letter :clear :code if emptyp :clear [output :letter] if equalp :letter first :clear [output first :code] output codeermatch :letter butfirst :clear butfirst :code
Oplossing oefening (2) to codeerwoord :woord :code if emptyp :woord [output "] output word (codeerletter first :woord :code) ~ (codeerwoord butfirst :word :code) end to codeer :tekst :code if emptyp :tekst [output []] output sentence (codeerwoord first :tekst :code) ~ (codeer butfirst :tekst :code)
Piglatin Wat is piglatin? Voorbeeld een publiek “geheime” taal vooral populair bij kinderen Voorbeeld Wat is logo? -> Wapat ipis lopogopo? -> atWay isway ogo?lway
Oplossing oefening to piglatin :tekst if emptyp :tekst [output []] output sentence (pigwoord first :tekst)(piglatin butfirst :tekst) end to pigwoord :woord if vowelp first :woord [output word :woord "ay] output pigwoord word bf :woord first :woord to vowelp :letter output memberp :letter [A a E e I i O o U u]