Les 6a Toestandsdiagrammen (B3) + PO

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

In deze les zitten 28 slides, met tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

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

Slide 1 - Tekstslide

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

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

Toestandsdiagrammen

Slide 4 - Tekstslide

Toestandsdiagram v.e. game

Slide 5 - Tekstslide

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

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

Slide 7 - Tekstslide

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

Slide 8 - Tekstslide

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

Slide 9 - Tekstslide

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

Slide 10 - Tekstslide

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

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

Vraag 2 §1.4 diagram Game

Slide 13 - Tekstslide

Vraag 2 §1.4 diagram Game

Slide 14 - Tekstslide

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

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

Vraag 1 §2.2 (Postcodes)

Slide 17 - Tekstslide

Vraag 3 §2.2 (Klasnamen)

Slide 18 - Tekstslide

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

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

Slide 20 - Tekstslide

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

Slide 21 - Tekstslide

Vraag 1 §2.3 (controle tekst)

Slide 22 - Tekstslide

Vraag 1 §2.3 (controle tekst)

Slide 23 - Tekstslide

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

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

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

Vraag 1 §2.3 (controle tekst)

Slide 27 - Tekstslide

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