1 Programmeren met Alice LES 1. 2 DOEL Op een gestructureerde manier een programma maken dat een...

19
1 Programmeren met Programmeren met Alice Alice LES 1 LES 1

Transcript of 1 Programmeren met Alice LES 1. 2 DOEL Op een gestructureerde manier een programma maken dat een...

Page 1: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

11

Programmeren met AliceProgrammeren met Alice

LES 1LES 1

Page 2: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

22

DOELDOEL

Op een gestructureerde manier een programma Op een gestructureerde manier een programma maken dat een animatie uitbeeldtmaken dat een animatie uitbeeldt Gestructureerd = in 4 fasenGestructureerd = in 4 fasen Vorige les: eerder intuïtiefVorige les: eerder intuïtief

Lukt echter niet voor groot programmaLukt echter niet voor groot programma

4 fasen4 fasen ScenarioScenario OntwerpOntwerp ImplementatieImplementatie TestenTesten

Page 3: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

33

ProgrammaProgramma

Programma = verzameling acties die de computer Programma = verzameling acties die de computer vertellen wat hij moet doenvertellen wat hij moet doen Voorbeeld: WordVoorbeeld: Word

Acties: woord onderlijnen, blad uitprinten, ...Acties: woord onderlijnen, blad uitprinten, ...

Analoog: een script in de filmwereld (=programma) Analoog: een script in de filmwereld (=programma) beschrijft wat elke acteur moet doen (=actie)beschrijft wat elke acteur moet doen (=actie)

Actie = instructieActie = instructie Voorbeeld: verzend mailVoorbeeld: verzend mail Filmwereld: steek vijand neer met mesFilmwereld: steek vijand neer met mes

Page 4: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

44

FASE 1: scenarioFASE 1: scenario

Scenario: beschrijft het probleemScenario: beschrijft het probleem In termen van animatie: probleem = verhaalIn termen van animatie: probleem = verhaal

Geeft alle noodzakelijke details omGeeft alle noodzakelijke details om Initiële scène op te stellenInitiële scène op te stellen Sequentie van instructies op te stellen die animatie Sequentie van instructies op te stellen die animatie

beschrijvenbeschrijven Maw: moet aanleiding geven tot antwoord op:Maw: moet aanleiding geven tot antwoord op:

Welk verhaal wordt verteld?Welk verhaal wordt verteld? Welke objecten zijn nodig?Welke objecten zijn nodig? Welke acties treden op?Welke acties treden op?

Page 5: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

55

VoorbeeldVoorbeeld

Zie tekstZie tekst VragenVragen

Waarover gaat het verhaal?Waarover gaat het verhaal? Welke objecten zijn nodig?Welke objecten zijn nodig? Welke acties zijn nodig?Welke acties zijn nodig?

Page 6: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

66

FASE 2: OntwerpFASE 2: Ontwerp Beschrijft oplossing voor het probleem mbv Beschrijft oplossing voor het probleem mbv

‘verhaalbord’ (zie verder)‘verhaalbord’ (zie verder) In termen van animatie: beschrijft op een gestructureerde In termen van animatie: beschrijft op een gestructureerde

manier de acties die nodig zijnmanier de acties die nodig zijn Gestructureerd = gemakkelijk om te zetten naar Alice-instructiesGestructureerd = gemakkelijk om te zetten naar Alice-instructies Acties => volgen uit scenarioActies => volgen uit scenario

Typisch: groot scenario wordt opgesplitst in kleinere Typisch: groot scenario wordt opgesplitst in kleinere scenario’s met elk eigen verhaalbordscenario’s met elk eigen verhaalbord Of nog: groot (complex) probleem wordt opgesplitst in Of nog: groot (complex) probleem wordt opgesplitst in

kleinere problemenkleinere problemen Voorbeeld: maken van een autoVoorbeeld: maken van een auto

VerhaalbordVerhaalbord VisueelVisueel TekstueelTekstueel

Page 7: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

77

Visueel verhaalbordVisueel verhaalbord

Scenario wordt opsplitst in verschillende Scenario wordt opsplitst in verschillende scènesscènes Elke scène is een momentopname, een snapshotElke scène is een momentopname, een snapshot Bij elke scène hoortBij elke scène hoort

ScènenummerScènenummer Actie die in scène gebeurtActie die in scène gebeurt Ev. geluid en tekstEv. geluid en tekst

Page 8: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

88

VoorbeeldVoorbeeldBeginscène

Sneeuwman probeert de aandacht te trekken

Sneeuwvrouw draait zich om

Page 9: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

99

Tekstueel verhaalbordTekstueel verhaalbord

Is een soort ‘to do’-lijstIs een soort ‘to do’-lijst = een geordende lijst met acties= een geordende lijst met acties

Voorziet een structuur die later gemakkelijk Voorziet een structuur die later gemakkelijk naar programmacode kan omgezet worden <-> naar programmacode kan omgezet worden <-> visueel verhaalbord: voorziet visuele visueel verhaalbord: voorziet visuele representatierepresentatie

Voorbeeld: Ik wil een vriend begroeten die Voorbeeld: Ik wil een vriend begroeten die met zijn rug naar mij gedraaid staat (hij kijkt met zijn rug naar mij gedraaid staat (hij kijkt bv. naar een etalage )bv. naar een etalage )

Page 10: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1010

VoorbeeldVoorbeeld

Tekstueel verhaalbord:Tekstueel verhaalbord: Doe in volgorde (do in order)Doe in volgorde (do in order)

Ik stap op de persoon afIk stap op de persoon af Ik zeg ‘hallo’Ik zeg ‘hallo’ De persoon draait zich omDe persoon draait zich om

