HØGSKOLEN I SØR-TRØNDELAG

Like dokumenter
HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

INF106 Objektorientert programmering

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Kontinuasjonseksamen

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

HØGSKOLEN I SØR-TRØNDELAG

K O N T I N U A S J O N S E K S A M E N

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

Kontinuasjonseksamen

Eksamensoppgave i IFUD1025 Programmering i Java

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

HØGSKOLEN I SØR-TRØNDELAG

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

Gjennomgang av eksamen H99

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N. Grunnleggende programmering

KONTINUASJONSEKSAMEN

UNIVERSITETET I OSLO

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

Endret litt som ukeoppgave i INF1010 våren 2004

GJØVIK INGENIØRHØGSKOLE

UNIVERSITETET I OSLO

Eksamen. Grunnleggende programmering. EKSAMENSDATO: 6.desember 2016 TID: 16:00 20:00. (kalkulator er ikke tillatt)

E K S A M E N. Algoritmiske metoder I. EKSAMENSDATO: 11. desember HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID:

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne

HØGSKOLEN I SØR-TRØNDELAG

Kontinuasjonseksamensoppgave i IMT1082 Objekt-orientert programmering

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 5609 OBJEKTORIENTERT PROGRAMMERING

LC191D/LO191D Videregående programmering mai 2010

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

UNIVERSITETET I OSLO

Algoritmer og Datastrukturer

Eksamensoppgave i IFUD1025 Programmering i Java

Kontinuasjonseksamen

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG

Objektorientert Programmering Ekstraordinær eksamen 2014

8. Operator overloading

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen. Objekt-orientert programmering KLASSE(R): 02HIND* 02HDMU* 02HINE* 02HING* 01HINGA 02HSIV5 02HGEOMAA

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

E K S A M E N. Grunnleggende programmering 03HBIND*, 03HBINFA, 03HBINE*, 03HBMETEA, 03HBMEMAA, 03HBGEOA

Transkript:

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 26.mai 2006 Varighet: 0900-300 Fagnummer: Fagnavn: Klasse(r): LV95D Objektorientert programmering i C++ nettstudenter Studiepoeng: 2 Faglærer(e): Else Lervik, tlf. 73 55 95 50 / 48 28 92 00 Mildrid Ljosland, tlf 73 55 95 56 Hjelpemidler: Oppgavesettet består av: Vedlegg består av: Lærebøker, alle håndskrevne og trykte hjelpemidler. 4 oppgaver og 5 sider (inkludert forside) 0 sider Merknad: Oppgaveteksten kan beholdes av studenter som sitter eksamenstiden ut. Lykke til!

Generell informasjon All programmering skal skje i C++. Det er tillatt å bruke klasser fra leksjoner, øvingsopplegg og lærebok. Ta i tilfelle med henvisninger til hvor klassen er å finne. Les gjennom hele oppgavesettet før du begynner å programmere. Pass på at du ikke gjør verken mer eller mindre enn det oppgavene spør etter. Men dersom du trenger flere funksjoner/konstruktører for å lage de funksjonene oppgavene spør etter, skal du også programmere disse. En fornuftig oppdeling i funksjoner ut over det oppgaven spør etter, kan gi plusspoeng ved bedømmelsen. For å spare tid kan du definere alle medlemsfunksjoner inline. Dersom du mener det mangler opplysninger, sett dine egne forutsetninger. Feilsjekking skal utføres, men feilene behandles kun på enkleste måte, dvs. at du kan la funksjonene returnere -, false eller 0, avhengig av returtypen. 2

