Inleiding

1. Wat is een algoritme?

Een reeks stappen, die een specifiek probleem oplost, noemen we een algoritme. Anders gezegd:

Een algoritme is een reeks van stappen die één voor één uitgevoerd kunnen worden door een computer of door een mens. Door deze stappen te volgen los je een probleem op.

Denk bijvoorbeeld aan een kookboek. Weet jij hoe je een cake kan bakken? Een kookboek legt dit stap voor stap uit. Wanneer je al die stappen goed uitvoert dan zal je op het einde van een lekkere cake kunnen smullen.

Stel dat je je wil verdiepen in de edele kunst van origami (= Japanse vouwtechnieken). Je wil een prachtige zwaan maken door één blaadje papier te vouwen. Je dient hiervoor ook enkele stappen te doorlopen!

Maar niet alleen een kookboek maakt gebruik van algoritmen. Wanneer je een nieuwe dans leert, moet je stap voor stap alle bewegingen leren. Wanneer je al die verschillende pasjes en bewegingen in de juiste volgorde uitvoert, dan krijg jij een mooie dansvoorstelling. Het is nu net precies die opeenvolging van stappen wat wij een algoritme noemen.

Voor een computer werkt dit net zo. Door te programmeren geven we de computer opdrachten die één na één moeten uitgevoerd worden. Belangrijk: Enkel door goede instructies aan de computer te geven, kunnen we zeker zijn dat de computer precies doet wat we willen. Via dit project leer je hoe je dit kan doen.

Het algoritme is essentieel bij het programmeren!

2. Stappenplan bij elke opdracht

Via onderstaand stappenplan zullen we elk probleem binnen dit project aanpakken. Dit is sterk vergelijkbaar met het stappenplan dat je volgt bij het oplossen van een vraagstuk. Je moet dit steeds zien als een programma dat je maakt voor een gebruiker (= mens) om een probleem op te lossen.

1. Probleemdefinitie
  • Je leest de opgave grondig en tracht de opdracht te begrijpen.
2. Analyse van de opdracht
  • Gebeurtenis: hoe moet het programma starten?
  • Gegevens: welke gegevens hebben we ter beschikking vanuit de opgave? Welke gegevens moeten we tijdens het programma nog opvragen aan de gebruiker (= INVOER)? Welke gegevens moeten er getoond worden aan de gebruiker = UITVOER)?
  • Verwerking: welke (tussen)stappen zijn er nodig om tot het eindresultaat te komen?
3. Algoritme
  • Maak een stappenplan in draw.io. De volgorde van je stappen is zeer belangrijk. Je stappen moeten ook efficiënt zijn. In zo weinig mogelijk stappen tot de oplossing komen is het doel.
4. Programma
  • Je vertaalt je algoritme naar een programmeertaal. Wij zullen tijdens dit project werken met het programma Scratch.
5. Controle
  • Je test het programma uit!

3. Hoe maak ik een algoritme?

Een algoritme is een stappenplan. Dat stappenplan maken we in http://www.draw.io. We maken voor elk probleem een flowchart om tot een oplossing te komen. Onderstaand filmpje toont je hoe je met het platform moet werken.

GEZAMENLIJKE OPDRACHT 1

Schrijf een algoritme voor volgende probleemstelling.

Hoe hoog zal mijn telefoonrekening zijn?

Bekijk onderstaand instructiefilmpje. Maak de flowchart na in Draw.io en bewaar deze in je OneDrivemapje als een pdf-bestand (in map Algoritmisch denken!).

Werkwijze: Bestand -> exporteren als -> kies pdf

Bestandsnaam: telefoonrekening_Naam_Voornaam

GEZAMENLIJKE OPDRACHT 2 

Schrijf een algoritme voor volgende probleemstelling.

Bereken de oppervlakte van een cirkel. Formule: 3,14 (= Pi) x straal x straal 

Bekijk onderstaand instructiefilmpje. Maak de flowchart na in Draw.io en bewaar deze in je OneDrivemapje als een pdf-bestand (in map Algoritmisch denken!).

Werkwijze: Bestand -> exporteren als -> kies pdf

Bestandsnaam: oppervlaktecirkel_Naam_Voornaam

ZELFSTANDIGE OPDRACHT 1

Schrijf een algoritme voor onderstaande probleemstelling.

Vraag iemand naar zijn voornaam en heet hem daarna persoonlijk welkom. Tip: In dit algoritme vindt er geen proces plaats!

Maak gebruik van het stappenplan en bewaar je flowchart in je OneDrivemapje als een pdf-bestand.

Werkwijze: Bestand -> exporteren als -> kies pdf

Bestandsnaam: Welkom_Naam_Voornaam

ZELFSTANDIGE OPDRACHT 2

Schrijf een algoritme voor onderstaande probleemstelling.

Vraag de lengte (in meter) en het gewicht (in kg) op. Bereken hiermee het BMI voor een bepaalde persoon. Je gebruikt hiervoor de formule gewicht/(lengte in m x lengte in m). Zet het resultaat op het scherm met de juiste begeleidende tekst. Tip: Vraag de lengte en het gewicht in aparte stappen op van de gebruiker.

Maak gebruik van het stappenplan en bewaar je flowchart in je OneDrivemapje als een pdf-bestand.

Werkwijze: Bestand -> exporteren als -> kies pdf

Bestandsnaam: BMI_Naam_Voornaam

ZELFSTANDIGE OPDRACHT 3

Schrijf een algoritme voor volgende probleemstelling.

Je wilt wafels bakken, maar je weet niet welke ingrediënten je nodig hebt. Bereken de juiste hoeveelheden. Per persoon reken je op 50 g bloem, 1 ei, 120 cl melk en 10 g suiker. Het programma vraagt bij het begin voor hoeveel personen je wafels wilt bakken, berekent per ingrediënt hoeveel je nodig hebt en toont je als eindresultaat per ingrediënt de juiste hoeveelheden die je nodig hebt. Tip: Alles wat je opvraagt, berekent en toont gebeurt in aparte stappen!

Maak gebruik van het stappenplan en bewaar je flowchart in je OneDrivemapje als een pdf-bestand.

Werkwijze: Bestand -> exporteren als -> kies pdf

Bestandsnaam: Wafels_Naam_Voornaam

KLAAR MET ALLE ZELFSTANDIGE OPDRACHTEN?

Indien via de correcte uploadzone op Smartschool (Algoritmisch denken => algoritmes met Draw.io).