Programmeren in Swift Playgrounds For-lussen

Programmeren in Swift Playgrounds


Les 3
1 / 19
suivant
Slide 1: Diapositive
InformatiekundeMiddelbare schoolhavoLeerjaar 1

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

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

Éléments de cette leçon

Programmeren in Swift Playgrounds


Les 3

Slide 1 - Diapositive

Ik heb de levels gespeeld in het hoofdstuk Functies en het ging:
😒🙁😐🙂😃

Slide 2 - Sondage

In het hoofdstuk Commando's heb je de volgende commando's geleerd:

moveForward()
collectGem()
turnLeft()
toggleSwitch()

In het hoofdstuk Functies heb je de volgende commando's geleerd:

turnRight()
turnAround()
solveStair()
solveRow()
collectGemTurnAround()
moveThenToggle()


Slide 3 - Diapositive

Hoofdstuk 2: Functies
Level Nieuw gedrag samenstellen:
Je hebt de functie naar rechts draaien geschreven:
func turnRight() {
  turnLeft()
  turnLeft()
  turnLeft()
        }

Slide 4 - Diapositive

Verzamelen, omzetten, herhalen
In dit level moet je een eigen functie maken. Je moet op zoek naar een groepje commando's dat telkens in dezelfde volgorde terugkomt. 

Als je dit lastig vindt, zou je hem helemaal kunnen uitschrijven om erachter te komen voor welke commando's dit geld:

Slide 5 - Diapositive

Volledig uitgeschreven:

moveForward()
collectGem()
moveForward()
toggleSwitch()
moveForward()
turnLeft()
moveForward()
collectGem()
moveForward()
toggleSwitch()
moveForward()



De oranje-gekleurde commando's komen iedere keer terug. Hier kun je een functie van maken:

func gemSwitch() {
  moveForward()
  collectGem()
  moveForward()
  toggleSwitch()
           }

Programmeren is ook op zoek gaan naar hoe je het voor jezelf makkelijk en daardoor korter kan maken.
moveForward()
turnLeft()
moveForward()
collectGem()
moveForward()
toggleSwitch()
moveForward()
turnLeft()
moveForward()
collectGem()
moveForward()
toggleSwitch()

Slide 6 - Diapositive

Hiernaast zie je de oplossing staan waarbij je gebruikt maakt van de functie gemSwitch.


func gemSwitch() {
  moveForward()
  collectGem()
  moveForward()
  toggleSwitch()
         }

gemSwitch()
moveForward()
turnLeft()
gemSwitch()
moveForward()
moveForward()
turnLeft()
gemSwitch()
moveForward()
turnLeft()
gemSwitch()

Slide 7 - Diapositive

Een vol bord
In dit level moet je weer een eigen functie maken. Je gaat weer op zoek naar het groepje commando's dat telkens in dezelfde volgorde terugkomt. Daar maak je een functie van en vervolgens ga je de functie aanroepen in de code. 

Let op: Je kunt dit raadsel op verschillende manieren oplossen.


Slide 8 - Diapositive

Nestpatronen
In dit level leer je hoe je een functie kunt aanroepen vanuit een andere functie. Je schrijft de beide functies in 2 stappen.
Eerst de functie turnAround(). Welke stappen moet Byte iedere keer doen om zich om te draaien? Juist 2 x turnLeft()
Daarna schrijf je de functie solveStair. En in deze functie ga je de functie turnAround aanroepen als een los commando.
Dit noem je geneste functies: Een functie in een functie.

Slide 9 - Diapositive

Parallelle trappen & Schatten zoeken
De laatste 2 levels van dit hoofdstuk. 
Bedenk iedere keer functies met passende namen om de raadsels op te lossen. 

Soms zijn er meerdere oplossingen nodig. 

Slide 10 - Diapositive

Hoofdstuk 3: For-lussen
In dit hoofdstuk ga je aan de slag met for-lussen. Dit is een blok code dat een bepaald aantal keren opnieuw wordt uitgevoerd. In plaats van steeds weer dezelfde coderegels uit te schrijven, kun je het proces handiger maken door functies en lussen te gebruiken om met een enkel commando te verwijzen naar een heel blok code.

Slide 11 - Diapositive

Lesdoelen:
  • Je kunt beschrijven wat for-lussen zijn.
  • Je kunt uitleggen hoe for-lussen worden gebruikt in een alledaagse situatie.
  • Je kunt programmeren met for-lussen.
  • Belangrijkste termen: For-lus en iterator


Slide 12 - Diapositive

Hoofdstuk 3: For-lussen
For-lussen definitie:
For-lussen zijn terugkerende patronen. Ze doen steeds hetzelfde, in een kringetje. Het is de herhaling van een groepje commando's.

Slide 13 - Diapositive

For-lussen in het dagelijks leven
Stoplichten
Boodschappen doen
Aardappels poten
Nagels lakken


Slide 14 - Diapositive

Slide 15 - Vidéo

For-lussen
In de introductie worden de handelingen om bloemetjes te planten gebruikt als voorbeeld van een for-lus. 
  • Maak een gat
  • Plant het zaadje
  • Ga 10 cm vooruit
Doe dit voor alle zaadjes: Oftewel herhaal deze handelingen totdat de zaadjes op zijn. Een herhaald patroon.

Slide 16 - Diapositive

Schrijfwijze For-lussen
Om een for-lus te schrijven gebruik je for en je geeft aan hoe vaak de lus moet worden uitgevoerd. Stel dat je 4 zaadjes hebt, dan noteer je dat als volgt:
for eachSeed in 1...4 {
   commando's
     }
1...4 betekent hier van 1 tot en met 4.

Slide 17 - Diapositive

For-lussen tips
  • Probeer je code zo kort mogelijk te houden. Gebruik functies en vanaf nu ook de for-lussen in plaats van ieder stapje helemaal uit te schrijven.
  • Probeer bij iedere puzzel de commando's te vinden die iedere keer in dezelfde volgorde gedaan worden. 
  • Bekijk daarna hoe vaak deze reeksen voorkomen. 

Slide 18 - Diapositive

In het hoofdstuk For-lussen speel je in ieder geval de levels die in de afbeelding oranje zijn. 
De overige levels zijn extra uitdagingen en die mag je natuurlijk ook spelen als je het leuk vindt!

Slide 19 - Diapositive