Python 04 - herhaling en treinprobleem

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

In deze les zitten 19 slides, met interactieve quiz 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


Slide 2 - Tekstslide

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

Meester doet voor

laptops blijven dicht

met Thonny open gaan we samen het programma schrijven

tussendoor stel ik vragen 

Slide 10 - Tekstslide

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

Deze slide heeft geen instructies

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

Slide 12 - Open vraag

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

Meester doet alwéééér voor

Kan het programma nòg meer verbeterd worden?!

Slide 14 - Tekstslide

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

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies

Trein probleem

Slide 17 - Tekstslide

Deze slide heeft geen instructies

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

Deze slide heeft geen instructies