Week 1
Ook dit hoofdstuk bevat meer oefeningen dan je lief zijn. Zoek zelf de oefeningen uit die je aanspreken en focus je op het leren werken met methoden en deze te integreren in een grotere applicatie.
Tip van een lector: meestal als een boek veel oefeningen van een bepaald onderwerp bevat is de kans bestaande dat dit onderwerp misschien wel eens belangrijk kan zijn ;)
OPGELET: de naam van de methode geeft meestal aan wat er juist moet gebeuren. ReadLine en WriteLine mag je bijna NOOIT in methoden gebruiken. Enkel als de methode bijvoorbeeld ToonGetal heet dan zal je iets met WriteLine IN de methode moeten doen. Heet de methode VraagGetal dan zal je inderdaad ReadLine mogen gebruiken. In bijna alle andere gevallen mag dat niet en is het dus de bedoeling dat je de vereiste informatie als parameters aan de methode meegeeft (i.p.v ReadLine), en het resultaat als return teruggeeft (i.p.v. WriteLine).
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 main door deze aan te roepen.
Opwarmers (Essential)
Een extra grote hoop oefeningen om je methoden te oefenen (originele bron). De oefeningen zijn ongeveer gerangschikt naar moeilijkheid.
Iedere oefening verwacht dat je steeds een methode schrijft en de werking ervan aantoont:
Methode
Kwadraatdie het kwadraat van een ingevoerd getal berekent ( het getal geef je mee als parameter).Methode
BerekenStraaldie de straal van een cirkel kan berekenen waarvan je de diameter meegeeft (de diameter geef je mee als parameter).Idem voor omtrek en oppervlakte.
Methode die het grootste van 2 getallen teruggeeft (beide getallen geef je mee als parameter).
Methode
IsEvendie bepaalt of een getal even of oneven is (geeft eenboolterug dietrueis indien even).Methode
ToonOnEvenNummersdie alle oneven getallen van 1 tot n toont waarbij n als parameter wordt meegegeven.(PRO) Methode
IsArmstrongdie bepaalt of een getal een Armstrong getal is.(PRO)Methode
ToonArmstrongNummersdie alle Armstrong nummers tot n toont.
Basic
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". Deze informatie mag hardcoded in je methode staan. Bedoeling is dat je de methode kan aanroepen als volgt:
Deze methode toont enkel zaken op het scherm en heeft dus als returntype void.
Basic 2
Zorg er voor dat je nu je naam, leeftijd en adres via parameters kan meegeven en dus de methode als volgt kunt aanhouden:
Grootste methode
Schrijf een methode die 3 ints aanvaardt en vervolgens de grootste van de 3 parameters als resultaat terug geeft.
Rekenmachine (Essential)
Maak minimaal de methoden genaamd TelOp, TrekAf, Vermenigvuldig en Deel. Je kan aan deze methoden steeds twee doubles meegeven en het resultaat dat terugkomt is uiteraard de bewerking van die twee parameters.
Maak een eenvoudig programma waarin je die methoden test.
ChatGPT generator (Essential)
Dit is geen oefening, maar wel een manier om voor je zelf extra oefeningen te maken.
Gebruik volgende prompt om één of meerdere goede Methoden-oefeningen te genereren. Vervang "XXXX" door een onderwerp of genre waar je interesse in hebt (bijvoorbeeld "counterstrike", "F1 racing", etc.).
" Je bent een lector van een hogeschool die studenten helpt met programmeren. Je bent heel goed in interessante opgaves in C# te ontwikkelen die studenten motiveert om te blijven programmeren.
Verzin een C# oefening voor mij die me doet oefenen op methoden. Methoden geven maximum 1 element terug. Gebruik dus geen tuples of sets van returntypes bij methoden.
Volgende zaken mogen in de oefening aanwezig zijn:variabelen, if else, switch, expressies, de math bibliotheek en loops. De nadruk ligt op het oefenen op methoden.
Volgende zaken mogen niet in de oefening aan bod komen: arrays, lists, linq en object georiënteerd programmeren.
Laat de oefening gaan over XXXX. Toon geen voorbeeldcode of oplossing. Toon wel voorbeelduitvoer. Leg ook expliciet uit welke methoden ik moet schrijven en hoe ze werken Stel ook 3 mogelijke uitbreidingen voor. "
OPGELET: zoals je weet bestaat de kans dat ChatGpt toch oefeningen maakt die je nog niet kan, ondanks de prompt. Het kan bijvoorbeeld gebeuren dat de oefening toch vereist dat je al weet wat arrays zijn. In dat geval kan je zelf de oefening voor je zelf vereenvoudigen, of vragen aan ChatGPT om het stuk dat je niet begrijpt er uit te halen (of uit te leggen wat hij juist bedoelt).
Pro Rekenmachine
Kan je een eenvoudige zakrekenmachine maken (inclusief geheugen)? Voeg extra methoden naar keuze toe (denk aan macht, sinus, cosinus, modulo, etc.).
Paswoord generator methode
Maak een paswoord generator die paswoorden van bepaalde lengte genereert en bestaat uit willekeurige letters, hoofdletters en cijfers. Plaats deze code in een methode die 1 parameter aanvaardt namelijk de lengte van het paswoord dat gemaakt moet worden. De methode geeft het gegenereerde paswoord terug als resultaat. (tip gebruik een random number generator(s) om getallen te genereren die je ook kan casten naar chars dankzij de Unicode waarde van chars).
Netflix – Essentials Oefening (Methoden)
Je bent aangenomen als backend developer bij Netflix. Je eerste taak is het schrijven van enkele essentiële hulpmethoden voor een console-applicatie.
Maak een programma dat de onderstaande methoden bevat en test ze allemaal in de Main methode met invoer van de gebruiker.
Te implementeren methoden
1. ToonWelkomstBericht
ToonWelkomstBerichtDoel: Toont een welkomstboodschap op het scherm.
Parameters: naam van de gebruiker (
string)Werking: Print
Welkom terug, [naam]! Tijd om te bingen.Return type:
void
2. BerekenKijktijd
BerekenKijktijdDoel: Berekent hoe lang je bezig gaat zijn met kijken.
Parameters:
aantal afleveringen (
int)minuten per aflevering (
int)
Werking: Vermenigvuldigt beide waarden.
Return type:
int(totaal aantal minuten)
3. MagKijken
MagKijkenDoel: Controleert of een gebruiker oud genoeg is voor een serie.
Parameters:
leeftijd gebruiker (
int)minimumleeftijd serie (
int)
Werking: Geeft
trueterug als de gebruiker oud genoeg is, andersfalse.Return type:
bool
4. GenereerTitel
GenereerTitelDoel: Maakt een standaard titelstring voor de interface.
Parameters:
naam van de serie (
string)seizoen (
int)aflevering (
int)
Werking: Geeft een string terug in het formaat
[SerieNaam] - S[seizoen]E[aflevering]Return type:
string
Scenario in Main
MainSchrijf een programma dat de volgende flow uitvoert:
Vraag de naam van de gebruiker en roep
ToonWelkomstBerichtaan.Vraag de leeftijd van de gebruiker.
Vraag:
de naam van de serie
de minimumleeftijd van de serie
Gebruik
MagKijken:Indien niet oud genoeg: Toon
"Helaas, je bent te jong voor deze serie."en beëindig het programma.Indien wel oud genoeg: Toon
"Veel kijkplezier!"
Vraag:
hoeveel afleveringen de gebruiker wil kijken
hoeveel minuten één aflevering duurt
Gebruik
BerekenKijktijden toon:Totale kijktijd: X minutenVraag:
seizoen
aflevering
Gebruik
GenereerTitelen toon:Je start met: [titel]
Voorbeeld output: (tekst na > is invoer)
Ander voorbeeld:
Last updated
Was this helpful?