Ter opfrissing

advertisement
Vakdidactiek Informatica
De Logo Taalwereld
Tom Beerens
[email protected]
AILO Informatica
Ter opfrissing
• Read Char
of RC
• Read List
of RL
• COUNT
• 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
• Geeft het Xe element weer
• Item 3 “Taalwereld
• WORD
• Voegt woorden of karakters
aan elkaar
• PR Word “Geachte “,
• Voegt lijsten of woorden samen
• PR SE “Hoe [gaat het]
• SEntence
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
Oplossing korte oefeningen
to erafvoor :woord
if emptyp :woord [stop]
pr :woord
erafvoor bf :woord
end
to erafachter :woord
if emptyp :woord [stop]
pr :woord
erafachter bl :woord
end
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.
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]
end
to zin :regel :woorden
if emptyp :regel [op []]
op fput (vergelijk first :regel :woorden)(zin (bf :regel) :woorden)
end
Geheimschrift - Codering
• Wat is codering?
ZENDER
ONTVANGER
CODEREN
Ik ben Tom Beerens
Jl cfo Upn Cffsfot
K, tdy Glu Tddfdyx
• Waarvoor gebruikt?
Geheimhouden van belangrijke info, …
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
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
end
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)
end
Piglatin
• Wat is piglatin?
– 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
end
to vowelp :letter
output memberp :letter [A a E e I i O o U u]
end
Download