💾
Informatica programma regulier
  • Het vak
  • Kernprogramma
    • Periode 1
    • Periode 2
    • Periode 3
  • Kern Programma
    • Het Internet
      • 1: What is the Internet?
      • 2: Wires, Cables & Wifi
      • 3: IP Addresses & DNS
      • 4: Packets, Routing & Reliability
      • 5: HTTP & HTML
      • 6: Encryption & Public Keys
      • 7: Cybersecurity & Crime
      • 8: How Search Works
    • Informatie
      • Presentaties
      • Les 1: Introductie in Binaire Getallen
      • Les 2: Hexadecimale Getallen
      • Les 3: Logische Operaties
      • Les 4: Digitalisering van tekst
      • Les 5: Digitalisering van beeld
      • Les 6: Digitalisering van geluid
    • HTML-CSS
      • HTML-CSS-0
        • Les 1: HTML, de basis
        • Les 2: HTML, meer over body, plaatjes en links
        • Les 3: HTML, lijsten
        • Les 4: HTML, tabellen
        • Les 5: CSS, background-color, color
        • Les 6: HTML, iframes, Youtube of maps invoegen
      • HTML-CSS-1
        • Les 1: CSS koppelen aan je HTML-pagina
        • Les 2: Fonts, lettergrootte en stijl
        • Les 3: Kleuren en achtergrondplaatje
        • Les 4: Boxmodel en borders
        • Les 5: Margin, padding en development tools
        • Les 6: Elementen selecteren: classes en id's
        • Les 7: Pseudo-classes, (hyper)links en span-element
        • Les 8: Tabellen opmaken
        • Les 9: Lijsten opmaken (menu in je pagina)
      • HTML-CSS-2
        • Les 1: Structuur van je Pagina
        • Les 2: position in CSS
        • Les 3: Inline vs Block elementen
      • Eindopdracht [PET1]
        • Publiceren op Github pages
        • Beoordeling
      • Links
    • Python
      • start
      • Python-0
        • Untitled
        • Les 1: Je eerste tekening
        • Les 2: Herhalen
        • Les 2b: Loop in Loops
        • Les 3: Functies maken
        • Les 4: Parameters
        • Les 5: Loops & Range()
      • Python-1
        • Les 1: Print & variabelen
        • Les 2: Input en datatypes
        • Les 3: Vergelijkingen
        • Les 4: Booleaanse expressies
        • Les 5: For/While loops
        • Les 6: Functies
        • Les 7: While (+teller)
      • Eindopdrachten [PET2]
        • Python Kunst
          • Les 1: Functies in Functies
          • Les 2: Meerdere turtle's
          • De eindopdracht
        • Galgje
        • Wordmind
        • Het langste woord
    • Automaten
    • Algoritme
      • Presentaties
      • Les 1: Wat is een algoritme?
      • Les 2: Sorteren
      • Les 3: Sorteer Algoritmes
      • Les 4 & 5: Toren van Hanoi
    • Databases
      • Planner V5
      • Untitled
      • 1: Inleiding
        • Wat is een database?
        • Wat is SQL?
        • Onze database
      • 2: Selectie, voorwaarden en sorteren
        • Selectie en Sorteren
          • Distinct
          • Order By
        • De WHERE Clausule
          • Operator AND en OR
          • Between
          • IN
          • Not
          • Like
          • Is Null
          • Limit
        • Opdrachten
        • Antwoorden
      • 3: Functies
        • Vragen
        • Antwoorden
      • 4: Grouperen
        • Vragen
        • Antwoorden
      • 5: Joins
        • Vragen
        • Antwoorden
      • 6: Subqueries
        • Vragen
        • Antwoorden
      • 7: Tabellen Muteren
        • Create
        • Drop
        • Opdracht
        • Antwoord
      • 8: Gegevens toevoegen
        • Insert
        • Update
        • Delete
        • Opdrachten
        • Antwoorden
      • 9: Sleutel en Verwijzingen
        • Het strokendiagram
        • Foreign Key
      • Eindopdracht [PET3]
    • Presentatie
      • Presenatieschema
      • Beoordelingsmatrix
  • Keuzemodules
    • Computernetwerken
    • Web development
    • Kunstmatige Intelligentie
    • Embedded Systems
      • Planner
      • Les 1: Wat is een Arduino
      • Les 2: Blink
      • Les 3: Schakelaars
      • Les 4: Seriële monitor
      • Les 5: Analoge Sensoren
      • Les 6: Servo - beweging
      • Les 7: LCD display
      • Eindopdracht
    • Betoog
      • Voorbeelden
      • Stappenplan
      • Bouwplan
      • Bronvermelding
      • Beoordeling matrix
    • Internet of things
      • Planner
      • Eindopdracht
      • Beoordelingsmatrix
    • De meesterproef
      • Voorbeelden
      • Beoordelingschema
  • PTA
    • Havo
      • Cohort 2020
    • Vwo
      • Cohort 2020
    • Vrijstellingen - concept
    • Eindtermen
      • Domein A: Vaardigheden
      • Domein B: Grondslagen
      • Domein C: Informatie
      • Domein D: Programmeren
      • Domein E: Architectuur
      • Domein F: Interactie
      • Domein G: Algoritmiek, berekenbaarheid en logica
      • Domein H: Databases
      • Domein I: Cognitive computing
      • Domein J: Programmeerparadigma’s
      • Domein K: Computerarchitectuur
      • Domein L: Netwerken
      • Domein M: Physical computing
      • Domein N: Security
      • Domein O: Usability
      • Domein P: User experience
      • Domein Q: Maatschappelijke en individuele invloed van informatica
      • Domein R: Computational science
