02X: Extra Oefening

Deze les, met extra oefeningen over de functies min en max, is optioneel. Als je bij een opgave vast komt te zitten, sla deze dan over en bekijk de volgende opgave. Bekijk de overgeslagen opgave later nog eens.

Een complexe uitdrukking vereenvoudigen

Meerkeuze-opgave: Vereenvoudigen
Wat is de vereenvoudiging van de volgende uitdrukking?

max(x - 3, min(x + 10, x + 5))
Correct! Omdat x + 5 altijd kleiner is dan x + 10, kunnen we min(x + 10, x + 5) vereenvoudigen tot alleen maar x + 5. Dan werken we verder en wordt de uitdrukking max(x - 3, x + 5). Omdat x + 5 altijd het maximum is van de twee getallen, is dat het resultaat.

Een eenvoudige expressie complexer maken

Programmeeroefening: Complication
Neem aan dat het nakijkprogramma twee variabelen A en B voor je definieert. Schrijf een programma dat de waarde afdrukt van

min(A, B)
Maar er is een beperking: je mag in je programma niet de functie min gebruiken. In plaats daarvan moet je de functie max op een slimme manier gebruiken teneinde min na te bootsen.  Hint, Methode 1Hint, Methode 2

Betaalrekenmachine

Programmeeroefening: Betaalrekenmachine
Een credit card-bedrijf berekent de  "minimale betaling" volgens de volgende regel: de minimale betaling is gelijk aan ofwel € 10 of 2,1% van het openstaand saldo van de klant, indien dat meer is, maar als dit hoger is dan het openstaand saldo, dan is de minimale betaling het openstaande saldo. Schrijf een programma dat de minimale betaling berekent door gebruik te maken van de functies min en max. Neem daarbij aan dat de variabele saldo het openstaand saldo van de klant weergeeft. Je programma hoeft niet het euroteken te printen.
Voorbeeld 1: als je saldo gelijk is aan 1000, dan dient je programma 21 te printen.
Voorbeeld 2: als je saldo gelijk is aan 600, dan dient je programma 12.6 te printen.
Voorbeeld 3: als je saldo gelijk is aan 25, dan dient je programma 10 te printen.
Voorbeeld 4: als je saldo gelijk is aan 8, dan dient je programma 8 te printen.
Hint

Versleep-oefening: sorteren

De laatste opgave is een uitdagende opgave, over het sorteren van getallen maar wel op een vreemde manier. Er zijn betere, eenvoudigere en snellere  manieren om te sorteren die je kunt leren nadat je onze lessen hebt doorgewerkt.

Als je vast komt te zitten, sla dan deze opgave voorlopig over. Je kunt het later nog een keer doen. Bovendien kun je bijhouden wat je wel en niet hebt opgelost door te kijken op de pagina Mijn voortgang.

Volgorde-oefening: Versleep-oefening: Sorteren
Versleep-oefening: sorteren: zorg ervoor dat het programma de drie getallen x, y en z sorteert in opklimmende grootte waarbij x de kleinste waarde heeft, y de daaropvolgende waarde heeft, en z de grootste waarde heeft.
Sleep met je muis de regels in de juiste volgorde. Klik voor een hint.
  • x = min(x, y)
  • y = tmp
  • tmp = max(y, z)
  • x = min(x, y)
  • y = tmp
  • tmp = max(x, y)
  • z = tmp
  • tmp = max(x, y)
  • y = min(y, z)

Ga verder met les 3!