Les 1 - Introductie algoritmen

Algoritmen
Een introductie
1 / 35
next
Slide 1: Slide
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

This lesson contains 35 slides, with interactive quizzes, text slides and 1 video.

time-iconLesson duration is: 50 min

Items in this lesson

Algoritmen
Een introductie

Slide 1 - Slide

Leerdoel
Aan het eind van deze les weet je wat een algoritme is en kan je dit uitleggen aan de hand van een voorbeeld met het sorteren van kaarten, kan je uitleggen waarom je een algoritme het beste in een schema kan uitwerken en kan je bepalen of een algoritme goed of slecht is.

Slide 2 - Slide

Wat is een algoritme?
Een algoritme is een verzameling instructies om een probleem op te lossen of een taak uit te voeren.

  • data sorteren
  • routes vinden
  • online zoeken
  • optimale spoorbezetting berekenen

Slide 3 - Slide

Filmfragment Exact Instructions
Bekijk het filmfragment. Wat heeft deze video met een algoritme te maken?

Ehm... Wat is ook alweer een algoritme?

Een algoritme is een verzameling instructies om een probleem op te lossen of een taak uit te voeren.

Slide 4 - Slide

Slide 5 - Video

Wat heeft deze video met algoritmes te maken?
Uit de video blijkt dat...
A
Bij het volgen van instructies duidelijkheid van belang is
B
Bij het volgen van instructies zorgvuldigheid van belang is
C
Bij het volgen van instructies de volgorde van belang is
D
Het opvolgen van instructies moeilijker is dan het lijkt

Slide 6 - Quiz

Filmfragment 1: kaarten sorteren
Bekijk het filmfragment. Bedenk waarom dit geen goed voorbeeld is van een algoritme.


Wat is ook alweer een algoritme?
Een algoritme is een verzameling instructies om een probleem op te lossen of een taak uit te voeren.
Sorteeralgoritme

Slide 7 - Slide

Filmfragment 1: kaarten sorteren
Stappen die werden gevolgd:

1. Verdeel de kaarten over vier stapels. Voor elke kleur een aparte stapel.
2. Sorteer daarna per stapel de kaarten met de hand.

Zijn allebei de stappen duidelijk?

Slide 8 - Slide

Zijn beide stappen duidelijk?
A
Stap 1 wel, stap 2 niet
B
Stap 2 wel, stap 1 niet
C
Stap 1 en 2 zijn beide duidelijk
D
Stap 1 en 2 zijn beide niet duidelijk

Slide 9 - Quiz

Filmfragment 1: kaarten sorteren
Stappen die werden gevolgd:

1. Verdeel de kaarten over vier stapels. Voor elke kleur een aparte stapel.
2. Sorteer daarna per stapel de kaarten met de hand.

Stap 1 is duidelijk
Stap 2 is niet duidelijk

Hoe ga je in stap 2 dan sorteren?

Slide 10 - Slide

Eenduidigheid
Deze strategie uit het filmfragment is nog geen eenduidig algoritme. Dat is het pas als er in elke stap duidelijk is wat je moet doen en hoe je dat moet doen. Algoritmen die door een computer worden uitgevoerd, moeten altijd eenduidig zijn.

Slide 11 - Slide

Filmfragment 2: verdeelfase
Het volgende filmfragment zal 2 keer worden afgespeeld. 



Probeer de eerste keer gewoon goed op te letten wat er gedaan wordt.

Probeer bij de tweede keer op te schrijven welke instructie(s) worden gevolgd.
sorteeralgoritme

Slide 12 - Slide

Filmfragment 2: verdeelfase
  • Pak de eerste kaart en leg die zichtbaar op tafel. Dit wordt de eerste stapel.
  • Pak de volgende kaart. Kijk of de kaart een grotere waarde heeft dan de kaart op de eerste stapel.
          - Zo ja, dan leg je de kaart rechts naast de eerste stapel. Dit wordt een nieuwe stapel.
          - Zo nee, dan leg je de kaart bovenop de eerste stapel.
  • Doe voor alle volgende kaarten het volgende:
          - Zoek alle stapels waarvan de topkaart even groot is of groter dan de kaart
             die je vasthoudt.
          - Zijn die stapels er? Leg je kaart dan op de stapel met de kleinste topkaart.
          - Is je kaart groter dan alle topkaarten? Begin dan een nieuwe stapel aan
            de rechterkant.

Slide 13 - Slide

A) Alleen rechts van de bestaande stapels kunnen nieuwe stapels gevormd worden
B) Het aantal stapels staat vanaf het begin vast
A
A is waar, B is niet waar
B
B is waar, A is niet waar
C
A en B zijn waar
D
A en B zijn niet waar

Slide 14 - Quiz

Schematiseren: duidelijk en overzichtelijk

Slide 15 - Slide

Filmfragment 3: verzamelfase
Bekijk het fragment.



Schrijf uit wat het algoritme is van de verzamelfase.

Maak het bijbehorende schema van de verzamelfase.
Sorteeralgoritme
timer
2:00