Powered by GitBook
On this page
  • Stap 1:
  • Stap 2:
  • Stap 3:
  • Opdracht 1:
  • Opdracht 2:
  • Opdracht 3:
  • Opdracht 4:
  • Meer dan 1 parameter meegeven
  • Opdracht 5:
  • Opdracht 6:

Was this helpful?

Export as PDF
  1. Kern Programma
  2. Python
  3. Python-0

Les 4: Parameters

PreviousLes 3: Functies makenNextLes 5: Loops & Range()

Last updated 4 years ago

Was this helpful?

Hieronder twee functies waarmee je een klein huisje kan maken met zijden van 50 pixels en aan de een functie waarmee je een groter huisje kan maken met zijden van 75 pixels:

def tekenhuis_50pix ():
  for i in range(4):
    turtle.forward(50)
    turtle.left(90)
  
  turtle.left(90)
  turtle.forward(50)
  turtle.right(30)
  turtle.forward(50)
  turtle.right(120)
  turtle.forward(50)
  turtle.right(30)
  turtle.forward(50)
  turtle.left(90)
  
  def tekenhuis_75pix ():
  for i in range(4):
    turtle.forward(75)
    turtle.left(90)
  
  turtle.left(90)
  turtle.forward(75)
  turtle.right(30)
  turtle.forward(75)
  turtle.right(120)
  turtle.forward(75)
  turtle.right(30)
  turtle.forward(75)
  turtle.left(90)

Als je kijkt naar het verschil tussen de twee bovenstaande functies, dan merk je dat er haast geen verschil is; het enige dat anders is, is het getal waarmee je aangeeft hoeveel pixels de turtle vooruit moet gaan! Waarom zouden we dan zoveel code moeten schrijven? Kan het niet korter?

Het antwoord is: JA!

Als je functies zoals forward, backward, right, left, goto en shape aanroept, dan moet je tussen de haakjes iets opschrijven. Bij forward bijvoorbeeld, moet je aangeven hoeveel de turtle vooruit moet gaan. Je zegt daarom turtle.forward(100) om aan te geven, dat hij 100 pixels vooruit moet gaan. Zou het nou niet makkelijker zijn om ook onze tekenhuis functie zo slim te maken, dat we slechts tekenhuis(100) hoeven te zeggen, om een groter huis met zijden van 100 pixels te maken? En als we tekenhuis(50) zeggen, dat hij dan een kleiner huis maakt, et cetera. Dit doen we als volgt:

Stap 1:

In de def zetten we eerst het woordje lengte tussen de haakjes (je mag ook een ander woord kiezen). Zie rechts. Het gedeelte dat nu met geel gemarkeerd is, is dus veranderd.

Wat je tussen de haakjes zet noem je een parameter of argument.

