Vanaf deze week plaats ik elke week een oefening op mijn website. Ik kies een oefening die ik leuk vond om te maken en daarvan maak ik een versie in Blockly en/ of Python.

Deze week heb ik een oefening gevonden in de AdventOfCode van 2015. Advent of code brengt elk jaar in december een serie van 25 oefeningen. Elke dag maak je een oefening, zoals je een deurtje opent op een adventkalender. De oefeningen kun je maken in de programmeertaal van je keuze, je hoeft daar alleen het antwoord in te vullen.

De oefening van deze week is:

De kerstman probeert de pakjes te bezorgen in een hele grote flat, maar kan de juiste verdieping niet goed vinden omdat de instructies een beetje verwarrend zijn. Hij begint op de begane grond (verdieping 0) en volgt dan de instructies teken voor teken. 

Haakje openen "(”  betekent dat hij een verdieping omhoog moet en haakje sluiten “)” betekent dat hij een verdieping omlaag moet.

De flat is echt heel groot en heeft heel veel verdiepingen. Zowel boven de grond als onder de grond. Daardoor komt hij nooit op de bovenste of onderste verdieping.

Een paar voorbeelden:

  • (()) en()() hebben beiden als resultaat verdieping 0.
  • ((( en(()(()( hebben beiden als resultaat verdieping 3.
  • ))((((( heeft ook verdieping 3 als resultaat.
  • ()) en ))( hebben beiden als resultaat verdieping -1.
  • ))) en )())()) hebben beiden als resultaat verdieping -3.

Op welke verdieping moet de kerstman zijn als hij de instructies volgt?

Je kunt de oefening hier maken. De inputfile met gegevens staat er al in. Heb je de gegevens per ongeluk gewist? Dan kun je ze hier opnieuw downloaden.

Tip: ik gebruik een paar variabelen om mijn oplossing te maken. Wil je weten hoe je een variabele gebruikt, bekijk dan deze video.

Er zijn twee opdrachten:

  1. Op welke vloer komt de kerstman terecht als hij alle instructies heeft gevolgd? Een mogelijke oplossing vind je hier.
  2. Bij welk teken in de instructie komt de kerstman voor de eerste keer in de kelder? Een mogelijke oplossing vind je hier.

Een video met de uitleg van wat ik gedaan heb, vind je hier.

Er zijn als je gaat programmeren altijd meerdere oplossingen mogelijk. Het kan dus prima zijn dat jouw oplossing ook goed is, ook als is hij anders dan hierboven. Het gaat erom dat er hetzelfde antwoord uitkomt.

Heb je nog weinig ervaring met programmeren? Deze oefening is in Blockly gemaakt. Je hoeft dan nog geen echte code te schrijven, maar gebruikt blokken met duidelijke tekst in plaats van programmeren. Het is ook nog eens goed voor je Engels, want dat is de taal waarin de oefening gemaakt is.

Starterstip: open het scherm waar je de oefening kunt maken. Open een tweede tab met de oplossing. Probeer nu het programma na te maken en kijk of er hetzelfde antwoord uitkomt.

Wil je elke week een herinnering als de nieuwe oefning beschikbaar is? Vul dan hieronder het formulier in (graag de gegevens van een volwassene gebruiken in verband met de AVG. Je kunt mijn algemene voorwaarden en privacyverklaring lezen onderaan mijn website.)

Liefs Esther

 

 

Ja ik wil graag een herinnering als er een nieuwe oefening online is!

0 reacties