Python 06 - 4.1, 4.2, 4.3 - while-loop, for-loop

                      Python
1 / 40
next
Slide 1: Slide
InformaticaWOStudiejaar 4,5

This lesson contains 40 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 45 min

Items in this lesson

                      Python

Slide 1 - Slide

This item has no instructions

Fundament
Kerndomein D

D. Python
Hoofdstuk 4.1 tmt 4.3
https://fundament-online.nl/leeromgeving/content.php?id=49106



Slide 2 - Slide

This item has no instructions

Fundament
eerst bibliotheek toevoegen en iets met turtle doen

daarna kunnen we if-else testen d.m.v. turtle

Slide 3 - Slide

This item has no instructions

Leerdoelen:
Na deze les kun je:
  • in je eigen woorden uitleggen wat iteratie is
  • uitleggen wat een for-loop (of for-lus) is
  • het doel van een for-loop beschrijven
  • uitleggen wat een while-loop (of while-lus) is
  • het doel van een while-loop beschrijven
  • de verschillen uitleggen tussen een while- en for-loop






Slide 4 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Turtle
Rechts staat een voorbeeld 
van een programma met de
turtle library

Wat zou hij hier tekenen?

Slide 5 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Turtle
Rechts staat een voorbeeld 
van een programma met de
turtle library

Wat zou hij hier tekenen?

een blauwe driehoek!

Slide 6 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Opdracht #1: pseudocode
Maak nu pseudocode om met Turtle een rood vierkant te tekenen van 100x100x100x100

Pseudocode: 
  • comments 
  • mensentaal
  • elke stap afzonderlijk!
timer
3:00

Slide 7 - Slide

This item has no instructions

Herhaling enkele delen
Een aantal dingen zijn essentieel bij Python:
  • de inspringing om een code blok aan te geven
     deze kan met tabs of spaties
  • het gebruik van : (zoals in een if-statement)

Slide 8 - Slide

This item has no instructions

Turtle: kopieer
# let op de hoofdletters! Python is case-sensitive
import turtle

sm = turtle.Screen()
sp = turtle.Turtle()
sp.color("blue") # dit aanpassen naar de kleur
sm.exitonclick()




Slide 9 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Opdracht: (pseudo)code
  1. Maak eerst de pseudocode voor een programma waarmee Turtle een zeshoek
    tekent met zijde 100

  2. Schrijf daarna alleen de code waarmee
    Turtle de zeshoek tekent


     
timer
5:00

Slide 10 - Slide

This item has no instructions

Efficiënt?
Een deel van het gemaakte programma ziet er ws ongeveer zo uit:
                                       Is dit wel efficiënt?
 

Slide 11 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Efficiënt?
Een deel van het gemaakte programma ziet er ws ongeveer zo uit:
                                       Is dit wel efficiënt?

                                       Nee, meerdere regels zijn
                                       precies hetzelfde!
                                       Oplossing: iteratie

Slide 12 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
iteratie 1/2
iteratie wordt ook wel herhaling, loop of lus genoemd

zie rechts voor een voorbeeld:


zijn deze exact hetzelfde?

Slide 13 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
iteratie 1/2
iteratie wordt ook wel herhaling, loop of lus genoemd

zie rechts voor een voorbeeld:


zijn deze exact hetzelfde?
Nee, de loop heeft extra .right

Slide 14 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Iteratie 2/2
2 verschillende loop-statements moet je kennen:
  • for-loop (een x aantal keer uitvoeren)
  • while-loop (uitvoeren zolang voorwaarde true is)

De volgende analogie kan handig zijn:
bij een wandeling blijf je stappen zetten tot je er bent (while-loop), en je stopt niet bij een vast aantal stappen

Slide 15 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
for-loop 1/6
De structuur van een for-loop is als volgt:


i en teller hierboven in een if-loop is de loopvariabele 

Een for-loop runt een bepaald aantal keer

Slide 16 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
for-loop 2/6
                                                               links staat code
                                                               rechts prints



welke verschillen zie je?
welke regels kun je hieruit afleiden?

Slide 17 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
for-loop 3/6
de functie range() is dus een beetje .... apart
hij heeft 1 of 2 parameters tussen de haakjes:

  • range(3)    > deze begint bij 0 en eindigt voor 3   = it: 3
  • range(1,5) > deze begint bij 1 en eindigt voor 5   = it: 4
  • range(2,4) > deze begint bij 1 en eindigt voor 4   = it: 2
  • range(2)    > deze begint bij 0 en eindigt voor 9   = it: 9


Slide 18 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
for-loop 4/6
De volgende regels kun je daarom stellen voor range():
als range 1 parameter heeft, bijv. range(1), dan
  • begint de loop bij 0
  • eindigt de loop VOOR het gegeven getal

