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

                      Python
1 / 40
volgende
Slide 1: Tekstslide
InformaticaWOStudiejaar 4,5

In deze les zitten 40 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 45 min

Onderdelen in deze les

                      Python

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Fundament
Kerndomein D

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



Slide 2 - Tekstslide

Deze slide heeft geen instructies

Fundament
eerst bibliotheek toevoegen en iets met turtle doen

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

Slide 3 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

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

Slide 11 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies

Wat wordt geprint?

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

Slide 33 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?

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

Slide 34 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?

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

Slide 35 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?

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

Slide 36 - Quizvraag

Deze slide heeft geen instructies

Wat wordt geprint?

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

Slide 37 - Quizvraag

Deze slide heeft geen instructies

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 - Quizvraag

Deze slide heeft geen instructies

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 - Tekstslide

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 - Tekstslide

Deze slide heeft geen instructies