Emnekode: LV121A Dato: 03.03.2005. Alle skrevne og trykte hjelpemidler



Like dokumenter
AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

G høgskolen i oslo ~~'~6"'-- - i Kalkulator som ikke kan kommunisere med andre. Dato:OS~3. Faglig veileder: Lars Kristiansen.

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

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

PRIMTALL FRA A TIL Å

Ny EKSAMEN. Operativsystemer og nettverk

UNIVERSITETET I OSLO

Forelesning 9 mandag den 15. september

ALGORITMER OG DATASTRUKTURER

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

Olweusprogrammet. Tema i klassemøtet. Klasseregel 4 Hvis vi vet at noen blir mobbet

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

UNIVERSITETET I OSLO

Programmering i C++ Løsningsforslag Eksamen høsten 2005

UNIVERSITETET I OSLO

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

er et er et heltall. For eksempel er 2, 3, 5, 7 og 11 primtall, mens 4 = 2 2, 6 = 2 3 og 15 = 3 5 er det ikke.

SKOLEEKSAMEN I. SOS4010 Kvalitativ metode. 19. oktober timer

UNIVERSITETET I OSLO

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl

Kodestil i C++ Introduksjon. Navnekonvensjoner. Globale variabler. Simen Hagen

Nøkkelspørsmål til eller i etterkant av introduksjonsoppgaven:

TDT4102 Prosedyreog objektorientert programmering Vår 2016

DISTRIBUERT UTVIKLING AV NETTTJENESTER ( BARE UTDRAG)

Leksjon 3. Kontrollstrukturer

EKSAMEN Løsningsforslag

Fortsettelses kurs i Word

HØGSKOLEN I SØR-TRØNDELAG

Oblig4 - forklaringer

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

OPPLÆRINGSREGION NORD. Skriftlig eksamen. NAB1002 Naturbasert aktivitet VÅREN Privatister. Vg1 Naturbruk. Utdanningsprogram for Naturbruk.

UNIVERSITETET I OSLO

EKSAMEN. Objektorientert programmering

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

VEILEDNING BRUK AV NY LØSNING FOR PERIODISERING AV BUDSJETTER I MACONOMY

Framgangsmåte for å løse oblig 4 i INF1000

UNIVERSITETET I OSLO

TDT Prosedyre- og objektorientert programmering

Hypotesetesting. Notat til STK1110. Ørnulf Borgan Matematisk institutt Universitetet i Oslo. September 2007

Fasit og løsningsforslag til Julekalenderen for mellomtrinnet

MAT1030 Forelesning 30

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

UNIVERSITETET I OSLO

Løsningsforslag til obligatorisk oppgave i MAT 1100, H-04

TDT Prosedyre- og objektorientert programmering

Mønsterblokkering finner man under menyen RESSURSER > TIDSBESTILLING > MØNSTERBLOKKERING.

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

UNIVERSITETET I OSLO

HØYSKOLEN I OSLO, AVDELING FOR INGENIØRUTDANNING

Prosent. Det går likare no! Svein H. Torkildsen, NSMO

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

Løsningsforslag til 1. del av Del - EKSAMEN

KILDEHENVISNINGER OG LITTERATURLISTE - til bruk for elever ved Meløy videregående skole -

KONTINUASJONSEKSAMEN

Algoritmer og Datastrukturer

Obs! Det er viktig å følge veiledningen under for å sikre korrekte a-meldinger og sammenstilling av inntektsopplysninger til de ansatte.

Løsningsforslag til seminar 4 Undervisningsfri uke

UNIVERSITETET I OSLO

Studieåret 2014/2015

Høgskoleni østfold EKSAMEN

Abaris-notat Teknisk beskrivelse av kodeverkskomponent for ICPC-2

Installasjonsrutiner og klienthåndtering

Emne: Datamaskinarkitektur Emnekode:lO 134A Faglig veileder: Lars Kristiansen