Slide 16 - Slide

Filmfragment 3: verzamelfase
Oplossing

Slide 17 - Slide

Eenduidigheid

De video's laten een voorbeeld zien van een eenduidig algoritme. Bij elke stap weet je precies wat je moet doen. Daardoor zou een computer (bijvoorbeeld een robot) dit algoritme ook kunnen uitvoeren.

Slide 18 - Slide

Je bent klaar met de verdeelfase (fase 2). Waar ligt nu de kaart met de laagste waarde?
A
Deze kaart kan overal liggen.
B
Deze kaart zal nu op de meest linker stapel liggen.
C
Deze kaart kan op alle stapels links van het midden liggen.
D
Deze kaart zal op de middelste stapel liggen.

Slide 19 - Quiz

Waarom ligt de kaart met de laagste waarde op de meest linker stapel?  

Omdat alle stapels gesorteerd zijn, zal de kleinste kaart bovenop één van de stapels liggen. Omdat de topkaarten gesorteerd zijn, zal de laagste kaart helemaal links liggen. De laagste kaart ligt dus bovenop de eerste stapel.

Slide 20 - Slide

Wat is een goed algoritme?
  • Het geeft een correcte oplossing


  • Het is efficiënt

Slide 21 - Slide

Efficiënt algoritme
  •  Efficiëntie wordt bepaald door het aantal stappen

  • De efficiëntie is afhankelijk van de situatie

Slide 22 - Slide

Efficiëntie bepalen
Aan de hand van drie scenario's:

  1. Bestcasescenario
    De beste situatie
  2. Worstcasescenario
    De slechtste situatie
  3. Averagecasescenario
    Een gemiddelde situatie

Slide 23 - Slide

Voorbeeld
Stel, je moet een getal tussen de 1 en de 100 raden. 

Je krijgt alleen te horen of het getal groter, kleiner dan wel geraden is.
Hoe goed is een algoritme?

Slide 24 - Slide

De drie scenario's
Stel dat je gewoon alle getallen op gaat noemen: 1, 2, 3, enz.

Bestcasescenario
1 is het bestcasescenario
Worstcasescenario
100 is het worstcasescenario
Averagecasescenario
Gemiddeld 50 keer raden

Slide 25 - Slide

De drie scenario's
Stel dat je steeds middelste getal kiest

Bestcasescenario
het getal 50, die raad je in één keer
Worstcasescenario
50 - 25 - 13 - 7 - 4 - 2 - 1 (dus 7 keer raden)
Averagecasescenario
Moeilijk te bepalen.

Slide 26 - Slide

Als het aantal getallen waaruit je mag raden toeneemt, stijgt het aantal keer dat je moet raden niet heel erg.

Hoe vaak moet je maximaal raden voor een getal tussen de 1 en 1.000?
A
10
B
100
C
500
D
1000

Slide 27 - Quiz

Hoe vaak moet je maximaal raden voor een getal tussen de 1 en 1.000?  

Je halveert in elke stap het aantal getallen dat over is:
1000 – 500 – 250 – 125 – 63 – 32 – 16 – 8 – 4 – 2 – 1

dat is in 10 stappen. (Of: log2(1000) ≈ 9,97, dus 10 stappen)

Slide 28 - Slide

Hoe vaak moet je maximaal raden voor een getal tussen de 1 en 1.000.000? Leg uit waarom.
timer
1:00

Slide 29 - Open question

Hoe vaak moet je maximaal raden voor een getal tussen de 1 en 1.000.000?  

Bedenk van te voren of je tijdens het halveren kiest voor afronden naar boven of naar beneden. (Bijvoorbeeld 15.625 ÷ 2 = 7.813 of 15.625 ÷ 2 = 7.812). Als je dit correct toepast dan kun je in maximaal 20 stappen (log2(1.000.000) ≈ 19,93) ieder getal tussen de 1 en de 1.000.000 raden.




Hieronder staat de rij uitgewerkt met afronden naar beneden:
1.000.000 – 500.000 – 250.000 – 125.000 – 62.500 – 31.250 – 15.625 – 7.812 – 3.906 – 1.953 – 976 – 488 – 244 – 122 – 61 – 30 – 15 – 7 – 3 – 1

Slide 30 - Slide

Leerdoel gehaald?
Aan het eind van deze les weet je wat een algoritme is en kan je dit uitleggen aan de hand van een voorbeeld met het sorteren van kaarten, kan je uitleggen waarom je een algoritme het beste in een schema kan uitwerken en kan je bepalen of een algoritme goed of slecht is.

Slide 31 - Slide

Wat is een algoritme?
timer
1:00

Slide 32 - Open question

Wat is het voordeel van het in een schema weergeven van een algoritme?
timer
1:00

Slide 33 - Open question

Wat maakt een algoritme een goed algoritme?
timer
1:00

Slide 34 - Open question

Hoe bepaal je de efficiëntie van een algoritme?
timer
1:00

Slide 35 - Open question