def tekenhuis (lengte):
  for i in range(4):
    turtle.forward(50)
    turtle.left(90)
  
  turtle.left(90)
  turtle.forward(50)
  turtle.right(30)
  turtle.forward(50)
  turtle.right(120)
  turtle.forward(50)
  turtle.right(30)
  turtle.forward(50)
  turtle.left(90)

Stap 2:

Vervolgens vervangen we het getal dat we tussen forward hebben gezet door het woordje lengte.

Dus overal waar de turtle 50 vooruit moet, gaat de turtle nu lengte vooruit.

def tekenhuis (lengte):
  for i in range(4):
    turtle.forward(lengte)
    turtle.left(90)
  
  turtle.left(90)
  turtle.forward(lengte)
  turtle.right(30)
  turtle.forward(lengte)
  turtle.right(120)
  turtle.forward(lengte)
  turtle.right(30)
  turtle.forward(lengte)
  turtle.left(90)

Stap 3:

Roep nu de functie aan met de gewenste lengte.

Wat er nu gebeurt: Als je tekenhuis(100) opgeeft, dan wordt het woordje lengte gelijkgemaakt aan het getal 100. Overal waar lengte staat wordt dan 100 ingevuld.

def tekenhuis (lengte):
  for i in range(4):
    turtle.forward(lengte)
    turtle.left(90)
  
  turtle.left(90)
  turtle.forward(lengte)
  turtle.right(30)
  turtle.forward(lengte)
  turtle.right(120)
  turtle.forward(lengte)
  turtle.right(30)
  turtle.forward(lengte)
  turtle.left(90)

tekenhuis(100)
tekenhuis(50)

Opdracht 1:

Maak een functie vierkant waarin je tussen de haakjes kan aangeven hoe groot het vierkant moet zijn. Je moet de functie dus als het volgt kunnen gebruiken:

vierkant(20) vierkant(50) vierkant(100) et cetera.

Maak de volgende tekening:

Opdracht 2:

Maak een functie driehoek() die driehoeken van verschillende lengtes kan tekenen. Uiteindelijk moet je drie driehoeken tekenen. Één met zijden van 20 pixels, één met zijden van 40 pixels en één met zijden van 60 pixels. Het moet er als volgt uitzien:

Opdracht 3:

Maak een programma dat het volgende tekent:

Opdracht 4:

Maak een functie envelop() die de parameter lengte moet meekrijgen. De aanroep envelop(50) zal dan het volgende plaatje tekenen:

Pas je programma zo aan, dat er drie enveloppen worden getekend. De enveloppen moeten van links naar rechts steeds groter worden. De groottes mag je zelf bepalen.

Meer dan 1 parameter meegeven

Nu gaan we een stukje verder met de uitleg … Als je een functie maakt, waar je een getal (of iets anders) aan kan meegeven, dan noem je dat een functie met een parameter. Dus de functie tekenhuis uit het hierboven gegeven voorbeeld heeft een parameter genaamd lengte. Nu heb je ook al kennisgemaakt met functies die meer dan één parameter hebben. Denk maar aan de turtle.goto functie. Daar moest je namelijk de x èn de y aan meegeven. Voorbeeld: turtle.goto(120,30) Hoe kun je er nou voor zorgen dat jouw functie ook meer dan één parameter kan gebruiken? Het antwoord is vrij eenvoudig: door voor de tweede een andere naam te verzinnen en dat vervolgens te gebruiken.

def tekenlijn(lengte, kleur):
  turtle.color(kleur)
  turtle.forward(lengte)

tekenlijn(10, "red")
tekenlijn(40, "green")

Kun je ook functies hebben met meer dan twee parameters? Ja! Zoveel als je wilt. Maar voor de functies die we in deze module moeten maken komt dat niet zo vaak voor…

Opdracht 5:

Breid de tekenhuis functie uit met een extra parameter waarmee je, naast de kleur, ook de lengte van de zijden van het huisje kan meegeven.

Opdracht 6:

Maak nu zelf een functie genaamd rechthoek die twee parameters meekrijgt: lengte en breedte. Roep ten slotte de functie als volgt aan:

rechthoek(10, 30)
rechthoek(15, 40)