1 of 34

Waar, niet waar en for-loops

2 of 34

Relationele operatoren

  • Relationele operatoren zijn:

> kleiner dan

< groter dan

<= kleiner dan of gelijk aan

>= groter dan of gelijk aan

== isgelijk

!= isongelijk

2

3 of 34

Relationele operatoren (2)

  • Met relationele operatoren vergelijk je twee waarden met elkaar
  • Vaak gaat het daarbij om getallen van het type int of double
  • Stel je hebt:

  • int a, b;

3

4 of 34

  • a = 6;
  • b = 8;
  • Dan geldt natuurlijk:
  • b > a
  • b >= a
  • b != a

  • Deze uitdrukkingen leveren de boolean waarde true

4

5 of 34

Operanden

  • De uitdrukking links of rechts van een operator heet een operand
  • In de uitdrukking b > a zijn b en a de operanden

5

6 of 34

  • a = 6;
  • b = 8;
  • Verder geldt natuurlijk niet:

  • b == a
  • b <= a
  • b < a

  • Deze uitdrukkingen leveren allemaal de bool-waarde false

6

7 of 34

bool

  • De waarden true en false heten boolean-waarden (naar George Boole)
  • Zie http://nl.wikipedia.org/wiki/George_Boole
  • boolean-waarden zijn heel belangrijk bij selecties en herhalingen (zie hoofdstuk 4)
  • Voor dit soort waarden heeft C++ het type bool

7

8 of 34

Logische operatoren

  • Logische operatoren zijn

&& en

|| of (een of ander, of allebei)

! niet

  • De operanden van een logische operator moeten altijd een waarde true of false opleveren

8

9 of 34

  • Door logische en relationele operatoren te combineren kun je ingewikkelder uitdrukkingen maken die een boolean waarde opleveren

int a = 6, b = 8;

  • Waar of niet waar?

a > 4 && b > 4

true

  • Waar of niet waar?

a > 10 || b > a

true

9

10 of 34

int a = 6, b = 8;

  • Waar of niet waar?

! ( a > 10 && b > a )

true

10

11 of 34

Operanden

  • Wat zijn de operanden van && in volgende de expressie?

a > 4 && b > 4

a > 4

  • en

b > 4

In C++ kun je niet schrijven:�a && b > 4

  • Waarom niet?

11

12 of 34

Een herhalingsopdracht

  • Een belangrijke opdracht is de herhalingsopdracht
  • Andere namen: lus, loop iteratie
  • Er zijn in C++ verschillende herhalingsopdrachten
  • Een van de belangrijkste is het zogeheten for-statement

12

13 of 34

for-statement

13

14 of 34

for-statement

  • for-statement bestaat uit een controle-gedeelte en een body
  • Dit is het controle-gedeelte:
  • for( ; ; )
  • Het controle gedeelte bestaat zelf uit drie stukjes:
  • 1. Initialisatie van de teller

int i = 1;

  • 2. Test

i <= 10

  • 3. Verhogen van de teller

i++

14

15 of 34

Stroomschema for-statement

15

i=1

i<=10

body

i++

false

true

16 of 34

for-statement

  • De body bestaat uit het statement

  • Vaak begint de controlevariabele met de waarde 0

16

17 of 34

Nog een voorbeeld

  • Wat is de uitvoer?

17

18 of 34

Vraag

  • Wat komt er op het scherm?

for( int i = 5; i < 8; i++ ) {

cout << i << endl;

}

18

19 of 34

Vraag

  • Wat komt er op het scherm?

for( int i = 5; i < 8; i++ ) {

cout << i << endl;

}

5

6

7

19

20 of 34

Vraag

  • Wat komt er op het scherm?

for( int i = 5; i <= 5; i++ ) {

cout << i << endl;

}

20

21 of 34

Vraag

  • Wat komt er op het scherm?

for( int i = 5; i <= 5; i++ ) {

cout << i << endl;

}

5

21

22 of 34

Vraag (3)

  • Wat komt er op het scherm?

for( int i = 5; i <= 4; i++ ) {

cout << i << endl;

}

22

23 of 34

23

24 of 34

  • Niets

24

25 of 34

Uitvoer?

25

26 of 34

Manipulatoren

  • C++ kent een groot aantal manipulatoren om de uitvoer te beïnvloeden
  • endl, setw, setfill, hex, oct, dec, left, right, setprecision, showpoint, fixed

26

27 of 34

Manipulatoren

  • cout << endl;
  • overgang op nieuwe regel
  • cout << setw( 5 );
  • uitvoer hierna in 5 posities
  • cout << setfill( '_' );
  • uitvulteken is onderstrepingsteken

27

28 of 34

setw

28

29 of 34

Manipulatoren

  • cout << hex;
  • uitvoer (geheel getal) hierna in hexadecimaal (16-tallig) stelsel
  • cout << oct;
  • uitvoer (geheel getal) hierna in octaal (8-tallig) stelsel
  • cout << dec;
  • uitvoer (geheel getal) hierna in decimaal (10-tallig) stelsel

29

30 of 34

Manipulatoren

  • cout << left;
  • uitvoer hierna links uitlijnen (=default)
  • cout << right;
  • uitvoer hierna rechts uitlijnen

30

31 of 34

setprecision, showpoint, fixed

31

32 of 34

Algoritmen

32

33 of 34

Algoritmen

33

34 of 34

Faculteit

34