De keuzestructuur. Versie DD

Vergelijkbare documenten
Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken.

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

VBA voor Doe het Zelvers Deel 7

VAN HET PROGRAMMEREN. Inleiding

OPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Programmeeropgaven. Sem Prog DD

Hoofdstuk 3: Keuzestructuren

1. Programmeerblokken

II. ZELFGEDEFINIEERDE FUNCTIES

Stap 1. Bepalen van invoer Het makkelijkst kun je dit vinden uit de zwarte vlakken met voorbeelden:

VBA voor Doe het Zelvers deel 20

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

Programmeren. Inleiding

PHYSICAL COMPUTING INTRODUCTIE²

Programmeermethoden NA. Week 3: Controlestructuren

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Vakgroep CW KAHO Sint-Lieven

PSD. Reeksen van logische procedures om problemen op te lossen in een eindig aantal stappen.

Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?

8.3 Leren programmeren met OpenOffice.org StarBasic

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1

Windows applicaties met VB.NET VB Express 2010

PYTHON REEKS 1: BASICS. Mathias Polfliet

{ auteur, toelichting }

Lab Webdesign: Javascript 3 maart 2008

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 2

Variabelen en statements in ActionScript

Gegevens invullen in HOOFDLETTERS en LEESBAAR, aub. Belgische Olympiades in de Informatica (duur : maximum 1u15 )

Een korte samenvatting van enkele FORTRAN opdrachten

algoritmiek - antwoorden

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

Module 1 Programmeren

Info-books. Toegepaste Informatica. Deel 40 : Gegevensbeheer en algoritmen in Access HA40. Jos Gils Erik Goossens

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Small Basic Console Uitwerking opdrachten

SB Console Deel 1. In deze les module wordt gewerkt met het programma Small Basic en het programma Structorizer.

Vijfde college complexiteit. 21 februari Selectie Toernooimethode Adversary argument

Hoofdstuk 20. Talstelsels

Zelftest Inleiding Programmeren

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Propositielogica Het maken van een waarheidstabel

DE EINSTEINCODE Luc Gheysens

Grondslagen voor de ontwikkeling van bedrijfsgerichte software BASISCONCEPTEN VOOR INGREDIËNTEN EN INSTRUCTIES INSTRUCTIES IN EIFFEL-CODE

Inleiding. Algoritmiek

OEFENINGEN PYTHON REEKS 1

9 Meer over datatypen

Booleaanse operatoren en de nabijheidsoperator

Mogelijke bewerkingen met verschillende gegeventypen

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?

10. Controleopdrachten

De bouwstenen van het programmeren 1

[13] Rondjes draaien (loops)

Vierde college complexiteit. 26 februari Beslissingsbomen en selectie Toernooimethode Adversary argument

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

Windows applicaties met Visual Basic.NET

Windows applicaties met Visual Basic.NET. VB Express 2010 HA Werkgroep Handel Vlaams Verbond van het Katholiek Secundair Onderwijs

Wat is FP? The Haskell School of Expression. Functies. Types 1+1=2. Iedere expressie (en waarde) heeft een type.

Discrete Structuren. Piter Dykstra Opleidingsinstituut Informatica en Cognitie

R e c h t e h a k e n

OEFENINGEN PYTHON REEKS 1

Thinking of Development

Programmeren met de TI84

Semantiek (2IT40) Jos Baeten. Formele Methoden. HG 7.19 tel.: Hoorcollege 1 (29 maart 2007)

Antwoorden vragen en opgaven Basismodule

Een functie is een kant en klare formule. Via de knop Som in de groep Bewerken van het tabblad Start kun je een aantal veelgebruikte functies kiezen:

oefening JavaScript - antwoorden

College Introductie

Abstraheren van modellen

Vierde college complexiteit. 16 februari Beslissingsbomen en selectie

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs

Programmeren met Arduino-software

Small Basic Programmeren Text Console 2

IDP: Labo 2. Given: type int Octaal = {1;2;3;4;5;6;7;8} type int Octaal = {1..4;5;6..8}

1 Rekenen met gehele getallen

Disclaimer Het bestand dat voor u ligt, is nog in ontwikkeling. Op verzoek is deze versie digitaal gedeeld. Wij willen de lezer er dan ook op wijzen

maplev 2010/12/22 15:57 page 413 #415

Lab Webdesign: Javascript 11 februari 2008

NAAM: Programmeren 1 Examen 29/08/2012