Sensorveiledning MAT1015 Matematikk 2P

Repetisjon: høydepunkter fra første del av MA1301-tallteori.

UNIVERSITETET I OSLO

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

Emnekode: Faglig veileder: Veslemøy Tyssø Bjørn Ena~bretsen. Gruppe(r): I Dato: Alle skrevne og trykte hjelpemidler, skrivesaker og kalkulator

Kapittel 1. Potensregning

INF1000 Variable. Marit Nybakken 27. januar 2004

La oss først se på problemet med objektorientert tankegang. Se figuren under. Konto

i Dato:

Her bør det presiseres hvilke FAM som vinner dersom det er behov for to FAM på samme fag.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

! Antall oppgaver: Antall vedlegg: 5 3 o. Kalkulator. alle skrevne og trykte

G høgskolen i oslo. Emne: Algoritmer og datastrukturer. Emnekode: 80131A. Faglig veileder: UlfUttersrud. Gruppe(r) : Dato:

STATISTIKK FRA A TIL Å

BOKMÅL Side 1 av 6. EKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Fredag 6. juni 2008 Kl

HØGSKOLEN I SØR-TRØNDELAG

F = a bc + abc + ab c + a b c

Terminprøve Sigma 1T Våren 2008 m a t e m a t i k k

Høgskolen i Telemark Avdeling for estetiske fag, folkekultur og lærerutdanning BOKMÅL 22. mai 2008

EKSAMEN. Emne: Algoritmer og datastrukturer

UNIVERSITETET I OSLO

Prosjekt utvidelse av mva-registrering Møte med lokal prosjektstøtte 21.september

Sak 14/2015. Til: Representantskapet. Fra: Styret. Dato: Studentmedlemsskap i NAL. 1. Bakgrunn

Disclaimer / ansvarsfraskrivelse:

NyGIV Regning som grunnleggende ferdighet

Fysikkolympiaden 1. runde 26. oktober 6. november 2015

Tyngdekraft og luftmotstand

Arbeidstid. Medlemsundersøkelse mai Oppdragsgiver: Utdanningsforbundet

~ høgskolen i oslo. Emne: Biokjemi. Emnekode: SO 461 K Faglig veileder: Ragnhild Augustson. Pruppe(r): 2K. Dato: Antall oppgaver: 4

Eksamen REA3026 Matematikk S1

11/ Klager mener Phoung Storkjøkken og Asiamat avdeling Larvik ikke oppfyller

Transkript:

II ~ høgskolen i oslo Emne: Programmering i C++ Gruppe(r): EksamensoppgavenAntall sider (inkl. består av: forsiden):5 Emnekode: LV121A Dato: 03.03.2005 Antall oppgaver:3 Faglig veileder: Simen Hagen Eksamenstid: 3 timer Antall vedlegg:o Tillatte hjelpemidler: Alle skrevne og trykte hjelpemidler Kandidaten må selv kontrollere at oppgavesettet er fullstendig. Ved eventuelle uklarheter i oppgaveteksten skal du redegjøre for de forutsetninger du legger til grunn for løsningen. Avdeling for ingeniørutdanning. Cort Adelersgate 30. 0254 Oslo. tlf: 22 45 3200. faks: 22 45 32 05. iu@hio.no

