Beginselen van programmeren
Algemeen
Het examen is mondeling met schriftelijke voorbereiding. Bij prof. Olivié kan je bijna 100% zeker zijn van ongeveer deze (types) vragen:
- Zo goed als zeker een klasse maken die een (meestal vierkante) matrix van (meestal gehele) getallen voorstelt. Voorzie ook best een default constructor zonder parameters, dat heeft hij graag. Voorzie methodes om elementen op te vragen, en zo nodig ook om elementen te wijzigen in de matrix. Er wordt ook altijd gevraagd een methode te maken die een specifieke eigenschap (bvb. symmetrie, of som van bepaalde elementen ofzo) moet controleren, check de examenvragen voor concrete voorbeelden hiervan.
-
- Een theorievraag (bvb. wat is recursie? of wat is polymorfisme?). Doorloop voor uw examen uw cursus, en noteer op een A4'tje alle typische termen waarbij een mooie definitie hoort, en zorg dat je die kan geven. Dit is ongeveer 10 min. werk.
- Meestal een oefening die de theorievraag ondersteunt. Als de theorievraag bvb. over recursie gaat, zal gevraagd worden een recursieve methode te schrijven voor iets. Als jouw theorievraag over complexiteit gaat, is de kans groot dat de oefening is om een sorteeralgoritme te geven met een bepaalde tijdscomplexiteit. Leer dus ook die enkele sorteeralgoritmes vanbuiten, zodat je ze vlot kan produceren op ’t examen.
-
- Soms nog een beetje theorievragen, die in dit geval meestal over overerving gaan. (Dingen verklaren zoals abstract, polymorfisme, overloading, overriding...)
- Een grotere oefening die je normaal gezien moet uitwerken aan de hand van een hele klassenstructuur met overerving. Dit kan echt vanalles zijn, bij mij was het een bedrijf met werknemers, bij anderen een spel kaarten… zorg dat je vlot thuis bent in overerving (wat na het practicum geen probleem zou mogen zijn).
Prof. Olivié is erg vriendelijk, zolang je maar instemt met wat hij zegt, ook al haalt hij aan dat hij de dingen op een andere manier zou opgelost hebben dan jij. Hij zal nooit klagen als je ergens een syntax-fout maakt, maar wel als je een domme fout op iets anders maakt. Eens een domme fout tegengekomen, blijft hij minder aangenaam voor het verdere verloop van de bespreking.
(tekstje uit 2005)
Typisch veelgevraagde zaken
- Enkele begrippen uitleggen, overloading, dynamische binding, overriding, tijdscomplexiteit etc.
- Oefeningen over matrices
- Sorteeralgoritmes
- Grotere oefening waarbij er een klasse moet worden geschreven
Januari 1999
Dit examen is reeds zeven jaar oud en niet meer helemaal relevant.
- Gegeven een vierkante matrix met dimensie met . Schrijf een functie die, als de som van de elementen van de buitenste rijen en kolommen kleiner is dan de som van de overige elementen, true geeft. Doe dit wel recursief, dus, doe dit ook voor de matrix zoder die buitenkant, enzo, tot je nemeer verder kunt. Dus, als alles true is, moet de uiteindelijke functie pas true geven.
- Gegeven:
Const n = ...;
Type info = record
sleutels : integer;
...
end;
index = [1..n];
Var a : array[index] of info;
Bespreek quicksort:- Geeft het algoritme (in Pascal) voor de gegeven declaraties.
- Maak een schema van het algoritme met gebruik te maken van de volgende rij: (hier stonden 8 getallen)
- Leg uit en bereken de complexiteit van dit algoritme.
- Gegeven 2 bestanden, een met de info van de mensen van Wiskunde, een met de mensen van Natuurkunde. De bestanden bevatten records per persoon die er als volgt uit zien:
- Inschrijvingsnummer
- Naam
- Voornaam
- Geboortedatum
- Geslacht
- Maak met deze informatie 2 nieuwe bestanden, waar de personen geordend zijn per gesacht. Zet er ook bij in welke studierichting ze zitten. Let wel, de records zijn geordend per inschrijvingsnummer, (in stijgende volgorde) en dit moet ook zo zijn in de nieuwe bestanden.