In deze oefeninge bouwen we verder op de oefening Bereken eindcijfer uit reeks 2.
In deze oefening berekenden we het eindcijfer voor het vak programmeren op basis van drie deelscores: de punten voor het praktijkexamen (cijfer op 20), de punten voor het examen theorie (cijfer op 40) en de bonuspunten (0, 1 of 2).
Berekening
De bereking ging als volgt:
- 0, 1 of 2 bonuspunten worden toegevoegd aan het cijfer voor praktijk (op 20) met als randvoorwaarde dat je via bonuspunten niet boven de 18/20 kan uitkomen voor praktijk.
- De punten voor theorie en praktijk tellen elk voor 50% van het eindcijfer
- Als een student afwezig was voor beide examens, dan is het eindcijfer 'afwe', ongeacht de bonuspunten.
- Als een student afwezig was voor één van beide examens, maar deelgenomen heeft aan het andere examen, dan krijgt de student een nulscore voor het afwezige examen. Indien de student afwezig was voor het praktijkgedeelte dan vervallen ook de bonuspunten.
- Het eindcijfer is een geheel getal op 20 en dat wordt wiskundig afgerond (een decimaal deel van .5 wordt altijd naar boven afgerond).
Opgave
Schrijf een functie eindcijfer die drie argumenten heeft:
- Cijfer voor het oefeningenexamen: een geheel getal tussen 0 en 20 of de string "afwe".
- Cijfer voor het examen theorie: een geheel getal tussen 0 en 40 of de string "afwe".
- Bonuspunten: een geheel getal tussen 0 en 2
De functie retourneert het eindcijfer (geheel getal tussen 0 en 20).
Voorbeelden
>>> eindcijfer(13, 28, 0)
14
>>> eindcijfer('afwe', 'afwe', 2)
'afwe'
>>> eindcijfer(19, 'afwe', 2)
10
Waarschuwing: print versus return
Deze oefening heeft als voornaamste doel dat je goed het verschil begrijpt tussen een print en een return statement. Je kan de berekening overnemen uit de vorige oefening en aanpassen.
Als in de opgave gevraagd wordt om een functie te programmeren, dan hoef je niets op het scherm af te drukken. Gevolg is dat er in PyCharm niets zal gebeuren als je het programma uitvoert. De functie hoeft immers niet aangeroepen te worden.
Hoe testen in PyCharm?
- Programmeer de definitie van de functie in een .py bestand.
- Klik rechtermuisknop en kies "Run file in Python Console"
Schermafruk 1
- De definitie van de functie is nu geladen in de console en je kan de functie gebruiken.
- Kopieer de voorbeeldjes (aanroep van de functie) in de console en kijk of je de juiste waarde krijgt.
Schermafruk 2