190 likes | 349 Views
Programmeren met Alice. LES 1. DOEL. 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.
E N D
Programmeren met Alice LES 1
DOEL • 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