Hoofdstuk 5: De iteratie

5.1          Inleiding iteratie
5.2          Begrensde herhaling
5.3          Voorwaardelijke herhaling met aanvangsvoorwaarde
5.4          Voorwaardelijke herhaling met afbreekvoorwaarde
Oefeningen hoofdstuk 5

5.1         Inleiding iteratie

Via een iteratie of herhaling kunnen we ervoor zorgen dat de computer een opeenvolging van instructies een aantal keren herhaalt. Een lus is een ander woord voor iteratie dat men vaak gebruikt in het programmeerjargon. Lussen vormen de basisstructuur in om het even welke programmeertaal.

Enkele voorbeelden die een herhaling bevatten:

  • een reeks getallen bij elkaar optellen;
  • namen alfabetisch rangschikken;
  • een boodschap een aantal keren in de console tonen.

Top

5.2         Begrensde herhaling

Bij een begrensde herhaling is op voorhand vastgelegd hoeveel maal een opeenvolging van instructies herhaald moet worden.

Figuur 5.1 iteratie

Figuur 5-1: For

Een for-lus bevat in één coderegel:

  • initialisatie van de teller “intTeller=0” ;
  • lusvoorwaarde “intTeller<=5” en;
  • controlestatement (meestal ophogen van de tellervariabele = de stapgrootte) “intTeller++”.

Tussen de accolades van de for, ook wel de body van de lus genoemd, staan de opdrachten die herhaald moeten worden. Telkens we op ENTER drukken verhoogt de teller met 1. Deze opdracht wordt herhaald totdat de teller op 5 staat.

Wanneer we op ENTER drukken terwijl de teller op 5 staat dan sluit de console af. Dit komt omdat de begrenzing ingesteld staat op <=5.
Top

5.3         Voorwaardelijke herhaling met aanvangsvoorwaarde

Zolang aan een bepaalde voorwaarde voldaan is worden de statements in de body van de lus uitgevoerd. Indien niet meer voldaan is aan de voorwaarde, worden de opdrachten na de lus uitgevoerd.

Figuur 5.2 iteratie

Figuur 5.2: While

Bij dit soort iteratie wordt de aanvangsvoorwaarde, namelijk “intTeller = 0”, onderzocht vooraleer de lus de eerste keer wordt uitgevoerd. Indien niet aan deze voorwaarde voldaan is, wordt de herhaling nooit uitgevoerd.
Top

5.4         Voorwaardelijke herhaling met afbreekvoorwaarde

Bij dit soort iteratie wordt de voorwaarde onderzocht nadat de lus de eerste keer werd uitgevoerd. In tegenstelling tot de “for -” en de “while-lus” worden de statements in de body van de lus minstens één keer uitgevoerd.

Figuur 5.3 iteratie

Figuur 5.3: Do

De iteratie met afbreekvoorwaarde is zeer bruikbaar om de invoer te controleren. Bij de invoer dient de gebruiker immers minstens één keer iets in te geven en het programma vraagt de invoer telkens opnieuw totdat deze invoer voldoet aan de voorwaarde.
Top

Oefeningen hoofdstuk 5

Oefening 5-1     In New York leven naar schatting 2 miljoen ratten. De populatie ratten groeit ieder jaar met 15 %. Ontwerp een consoletoepassing waarmee je kan berekenen hoelang het duurt vooraleer New York 10 miljoen ratten telt.

Oefening 5-2     Ontwerp een consoletoepassing waarmee je 5 keer onder elkaar de tekst toont “Programmeren in c# is leuk!”

Oefening 5-3     Ontwerp een consoletoepassing waarmee je de eerste 10 getallen van de rij van Fibonacci toont.

Oefening 5-4     Ontwerp een consoletoepassing waarin de gebruiker een geheel getal kan invoeren. Het programma maakt de som van het ingegeven getal met al zijn voorgaande gehele getallen.

Oefening 5-5     Ontwerp een consoletoepassing waarmee je 5 verschillende gehele getallen kan invoeren. De console toont het grootste van deze ingevoerde getallen.

Oefening 5-6     Ontwerp een consoletoepassing waarin je de eerst 10 machten van 2 kan berekenen.

Oefening 5-7     Ontwerp een consoletoepassing waarmee je het gemiddelde verbruik van een wagen kan berekenen per 100 km. Bij elke tankbeurt noteert de gebruiker hoeveel kilometer hij gereden heeft sinds de vorige tankbeurt en hoeveel liter hij getankt heeft. Wanneer de gebruiker de waarde 0 ingeeft voor het aantal liter dan berekent het programma het gemiddelde verbruik.

Extra oefening 5-8     Ontwerp een consoletoepassing waarmee je de faculteit van een ingegeven getal kan berekenen.

Extra oefening 5-9     Ontwerp een consoletoepassing waarin de gebruiker 5 optelsommen te zien krijgt. Wanneer de gebruiker een fout antwoord geeft dan weerklinkt een beep. Op het einde van het programma verschijnen de resultaten in de console.
Om willekeurige getallen te genereren gebruiken we de zogenaamde randomgenerator “Random random = new Random()”. Door de functie “Next” op deze klasse Random aan te roepen, verkrijgen we een willekeurig getal.

Extra oefening 5-10   Ontwerp een consoletoepassing waarmee de gebruiker de tafels van vermenigvuldiging verkrijgt van een ingegeven getal tussen 1 en 10.

Extra oefening 5-11   Ontwerp een consoletoepassing waarin de gebruiker een geheel getal kan invoeren met een maximum van 100. De console toont de getallen van 1 tot en met het ingevoerde getal met daarnaast de delers van het getal. Bij een priemgetal vermeldt de console de tekst “Priemgetal”. Een priemgetal is een getal dat slechts deelbaar is door 1 en zichzelf.de faculteit van een ingegeven getal kan berekenen.

Extra oefening 5-12   Ontwerp een consoletoepassing waarin de computer een willekeurig getal kiest tussen 1 en 10. De gebruiker moet dit getal proberen te raden. In de consoletoepassing wordt ook bijgehouden hoeveel pogingen de gebruiker nodig had om het door de computer gekozen getal te raden.

Figuur 5.4 iteratie

Figuur 5-4: Console extra oefening 5-12

Extra oefening 5-13    Ontwerp een consoletoepassing waarmee je 3 worpen met 2 dobbelstenen nabootst. Het resultaat in de console toont wat de deelnemer wint. De deelnemer kan zelf kiezen hoeveel hij inzet. De minimum inzet is 5 EUR en de maximum inzet is 100 EUR. Het spel kan herhaald worden na de laatste worp.

  • bij 1 van de 3 worpen is er 2 keer een 6 geworpen: winst = inzet x 50
  • bij 1 van de 3 worpen is er 2 keer hetzelfde geworpen: winst = inzet x 10
  • bij de 3 worpen is er 2 keer een zes geworpen: winst = inzet x 2

Top
OPLOSSINGEN

Vorige          Volgende