Les 1 - Introductie algoritmen

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

In deze les zitten 35 slides, met interactieve quizzen, tekstslides en 1 video.

time-iconLesduur is: 50 min

Onderdelen in deze les

Algoritmen
Een introductie

Slide 1 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Quizvraag

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 - Tekstslide

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 - Tekstslide

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 - Quizvraag

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Quizvraag

Schematiseren: duidelijk en overzichtelijk

Slide 15 - Tekstslide

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 - Tekstslide

Filmfragment 3: verzamelfase
Oplossing

Slide 17 - Tekstslide

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 - Tekstslide

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 - Quizvraag

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 - Tekstslide

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


  • Het is efficiënt

Slide 21 - Tekstslide

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

  • De efficiëntie is afhankelijk van de situatie

Slide 22 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Tekstslide

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 - Quizvraag

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 - Tekstslide

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 vraag

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 - Tekstslide

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 - Tekstslide

Wat is een algoritme?
timer
1:00

Slide 32 - Open vraag

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

Slide 33 - Open vraag

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

Slide 34 - Open vraag

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

Slide 35 - Open vraag