Python 04 - herhaling en treinprobleem

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

This lesson contains 19 slides, with interactive quiz 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


Slide 2 - Slide

This item has no instructions

Leerdoelen:
Na deze les kun je:
  • zelf een klein programma schrijven dat een probleem
     oplost met behulp van rekenen
  • stappen uitleggen die nodig zijn om een programma te
     schrijven






Slide 3 - 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.
Herhaling enkele delen
print() dit drukt een waarde af in de Shell
input() vraagt gebruiker om input (krijg je als string)
int() maakt van iets anders een integer (rond getal)
float() maakt van iets anders een integer (komma getal)
str() maakt van iets anders een string (een tekst)
Rekenoperatoren: +    -    *    **    /    //
variabelenaam = waarde

Slide 4 - Slide

This item has no instructions

class, functie, methode, attribuut
Resumé:
library en class: from datetime import datetime
functie: print(), input(), len(), str(), float()
methode: .lower(), .upper()
attribuut: .year, .month, .day, .days

Slide 5 - Slide

This item has no instructions

Wat kan ik met deze info?
Wat kunnen we nu met het zojuist herhaalde?

Bijvoorbeeld een programma maken...
Ons programma kan bijvoorbeeld deze puzzel oplossen:
  • 2 treinen beginnen 100 km van elkaar vandaan
  • ze rijden elk met 50 km p/u naar elkaar toe
  • over hoeveel minuten kruisen ze elkaar?

Slide 6 - Slide

This item has no instructions

Wat kan ik met deze info?
Wat kunnen we nu met het zojuist herhaalde?

Bijvoorbeeld een programma maken...
Ons programma kan bijvoorbeeld deze puzzel oplossen:
  • 2 treinen beginnen 100 km van elkaar vandaan
  • ze rijden elk met 50 km p/u naar elkaar toe
  • over hoeveel minuten kruisen ze elkaar?

Slide 7 - Slide

This item has no instructions

Trein probleem 1/4
Dit zijn mijn stappen (maar het kan ook anders):
  1. ik open mijn IDE
  2. ik zet relevante informatie als commentaar in de code 
  3. ik bedenk welke stappen nodig zijn en voeg die als commentaar toe aan mijn code
  4. ik begin stap voor stap de code te schrijven en test regelmatig om te kijken of het werkt zoals het hoort

Slide 8 - Slide

This item has no instructions

Trein probleem 2/4

Zo zien de uitgeschreven 
stappen er bij mij uit:

Bedenk als je dit leest
hoe 
de code eruit zou
kunnen 
zien

Slide 9 - Slide

This item has no instructions

Meester doet voor

laptops blijven dicht

met Thonny open gaan we samen het programma schrijven

tussendoor stel ik vragen 

Slide 10 - Slide

Heb een .py document klaarstaan met de volgende code:

# 2 treinen beginnen 100 km van elkaar vandaan
# - maak variabele voor afstand
# ze rijden met 50 km p/u naar elkaar toe
# - maak variabele voor snelheid elke trein
# over hoeveel minuten kruisen ze elkaar?
# - we weten snelheid van elke trein
# - we weten de afstand die ze SAMEN moeten afleggen
# - dus de berekening gaat ongeveer zo:
# uitkomst = afstand / ( snelheidTreinA + snelheidTreinB )
# - en we willen weten met hoeveel minuten dat is
# - dus we moeten vermenigvuldigen met 60 (uur naar minuten)
# klaar met rekenen, dus printen die hap (moet 60 zijn)

Opdracht #1
  1. We hebben het net
    samen gedaan
    maak het nu zelf
    (eerst zonder het
    commentaar) 
  2. Steek je hand op als
    je een probleem hebt
timer
3:00

Slide 11 - Slide

This item has no instructions

Overleg ZACHT met je buur hoe het programma verbeterd kan worden
Beschrijf het hieronder.
timer
1:00

Slide 12 - Open question

This item has no instructions

Trein probleem 3/4
Kan het programma verbeterd worden?
Ja, met input()!
Dan vragen we tenslotte de gebruiker om iets in te geven

Maar, er zit een addertje onder het gras... wat zou dat kunnen zijn?

Slide 13 - Slide

This item has no instructions

Meester doet alwéééér voor

Kan het programma nòg meer verbeterd worden?!

Slide 14 - Slide

Heb een .py document klaarstaan met de volgende code:

# 2 treinen beginnen 100 km van elkaar vandaan
# - maak variabele voor afstand
# ze rijden met 50 km p/u naar elkaar toe
# - maak variabele voor snelheid elke trein
# over hoeveel minuten kruisen ze elkaar?
# - we weten snelheid van elke trein
# - we weten de afstand die ze SAMEN moeten afleggen
# - dus de berekening gaat ongeveer zo:
# uitkomst = afstand / ( snelheidTreinA + snelheidTreinB )
# - en we willen weten met hoeveel minuten dat is
# - dus we moeten vermenigvuldigen met 60 (uur naar minuten)
# klaar met rekenen, dus printen die hap (moet 60 zijn)

Trein probleem 4/4
Het is niet erg als een programma maar 1 probleem oplost, maar het is natuurlijk wel erg als dat probleem vaste instellingen heeft en dus niet dynamisch is

Vaste instellingen in de code zijn over het algemeen geen goed idee! Dat noemen ze hard-coded, dat wil zeggen dat iets "vast" in de code staat... wees dynamisch!

Slide 15 - Slide

This item has no instructions

Opdracht #2
  1. Pas je trein-probleem
    programma aan zodat
    de gebruiker om input
    wordt gevraagd en de
    print "mooier" is
  2. Steek je hand op als
    je een probleem hebt
timer
4:00

Slide 16 - Slide

This item has no instructions

Trein probleem

Slide 17 - Slide

This item has no instructions

Leerdoelen:
Nu kun je:
  • zelf een klein programma schrijven dat een probleem
     oplost met behulp van rekenen
  • stappen uitleggen die nodig zijn om een programma te
     schrijven






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.

Slide 19 - Slide

This item has no instructions