230 likes | 510 Views
Haiku-Generator. Les 1 – 12/02/2003 Jan De Bock. Les 1. Overzicht commando’s Definitie Haiku Haiku-Generator Oefening op Haiku-Generator Vragen of opmerkingen?? jan.debock@rug.ac.be. Lijst. LIJST -> “een groep woorden of tekens” -> tussen [ ] geschreven -> vb. [dit is een lijst].
E N D
Haiku-Generator Les 1 – 12/02/2003 Jan De Bock
Les 1 • Overzicht commando’s • Definitie Haiku • Haiku-Generator • Oefening op Haiku-Generator • Vragen of opmerkingen?? jan.debock@rug.ac.be
Lijst • LIJST • -> “een groep woorden of tekens” • -> tussen [ ] geschreven • -> vb. [dit is een lijst]
Make • Variabelen definieren • -> vb. MAKE “vb [dit is een lijst] • show :vb • [dit is een lijst]
Count • Count • -> telt het aantal elementen van een lijst of woord • -> vb pr count “Pol • resultaat: 3 • pr count [Pol vist op [rog forel snoeck]] • resultaat: 4
Random • RANDOM • -> RANDOM num1 • -> geeft willekeurig positief getal terug kleiner dan num1 • -> vb: show random 10 • mogelijk resultaat: 8
Random(2) • RANDOM • -> num RANDOM num1 • -> geeft num willekeurige positieve getallen terug kleiner dan num1 • -> vb repeat 5 [show random 10] • mogelijk resultaat: 6 8 3 0 9
Item • ITEM • -> ITEM index WOORD/LIJST/ARRAY • -> geeft het element op positie index terug • -> vb show item 2 [a b c] • resultaat: b • show item 2 “ABC • resultaat: B
Sentence • SENTENCE • -> afkorting is SE • -> sentence a b • -> gebruikt om woorden, lijsten of combinatie van beide met elkaar te verbinden • -> vb pr se “Pol “vist • resultaat: Pol vist • pr (se “Pol “vist “op [rog en forel]) • resultaat: Pol vist op rog en forel
Output • OUTPUT • -> afkorting is OP • -> OP waarde • -> eindigt de procedure waar het in loopt door als resultaat de corresponderende waarde terug te geven. • -> vb to outputvoorbeeld • OP [Dit is de output] • end • show outputvoorbeeld • resultaat: [Dit is de output]
Definitie Haiku *Definitie Haiku - gedicht van zeventien lettergrepen verdeeld over 3 verzen - Normaal gezien lettergrepen 5-7-5 verdeeld - Voorbeeld van een Haiku in een felle dans versmelten vis en reiger pal boven de sloot
Haiku-Generator *Haiku generator - Wij willen computer een Haiku-gedicht laten genereren - We nemen het niet nauw met voorschrift 17 lettergrepen - Hoe?? -> vooraf gedefinieerde lijsten aanleggen van woorden -> computer willekeurig woord laten kiezen uit lijsten -> woorden op gepaste manier in 3 verzen zetten
Haiku-Generator Stap 1: procedure KIES(lijst) Computer willekeurig woord laten kiezen uit lijsten. Hoe??? Vb uit lijst [open schoon droog toe]
Haiku-Generator Stap 1: procedure KIES(lijst) to KIES :lijst willekeurig een element kiezen uit meegegeven lijst en dit willekeurig gekozen element teruggeven. End Test dit met een willekeurige lijst!
Haiku-Generator Stap 1: procedure KIES(lijst) to KIES :lijst OP ITEM (1+(RANDOM COUNT :lijst)) :lijst end
Haiku-Generator • Haiku-Generator • -> vooraf gedefinieerde lijsten aanleggen van woorden • -> computer willekeurig woord laten kiezen uit lijsten • -> woorden op gepaste manier in 3 verzen zetten Gegeven lijsten A, B, C, D, E, F en G (next slide) KIES :lijst
Haiku-Generator Gegeven 7 lijsten met woorden: lijst A bevat: ochtend, morgen, dag, avond, nacht lijst B bevat: gloort, vervaagt, verdwijnt, ontwaakt lijst C bevat: nevel, mist, regen, lichtkrans lijst D bevat: veegt, maakt, vliegt, lacht, huilt, zwaait lijst E bevat: bloem, vlieg, vlinder, vlieger lijst F bevat: lucht, wolken, hemel, horizon lijst G bevat: open, schoon, droog, toe
Haiku-Generator Stap 2: procedure Haiku to haiku maak lijsten A, B, C, D, E, F en G aan Kies uit elke lijst een willekeurig element en plaats die als volgt in de verzen De (element uit A) (el. uit B) en in de (el. uit C) (el. uit D) een (el. uit E) de (el. uit F) (el. uit G) end
lijst A bevat: ochtend, morgen, dag, avond, nacht lijst B bevat: gloort, vervaagt, verdwijnt, ontwaakt lijst C bevat: nevel, mist, regen, lichtkrans lijst D bevat: veegt, maakt, vliegt, lacht, huilt, zwaait lijst E bevat: bloem, vlieg, vlinder, vlieger lijst F bevat: lucht, wolken, hemel, horizon lijst G bevat: open, schoon, droog, toe to haiku maak lijsten A, B, C, D, E, F en G aan Kies uit elke lijst een willekeurig element en plaats die als volgt in de verzen De (element uit A) (el. uit B) en in de (el. uit C) (el. uit D) een (el. uit E) de (el. uit F) (el. uit G) end
Haiku-Generator Stap 2: procedure Haiku to haiku MAKE “A [ochtend morgen dag avond nacht] MAKE “B [gloort vervaagt verdwijnt ontwaakt] MAKE “C [nevel mist regen lichtkrans] MAKE “D [veegt maakt vliegt lacht huilt veronderstelt zwaait] MAKE “E [bloem vlieg vlinder vlieger] MAKE “F [lucht wolken hemel horizon] MAKE “G [open schoon droog toe] PR (SE “De KIES :AKIES :B) PR (SE “en “in “de KIES :C) PR (SE KIES :D “een KIES :E “de KIES :F KIES :G) end
Haiku-Generator Uitbreiding: Genereer een aantal haiku-gedichten to haiku :aantal ? end
Haiku-Generator Uitbreiding: Genereer een aantal haiku-gedichten to haiku :aantal if :aantal < 1 [stop] MAKE "A [ochtend morgen dag avond nacht] … MAKE "G [open schoon droog toe] PR (SE "De KIES :A KIES :B) PR (SE "en "in "de KIES :C) PR (SE KIES :D "een KIES :E "De KIES :F KIES :G) PR " wait 30 haiku :aantal - 1 end