JavaScript 99 - verdieping: ternary statements en sorteer-algoritmen

                      JavaScript
1 / 26
volgende
Slide 1: Tekstslide
InformaticaWOStudiejaar 4,5

In deze les zitten 26 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 45 min

Onderdelen in deze les

                      JavaScript

Slide 1 - Tekstslide

Deze slide heeft geen instructies

Fundament
Kerndomein D. Programmeren

Ontwikkelen met JavaScript (JS)

                        verdieping: 
                   Ternary statements
                       en algoritmen

Slide 2 - Tekstslide

Content credentials
Generated with AI ∙ March 31, 2024 at 8:17 PM
Leerdoelen:
Je kunt na deze les (in JS):
  • uitleggen wat een ternary statement is
  • enkele voordelen van een ternary statement weergeven
  • een nadeel van een ternary statement uitleggen
  • een eenvoudige ternary statement maken
  • uitleggen wat een algoritme is
  • drie sorteer-algoritmen benoemen

Slide 3 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.
Ternary statement 1/4
Een handig concept in de informatica is de 
ternary statement

Dit concept valt in de categorie voorwaardelijke expressies/uitdrukkingen (conditional expressions), net als de if-statement, for-loops en while-loops

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Ternary statement 2/4
Dit concept bestaat in meerdere programmeertalen, zoals JavaScript, Python, C, C++, Java, en meer...

Het principe van de syntax is dat alles op 1 regel staat, maar de exacte syntax verschilt per programmeertaal:
voorwaarde ? als True : als False      // JS
als True if voorwaarde else als False # Python

Slide 5 - Tekstslide

Deze slide heeft geen instructies

Ternary statement 3/4
voorwaarde ? als True : als False        // JS



als True if voorwaarde else als False  # Python

Slide 6 - Tekstslide

Deze slide heeft geen instructies

Ternary statement 4/4
Ternary statement zijn efficiënt en leesbaar, omdat het geheel kort en krachtig wordt weergegeven

Nadeel is natuurlijk dat de code voor waar en onwaar relatief beperkt is
Maar de uit te voeren code bij "als True" en "als False" kan natuurlijk ook een andere functie aanroepen

Slide 7 - Tekstslide

Deze slide heeft geen instructies

Opdracht
timer
3:00

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Opdracht: sleep elk vak naar de juiste plek voor JS
(het vak "voorwaarde" is breder dan het doelvak)
timer
1:00
voorwaarde
als True
als False
?
:

Slide 9 - Sleepvraag

Deze slide heeft geen instructies

Schrijf nu een ternary statement die
"volwassen" logt als leeftijd groter of gelijk aan 18 is, en anders "minderjarig" (geheel zonder spaties!)

Slide 10 - Open vraag

Deze slide heeft geen instructies

Algoritme: Sorteren
Een algoritme is een stappenplan, een soort recept waarmee iets gedaan wordt 

Een voorbeeld van een algoritme is sorteren 
Sorteren is natuurlijk het op volgorde zetten van iets (zoals een lijst)
Simpel..... toch?

Slide 11 - Tekstslide

Deze slide heeft geen instructies

Schrijf je algoritme in pseudocode om deze ongesorteerde lijst oplopend te sorteren:
let lijst = [5,3,8,9]
timer
2:00

Slide 12 - Open vraag

Deze slide heeft geen instructies

Sorteren 1/3
Nou, nee, niet altijd even simpel
Als je het algoritme probeert uit te schrijven, dan kom je er al snel achter dat sorteren nog niet zo eenvoudig is... denk aan het maken van een pindakaas met jam broodje!

De computer heeft namelijk precieze instructies nodig, en dus zijn er meerdere sorteer-algoritmes

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Sorteren 2/3
Welk algoritme (Engels: algorithm) het beste is, is afhankelijk van de data die je wil sorteren...

Voorbeelden zijn:
  • Bubble sort
  • Insertion sort
  • Selection sort
  • Merge sort

  • Quick sort
  • Heap sort
  • Shell sort
  • Stupid sort

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Sorteren 3/3
Je hoeft ze (natuurlijk) niet allemaal te kennen, maar de volgende drie algoritmen zijn wel van belang:
  • Bubble sort
  • Merge sort
  • Selection sort

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Sorteren: selection sort
selection sort 
  1. maak een nieuwe dataset
  2. itereer over elk element van de oude set en zoek de laagste waarde
  3. zet dat element op de juiste plek in de nieuwe set
  4. herhaal het proces totdat we klaar zijn

Slide 16 - Tekstslide

Deze slide heeft geen instructies

Sorteren: selection sort

Slide 17 - Tekstslide

Deze slide heeft geen instructies

Sorteren: bubble sort 1/3
bubble sort 
  1. vergelijk twee elementen die naast elkaar staan 
  2. wissel ze om als ze niet in de juiste volgorde staan
  3. herhaal het proces totdat alles is gesorteerd

Slide 18 - Tekstslide

Deze slide heeft geen instructies

Sorteren: bubble sort 2/3

Slide 19 - Tekstslide

Deze slide heeft geen instructies

Sorteren: bubble sort 3/3
beter:

Slide 20 - Tekstslide

Deze slide heeft geen instructies

Sorteren: merge sort 1/3
merge sort 
  1. splits de dataset in twee delen op
  2. herhaal stap 1 tot de delen 1 element lang zijn
  3. sorteer elk deel apart
  4. voeg de delen samen door de waarde van elk element van elk deel met elkaar te vergelijken

Slide 21 - Tekstslide

Deze slide heeft geen instructies

Sorteren: merge sort 2/3

Slide 22 - Tekstslide

Deze slide heeft geen instructies

Sorteren: merge sort 3/3

Slide 23 - Tekstslide

Deze slide heeft geen instructies

Sorteren
Deze website maakt het allemaal heel mooi visueel:
https://www.toptal.com/developers/sorting-algorithms

Slide 24 - Tekstslide

Deze slide heeft geen instructies

Leerdoelen:
Je kunt nu (in JS):
  • uitleggen wat een ternary statement is
  • enkele voordelen van een ternary statement weergeven
  • een nadeel van een ternary statement uitleggen
  • een eenvoudige ternary statement maken
  • uitleggen wat een algoritme is
  • drie sorteer-algoritmen benoemen

Slide 25 - Tekstslide

Rode achtergrond betekent: klas is stil, dit zijn de leerdoelen en quizzes waarbij niet overlegd mag worden.

Doel van deze les is om het leren zichtbaar te maken voor zowel leerling als docent.

Slide 26 - Tekstslide

Deze slide heeft geen instructies