Componenten van een algoritme Variabelen en hun Inhoud Instructies Sekwenties (van instructies) Selecties (tussen instructies) Herhalingen (van instructies) Procedures (verzameling van instructies) Modules (= idem, als black box) Documentatie
Structuren in de taal Lus - Herhaling Bekijk de eerste naam op de lijst Als deze naam de gezochte is Dan neem het bijbehorende adres Anders bekijk de volgende naam Als deze naam de gezochte is Dan neem het bijbehorende adres Anders bekijk de volgende naam Als deze naam de gezochte is Dan neem het bijbehorende adres Anders bekijk de volgende naam Als deze naam de gezochte is Dan neem het bijbehorende adres Anders bekijk de volgende naam Als deze naam de gezochte is Dan neem het bijbehorende adres Anders bekijk de volgende naam
Lussen Voor … Tot … Opdrachten Eindvoor teller := beginwaarde eindwaarde
Voor - lus (voorbeeld) PROGRAM ‘VoedselRegulatie’ {voedsel-regulatie simulatie} {eerst variabelen initialiseren …} I := 500 Ml := 18 Mh := 60 D := 4000 km := 1{ km op 'ochtendstand' } e := 0 M := km MAAL WORTEL D
Voor - lus (voorbeeld) PROGRAM ‘VoedselRegulatie’ … {initialisatie blok} Voor tijd:=1 Tot 288 { Doe 288 tijdstappen } … {hier komen alle opdrachten} Eindvoor
Voor - lus (voorbeeld) PROGRAM ‘VoedselRegulatie’ … {initialisatie blok} Voor tijd:=1 Tot 288 { Doe 288 tijdstappen } {inhoud sommige variabelen is afhankelijk van toestand van andere variabelen} Als M KLEINER DAN Ml Dan e := 1{ zet eetsysteem aan } Eindals Als M GROTER DAN Mh Dan e:= 0{ zet eetsysteem uit } Eindals … {en hier komt het echte werk …!} Eindvoor
Voor -lus (voorbeeld) PROGRAM ‘VoedselRegulatie’ … {initialisatie blok } Voor tijd:=1 Tot 288 { Doe 288 tijdstappen } … { hier de controles vooraf } { reken de systeem toestand uit …! } F := e MAAL I {snelheid van darm-vullen} D := D PLUS F MIN M {bereken darminhoud} M := km MAAL WORTEL D {energie overdracht} SCHRIJF F, D, M {schrijf toestand naar scherm} … { hier de controles achteraf } Eindvoor
Voor - lus (voorbeeld) PROGRAM ‘VoedselRegulatie’ … {initialisatie blok } Voor tijd:=1 Tot 288 { Doe 288 tijdstappen } … { hier de controles vooraf } … { reken de systeem toestand uit …! } {de controles achteraf } Als tijd IS 96{ om de 8 uur veranderd km } Dan km := 2{ km op 'dagstand' } Eindals Als tijd IS 192 Dan km := 3{ km op 'nachtstand' } Eindals Eindvoor
Lussen Zolang voorwaarde Doe opdrachten Eindzolang 1: 0:
Lussen Herhaal opdrachten Totdat voorwaarde Eindherhaal 0: 1:
Herhaal Totdat vs Zolang Doe Bekijk de eerste naam op de lijst Herhaal Als deze naam de gezochte is Dan neem het bijbehorende adres Anders bekijk de volgende naam Eindals Totdat (de gewenste naam is gevonden) OF (deze naam de laatste is op de lijst) Eindherhaal
Lus problemen Gebruik de teller in en na een Voor-lus niet voor andere doeleinden Knoei niet met de teller in een Voor-lus Overtuig je van het feit dat de lus eindig is Alle voorwaarden voor het uitvoeren van de code in de lus moeten vooraf nadrukkelijk duidelijk zijn; ook de voorwaarden voor beeindiging. Dus geen inwendige controles De lus is een black box. De omringende code kent de voorwaarden maar niet de aktie (opdracht) Beschouw het inwendige van de lus als een functionele eenheid Minimaliseer het aantal factoren die de lus beïnvloeden
Basis componenten van algoritmen Toereikend voor de constructie van elk Algoritme Opeenvolging Selectie Herhaling
Basis componenten Toereikend : Wanneer het mogelijk is een algoritme te construeren voor de beschrijving van een bepaald proces, dan kan dat algoritme met alleen opeenvolging, selectie, en herhaling als basale componenten worden opgebouwd ! Alle overige constructies zijn aanvullingen …!
Componenten van een algoritme Variabelen en hun Inhoud Instructies Sekwenties (van instructies) Selecties (tussen instructies) Herhalingen (van instructies) Procedures (verzameling van instructies) Modules (= idem, als black box) Documentatie