Oefeningen

H4-BMI-if

Leerdoelen

  • conditionele boodschappen

Functionele analyse

Deze opgave bouwt verder op H3-BMI-berekenaar. Meerbepaald moet je de gebruiker niet alleen zijn of haar BMI tonen, maar moet je ook een gekleurde boodschap tonen die laat weten of de BMI goed zit of niet.

Voor een BMI lager dan 18,5 toon je de boodschap "ondergewicht" in rode tekst. Voor een BMI die hoger ligt dan 18,5 maar lager dan 25, toon je de boodschap "normaal gewicht" in groene tekst. Voor een hogere BMI, maar lager dan 30, toon je in gele tekst "overgewicht". Voor een hogere BMI, maar lager dan 40, toon je "zwaarlijvig" in rode tekst. Voor een hogere BMI toon je "ernstige obesitas" in magenta.

Technische analyse

Via if en else (en dus ook else if) kan je gevallen onderscheiden. Gebruik ConsoleColor.Red, ConsoleColor.Green, ConsoleColor.Yellow en ConsoleColor.Magenta.

UI

console applicatie

voorbeeldinteractie(s)

Hoeveel weeg je in kg?
> 69.0
Hoe groot ben je in m?
> 1.78
Je BMI bedraagt 21.78.
normaal gewicht

De tekst zou in het groen moeten verschijnen maar Gitbook staat dit niet meteen toe.

H4-schoenverkoper

Leerdoelen

  • conditionele berekeningen

Functionele analyse

Maak een programma dat aan de gebruiker vraagt hoeveel paar schoenen hij wenst te kopen. Ieder paar schoenen kost normaal 20 euro. Indien de gebruiker 10 paar of meer koopt, kost elk paar maar 10 euro. Toon aan de gebruiker de totale prijs.

Breid in een tweede stap je programma uit zodat gevraagd wordt vanaf welk aantal schoenen de prijs daalt naar 10 euro.

Technische analyse

Hou variabelen bij voor de prijs, de gereduceerde prijs en het aantal paar dat nodig is om korting te krijgen. De eerste twee variabelen maak je const.

UI

console applicatie

voorbeeldinteractie(s)

Hoeveel paar schoenen wil je kopen?
> 3
Je moet 60 euro betalen.
Hoeveel paar schoenen wil je kopen?
> 12
Je moet 120 euro betalen.

(Na de uitbreiding)

Vanaf welk aantal geldt de korting?
> 7
Hoeveel paar schoenen wil je kopen?
> 8
Je moet 80 euro betalen.

H4-Ohm-berekenaar

Leerdoelen

  • conditionele berekeningen

De wet van Ohm houdt in dat een elektrische stroom (voorgesteld als I) gelijk is aan een spanningsverschil (U) gedeeld door een weerstand (R), dus I = U / R.

Functionele analyse

Vraag aan de gebruiker wat hij wenst te berekenen: Spanning, Weerstand of Stroomsterkte. Vraag vervolgens de twee andere waarden (als dus de gebruiker "Spanning" kiest vraag je aan de gebruiker de stroomsterkte en de weerstand) en bereken m.b.v. de wet van Ohm de gewenste waarde en toon aan de gebruiker.

Technische analyse

Denk eraan dat de gegeven formule wiskundig gedefinieerd is. In C♯ zal je rekening moeten houden met het feit dat deze drie maten uitgedrukt kunnen worden in kommagetallen.

Je mag hier gewoon strings gebruiken om na te gaan welke maat de gebruiker heeft ingetypt. Je mag veronderstellen dat de getallen uitgedrukt zijn in de gewoonlijke eenheden (volt, ampère, ohm) zodat je ze gewoon kan invullen in de formule.

UI

console applicatie

voorbeeldinteractie(s)

Wat wil je berekenen? spanning, weerstand of stroomsterkte?
> stroomsterkte
Wat is de spanning?
> 30
Wat is de weerstand?
> 20
De stroomsterkte bedraagt 1.5.

H4-Schrikkeljaar

Leerdoelen

  • conditionele berekeningen

  • geneste condities

Functionele analyse

De gebruiker voert een jaartal in en jouw programma toont of het wel of geen schrikkeljaar is. Een schrikkeljaar is deelbaar door 4, behalve als het ook deelbaar is door 100, tenzij het wél deelbaar is door 400.

