06 - Powershell - loops

Loops in PowerShell
1 / 38
next
Slide 1: Slide
ICTMBOStudiejaar 1-4

This lesson contains 38 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Loops in PowerShell

Slide 1 - Slide

This item has no instructions

Leerdoel
Aan het einde van de les kun je verschillende soorten loops in PowerShell begrijpen en toepassen.

Slide 2 - Slide

This item has no instructions

Wat weet je al over loops in PowerShell?

Slide 3 - Mind map

This item has no instructions

Wat zijn lussen in PowerShell?
Lussen in PowerShell worden gebruikt om een set instructies herhaaldelijk uit te voeren totdat aan een bepaalde voorwaarde is voldaan.

Slide 4 - Slide

This item has no instructions

For-lus - Syntax
 for (initialisatie; conditie; iteratie) {
      # code wat herhaaldelijk moet            # worden uitgevoerd
  }

Slide 5 - Slide

This item has no instructions

Stel 1 vraag over iets dat je nog niet zo goed hebt begrepen.

Slide 6 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
For-lus - Voorbeeld

Slide 7 - Slide

This item has no instructions

For-lus - Opdracht
Schrijf een for-lus die de getallen van 1 tot 10 afdrukt.

Schrijf een for-lus die de getallen van 10 tot 1 afdrukt.

Slide 8 - Slide

This item has no instructions

Schrijf een for-lus die de getallen van 10 tot 1 afdrukt.

Slide 9 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
For-lus - Voorbeeld

Slide 10 - Slide

This item has no instructions

While-lus 
Een while-lus in PowerShell is een taalconstructie waarmee je een lus kunt maken die opdrachten in een opdrachtblok uitvoert zolang een voorwaardelijke test waar is. 

Slide 11 - Slide

This item has no instructions

While-lus - Syntax
while ($condition) { #code to be executed }
  while ($condition) { 
      #code to be executed 
  }

Slide 12 - Slide

This item has no instructions

While-lus - Voorbeeld
$i = 1 while ($i -le 5) { Write-Host $i $i++ }
  $i =
  while ($i -le 5) {
      Write-Host $i 
      $i++ 
  }

Slide 13 - Slide

This item has no instructions

While-lus - Opdracht
Gebruik een while-lus om de even getallen van 2 tot 10 af te drukken.

Gebruik een while-lus in PowerShell om de kwadraten van de getallen 1 tot 5 af te drukken.

Slide 14 - Slide

This item has no instructions

Gebruik een while-lus om de even getallen van 2 tot 10 af te drukken.

Slide 15 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
Antwoord
-De variabele $val wordt geïnitialiseerd met de 
waarde 2.
-De while-lus wordt uitgevoerd zolang $val 
kleiner is dan of gelijk is aan 10.
-Binnen de lus wordt gecontroleerd of $val even is. 
Als dat het geval is, wordt het getal afgedrukt.
-Na elke iteratie wordt $val met 1 verhoogd.
Het script stopt wanneer $val gelijk is aan 11.

Slide 16 - Slide

This item has no instructions

Gebruik een while-lus in PowerShell om de kwadraten van de getallen 1 tot 5 af te drukken.

Slide 17 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
Antwoord
-De variabele $val wordt geïnitialiseerd met de waarde 1.
-De while-lus wordt uitgevoerd zolang $val kleiner is dan
of gelijk is aan 5.
-Binnen de lus wordt het kwadraat van $val berekend 
en afgedrukt.
-Na elke iteratie wordt $val met 1 verhoogd.
-Het script stopt wanneer $val gelijk is aan 6.

Slide 18 - Slide

This item has no instructions

Hier zijn de belangrijkste kenmerken 
van een while-lus:

  1. Initialisatie: Je begint met het instellen van een variabele (bijvoorbeeld $val) om de iteratie te starten.
  2. Conditie: De conditie bepaalt of de lus moet doorgaan of stoppen. Zolang de conditie waar is, worden de opdrachten in het blok herhaaldelijk uitgevoerd.
  3. Opdrachten binnen de lus: Het opdrachtblok bevat een of meer opdrachten die elke keer worden uitgevoerd wanneer de lus wordt betreden of herhaald. Dit blok kan elke geldige PowerShell-opdracht bevatten, inclusief de break- en continue-opdrachten.

Slide 19 - Slide

This item has no instructions

Hier is een voorbeeld van een while-lus die de getallen 1 tot 3 weergeeft:
In dit voorbeeld is de voorwaarde ($val is niet gelijk aan 3) waar terwijl $val gelijk is aan 0, 1 en 2. Elke keer door de lus wordt $val verhoogd met 1 met behulp van de ++-unair increment-operator. De laatste keer door de lus wordt $val ingesteld op 3, de voorwaarde wordt onwaar en de lus wordt beëindigd.

Slide 20 - Slide

This item has no instructions

 PowerShell-unair increment-operator (++)  uitgelegt
Prefix-increment (++$variabele): Hiermee wordt de waarde van de variabele verhoogd voordat deze in een expressie wordt gebruikt. Bijvoorbeeld:

Slide 21 - Slide

This item has no instructions

 PowerShell-unair increment-operator (++)  uitgelegt
Postfix-increment ($variabele++): Hierbij wordt de huidige waarde van de variabele in een expressie gebruikt en vervolgens verhoogd. Bijvoorbeeld:

Slide 22 - Slide

This item has no instructions

For-each lus gebruiken we  om door een verzameling items te itereren en voor elk item bepaalde code uit te voeren.
  1. Verwerken van een verzameling: Stel dat je een lijst hebt met items, zoals namen, bestandsnamen, of andere gegevens. Met een foreach-lus kun je elk item in die lijst afzonderlijk verwerken. 
  2. Geen expliciete teller nodig: In tegenstelling tot een for-lus hoef je geen expliciete teller bij te houden. De foreach-lus gaat automatisch door alle items in de verzameling zonder dat je je zorgen hoeft te maken over de index. 
  3. Eenvoudiger en leesbaarder: Een foreach-lus maakt je code vaak eenvoudiger en leesbaarder, vooral als je door een array, een lijst of een verzameling van objecten wilt lopen.

Slide 23 - Slide

This item has no instructions

Foreach - Syntax
foreach ($variabele in $collectie) {
  # Code om uit te voeren voor elk item
}

Slide 24 - Slide

This item has no instructions

Foreach - Voorbeeld
  $getallen = 1,2,3,4,5
  foreach ($getal in $getallen) {
      Write-Output $getal
  }

Slide 25 - Slide

This item has no instructions

Foreach - Opdracht
Maak een array van de eerste tien natuurlijke getallen. Gebruik een foreach-lus om elk getal in de array af te drukken.

Maak een array van willekeurige getallen. Gebruik een foreach-lus om de som van alle getallen in de array te berekenen en af te drukken.

Slide 26 - Slide

This item has no instructions

Maak een array van de eerste tien natuurlijke getallen. Gebruik een foreach-lus om elk
getal in de array af te drukken.

Slide 27 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
Maak een array van willekeurige getallen. Gebruik een foreach-lus om de som van alle getallen in de array te berekenen en af te drukken.

Slide 28 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.

Slide 29 - Slide

This item has no instructions

Do-While - Syntax
do {
   # code om uit te voeren
} while (conditie)

Slide 30 - Slide

This item has no instructions

Do-While - Voorbeeld
  1. We initialiseren een variabele $a met de waarde 1. 
  2. De do-while-lus wordt uitgevoerd:
“Starting Loop 1” wordt afgedrukt.
$a wordt verhoogd naar 2.
“Now `$a is 2” wordt afgedrukt.




3. Dit herhaalt zich voor elk volgend getal totdat $a gelijk is aan 6.
De lus stopt omdat $a niet langer kleiner is dan of gelijk is aan 5.
$a = 1
do {
    "Starting Loop $a"
    $a++
    "Now `$a is $a"
} while ($a -le 5)

