Tik-76.138 Programming methodology - examination 27 February 1996
Merkitse koepaperiin kurssin nimi, päivämäärä, koko nimesi, koulutusohjelma ja opintokirjan numero. [Write the following information on your paper: The name of the course, date, your full name, your study programme and your study book number.]
1/4. Selitä lyhyesti seuraavat käsitteet (tai anna esimerkki): [Explain briefly the following concepts (or give an example):] (max 6 p.)
(a) Abstrakti kantaluokka [Abstract base class]
(b) Automaattinen muistinhallinta eli roskankeruu [Automatic memory management or garbage collection]
(c) Ystäväluokka C++:ssa [Friend class in C++]
(d) C++ -luokan staattinen jäsen [Static member of a C++ class]
(e) Vakiojäsenfunktio C++:ssa [Function overloading in C++]
(f) Nimikonflikti moniperinnässä [Name conflict in multiple inheritance]
2/4. Mitä yhteistä on C++:n ylikuormitetuilla funktioilla ja virtuaalifunktiolla, ja miten ne eroavat toisistaan? [What is common between overloaded and virtual functions in C++ and how they differ from each other?] (max 6 p.)
3/4. Heikko ja vahva tyypitys oliokielissä. [Weak and strong typing in object-oriented programming languages.] (max 6 p.)
4/4. Piirrä OMT-notaation mukainen oliokaavio, joka esittää seuraavat asiat kursseista ja opiskelijoista. [Draw the following an object model on university courses and students using the OMT notation.] (max 6 p.)
· Kurssilla on nimi ja koodi. [A course has a name and a code.]
· Kustakin kurssista on kurssiversioita. Kustakin kurssiversiosta tallennetaan luennointivuosi ja lukukausi. [Each course has a number of course versions. Each version stores the year and term (spring or autumn) when the course version is lectured.]
· Kurssiversio muodostuu osista (merkitse tämä aggregaattina). Kukin osa on tentti, harjoitustyö tai kirjallinen raportti. Erilaisista osista tallennetaan erilaisia tietoja, mutta niistä ei välitetä tässä tehtävässä. [A course version is composed of course units (mark this as an aggregate). Each unit is an examination, an assignment or a written report. Different kinds of units store different data, but they can be ignored here.]
· Opiskelija on perusopiskelija tai jatko-opiskelija. Kustakin opiskelijasta tallennetaan nimi ja opintokirjan numero. Lisäksi perusopiskelijasta tallennetaan koulutusohjelman koodi ja jatko-opiskelijasta perustutkinnon suoritusvuosi. [A student is an undergraduate student or a graduate student. Name and study book number are stored for each student. Moreover, a code for the degree programme is tored for an undergarudate student and the graduation year is stored for a graduate student.]
· Opiskelija voi olla suorittanut kurssien osia. Kustakin suorituksesta tallennetaan suorituspäivämäärä ja arvosana. [A student can have completed a number of course units. For each conrpleted course unit, one stores a date and grade.]
· Yksittäisten kurssin osien lisäksi opiskelija voi olla suorittanut kokonaisia kursseja. Kurssin suorituksesta tallennetaan samat tiedot kuin kurssien osien suorituksista. [In addition to irrdividual course units, a student can have completed a number of courses as whole. The same data are stored for completed courses as for completed course units.]