Technische analyse

  • gebruik de modulo-operator (%) om deelbaarheid door 4 na te gaan

  • gebruik een constructie met geneste ifs (en elses) om alle gevallen af te handelen

UI

console applicatie

voorbeeldinteractie(s)

> 1997
geen schrikkeljaar
> 1996
schrikkeljaar
> 1900
geen schrikkeljaar
> 2000
schrikkeljaar

H4-kleurcodes

Leerdoelen

  • conditionele berekeningen

  • werken met switch

Functionele analyse

Deze oefening bouwt voort op H2-weerstandberekenaar-deel1. Vraag nu aan de gebruiker om de ringkleuren van de eerste 3 ringen in te voeren als tekst (bv groen). Toon vervolgens de de waarde van deze weerstand.

Technische analyse

Je zal elke kleur moeten omzetten in een getal en dan je eerdere oplossing hergebruiken. Omzetten doe je door de ingevoerde tekst te vergelijken met een vaste string en naargelang het resultaat variabelen voor ring 1, 2 en 3 in te vullen. Los deze oefening op met switch!

UI

console applicatie

voorbeeldinteractie(s)

Wat is de kleur van de eerste ring?
> rood
Wat is de kleur van de tweede ring?
> paars
Wat is de kleur van de derde ring?
> rood
Deze weerstand heeft waarde van 2700 Ohm

Voel je je vandaag extra leergierig? Maak dan een extra enum, ResistorColors en zet de ingegeven tekst om naar waarden binnen deze enum vooraleer je de berekening uitvoert.

H4-orakeltje

Leerdoelen

  • conditionele berekeningen

  • werken met switch

  • werken met enumeraties

Functionele analyse

Vul de oefening aan uit het vorige hoofdstuk (zie deze pagina). Voor het orakel je vertelt hoe lang je te leven hebt zal eerst vragen naar je geslacht, dat je ingeeft als v of m. Dan vraagt ze je leeftijd. Mannen leven maximum tot hun 120 jaar. Vrouwen tot 150 jaar. Het orakel moet rekening houden met je huidige leeftijd, dus het mag niet zeggen dan een man nog 110 jaar te leven heeft als hij al 50 is, want dan zou hij ouder worden dan 120.

Technische analyse

  • Je mag veronderstellen dat de huidige leeftijd onder het theoretische maximum ligt.

  • Gebruik een enum, met als naam Sexes en als waarden Male en Female om de geslachten voor te stellen.

    • Het programma zou in dit geval misschien iets simpeler zijn zonder, maar dan gebruik je dit een eerste keer.

  • Je kan vermijden dat de voorspelde leeftijd te hoog gaat door je .Next-call aan te passen, zodat de hoogst mogelijke waarde diegene is waarbij je de maximale leeftijd voor het gegeven geslacht bereikt.

UI

console applicatie

voorbeeldinteractie(s)

Wat is je geslacht?
> m
Hoe oud ben je?
> 32
Je hebt nog 80 jaar te leven!

H4-ruimte-specifiek

Dit is een complexere oefening dan de vorige! Pak het stapje voor stapje aan en gebruik indien nodig de debugger.

Leerdoelen

  • werken met enumeraties

  • conversie van enums van en naar getallen

  • werken met switch

Functionele analyse

Deze opgave bouwt verder op H1-ruimte. Eerst vraag je de gebruiker om zijn of haar gewicht in te voeren. Daarna geef je een lijst van de planeten in ons zonnestelsel (Pluto inbegrepen, ook al is dat officieel geen planeet). Iedere planeet wordt voorafgegaan door een nummer. Dan selecteert de gebruiker het nummer van een van deze planeten en ten slotte toont het programma hoe veel de persoon weegt op de planeet in kwestie.

Technische analyse

Je hebt hier verschillende zaken nodig:

  • conversie naar een double om een gewicht in te lezen

  • een enum om de planeten voor te stellen

  • conversie van de planeten naar getallen om de gebruiker een nummer voor elke planeet te tonen

  • conversie in de omgekeerde richting om de keuze van de gebruiker te verstaan

  • een switch om de juiste vermenigvuldigingsfactor te bepalen

UI

console applicatie

voorbeeldinteractie(s)

Hoeveel weeg je?
> 69.0
Voor welke planeet wil je je gewicht kennen?
1. Mercurius
2. Venus
3. Aarde
4. Mars
5. Jupiter
6. Saturnus
7. Uranus
8. Neptunus
9. Pluto
> 2
Daar weeg je 62.79kg.

Last updated