Innledning I dette oppgavesettet skal du arbeide med problemstillinger omkring registrering og avlønning av eksterne sensorer ved en høgskole/universitet. Sensorene avlønnes etter kompetanse, men slik at det kun fins to trinn: Enten har sensoren professorkompetanse og får høyeste lønn (kr 224,30 pr time), eller han/hun har ikke denne kompetansen. Da er timelønnen kr 93,90. Vi skiller mellom tre typer eksamener med ulik type avlønning: Muntlig eksamen. Sensoren får her betalt for tre timer forberedelse pluss faktisk medgått tid til gjennomføringen av eksamen. Skriftlig eksamen. Også her beregnes tre timers forberedelse. Her får sensoren betalt for et bestemt antall timer uavhengig av faktisk forbrukt tid. Antall timer pr besvarelse avhenger av antall besvarelser og eksamenstidens lengde: o o Tidsforbruk for de 0 første besvarelsene settes lik 0,5 eksamenstidens lengde pr besvarelse. Eksempel: 8 besvarelser, 4 timers eksamen, gir 8 4 0,5 = 4,8 timer. Tidsforbruk pr besvarelse fra og med besvarelse nr settes lik 0, eksamenstidens lengde. Eksempel: 5 besvarelser, 4 timers eksamen, gir 0 4 0,5 + 5 4 0, = 6,0 + 2,0 = 8,0 timer Prosjektoppgave. For sensurering av en oppgave får sensoren lønn for åtte timer. Et utdrag av klassediagrammet ser slik ut: Sensurregister Sensor Oppdrag Semester gitt i teksten... subklasser... Klassen Semester er gitt med følgende klassedefinisjon: class Semester { public: enum halvaar {hoest, vaar}; // høst, vår Semester(halvAar startdel, int startaar); halvaar finndel() const { return del; } int finnaar() const { return aar; } bool operator==(const Semester &sem2) const; private: halvaar del; int aar; }; 3

Oppgave vekt 5% Programmer klassen Sensor etter følgende spesifikasjoner: Attributter (datamedlemmer): Identifikasjonsnummer Navn Kompetanse (professor eller ikke professor) Skatteprosent Lag konstruktør som tar alle datamedlemmene som argument. Eksempel på bruk av konstruktøren, se oppgave 4. Lag følgende operasjoner (funksjonsmedlemmer): Hent ut verdien til hvert enkelt datamedlem Forandre kompetansen og skatteprosenten. De to timelønnsatsene (professor kr 224,30 og ikke-professor kr 93,90) skal lagres i tilknytning til klassen Sensor, og det skal være mulig både å hente ut og forandre disse verdiene under kjøring av programmet. Oppgave 2 vekt 35% Klassen Oppdrag er superklasse for klasser som beskriver de ulike sensuroppdragene. Et sensuroppdrag identifiseres ved kombinasjonen sensor, fagkode og semester. Lag en skisse som viser sammenhengen mellom klassen Oppdrag og hensiktsmessige subklasser. Programmer klassen Oppdrag med subklasser. Klassene skal lages slik at det er mulig å beregne bruttolønn og skattetrekket i kroner for hvert enkelt oppdrag (se også oppgave 3). Klassene skal ha konstruktører som tar alle aktuelle datamedlemmer som argumenter. Oppgave 3 vekt 35% Lag klassen Sensurregister slik at det er mulig å få utført følgende tjenester (se også oppgave 4 der du skal bruke tjenestene): Registrere nytt oppdrag. Det må kontrolleres at sensoren er registrert og at oppdraget ikke er registrert fra før. (Du skal ikke lage funksjon for å registrere sensor, det kan du anta at eksisterer.) Finne nettolønna (brutto minus skattetrekk) som skal betales ut til en bestemt sensor (gitt sensornr) et bestemt semester. Endre et sensuroppdrag fra skriftlig til muntlig eksamen. 4

Oppgave 4 vekt 5% Første del av et testprogram er gitt: int main() { const int antsensorer = 4; const int antoppdrag = 5; Sensurregister registeret; Sensor s[antsensorer] = {Sensor(0, "Anne Pettersen", true, 45), Sensor(02, "Ole Hansen", false, 50), Sensor(03, "Ingrid Jensen", false, 35), Sensor(04, "Petter Hansen", true, 50)}; for (int i = 0; i < antsensorer; i++) registeret.regnysensor(s[i]); Oppdrag oppdragene[antoppdrag]; Du skal lage resten av testprogrammet: Opprett to semesterobjekter, et for våren 2006 og et for høsten 2006. Lag 5 (= antoppdrag) sensuroppdrag, minst ett av hver type (skriftlig eksamen, muntlig eksamen og prosjektoppgave). Sørg for at noen av oppdragene knyttes til vårsemesteret og noen til høstsemesteret. Bruk tabellen oppdragene. Registrerer deretter oppdragene i objektet registeret. Løp gjennom alle oppdrag registrert i objektet registeret og skriv ut fagkode, navn på sensor, bruttolønn og skattetrekk for hvert oppdrag. Løp gjennom alle sensorene registrert i objektet registeret og skriv ut sensorens id-nr og navn, samt netto lønn for hvert av de to semestrene. Øk lønnssatsene med 0%. Endre en skriftlig eksamen til muntlig. Så vil vi til slutt skrive ut alle dataene igjen, men det behøver du ikke bruke tid på. 5