Programmeren in C++/Lussen

Uit Wikibooks

Programmeren in C++

  1. Inleiding Redelijk ontwikkeld. Revisiedatum: 26 december 2007
  2. Compilers Nog vrijwel niets. Revisiedatum: 26 december 2007

Leren programmeren

  1. De basis van C++ Redelijk ontwikkeld. Revisiedatum: 26 december 2007
  2. If-statement In ontwikkeling. Revisiedatum: 26 december 2007
  3. Lussen In ontwikkeling. Revisiedatum: 26 december 2007
  4. Functie In ontwikkeling. Revisiedatum: 26 december 2007
  5. Switch case Nog vrijwel niets. Revisiedatum: 26 december 2007
  6. Structuren Nog vrijwel niets. Revisiedatum: 26 december 2007
  7. Arrays Redelijk ontwikkeld. Revisiedatum: 26 december 2007
  8. Pointers Goed ontwikkeld. Revisiedatum: 26 december 2007
  9. Bestand invoer en uitvoer Nog vrijwel niets. Revisiedatum: 26 december 2007
  10. Gelinkte lijst Goed ontwikkeld. Revisiedatum: 26 december 2007

Wat zijn lussen (loops)?[bewerken]

Een lus is een programmastructuur die er voor zorgt dat een deel van de code steeds herhaald wordt. Bijvoorbeeld: je herhaalt de opdracht die "Hallo Wereld" uitprint, zoals in de onderstaande code met behulp van een lus in de vorm van een while-opdracht.

C++-code:

 #include <iostream>
 using namespace std;
 int main(void) {
   while(1)
   {
      cout << "Hallo Wereld" << endl;
   }
 }

Hierdoor krijg je een oneindige reeks met "Hallo Wereld" op je beeldscherm. Je kan je programma stoppen met de toetscombinatie Ctrl C.

While-lus[bewerken]

Deze lus herhaalt de in de lus gegeven opdracht zolang de waarde van de variabele niet verandert in 0.

C++-code:

 #include <iostream>
 using namespace std;
 int main(void) {
    int variabele = 1;   
    while(variabele)
    {
       cout << "Hallo Wereld" << endl;
    }
 }

uitvoer:

Hallo Wereld
Hallo Wereld
Hallo Wereld
Hallo Wereld
Hallo Wereld
Hallo Wereld
Hallo Wereld
Hallo Wereld
Hallo Wereld
Hallo Wereld
enz...(tot u het programma stopt)

Aangezien de variabele niet van waarde verandert binnen de lus, wordt de print-opdracht voortdurend herhaald.

Een while-loop is natuurlijk niet bedoeld om oneindig te zijn. In het volgende voorbeeld wordt de actie (een rekensom laten zien) net zo lang uitgevoerd tot de gebruiker het juiste antwoord geeft.

C++-code:

 #include <iostream>

using namespace std;

int main()	{
	int antwoord = 0 ;
	int goedeantwoord = 7;
	while(antwoord != goedeantwoord)
	{
	cout << "Wat is 3+4?" << endl;
	cin >> antwoord;
	}
}

Do-while loop[bewerken]

De do-while-loop lijkt veel op de while-lus, met het verschil dat de controle voor het voortzetten niet vooraf gebeurt, maar achteraf, nadat de lus doorlopen is. De lus wordt dus minstens één keer uitgevoerd. Zodra dat gebeurd is, wordt er pas gekeken of aan de voorwaarde voor herhaling wordt voldaan. Als dat niet zo is, wordt de lus gestopt; als het wel zo is, gaat de lus gewoon door.

C++-code:

#include <iostream>
using namespace std;
int main() {
   int leeftijd;
   cout<<"Geef aub je leeftijd op: ";
   cin>> leeftijd;
   do{
      cout << "U bent " << leeftijd << " jaar oud." << endl;
      cout << "Geef aub je leeftijd op: ";
      cin >> leeftijd;  
   }while(leeftijd>0);
   cin.get();
}

Hier wordt de leeftijd ingelezen van een persoon. Als we een gewone while-lus hadden gebruikt en we hadden 0 ingegeven, was de lus meteen gestopt. Maar de do-while-lus wordt eerst uitgevoerd en als we dan 0 ingeven stopt hij wel.

For loop[bewerken]

Deze loop is iets complexer. De algemene vorm is:

C++-code:

for( start ; voorwaarde ; aanpassing) 
 {
      opdracht;
 }

Als eerste staat er een statement, 'start' die bij het begin één keer wordt uitgevoerd, meestal om een variabele een bepaalde beginwaarde te geven. Dan volgt een expressie, die geëvalueerd wordt en als de waarde TRUE is zal de lus doorlopen worden, en als de waarde FALSE is, wordt de lus beëindigd. Als de lus doorlopen wordt, zal ook het laatste statement uitgevoerd worden, meestal om de waarde van de variabele aan te passen.

De for-loop is hetzelfde als de volgende code met een while-loop:

C++-code:

start ;
while ( voorwaarde ) 
 {
      opdracht;
      aanpassing;
 }

Het verloop van de for-loop gaat zo:

  • Voer het eerste statement uit (bv. variabele = 0;)
  • Check of de expressie waar is (variabele <= 10?)
  • Zo ja, voer eerst de code uit en daarna het laatste statement (variabele++)
  • Check opnieuw of de expressie waar is (variabele <= 10?)
  • Enzovoorts.

Hier een voorbeeld:

C++-code:

 #include <iostream>
 using namespace std;

 int main(void) {
   for(int variabele = 0;variabele <= 10;variabele++) 
   {
      cout << variabele << ". Hallo Wereld" << endl;
   }
   cin.get();
 }

uitvoer:

0. Hallo Wereld
1. Hallo Wereld
2. Hallo Wereld
3. Hallo Wereld
4. Hallo Wereld
5. Hallo Wereld
6. Hallo Wereld
7. Hallo Wereld
8. Hallo Wereld
9. Hallo Wereld
10. Hallo Wereld
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.