Innledning Du skal svare på alle oppgavene. Hver oppgave teller likt for den endelige karakteren. Det er selvsagt viktig at du svarer på alt som oppgaven spør om. Koden bør følge god programmeringsskikk for å få full uttelling. For eksempel er det viktig at du sletter alt minne du har allokert, selv om oppgaven ikke sier at du må gjøre dette. Pass også på å bruke innrykk og kommentarer. Oppgave 1 I denne oppgaven skal du jobbe med ASCII-tegn. Derfor har jeg lagt ved ASCIItabellen, og du kan finne den bakerst i oppgavesettet. A) Lag en funksjon is_capita! som tar et tegn (en char) som parameter og returnerer true hvis tegnet er en stor bokstav. Du trenger bare å ta hensyn til de engelske bokstavene (A til l). Lag en funksjon capitalize som tar inn en streng (char*) og som endrer denne slik at det er stor bokstav etter punktum (.), spørsmålstegn (?) og utropstegn (!). Den første bokstaven i strengen skal også være stor. Resten av teksten skal være uendret. Funksjonen skal ikke ha noen returverdi. Koden du skriver skal kunne ta inn denne strengen: "er dette siste eksamen? mest sansynlig. hurra hurra!" og endre denne etter reglene ovenfor. Oppgave 2 Du skal lage en klasse Dato. Denne klassen skal holde på en dato og gjøre enkle operasjoner på denne. Du ta hensyn til skuddår og at månedene har forskjellig antall dager når du lager klassen. Operasjonene du skal lage er gitt nedenfor. Selv om du skal lage en klasse Dato, trenger ikke alle funksjonene å være implementert som medlemsfunksjoner, men her blir det opp til deg å bestemme hva som er mest hensiktsmessig. A) Lag en klassedeklarasjon for Dato klassen. Sørg for å deklarere alle funksjoner og variabler som er nødvendig for funksjonaliteten du skal lage. Lag en defaultkonstruktør, og en konstruktør som tar parameterene dag, måned og år, og som lagrer dem i klassen. Lag også en kopieringskonstruktør og en destruktør dersom det er nødvendig (men ikke ellers).

C) Lag nødvendige aksessfunksjoner for å hente ut og sette informasjonen i klassen D) Lag en funksjon (ikke operator) som kan legge til et gitt antall månder. Du skal håndtere årskifte korrekt. E) Lag en operator> som sjekker om en dato er større enn en annen. For eksempel skal 21.2.2005 > 20.2.2005 gi true. F) Lag en funksjon som tar inn ett årstall som parameter, og som returnerer true hvis dette årstallet er et skuddår. Reglene for skuddår er som følger: Alle år som er delelig med fire er et skuddår (dvs. at februar har 29 dager istedenfor 28, som den vanligvis har). Unntatt fra denne regelen er år som er delelig med 100 (hele hundreår), bortsett fra år som er delelig med 400. 2004 (i fjor) var altså et skuddår, fordi det er delelig med 4. Det samme gjelder 1996. Ar 1900 var ikke et skuddår, for selv om det er delelig med 4, er det også delelig med 100, og det blir derfor ikke et skuddår. År 2000 var derimot et skuddår, fordi det er delelig med 400. G) Lag en funksjon som returnerer hvor mange dager det er i en måned. Fuksjonen skal ta årstall og måned som innparametere, slik at den kan ta hensyn til om det er skuddår. H) Lag en operator+ som kan legge til et gitt antall dager. Dersom d1 er en instans av datoklassen skal det være mulig å skrive 14 + dl i koden. I) Lag en operator- som regner ut hvor mange dager det er mellom to Datoer. Dersom d1 og d2 begge er instanser av datoklassen skal det være mulig å skrive dl - d2 i koden. La funksjonen returnere et positivt antall dager dersom d1 > d2 er sant, og et negativt antall dager dersom det ikke er sant. J) Lag en operator«som kan skrive ut klassen på en fornuftig måte Oppgave 3 Svar kort på følgende spørsmål' 3

A) I C++ er det en liten forskjell mellom det å allokere minne for et enkelt objekt eller for et array med objekter. Forklar kort hva forskjellen er, og hvilke funksjoner som blir kalt når en allokerer. Gi eksempel på hvordan en allokerer både et enkelt objekt og et array med objekter. På samme måte som når en allokerer minne, er det to måter å slette (deallokere) minne på. Forklar kort hva forskjellen er I og hvilke funksjoner som blir kallt når en sletter minnet. I oppgave 3A allokerte du to objekter, gi nå eksempel på hvordan du kan slette disse to objektene. 4