Slide 31 - Slide

This item has no instructions

Do-While - Opdracht
Schrijf een script dat de getallen van 1 tot 10 afdrukt met behulp van een do-while loop.


Schrijf een script dat de gebruiker vraagt om een wachtwoord in te voeren. Het script moet blijven vragen om het wachtwoord totdat de gebruiker het correcte wachtwoord invoert.

Slide 32 - Slide

This item has no instructions

Opdracht 1: Getallen van 1 tot 10 afdrukken
met een do-while loop

Slide 33 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
Antwoord opdracht 1: Getallen van 1 tot 10 afdrukken met een do-while loop
  1. Initialisatie: We beginnen met het instellen van een variabele (bijvoorbeeld $getal) om de iteratie te starten. In dit geval is de initialisatie $getal = 1.
  2. Do-while-lus: We gebruiken een do-while-lus om elk getal van 1 tot 10 af te drukken.
Hier is het script:

Slide 34 - Slide

This item has no instructions

Opdracht 2: Wachtwoord van de gebruiker vragen en controleren

Slide 35 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.
Antwoord opdracht 1: Getallen van 1 tot 10 afdrukken met een do-while loop
  1. Gebruikersinvoer: We vragen de gebruiker om een wachtwoord in te voeren.
  2. While-lus: We gebruiken een while-lus om te blijven vragen om het wachtwoord totdat de gebruiker het correcte wachtwoord invoert.
Hier is het script:

Slide 36 - Slide

This item has no instructions

Samenvatting
Lussen in PowerShell zijn krachtige hulpmiddelen om herhaalde taken uit te voeren. We hebben de syntax, voorbeelden en opdrachten behandeld van:
  • for - loop
  • while loop
  • do-while loop
  • foreach loop

Slide 37 - Slide

This item has no instructions

Stel 1 vraag over iets dat je nog niet zo goed hebt begrepen.

Slide 38 - Open question

De leerlingen geven hier (in vraagvorm) aan met welk onderdeel van de stof ze nog moeite. Voor de docent biedt dit niet alleen inzicht in de mate waarin de stof de leerlingen begrijpen/beheersen, maar ook een goed startpunt voor een volgende les.