Slide 19 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
for-loop 5/6
De volgende regels kun je daarom stellen voor range():
als range 2 parameters heeft, bijv. range(1,5), dan
  • begint de loop bij de eerste parameter en 
  • eindigt de loop VOOR de tweede parameter

(er is ook een derde parameter
maar die negeren we even)

Slide 20 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
for-loop 6/6
Een for-loop kan een break bevatten (meestal in combinatie met een if-statement), hiermee wordt de herhaling onderbroken

De getallen in de range kunnen ook variabelen zijn
Bij een for-loop wordt na elke iteratie bekeken of er nog een iteratie gedaan moet worden

Slide 21 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Opdracht: for-loop
Gebruik de for-loop in je code van de vorige opdracht 

Hieronder staat nog een keer de structuur:

for i in range( _______ ) :
timer
3:00

Slide 22 - Slide

This item has no instructions

Opdracht: for-loop
Als het je niet gelukt was, neem
dan de code rechts over:

En voer het uit.

Begrijp de code en voeg via
comments aantekeningen toe
timer
3:00

Slide 23 - Slide

This item has no instructions

while-loop 1/6
Een while-loop wordt uitgevoerd totdat de vergelijking niet meer waar is... het moet dus een vergelijking hebben!

Wat doet deze code?



Slide 24 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
while-loop 2/6
Het bedrag zal altijd op 100 blijven, omdat de variabele niet wordt aangepast!
Deze loop gaat altijd uitgevoerd worden zo! 

Dit noemen ze een infinite-loop (of oneindige lus) en het is een handige manier om je computer op te blazen

Slide 25 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
while-loop 3/6
De oplossing is eenvoudig: het bedrag van de variabele moet worden aangepast binnen de loop




Zo wordt elke iteratie de variabele geld met 10 verminderd 

Slide 26 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
while-loop 4/6
De while-loop voert wat er in het blok staat pas uit, als de voorwaarde True is ... dus hoeveel keer wordt door de code hieronder "kopen kopen, niet duur!" geprint?




Slide 27 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
while-loop 4/6
De while-loop voert wat er in het blok staat pas uit, als de voorwaarde True is ... dus hoeveel keer wordt door de code hieronder "kopen kopen, niet duur!" geprint?



11 keer!

Slide 28 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
while-loop 5/6
hoeveel keer wordt door de code hieronder "kopen kopen, niet duur!" geprint? (goed lezen!)




Slide 29 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
while-loop 5/6
hoeveel keer wordt door de code hieronder "kopen kopen, niet duur!" geprint? (goed lezen!)




10 keer!

Slide 30 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
while-loop 6/6
Je kunt een while-loop ook onderbreken voordat de vergelijking onwaar is (en daarmee voorkom je dus een infinite loop == oneindige lus)

Dat kun je doen met
break

Slide 31 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Opdracht #4
Maak een programma dat de volgende eisen heeft:
  1. je hebt 250 eenheden geld
  2. je verdient 12 eenheden geld per iteratie
  3. een while-loop 
  4. je programma berekent hoeveel iteraties nodig zijn om je nieuwe patas te kopen (die kosten 400 eenheden)
  5. print het aantal iteraties van stap 4 hierboven
timer
5:00

Slide 32 - Slide

This item has no instructions

Wat wordt geprint?

vgl1: 10 >= 10
vgl2: 10 == 10
A
eerste statement
B
tweede statement
C
laatste statement
D
fout

Slide 33 - Quiz

This item has no instructions

Wat wordt geprint?

vgl1: 9 >= 10
vgl2: 10 == 10
A
eerste statement
B
tweede statement
C
laatste statement
D
fout

Slide 34 - Quiz

This item has no instructions

Wat wordt geprint?

vgl1: 9 <= 10
vgl2: 10 == 10
A
eerste statement
B
tweede statement
C
laatste statement
D
fout

Slide 35 - Quiz

This item has no instructions

Wat wordt geprint?

vgl1: 9 != 9
vgl2: 10 == 10
A
eerste statement
B
tweede statement
C
laatste statement
D
fout

Slide 36 - Quiz

This item has no instructions

Wat wordt geprint?

vgl1: 9 != 9
vgl2: 10 == 10
A
eerste statement
B
tweede statement
C
laatste statement
D
fout

Slide 37 - Quiz

This item has no instructions

Wat wordt geprint?

vgl1: 9 != 9 and 7 < 10
vgl2: 10 == 10
A
eerste statement
B
tweede statement
C
laatste statement
D
fout

Slide 38 - Quiz

This item has no instructions

Leerdoelen:
Nu kun je:
  • in je eigen woorden uitleggen wat iteratie is
  • uitleggen wat een for-loop (of for-lus) is
  • het doel van een for-loop beschrijven
  • uitleggen wat een while-loop (of while-lus) is
  • het doel van een while-loop beschrijven
  • de verschillen uitleggen tussen een while- en for-loop






Slide 39 - Slide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.

Slide 40 - Slide

This item has no instructions