02X: Extra Oefening

Deze les, waarin extra oefeningen over de min en max functies, is optioneel. Wanneer 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  min functie gebruiken. In plaats daarvan, moet je de max functie 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 (balance) 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 balance het openstaand saldo van de klant weergeeft. Je programma hoeft niet het euroteken te printen.
Voorbeeld 1: als je openstaand saldo gelijk is aan 1000, dan dient je programma 21 te printen.
Voorbeeld 2: als je openstaand saldo gelijk is aan 600, dan dient je programma 12.6 te printen.
Voorbeeld 3: als je openstaand saldo gelijk is aan 25, dan dient je programma 10 te printen.
Voorbeeld 4: als je  openstaand saldo gelijk is aan 8, dan dient je programma 8 te printen.
Hint

Sorteer drag and drop

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.

Scramble Opgave: Sorteer drag and drop
Sorteer drag and drop: 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.
Drag and drop met je muis de regels in de juiste volgorde. Klik voor een hint.
  • z = tmp
  • y = tmp
  • x = min(x, y)
  • tmp = max(y, z)
  • y = min(y, z)
  • y = tmp
  • tmp = max(x, y)
  • tmp = max(x, y)
  • x = min(x, y)

Ga verder met les 3!