Les 6a Toestandsdiagrammen (B3) + PO

Blok 3: architectuur en Physical Computing
Toestandsdiagrammen 
+ werken aan PO
1 / 28
next
Slide 1: Slide
InformaticaMiddelbare schoolhavoLeerjaar 4

This lesson contains 28 slides, with text slides.

time-iconLesson duration is: 60 min

Items in this lesson

Blok 3: architectuur en Physical Computing
Toestandsdiagrammen 
+ werken aan PO

Slide 1 - Slide

E1 > B3
  • Tot nog toe technische details van samenspel tussen hardware en software
  • Nu overstap naar maken van code om ervoor te zorgen dat hardware doet wat je wil dat het doet;
  • Voorwerk vóór coderen o.a.:
  1. Uitschrijven van doel en functionele eisen van systeem
  2. Modelleren van het gebruikersproces 
  • Voor dat laatste: toestandsdiagrammen 

Slide 2 - Slide

Eindige automaten (B3)
  • Eindige automaten zijn modellen om werking van echte apparaten te ontwerpen, beschrijven of te bestuderen 
  • Werking wordt weergegeven in een toestandsdiagram: 

Slide 3 - Slide

Toestandsdiagrammen

Slide 4 - Slide

Toestandsdiagram v.e. game

Slide 5 - Slide

Maak vraag 1a van §1.3 van B3
  • Wat zijn de 3 toestanden?
  • Teken de toestandsdiagram met de 3 toestanden en de mogelijke transities 
  • (begin- en eindtoestand hoeven niet)
  • Gebruik papier
  • Of maak gebruik van diagrams.net
  • Klaar? Maak alvast vraag 1b en 1c

Slide 6 - Slide

vraag 1a + 1b van §1.3 van B3
  • Toestanden vraag 1b: 
  • r1g2, r1o2, g1r2 en o1r2
  • Maak vraag 1c (vergeet de tijden!)

Slide 7 - Slide

vraag 1c van §1.3 van B3
  • Toestanden vraag 1b: 
  • r1g2, r1o2, g1r2 en o1r2
  • Maak vraag 1c (vergeet de tijden!)

Slide 8 - Slide

vraag 2 van §1.3 van B3
  • Toestanden vraag 2a: 
  • g1r2r3g4
  • g1g2r3r4
  • r1g2g3r4
  • Maak vraag 2b en 2c

Slide 9 - Slide

vraag 2 van §1.3 van B3
  • Toestanden vraag 2a: 
  • g1r2r3g4
  • g1g2r3r4
  • r1g2g3r4
  • Diagram vraag 2b
  • 2c: Verkeerslicht 1 vaakst groen

Slide 10 - Slide

Vraag 1 §1.4 diagram Game
  • 1a: als tegenstander te veel gewond is door speler moet hij vluchten +  als de speler hem inhaalt op zijn vlucht moet hij weer vechten + speler kan tegenstander in het gevecht ook uitschakelen (eindtoestand)

Slide 11 - Slide

Vraag 1 §1.4 diagram Game
  • 1b: Vanuit toestanden ‘wacht’, ‘volg’, ‘vecht’ en ‘vlucht’ transitie naar nieuwe toestand ‘vecht met draak’. Vanuit die toestand twee transities naar de eindtoestand STOP (‘tegenstander uitgeschakeld’ en ‘draak uitgeschakeld’).

Slide 12 - Slide

Vraag 2 §1.4 diagram Game

Slide 13 - Slide

Vraag 2 §1.4 diagram Game

Slide 14 - Slide

Toepassing automaten
  1. Om gedrag van een systeem te beschrijven (modelleren)
  2. Om 'antwoorden' te genereren:
  3. Om 'antwoorden' te controleren:
  • Ad 2: denk aan random postcode, random wachtwoord, automatisch aanvullen op telefoon, AI-toepassingen
  • Ad 3: denk aan spelling-check, grammatica-check, check of nieuw wachtwoord voldoet aan gestelde eisen, form-validation (juiste invoer bij telefoonnummer, e-mail etc).

Slide 15 - Slide

Automaat als generator
Welke zinnen kun je maken?
De dunne kapitein floot;
Een jonge poes dronk en een kleine professor vertelde;
etc. 
Maak vraag 1 + 3 + 4 van §2.2

Slide 16 - Slide

Vraag 1 §2.2 (Postcodes)

Slide 17 - Slide

Vraag 3 §2.2 (Klasnamen)

Slide 18 - Slide

Vraag 4 §2.2 (Eindig vs oneindig)
  • Met de eindige automaat van vraag 3 is het mogelijk om oneindig veel verschillende klasnamen te genereren. Het aantal cijfers na de laatste letter is namelijk onbeperkt. Waarom spreken we dan toch van een eindige automaat?
  • Het woord 'eindig' in eindige automaat slaat op het aantal toestanden, niet op het aantal mogelijke uitkomsten. Een eindige automaat heeft altijd een eindig aantal toestanden (zeven in dit geval). 

Slide 19 - Slide

Automaat als controlemiddel
Kan de zin: de dunne kapitein floot en dronk?
Nee... 

Slide 20 - Slide

Automaat als controlemiddel
Is 061418792 een correct mobiel nummer?
Nee: 1 getal te weinig 
Maak vraag 1 + 6 van §2.3

Slide 21 - Slide

Vraag 1 §2.3 (controle tekst)

Slide 22 - Slide

Vraag 1 §2.3 (controle tekst)

Slide 23 - Slide

Vraag 6 §2.3 (generator of controle)
  •  Wat is het verschil tussen een controlerende en genererende eindige automaat van dezelfde soort tekst, zoals e-mailadressen of telefoonnummers?
  • Er is geen verschil. De toestandsdiagrammen zijn hetzelfde. Het verschil zit in de wijze waarop we de eindige automaat gebruiken. Wordt er gecontroleerd, dan kiezen we transities aan de hand van de tekst. Wordt er gegenereerd, dan kiezen we tekst aan de hand van de transities.

Slide 24 - Slide

Beperkingen Eindige Automaat (§2.4)
  • Allerlei processen (ook buiten de informatica) te beschrijven met eindige automaten;
  • Maar... geen geheugen
  • Bijhouden hoe vaak een letter, element of getal voorkomt, gaat dus niet. 
  • (Kan overigens wel met een stapelautomaat)

Slide 25 - Slide

Beperkingen Eindige Automaat (§2.4)
<h1>Titel</h1> is correct
maar deze automaat rekent ook <h1>Titel</div> goed, omdat de automaat bij de toestand 'eindtag' niet meer weet wat de 'begintag' was.

Deze automaat rekent zelfs <h1>Titel<h1> goed, dus zonder de / in de eindtag...

Slide 26 - Slide

Vraag 1 §2.3 (controle tekst)

Slide 27 - Slide

Aan de slag

  • Werk aan je PO (zie de opdracht in Classroom)


  • Wat is het doel van het systeem + welke functionaliteiten?
  • Welke sensoren en actuatoren worden er gebruikt?
  • Toestandsdiagram(men: verschillende versies per ontwikkeling van de code)
  • Logboek met bespreking van problemen en geprobeerde oplossingen + bijdragen van groepsleden
  • Evaluatie van systeem: mogelijkheden en beperkingen
  • De micro:bit-code
PO

Slide 28 - Slide