Oefeningen
Sommige oefeningen zijn van de vorm "Maak een methode die...". Het is steeds de bedoeling dat je de werking van je methode ook test in je
Maindoor deze aan te roepen.
Oefening: H6-veel-kleintjes
Leerdoelen
methodes
Functionele analyse
Schrijf een hele reeks methodes die je samen test:
Methode
Squaredie het kwadraat van een ingevoerd getal berekent.Methode
Radiusdie de straal van een cirkel kan berekenen waarvan je de diameter meegeeft.Methodes
CircumferenceenSurface(in de formule gebruik jeMath.PI).Methode
Largestdie het grootste van 2 getallen teruggeeft.Methode
IsEvendie bepaalt of een getal even of oneven is (geeft eenboolterug dietrueis indien even).Methode
ShowOdddie alle oneven getallen van 1 tot n toont waarbij n als parameter wordt meegegeven.
Technische analyse
Schrijf een voorbeeldprogramma dat in de Main-methode elke methode kort demonstreert. Toon alle getallen tot op twee cijfers na de komma. Voor ShowOddNumbers kan je nog geen resultaat teruggeven, maar je kan het wel afprinten.
UI
console applicatie
voorbeeldinteractie(s)
Wat moet ik kwadrateren?
> 2
4
Wat is de diameter?
> 6
3
Wat is de diameter?
> 2
De omtrek is 6.28
De oppervlakte is 3.14
Welke twee getallen wil je vergelijken?
> 3
> 9
9 is het grootste getal
Geef een getal en ik zeg of het even is:
> 4
Het getal is even.
Geef een getal en ik zoek de oneven getallen:
> 7
1
3
5
7Oefening: H6-voorstellen
Leerdoelen
methodes
Functionele analyse
Maak een methode die jezelf voorstelt op het scherm in de vorm van "Ik ben Tim Dams, ik ben 18 jaar oud en woon in de Lambrisseringsstraat 666".
Technische analyse
Je persoonlijke informatie mag hardcoded in je methode staan. Bedoeling is dat je de methode kan aanroepen als volgt:
MyIntro();Deze methode voert een taak uit, maar geeft geen antwoord dat je verder zou kunnen gebruiken. Het return type is dan ook void.
UI
console applicatie
voorbeeldinteractie(s)
Ik ben Tim Dams, ik ben 18 jaar oud en woon in de Lambrisseringsstraat 666Oefening: H6-voorstellen-plus
Leerdoelen
methodes-met-parameters
Functionele analyse
Maak een flexibelere versie van H6-voorstellen, die je persoonlijke gegevens als argumenten meekrijgt.
Technische analyse
Je persoonlijke informatie wordt meegegeven via drie parameters: één voor de naam, één voor de leeftijd, één voor de straat. Je moet de methode dus zo kunnen oproepen:
MyIntro("Tim Dams", 18, "Lambrisseringsstraat 666");UI
console applicatie
voorbeeldinteractie(s)
Ik ben Tim Dams, ik ben 18 jaar oud en woon in de Lambrisseringsstraat 666Oefening: H6-grootste-methode
Leerdoelen
methodes
Functionele analyse
Schrijf een methode die drie ints aanvaardt en de grootste als resultaat teruggeeft.
Technische analyse
Aangezien het maar om 3 argumenten gaat, kan je dit oplossen met ifs die het eerste en het tweede argument vergelijken, het eerste en het derde argument,... Test je methode uit in een voorbeeldprogrammaatje.
UI
console applicatie
voorbeeldinteractie(s)
Geef 3 ints.
> 7
> 10
> 4
Het grootste getal is 10.Oefening: H6-paswoord-generator
Leerdoelen
methodes
Functionele analyse
Maak een paswoord generator die paswoorden van bepaalde lengte genereert en bestaat uit willekeurige letters, hoofdletters en cijfers. Plaats deze code in een methode met 1 parameter, namelijk de lengte van het paswoord dat gemaakt moet worden. De methode geeft het gegenereerde paswoord terug als resultaat.
Technische analyse
Maak gebruik van Random en een for-lus. Een Random genereert normaal alleen getallen, maar via casting kan je die getallen omzetten in chars. Raadpleeg een Unicode tabel voor de juiste getallen of (iets sneller) cast eerst 'a' en 'z' naar getallen en gebruik die om te bepalen welke willekeurige resultaten je mag genereren. Demonstreer je methode met een kort programma.
UI
console applicatie
voorbeeldinteractie(s)
Hoe veel karakters moet je wachtwoord bevatten?
> 8
dIh8ez10Oefening: H6-film-default
Leerdoelen
methodes met default argumenten
Functionele analyse
Maak een methode FilmRuntime met 3 parameters:
Een string die de naam van de film bevat
Een integer die duur in minuten van de film bevat
Een enum-type
FilmGenredie het genre van de film bevat. Deze enum heeft de mogelijke waardenDrama,Action,ComedyenUncategorized.
Deze methode toont dan een samenvatting van de film op het scherm, gevolgd door zijn duur en genre in volgend formaat:
The Matrix (120 minuten, Action)Indien de duur niet gespecifieerd wordt, wordt gezegd dat hij 90 minuten duurt. Indien het genre niet wordt meegegeven, wordt "Uncategorized" vermeld op het scherm.
Technische analyse
Schrijf je methode met drie parameters, maar geef de duur en het genre een default waarde. Toon aan in je main dat de methode werkt met zowel 1, 2 als 3 parameters. Toon ook aan dat je met "named arguments" de methode kan aanroepen.
UI
console applicatie
voorbeeldinteractie(s)
The Matrix (120 minuten, Action)
Crouching Tiger, Hidden Dragon (90 minuten, Unknown)Oefening: H6-rekenmachine
Leerdoelen
werken met verschillende methodes
Functionele analyse
Rekenmachine
Maak de methoden TelOp, TrekAf, VermenigVuldig en Deel.
Aan deze methoden worden twee doubles meegeven als parameter. Het returntype is de bewerking met die twee parameters.
Maak een eenvoudig programma'tje waarin je deze methoden test a.h.v. een keuze die gemaakt moet worden.
Maak een keuze uit
1. Optellen
2. Aftrekken
3. Vermenigvuldingen
4. Delen
Geef het overeenstemmende nummer als keuze in: 1
Geef het eerste nummer in: 2
Geef het tweede nummer in: 3
Resultaat: (2 + 3) = 5Technische analyse
Schrijf je vier methoden, telkens met twee parameters.
Roep één van deze vier methoden aan a.h.v. een switch constructie binnen uw main.
UI
console applicatie
voorbeeldinteractie(s)
TelOp(number1, number2)Last updated
Was this helpful?