Scoringsregels per vraagvorm Wft-examens

Totaal

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens

Python voor Natuur- en Sterrenkundigen Week 1

Combinatieleer in het Lottospel

Arrays. Complexe datastructuren. Waarom arrays. Geen stijlvol programma:

Bij elkaar behorende instructies die een probleem oplossen of een taak uitvoeren.

Herhaling. Instructie. Controle Structuur. Functie. Programmeren is het samen plaatsen van onderdelen

Algoritmisch denken. Ann-Sophie Fevery

Hoofdstuk 17: Logische & Informatiefuncties en operatoren

11. Het selecteren van gegevens deel II

Bij elkaar behorende instructies die een probleem oplossen of een taak uitvoeren.

Codereviews. Codereviews zijn een asynchrone Pair Programming 1 op kleine schaal. Untitled Sheets HOM. Oplossingen voor methodische problemen

Vierde college complexiteit. 14 februari Beslissingsbomen

Honours projecten BSc Informatica: twee voorstellen

Derde college complexiteit. 7 februari Zoeken

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

Transcriptie:

De keuzestructuur Versie DD

Tot nu toe Programma in rechte lijn = sequentie of opeenvolging

Nieuw Vertakking in parcours = selectie of keuzestructuur

Controlestructuren Opeenvolging = sequentie Keuze = selectie Herhaling = iteratie Via controlestructuren kan je de volgorde beïnvloeden waarmee instructies worden uitgevoerd.

De selectie of keuzestructuur De enkelvoudige keuze De tweevoudige keuze De trapsgewijze meervoudige keuze (ElseIf) De geneste tweevoudige keuze De meervoudige keuze (Select Case)

Eenzijdige keuze: NS-diagram Ja Voorwaarde Opdracht 1 Opdracht 2 Opdracht n Nee IF <voorwaarde> THEN <opdracht 1> <opdracht 2> <opdracht n> ENDIF Insprong alleen omwille van leesbaarheid!

Voorwaarden = Booleaanse expressie = Uitdrukking (formule) die als resultaat een Booleaanse waarde (True/False) oplevert. Meestal opgebouwd als een vergelijking tussen twee waarden m.b.v. relationele operatoren.

Relationele operatoren (vergelijkingsoperatoren) Operator Betekenis Voorbeeld < kleiner dan If A < 50 Then > groter dan If C > 1000 Then <= kleiner of gelijk If X <= Y Then >= groter of gelijk If Aantal >= 10 Then = gelijk aan If Antwoord = ja Then <> verschillend van If Invoer <> Keuze Then

Voorbeelden van voorwaarden If AantalPunten < 10 Then If x = y Then If antwoord = "ja" Then If txtnaam.text <> "" Then

Voorbeeld In bioskoop Petromolis kost een kaartje 5,00 EUR. Vanaf 5 kaartjes krijg je 5 % korting. Laat aantal kaartjes invoeren en druk de prijs af. (Gebruik constanten waar aangewezen.)

Ook mogelijk: TeBetalen = TeBetalen - (TeBetalen * Kortingspercentage)

Tweezijdige keuze: NS-diagram Ja Voorwaarde Opdracht A1 Opdracht B1 Opdracht A2 Opdracht B2 Opdracht An Opdracht Bn Nee IF <voorwaarde> THEN <opdracht A1> <opdracht A2> <opdracht An> ELSE <opdracht B1> <opdracht B2> <opdracht Bn> ENDIF ELSE altijd op aparte regel!!!

Voorbeeld Laat twee getallen invoeren en bereken het verschil: het kleinste getal moet altijd van het grootste afgetrokken worden.

Complexe voorwaarden Twee of meer voorwaarden kunnen gecombineerd worden tot een complexe voorwaarde m.b.v. logische operatoren.

Logische operatoren Operator Betekenis Voorbeeld AND Het resultaat is Waar als beide voorwaarden Waar opleveren. If (Naam = Jan ) AND (aantal >= 50) Then OR Het resultaat is Waar als minstens één van beide Waar oplevert. If (Aantal < 10) OR (Aantal > 2000) Then XOR Het resultaat is waar als één en slechts één van beide voorwaarden Waar oplevert. If (A < 5) XOR (B < 5) Then NOT Keert de waarheidswaarde van een Booleaanse uitdrukking om. If Not ( (A=5) OR (A= 10) ) Then = uitdrukking die True of False oplevert

