💾
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
  • Opdracht 1
  • Opdracht 2

Was this helpful?

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

Les 3: Functies maken

PreviousLes 2b: Loop in LoopsNextLes 4: Parameters

Last updated 4 years ago

Was this helpful?

Voordat je begint met dit hoofdstuk wil ik graag dat je de volgende puzzel gaat oplossen:

Bekijk daarna deze film van Jurjen:

We gaan in deze lesbrief aan de slag met het maken van functies. Je gebruikt al functies al je iets tekent met turtle:

  • turtle.forward() - een functie om de turtle vooruit te laten gaan

  • turtle.left() - draai de turtle

  • range(4) - maak een lijstje met de getallen 0, 1, 2 en 3

Eigenlijk alles waar je ()-jes achter zet in Python is een functie. Je weet dan niet hoe het programma de turtle beweegt, je weet wel wat er uiteindelijk gebeurt. We kunnen ook zelf functies maken. En dit is echt superhandig.

In het volgende figuur hebben we 3 vierkanten naast elkaar staan die niet aan elkaar vast zitten.

We kunnen dit doen door met de volgende code:

import turtle
for _ in range(4):    # Maak
  turtle.forward(20)  # een
  turtle.right(90)    # vierkant
  
turtle.penup()
turtle.forward(30)
turtle.left(90)
turtle.pendown()

for _ in range(4):    # Maak
  turtle.forward(20)  # een
  turtle.right(90)    # vierkant

turtle.penup()
turtle.right(90)
turtle.forward(30)
turtle.pendown()

for _ in range(4):    # Maak
  turtle.forward(20)  # een
  turtle.right(90)    # vierkant

Mooi, mooie code toch? Maar wat nu als we de vierkanten niet 20 maar 30 groot willen hebben? We moeten dan de gele regels code veranderen:

import turtle

for _ in range(4):   # Maak een vierkant
  turtle.forward(20)
  turtle.right(90)
  
turtle.penup()
turtle.forward(30)
turtle.left(90)
turtle.pendown()

for _ in range(4):   # Maak een vierkant
  turtle.forward(20)
  turtle.right(90)

turtle.penup()
turtle.right(90)
turtle.forward(30)
turtle.pendown()

for _ in range(4):   # Maak een vierkant
  turtle.forward(20)
  turtle.right(90)

Als we nog meer vierkanten zouden tekenen zouden we het op nog meer plekken moeten doen! Dubbele code is meestal niet handig. We maken nu een functie die alleen een vierkant tekent:

def vierkant():
  for _ in range(4):   # Maak een vierkant
    turtle.forward(20)
    turtle.right(90)

En op elke plek waar we een vierkant willen schrijven we:

vierkant()

in plaats van

  for _ in range(4):   # Maak een vierkant
    turtle.forward(20)
    turtle.right(90)

Dus dan krijgen we:

import turtle
turtle.speed(0)

def vierkant():
  for _ in range(4):
    turtle.forward(20)
    turtle.right(90)
    
vierkant()

turtle.penup()
turtle.forward(30)
turtle.left(90)
turtle.pendown()

vierkant()

turtle.penup()
turtle.right(90)
turtle.forward(30)
turtle.pendown()

vierkant()

Als je nu andere grootte vierkanten wilt, hoef je het maar op één plek te veranderen.

Opdracht 1

Maak deze opgave in Repl.it Bekijk de code hieronder en voer hem uit. Maak een functie waarmee je een driehoek tekent en verbeter daarmee de code. Uitdaging: Gebruik een loop en teken de driehoeken in maximaal 13 regels code.

import turtle
turtle.speed(0)

for _ in range(3):
  turtle.forward(20)
  turtle.right(120)
  
turtle.penup()
turtle.forward(30)
turtle.pendown()

for _ in range(3):
  turtle.forward(20)
  turtle.right(120)

turtle.penup()
turtle.forward(30)
turtle.pendown()

for _ in range(3):
  turtle.forward(20)
  turtle.right(120)
  
turtle.penup()
turtle.forward(30)
turtle.pendown()

for _ in range(3):
  turtle.forward(20)
  turtle.right(120)

Opdracht 2

Maak gebruik van functies om de volgende slinger te tekenen:

https://studio.code.org/s/artist/stage/1/puzzle/8