Les 1 - Introductie algoritmen

Algoritmen
Een introductie
1 / 41
suivant
Slide 1: Diapositive
InformaticaMiddelbare schoolhavo, vwoLeerjaar 4-6

Cette leçon contient 41 diapositives, avec quiz interactifs, diapositives de texte et 1 vidéo.

time-iconLa durée de la leçon est: 50 min

Éléments de cette leçon

Algoritmen
Een introductie

Slide 1 - Diapositive

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

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

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

Ehm... Wat was ook alweer een algoritme?

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

Slide 4 - Diapositive

Slide 5 - Vidéo

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 of dit een goed voorbeeld is van een algoritme.


Wat was 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 - Diapositive

Filmfragment 1: kaarten sorteren
Is dit een goed voorbeeld van een algoritme?

Laten we het per stap bekijken, de stappen die werden gevolgd zijn:

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

Zijn allebei de stappen duidelijk (eenduidig)?

Slide 8 - Diapositive

Zijn allebei de stappen duidelijk (eenduidig)?
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 4 stapels. Voor elke kleur een aparte stapel.
2. Sorteer daarna per stapel de kaarten met de hand.

Stap 1 is duidelijk, maar stap 2 is niet duidelijk (eenduidig).

Hoe ga je in stap 2 dan sorteren?

Slide 10 - Diapositive

Eenduidigheid
Deze strategie uit het filmfragment is 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, anders kan de computer ze niet uitvoeren.

Slide 11 - Diapositive

Filmfragment 2: verdeelfase
Bekijk het fragment. 




Probeer op te schrijven welke instructie(s) worden gevolgd.
sorteeralgoritme

Slide 12 - Diapositive

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, leg dan 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 - Diapositive

Schematiseren: duidelijk en overzichtelijk

Slide 14 - Diapositive

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 15 - Quiz

Filmfragment 3: verzamelfase
Bekijk het fragment.




Schrijf uit wat het algoritme is van de verzamelfase en maak daarna het bijbehorende schema.
Sorteeralgoritme
timer
2:00

Slide 16 - Diapositive

Filmfragment 3: verzamelfase
Oplossing

Slide 17 - Diapositive

Eenduidigheid

De video's 2 en 3 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 - Diapositive

Stel je bent klaar met de verdeelfase. 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 - Diapositive

Wat is een goed algoritme?
  • Het geeft een correcte oplossing
  • Het is efficiënt

Slide 21 - Diapositive

Wanneer is een algoritme efficiënt?
  •  Efficiëntie wordt bepaald door het aantal stappen (minder is beter)
  • De efficiëntie is afhankelijk van de situatie (niet elk probleem is even efficiënt op te lossen)

Slide 22 - Diapositive

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

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 pak je dit aan?
Een strategie is om alle getallen op te gaan noemen: 1, 2, 3, enz. 

Slide 24 - Diapositive

Stel dat je gewoon alle getallen op gaat noemen: 1, 2, 3, enz.

Hoeveel stappen heb je nodig voor het bestcasescenario?
A
1
B
7
C
50
D
100

Slide 25 - Quiz

Stel dat je gewoon alle getallen op gaat noemen: 1, 2, 3, enz.

Hoeveel stappen heb je nodig voor het worstcasescenario?
A
1
B
7
C
50
D
100

Slide 26 - Quiz

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 27 - Diapositive

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.

Wat zou een betere betere (efficiëntere) strategie zijn?
Hoe goed is een algoritme?

Slide 28 - Diapositive

Stel dat je steeds middelste getal kiest (als in het voorbeeld)

Hoeveel stappen heb je nodig voor het bestcasescenario?
A
1
B
7
C
50
D
100

Slide 29 - Quiz

Stel dat je steeds middelste getal kiest (als in het voorbeeld)

Hoeveel stappen heb je nodig voor het worstcasescenario?
A
1
B
7
C
50
D
100

Slide 30 - Quiz

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 31 - Diapositive

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 wanneer je het snelle algoritme gebruikt?
A
10
B
100
C
500
D
1000

Slide 32 - 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 33 - Diapositive

Hoe vaak moet je maximaal raden voor een getal tussen de 1 en 1.000.000 wanneer je het snelle algoritme gebruikt?
A
10
B
20
C
30
D
1.000.000

Slide 34 - Quiz

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 naar boven of naar beneden afrondt. (Bijvoorbeeld 61 ÷ 2 = 31 of 61 ÷ 2 = 30). Als je dit correct (consequent) 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 35 - Diapositive

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 36 - Diapositive

Doornemen
LessonUp
Les 1 - Introductie algoritmen

Slide 37 - Diapositive

Wat is een algoritme?
timer
1:00

Slide 38 - Question ouverte

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

Slide 39 - Question ouverte

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

Slide 40 - Question ouverte

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

Slide 41 - Question ouverte