Doe tegelijk (do together)Doe tegelijk (do together) Ik geef de persoon een handIk geef de persoon een hand De persoon geeft mij een handDe persoon geeft mij een hand

Tekstueel verhaalbord = algoritmeTekstueel verhaalbord = algoritme = lijst van acties om probleem op te lossen= lijst van acties om probleem op te lossen

Page 11: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1111

Verhaal sneeuwman en Verhaal sneeuwman en sneeuwvrouwsneeuwvrouw

BeginscèneBeginscène

Page 12: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1212

FASE 3 en 4: implementatie en FASE 3 en 4: implementatie en testentesten

ImplementatieImplementatie = omzetten van het ontwerp naar programma= omzetten van het ontwerp naar programma

TestenTesten = controleren of het programma doet wat we = controleren of het programma doet wat we

willen dat het doetwillen dat het doet Door het programma eens uit te voeren en te kijken of Door het programma eens uit te voeren en te kijken of

het overeenstemt met ons scenario en ontwerphet overeenstemt met ons scenario en ontwerp Kan op om het even welk moment gebeurenKan op om het even welk moment gebeuren

Zowel tijdens als na implementatieZowel tijdens als na implementatie

Page 13: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1313

CommentaarCommentaar

Commentaar Commentaar Bevindt zich bij een instructie of groep instructies Bevindt zich bij een instructie of groep instructies

in programmain programma Erbij gezet door de schrijver van het programmaErbij gezet door de schrijver van het programma Verduidelijkt die instructie of groep instructies Verduidelijkt die instructie of groep instructies

voor iemand die programma-instructies leestvoor iemand die programma-instructies leest Enkel waar nodigEnkel waar nodig

In Alice: met instructie ‘//’In Alice: met instructie ‘//’

Page 14: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1414

Programmeren met AliceProgrammeren met Alice

Les 2Les 2

Page 15: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1515

DOELDOEL FunctieFunctie

Vraagt informatie op over bepaalde eigenschappen van een Vraagt informatie op over bepaalde eigenschappen van een objectobject

Voorbeeld: hoe groot is de sneeuwman?Voorbeeld: hoe groot is de sneeuwman? ExpressieExpressie

Voert een bewerking uitVoert een bewerking uit Voorbeeld: verschil berekenen tussen de lengte van de sneeuwman Voorbeeld: verschil berekenen tussen de lengte van de sneeuwman

en sneeuwvrouwen sneeuwvrouw Conditionele uitvoeringConditionele uitvoering

Een bepaalde instructie wordt maar uitgevoerd wanneer Een bepaalde instructie wordt maar uitgevoerd wanneer een bepaalde voorwaarde vervuld iseen bepaalde voorwaarde vervuld is

Voorbeeld: ALS de sneeuwman groter is dan de sneeuwvrouw Voorbeeld: ALS de sneeuwman groter is dan de sneeuwvrouw DOE INSTRUCTIE: sneeuwman bukt zich en kust sneeuwvrouwDOE INSTRUCTIE: sneeuwman bukt zich en kust sneeuwvrouw

Page 16: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1616

FunctiesFuncties

Vragen informatie op over eigenschappen van Vragen informatie op over eigenschappen van een objecteen object

Want enkel de meest voorkomende Want enkel de meest voorkomende eigenschappen (bv. kleur) staan onder eigenschappen (bv. kleur) staan onder ‘properties’‘properties’

Page 17: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1717

ControlestructurenControlestructuren

Bepaalt de volgorde waarin instructies worden Bepaalt de volgorde waarin instructies worden uitgevoerduitgevoerd Do in order: voer instructies de een na de ander uitDo in order: voer instructies de een na de ander uit Do together: voer instructies tegelijk uitDo together: voer instructies tegelijk uit Conditionele uitvoering: een bepaalde instructie Conditionele uitvoering: een bepaalde instructie

wordt maar uitgevoerd wanneer een bepaalde wordt maar uitgevoerd wanneer een bepaalde voorwaarde vervuld is. Wanneer dit niet zo is, voorwaarde vervuld is. Wanneer dit niet zo is, wordt (eventueel) een andere instructie uitgevoerdwordt (eventueel) een andere instructie uitgevoerd

Voorbeeld: ALS het mooi weer is ga ik voetballen, Voorbeeld: ALS het mooi weer is ga ik voetballen, ANDERS ga ik zwemmenANDERS ga ik zwemmen

Page 18: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1818

Conditionele uitvoeringConditionele uitvoering

Voorbeeld: ALS het mooi weer is ga ik Voorbeeld: ALS het mooi weer is ga ik voetballen, ANDERS ga ik zwemmenvoetballen, ANDERS ga ik zwemmen

Alice:Alice: ALS => IFALS => IF ANDERS => ELSEANDERS => ELSE ‘‘Het mooi weer is’ = conditieHet mooi weer is’ = conditie

Is conditie geldig is => ‘het mooi weer is’ = trueIs conditie geldig is => ‘het mooi weer is’ = true =>actie ‘ik ga voetballen’ wordt uitgevoerd=>actie ‘ik ga voetballen’ wordt uitgevoerd

Is conditie ongeldig is => ‘het mooi weer is’ = falseIs conditie ongeldig is => ‘het mooi weer is’ = false =>actie ‘ik ga zwemmen’ wordt uitgevoerd=>actie ‘ik ga zwemmen’ wordt uitgevoerd

Page 19: 1 Programmeren met Alice LES 1. 2 DOEL  Op een gestructureerde manier een programma maken dat een animatie uitbeeldt  Gestructureerd = in 4 fasen

1919

Conditionele uitvoeringConditionele uitvoering