Skip to content

Activiteit

Oneven en even getallen

Gevorderd | MakeCode, Python | Knoppen, LED scherm | Algoritmes, Delen, Nummer & plaatswaarde, Selectie

Stap 1: Maak het

Wat is het?

Speel een wiskunde spel met jouw BBC micro:bit! Programmeer het om een willekeurig getal te kiezen van 1 tot 100. Je kunt beslissen of het getal oneven of even is, en dan je micro:bit gebruiken om te testen of je het bij het juiste eind hebt.

Deze video's laten zien wat je gaat maken en welke code je moet gebruiken:

Wat je gaat leren

Je leert hoe je een simpel wiskundig algoritme om kunt zetten in code, hoe je de selectie in computerprogramma's kunt gebruiken en hoe je een getal kunt delen en de rest ervan kunt gebruiken.

Als je liever wiskunde vaardigheden wil leren in plaats van te programmeren, dan is de kant-en-klare code direct beschikbaar om te downloaden. Klik op 'Open in MakeCode' of download het hex-bestand hieronder.

Zo werkt het

  • Dit programma is gebaseerd op een algoritme om te bepalen als een getal oneven of even is. Het algoritme zegt: deel het getal door twee en als de rest 0 is, is het getal even. Anders is het getal oneven.
  • Wanneer je op knop A drukt, kiest het programma een willekeurig getal tussen 1 en 100 en toont het op het LED-scherm van de micro:bit. (Het programma kiest telkens een willekeurig getal in plaats van hetzelfde getal om het spel leuk te maken om meer dan één keer te spelen.)
  • Als je op knop B drukt, deelt het programma het getal door 2 en toont het de rest ervan. 
  • Het programma gebruikt dan een ‘als....anders’-statement. Als de rest 0 is, verschijnt het woord ‘even’ op het micro:bit LED-scherm. Anders wordt het woord 'oneven' getoond.
  • Wanneer verschillende dingen kunnen gebeuren op basis van verschillende voorwaarden in een computerprogramma zoals dit, heet dat ook wel selectie. Je vindt belangrijke begrippen zoals selectie uitgelegd in onze vocabulaire posters en begrippenlijst.

Benodigdheden

  • micro:bit (of MakeCode simulator)
  • MakeCode of Python editor
  • batterijpakket (optioneel)

Step 2: Codeer het

1from microbit import *
2import random
3
4# An error could appear if you press button B without pressing button A first.
5# If the variable ‘number’ has not been assigned.
6# To work around this, the value of 101 is assigned to the variable 'number' 
7# at the start of the program. When you press button B the program tests 
8# first to see if the value of ‘number’ is 101 - if it is, it shows a helpful message.
9
10number = 101
11
12while True:
13    if button_a.was_pressed():
14        number = random.randint(1, 100)
15        display.scroll(number)   
16    if button_b.was_pressed():
17        if number == 101:
18            display.scroll('no number chosen yet') 
19        elif number%2 == 0:
20            display.scroll('even')   
21        else:
22            display.scroll('odd') 

Stap 3: Verbeter het

  • Vind een manier om het willekeurige getal meer dan één keer te laten zien.
  • Als je op knop B drukt voordat knop A wordt ingedrukt, zal er geen willekeurig nummer zijn gekozen en zal het LED-scherm het woord 'even' tonen. Kun je de code aanpassen zodat dit niet gebeurt? Kijk naar de Python-versie van het programma voor een idee hoe je dit zou kunnen doen.
  • Pas het programma aan om andere factoren van getallen te verkennen, bijvoorbeeld of 3 een factor van 100 is.