4.1 Inleiding selectie
4.2 If-statement
4.3 Switch-statement
4.4 Samengestelde logische formuleringen
Oefeningen hoofdstuk 4
4.1 Inleiding selectie
Een selectie wordt meestal gerealiseerd met het “if-statement”. Afhankelijk van het resultaat voert de computer de ene of de andere handeling uit. Met selectie kunnen we een keuze programmeren door middel van een voorwaarde.
if voorwaarde
then then-component
else else-component
endif
Indien aan de voorwaarde voldaan is, voert het programma de opdracht uit de then-component uit; indien niet voldaan is aan de voorwaarde voert het programma de else-component uit.
De voorwaarde kan zowel een enkelvoudige als een samengestelde logische formulering zijn.
De operatoren die we gebruiken in een logische formulering, namelijk relationele en logische operatoren, hebben we reeds besproken in hoofdstuk 2 paragraaf 2.4.
Top
4.2 If-statement
De if-opdracht heeft de structuur:
if (condition)
{
[statements];
}
[else
{
[elsestatements];
}]
Na het woord if staat de condition of logische formulering. De condition kan de waarde true of false hebben. De condition heeft de waarde true indien aan de condition voldaan is. Het programma voert de opdrachten uit die geformuleerd staan in “statements”. Indien niet aan de condition voldaan is, heeft de condition de waarde false en voert het programma de opdrachten uit die beschreven staan in “elsestatements”.
Probleemstelling toegang Versus
Om toegang te krijgen tot de discotheek Versus moet je minimum 16 jaar oud zijn. Ontwerp een consoletoepassing waarmee je de leeftijd van de gebruiker opvraagt. Als de ingevoerde leeftijd 16 jaar of meer bedraagt, krijgt de gebruiker toegang tot de discotheek en verschijnt de tekst: “Je bent x jaar oud. Veel plezier in de Versus.”. Indien niet voldaan is aan deze voorwaarde verschijnt de tekst: “Helaas! Je moet minimum 16 jaar zijn om toegang te krijgen tot de Versus.”.
Uitbreiding probleemstelling toegang Versus: VIP-lounge
Indien de gebruiker 21 jaar of ouder is, krijgt hij/zij toegang tot de VIP-lounge van de Versus. De volgende tekst verschijnt: “Je krijgt toegang tot onze exclusieve VIP-lounge!”.
Hier hebben we te maken met een meerkeuzestructuur met meerdere, namelijk 2 variabelen. Daarom hanteren we de structuur met “else if”. De oplossing ziet er als volgt uit:
4.3 Switch-statement
Wanneer er meerdere mogelijkheden zijn, is de switch-structuur in C# veel efficiënter. De switch-opdracht heeft de algemene structuur:
switch (expression)
{
case constant-expression:
statement
jump-statement
[default:
statement
jump-statement]
}
De “expression” die achter “switch” staat is meestal een variabele. Deze variabele wordt dan vergeleken met de verschillende “constant-expressions”. Iedere case eindigt met het jump-statement “break;”. Dit betekent dat het programma de code die na “break;” geformuleerd staat binnen de switch { } niet meer uitvoert indien deze case uitvoerbaar is.
Opmerkingen:
- je kan enkel waarden meegeven bij case;
- bereiken (bijvoorbeeld 1-3, 10) werken niet;
- je kan geen rekenkundige of logische operatoren gebruiken.
Uitbreiding probleemstelling toegang Versus: Groepskorting
Groepen krijgen groepskorting in de Versus. De kortingen zijn als volgt:
- een groep van 3 personen krijgt 10% korting;
- een groep van 4 personen 20%;
- een groep van 5 personen 50 %;
- groepen vanaf 6 personen mogen gratis binnen.
4.4 Samengestelde logische formuleringen
In hoofdstuk 2 paragraaf 2.4 hebben we de logische operatoren al behandeld. Door middel van de logische operatoren kunnen we 2 of meer voorwaarden combineren.
Uitbreiding probleemstelling toegang Versus: Ladies night
De eerste woensdag van iedere maand is het “Ladies night”. Alleen vrouwen van ouder dan 30 en die ongehuwd zijn, krijgen toegang tot de Versus.
Oefeningen hoofdstuk 4
Oefening 4-1 Om deel te nemen aan de spelen van de Nationale Loterij moet je minimum 18 jaar oud zijn. Ontwerp een consoletoepassing waarmee je de leeftijd van de gebruiker opvraagt. Als de ingevoerde leeftijd minimum 18 jaar bedraagt, krijgt de gebruiker toegang tot de site van de nationale loterij en verschijnt de tekst: “Je bent x jaar oud. Je mag deelnemen aan de spelen van de Nationale Loterij.”. Indien niet voldaan is aan deze voorwaarde verschijnt de tekst: “Om deel te nemen aan de spelen van de Nationale Loterij moet je minimum 18 jaar oud zijn.”.
Oefening 4-2 Ontwerp een consoletoepassing waarmee de uitbater van een schoenwinkel het totaal te betalen bedrag kan berekenen. Als je 2 of meer paar schoenen koopt, dan krijg je 25 % korting. Een paar schoenen kost 100 EUR.
Oefening 4-3 De solden lopen op hun einde en de uitbater van de schoenwinkel geeft speciale kortingen. Ontwerp een consoletoepassing waarmee de uitbater van een schoenwinkel het totaal te betalen bedrag kan berekenen. Als je één paar schoenen koopt, krijg je 20 % korting, bij de aankoop van 2 paar schoenen krijg je 40% korting en bij aankoop van meer dan twee paar schoenen zelfs 60 % korting. Een paar schoenen kost 125 EUR.
Oefening 4-4 Ontwerp een consoletoepassing waarmee je aan de gebruiker het resultaat van 5 examens opvraagt. De opgevraagde resultaten zijn de behaalde punten op 100. De student is geslaagd als hij hoogstens 1 onvoldoende heeft en een gemiddelde van minstens 50 % behaalde.
Oefening 4-5 Ontwerp een consoletoepassing die het overeenkomstige kwartaal van een ingegeven datum weergeeft.
Oefening 4-6 Ontwerp een consoletoepassing waarmee je op basis van de taalkeuze de tekst “Tot ziens” in de gekozen taal weergeeft. Doe dit voor Nederlands, Engels, Frans en Duits.
Oefening 4-7 Indien een klant betaalt binnen de 10 dagen na factuurdatum dan krijgt de klant 2 % financiële korting. Ontwerp een consoletoepassing waarin de handelaar het bedrag exclusief BTW (21 %) en het aantal dagen na factuurdatum waarop de factuur betaald is, ingeeft. In de console verschijnt dan:
- het bedrag exclusief BTW;
- de eventuele financiële korting (in EUR);
- het bedrag exclusief BTW verminderd met de financiële korting;
- het BTW bedrag;
- het bedrag inclusief BTW.
Extra oefening 4-8 Ontwerp een consoletoepassing waarmee je het lidgeld voor de bibliotheek berekent. Het lidgeld is afhankelijk van de leeftijd. Het lidgeld bedraagt 5 EUR voor iedereen jonger dan 26 jaar, anderen betalen 10 EUR.
Extra oefening 4-9 Ontwerp een console toepassing waarmee je berekent hoeveel iemand voor een bioscoopkaartje moet betalen. De volle prijs van een bioscoopticket bedraagt 13,70 EUR. Op basis van de leeftijd wordt de prijs bepaald:
- Jonger dan 5 jaar: gratis;
- Tussen de 5 en de 12: halve prijs;
- Tussen de 13 en de 54: vol tarief;
- 55+: gratis
Extra oefening 4-10 Ontwerp een consoletoepassing waarmee je het ideale gewicht kan berekenen voor een man of een vrouw. Rond de uitkomst af op 0 cijfers na de komma. Het ideale gewicht van een man wordt berekend op basis van zijn lengte. Van de lichaamslengte in cm wordt 100 afgetrokken. Het getal dat men bekomt, wordt met 10% verminderd. Het resultaat is het ideale gewicht voor een man.
Het ideale gewicht van een vrouw wordt berekend aan de hand van haar lengte en haar polsomtrek met de volgende formule: M = (L + 4 x P -100) / 2
- M: lichaamsgewicht in kg
- L: lengte in cm
- P: polsomtrek in cm