Opgepast met AND en OR Als je voorwaarden verbindt met AND/OR moeten aan weerzijden van AND/OR een volledige vergelijking staan! Fout : If a < 5 or > 10 then Juist: If a < 5 or a > 10 then Suggestie: werk met haakjes: If (a < 5) or (a > 10) then

AANVULLING: ANDERE MOGELIJKHEDEN

TRAPSGEWIJS MEERVOUDIGE KEUZE

Trapsgewijs meervoudige keuze: NS-diagram Ja Voorwaarde Nee Ja Voorwaarde Nee Ja Voorwaarde Nee

Trapsgewijs meervoudige keuze: syntax If <voorwaarde1> Then <opdracht A1> <opdracht A2> <opdracht An> ElseIf <voorwaarde2> Then <opdracht B1> <opdracht B2> <opdracht Bn> ElseIf <voorwaarde3> Then <opdracht C1> <opdracht C2> <opdracht Cn> Else <opdracht D1> <opdracht D2> <opdracht Dn> ENDIF

GENESTE KEUZE

Geneste keuze De gehele structuur tussen If en End If geldt als één opdracht. Overal waar één opdracht kan staan, kan dus ook een keuzestructuur staan.

Geneste keuze: voorbeeld 1 Ja Voorwaarde Nee Ja Voorwaarde Nee Ja Voorwaarde Nee

IF <voorwaarde1> THEN IF <voorwaarde2> THEN <opdracht A1> <opdracht A2> <opdracht An> ELSE <opdracht B1> <opdracht B2> <opdracht Bn> ENDIF ELSE IF <voorwaarde3> THEN <opdracht C1> <opdracht C2> <opdracht Cn> ELSE <opdracht D1> <opdracht D2> <opdracht Dn> ENDIF ENDIF Geneste keuze: voorbeeld 1

Geneste keuzes: voorbeeld 2 Ja Voorwaarde Nee Opdracht 1 Ja Voorwaarde Nee Opdracht 2 Opdracht 3 Opdracht 4

Geneste keuze: voorbeeld 2 IF <voorwaarde1> THEN <opdracht A1> <opdracht A2> <opdracht An> ELSE IF <voorwaarde2> THEN <opdracht C1> <opdracht C2> <opdracht Cn> ELSE <opdracht D1> <opdracht D2> <opdracht Dn> ENDIF ENDIF

MEERVOUDIGE KEUZE MET SELECT CASE

Meervoudige keuze met Select Case dagnummer =.. Select Case dagnummer Case 1 dagnaam = maandag Case 2 dagnaam = dinsdag Case 7 dagnaam = zondag Case Else dagnaam = onjuist nummer Deze structuur alleen gebruiken als de keuze afhankelijk is van één waarde. Na elke 'Case' komt telkens een van de mogelijke waarden van de uitdrukking bovenaan. End Select

Meervoudige keuze met Select Case Select Case <testwaarde> Case <voorwaarde 1> <opdrachtenreeks 1> Case <voorwaarde 2> <opdrachtenreeks 2> Case <voorwaarde 3> <opdrachtenreeks 3> Case Else End Select <opdrachtenreeks else>

Select case: mogelijke voorwaarden Voorbeeld Case 400 Case 300, 400, 500 Case 10 to 25 Case Is >= 99 Case 5, 7, 9, 13 to 17, Is > 51 Verklaring Test op één waarde. Test op meerdere waarden. (, = OF) Test tussen grenzen (inclusief!). Test met vergelijkingsoperator. ('Is' wordt automatisch ingevoegd) Combinatie van voorgaande. (, = OF)

Samenvatting IF <voorwaarde> THEN <opdracht 1> <opdracht 2> <opdracht n> ENDIF IF <voorwaarde> THEN <opdracht A1> <opdracht A2> <opdracht An> ELSE <opdracht B1> <opdracht B2> <opdracht Bn> ENDIF If <voorwaarde1> Then <opdracht A1> <opdracht A2> <opdracht An> ElseIf <voorwaarde2> Then <opdracht B1> <opdracht B2> <opdracht Bn> ElseIf <voorwaarde3> Then <opdracht C1> <opdracht C2> <opdracht Cn> Else <opdracht D1> <opdracht D2> <opdracht Dn> ENDIF Select Case <testwaarde> End Select Case <voorwaarde 1> <opdrachten 1> Case <voorwaarde 2> <opdrachten 2> Case <voorwaarde 3> <opdrachten 3> Case Else <opdrachten else>