Op een gestructureerde manier een programma maken dat een animatie uitbeeldt
Gestructureerd = in 4 fasen
Vorige les: eerder intuïtief
Lukt echter niet voor groot programma
4 fasen
Scenario
Ontwerp
Implementatie
Testen
Programma
Programma = verzameling acties die de computer vertellen wat hij moet doen
Voorbeeld: Word
Acties: woord onderlijnen, blad uitprinten, ...
Analoog: een script in de filmwereld (=programma) beschrijft wat elke acteur moet doen (=actie)
Actie = instructie
Voorbeeld: verzend mail
Filmwereld: steek vijand neer met mes
FASE 1: scenario
Scenario: beschrijft het probleem
In termen van animatie: probleem = verhaal
Geeft alle noodzakelijke details om
Initiële scène op te stellen
Sequentie van instructies op te stellen die animatie beschrijven
Maw: moet aanleiding geven tot antwoord op:
Welk verhaal wordt verteld?
Welke objecten zijn nodig?
Welke acties treden op?
Voorbeeld
Zie tekst
Vragen
Waarover gaat het verhaal?
Welke objecten zijn nodig?
Welke acties zijn nodig?
FASE 2: Ontwerp
Beschrijft oplossing voor het probleem mbv ‘verhaalbord’ (zie verder)
In termen van animatie: beschrijft op een gestructureerde manier de acties die nodig zijn
Gestructureerd = gemakkelijk om te zetten naar Alice-instructies
Acties => volgen uit scenario
Typisch: groot scenario wordt opgesplitst in kleinere scenario’s met elk eigen verhaalbord
Of nog: groot (complex) probleem wordt opgesplitst in kleinere problemen
Voorbeeld: maken van een auto
Verhaalbord
Visueel
Tekstueel
Visueel verhaalbord
Scenario wordt opsplitst in verschillende scènes
Elke scène is een momentopname, een snapshot
Bij elke scène hoort
Scènenummer
Actie die in scène gebeurt
Ev. geluid en tekst
Voorbeeld
Beginscène Sneeuwman probeert de aandacht te trekken Sneeuwvrouw draait zich om
Tekstueel verhaalbord
Is een soort ‘to do’-lijst
= een geordende lijst met acties
Voorziet een structuur die later gemakkelijk naar programmacode kan omgezet worden <-> visueel verhaalbord: voorziet visuele representatie
Voorbeeld: Ik wil een vriend begroeten die met zijn rug naar mij gedraaid staat (hij kijkt bv. naar een etalage )
Voorbeeld
Tekstueel verhaalbord:
Doe in volgorde (do in order)
Ik stap op de persoon af
Ik zeg ‘hallo’
De persoon draait zich om
Doe tegelijk (do together)
Ik geef de persoon een hand
De persoon geeft mij een hand
Tekstueel verhaalbord = algoritme
= lijst van acties om probleem op te lossen
Verhaal sneeuwman en sneeuwvrouw
Beginscène
FASE 3 en 4: implementatie en testen
Implementatie
= omzetten van het ontwerp naar programma
Testen
= controleren of het programma doet wat we willen dat het doet
Door het programma eens uit te voeren en te kijken of het overeenstemt met ons scenario en ontwerp
Kan op om het even welk moment gebeuren
Zowel tijdens als na implementatie
Commentaar
Commentaar
Bevindt zich bij een instructie of groep instructies in programma
Erbij gezet door de schrijver van het programma
Verduidelijkt die instructie of groep instructies voor iemand die programma-instructies leest
Enkel waar nodig
In Alice: met instructie ‘//’
Programmeren met Alice Les 2
DOEL
Functie
Vraagt informatie op over bepaalde eigenschappen van een object
Voorbeeld: hoe groot is de sneeuwman?
Expressie
Voert een bewerking uit
Voorbeeld: verschil berekenen tussen de lengte van de sneeuwman en sneeuwvrouw
Conditionele uitvoering
Een bepaalde instructie wordt maar uitgevoerd wanneer een bepaalde voorwaarde vervuld is
Voorbeeld: ALS de sneeuwman groter is dan de sneeuwvrouw DOE INSTRUCTIE: sneeuwman bukt zich en kust sneeuwvrouw
Functies
Vragen informatie op over eigenschappen van een object
Want enkel de meest voorkomende eigenschappen (bv. kleur) staan onder ‘properties’
Controlestructuren
Bepaalt de volgorde waarin instructies worden uitgevoerd
Do in order: voer instructies de een na de ander uit
Do together: voer instructies tegelijk uit
Conditionele uitvoering: een bepaalde instructie wordt maar uitgevoerd wanneer een bepaalde voorwaarde vervuld is. Wanneer dit niet zo is, wordt (eventueel) een andere instructie uitgevoerd
Voorbeeld: ALS het mooi weer is ga ik voetballen, ANDERS ga ik zwemmen
Conditionele uitvoering
Voorbeeld: ALS het mooi weer is ga ik voetballen, ANDERS ga ik zwemmen
Alice:
ALS => IF
ANDERS => ELSE
‘Het mooi weer is’ = conditie
Is conditie geldig is => ‘het mooi weer is’ = true
=>actie ‘ik ga voetballen’ wordt uitgevoerd
Is conditie ongeldig is => ‘het mooi weer is’ = false
=>actie ‘ik ga zwemmen’ wordt uitgevoerd
Comments