EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl. 10:30

Like dokumenter
EKSAMENSOPPGAVE. Ingen. Robert Pettersen. Eksamen i: INF Innf. i progr. og datam. virkem. Dato: Tirsdag 5. desember 2017

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Teorifagb, hus 3, og og Adm.bygget, Aud.max og B.

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

EKSAMENSOPPGAVE. NB! Det er ikke tillatt å levere inn kladd sammen med besvarelsen

EKSAMENSOPPGAVE. INF-1101 Datastrukturer og algoritmer. Adm.bygget, rom K1.04 og B154 Ingen

EKSAMENSOPPGAVE I INF-1100

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: NEI

EKSAMENSOPPGAVE. Adm.bygget, rom K1.04 og B154 Ingen. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl.

EKSAMENSOPPGAVE. Kontaktperson under eksamen: Steffen Viken Valvåg Telefon:

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

EKSAMENSOPPGAVE. Godkjent kalkulator; Rottmanns tabeller; To A4 ark egne notater (håndskrevne, trykte, eller blandede).

EKSAMENSOPPGÅVE. Kalkulator, Rottmanns tabellar og 2 A4 ark med eigne notater (4 sider).

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA Hvis JA: ca. kl.10:00 og 12:00

EKSAMENSOPPGÅVE. Kalkulator, 2 ark (4 sider) med eigne notater og Rottmanns tabeller. Ragnar Soleng

EKSAMENSOPPGAVE. Alle skrevne og trykte. Godkjent kalkulator.

EKSAMENSOPPGAVE. KRAFT I og II Hall del 2 Kraft sportssenter Ingen

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl. 10

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

EKSAMENSOPPGAVE. GEO-2010 Marine geofag

EKSAMENSOPPGAVE. «Tabeller og formler i statistikk» av Kvaløy og Tjelmeland. To A4-ark/ 4 sider med egne notater. Godkjent kalkulator.

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I)

EKSAMENSOPPGAVE. 4 (1+3) Det er 12 deloppgaver (1abc, 2abcd, 3abc, 4ab) Andrei Prasolov

EKSAMENSOPPGÅVE. Mat-1005, Diskret matematikk. Godkjent kalkulator, Rottmanns tabellar og 2 A4 ark med eigne notater (4 sider).

Tillatte hjelpemidler: alle skrevne og trykte. Antall sider: 2 (+ 1 side vedlegg, bakerst). Oppgave 1 [25%]

EKSAMENSOPPGAVE. INF-1400 Objektorientert Programmering. Dato: Tirsdag 23. mai Klokkeslett: Kl 17:00-21:00. Adm. bygget, Aud.

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. Kl 10.00

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. To dobbeltsidige ark med notater. Stian Normann Anfinsen

EKSAMENSOPPGAVE Georg Elvebakk NB! Det er ikke tillatt å levere inn kladd sammen med besvarelsen

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. INF-1400 Objektorientert Programmering. Dato: Torsdag 29. september Klokkeslett: Kl 09:00-13:00.

EKSAMENSOPPGAVE. Kalkulator «Huskelapp» -A4 ark med skrift på begge sider. Enkel norsk-engelsk/engelsk-norsk ordbok

EKSAMENSOPPGAVE STA «Tabeller og formler i statistikk» av Kvaløy og Tjelmeland. To A4-ark/ 4 sider med egne notater. Godkjent kalkulator. Rute.

EKSAMENSOPPGAVE. Adm.bygget, rom B154 2 ark med egne notater (4 sider) Godkjent kalkulator Rottman. Matematisk formelsamling

Faglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.

EKSAMENSOPPGAVE Bokmål og Nynorsk

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE Bjarte Aarmo Lund

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

EKSAMENSOPPGAVE. To dobbeltsidige ark med notater. Stian Normann Anfinsen

EKSAMENSOPPGAVE. Professor Anders Schomacker

EKSAMENSOPPGAVE STA-1001.

UNIVERSITETET I OSLO

Eksamen. 29. mai AKV2002 Anlegg og teknikk. Programområde: Naturbruk. Nynorsk/Bokmål

UNIVERSITETET I OSLO

Oppgave 1. Sekvenser (20%)

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. linjal, kalkulator (hva som helst typ)

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. linjal. Jiri Konopasek

UNIVERSITETET I OSLO

TDT4100 Objektorientert programmering

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. KJE-1001 Introduksjon til kjemi og kjemisk biologi

UNIVERSITETET I OSLO

KONTINUASJONSEKSAMEN

EKSAMENSOPPGAVE. Kalkulator, transportør (vinkelmåler), linjaler, fargeblyanter. Millimeterpapir deles ut.

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

EKSAMENSOPPGAVE. Linjal, kalkulator (hva som helst typ)

EKSAMENSOPPGAVE. Kalkulator «Huskelapp» - A4 ark med skrift på begge sider Enkel norsk-engelsk/engelsk-norsk ordbok

TDT Prosedyre- og objektorientert programmering

Eksamen IN1010/INF1010 våren 2018

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

EKSAMENSOPPGAVE Njål Gulbrandsen / Ole Meyer /

EKSAMEN med løsningsforslag

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

EKSAMENSOPPGAVE. linjal, kalkulator (hva som helst typ)

EKSAMENSOPPGAVE. Eksamen i: MAT-1003 Dato: Tirsdag 15. desember 2015 Tid: Kl 15:00 19:00 Sted: Åsgårdvegen 9

UNIVERSITETET I OSLO

TDT4100 Objektorientert programmering

Algoritmer og Datastrukturer

EKSAMENSOPPGAVE. ü Kalkulator med tomt dataminne ü Rottmann: Matematisk Formelsamling. rute

Algoritmer og Datastrukturer

UNIVERSITETET I OSLO

Skriftlig eksamen. DRA2002 Teater og bevegelse/rørsle 2. Våren Privatister/Privatistar. VG3 Drama. Utdanningsprogram for Musikk, dans og drama

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

ALGORITMER OG DATASTRUKTURER

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

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE STA-2004.

Institutt for økonomi og administrasjon

EKSAMENSOPPGAVE. B154 «Tabeller og formler i statistikk» av Kvaløy og Tjelmeland. To A4-ark (4 sider) med egne notater. Godkjent kalkulator.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. linjal, kalkulator (hva som helst typ) Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA Hvis JA: ca. kl.

EKSAMENSOPPGAVE. Fys-1002 Elektromagnetisme. Adm.bygget B154 Kalkulator med tomt dataminne, Rottmann: Matematisk formelsamling

UNIVERSITETET I OSLO

Skriftlig eksamen. KJP2003 Dokumentasjon og kvalitet. Våren Privatister/Privatistar. VG2 Kjemiprosess

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

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. Kalkulator «Huskelapp» -A4 ark med skrift på begge sider Enkel norsk-engelsk/engelsk-norsk ordbok

UNIVERSITETET I OSLO

KONTINUASJONSEKSAMEN

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Transkript:

Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: INF-1100 Innf. i progr. og datam. virkem. Dato: 05.12.2018 Klokkeslett: 09:00 13:00 Sted: Kraft I og II Hall del 3 Tillatte hjelpemidler: Ingen Type innføringsark (rute/linje): Antall sider inkl. forside: Kontaktperson under eksamen: Telefon/mobil: WiseFlow 6 Robert Pettersen 47 24 75 52 Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl. 10:30 NB! Det er ikke tillatt å levere inn kladdepapir som del av eksamensbesvarelsen. Hvis det likevel leveres inn, vil kladdepapiret bli holdt tilbake og ikke bli sendt til sensur. Postboks 6050 Langnes, N-9037 Tromsø / 77 64 40 00 / postmottak@uit.no / uit.no

Bokmål Side 2 av 6 sider Eksamen INF-1100 Innføring i programmering og datamaskiners virkemåte Høst 2018 Eksamenssettet består av 4 oppgaver. Les oppgaveteksten grundig og disponer tiden slik at du får tid til å svare på alle oppgavene. I noen oppgaver kan det være nødvendig å tolke oppgaveteksten ved å gjøre noen antagelser - gjør i så fall rede for hvilke antagelser du har gjort, men pass på å ikke gjøre antagelser som trivialiserer oppgaven. Der du skal utvikle eller beskrive en algoritme anbefales det at du først beskriver algoritmen på et høyt abstraksjonsnivå, f.eks. med figurer, før du går videre med detaljer og eventuell pseudokode. Dersom det spørres etter en implementasjon i C kreves det ikke 100% syntaktisk korrekt kode. Dersom det spørres etter pseudokode kan du kan også skrive ren C-kode om du ønsker. Husk også at du kan referere tilbake til funksjoner du tidligere har definert. Oppgave 1-25% Gi en kort beskrivelse av von Neumann modellen og instruksjonssyklusen. Beskrivelsen bør omfatte de ulike komponentene i modellen og hvordan disse interagerer med hverandre. INF-1100 Innføring i programmering og datamaskiners virkemåte

Bokmål Side 3 av 6 sider Oppgave 2-25% Gitt følgende funksjon: i n t ukjent ( i n t a, i n t b) { i n t x = 0; while ( a >= b) { x += 1; a = b ; } } return x ; a) Hvilken verdi vil funksjonen ukjent ovenfor returnere ved følgende kall: (1) ukjent(12, 5) (2) ukjent(16, 3) b) Hva er det funksjonen beregner? INF-1100 Innføring i programmering og datamaskiners virkemåte

Bokmål Side 4 av 6 sider Oppgave 3-25% Gitt et array A som inneholder n heltall (integers). a) Skriv en funksjon forekommer som teller hvor mange ganger et gitt tall k forekommer i A. Funksjonen skal ta som inn-parametre: en peker til A, en angivelse av antall tall i A, samt en verdi for k: int forekommer(int *A, int n, int k); b) Skriv en funksjon sorter som flytter rundt på tallene i A slik at de blir liggende i stigende rekkefølge. Funksjonen skal ta som inn-parametre: en peker til A og en angivelse av antall tall i A. Funksjonen skal ikke returnere noe. void sorter(int *A, int n); c) A har ett majoritetselement dersom ett tall forekommer mer enn n/2 ganger i A. Følgende algoritme kan benyttes for å avgjøre om A har ett majoritetselement. Anta at vi først sorterer A. Dersom A har ett majoritetselement må dette tallet være i A[n/2]. Dersom antall forekomster av A[n/2] i A er høyere enn n/2, er A[n/2] ett marjoritetselement. Skriv en funksjon som avgjør om A har ett majoritetselement. Funksjonen skal ta som inn-parametre: en peker til A og en angivelse av antall tall i A. Funksjonen skal returnere 1 dersom det finnes ett majoritetselement, og 0 dersom det ikke finnes. Bruk gjerne funksjonene du har implementert tidligere. int majoritetselement(int *A, int n); INF-1100 Innføring i programmering og datamaskiners virkemåte

Bokmål Side 5 av 6 sider Oppgave 4-25% I ett orienteringsløp skal en deltaker besøke ett gitt antall poster i en gitt rekkefølge. På hver post vil ett kontrollelement som er unik for posten bli lagd når deltakeren er innom posten. Dette kontrollelementet inneholder en unik kode for posten (kode) og hvor lang tid deltakeren har brukt fra forrige post, eventuelt fra start hvis dette er første post (strekktid): typedef struct kontrollelement kontrollelement_t; struct kontrollelement { int kode; double strekktid; }; Kontrollelementet legges til deltakerens liste over poster som er besøkt (spor). Mål håndteres på samme måte som alle andre poster (men skal være siste post som registreres). Når deltakerne kommer i mål vil listen av kontrollelementer kunne kontrolleres mot en fasit-liste hvor postene er plassert i rett rekkefølge (fasit). a) Lag en funksjon som kontrollerer at deltakeren har besøkt alle postene, og at de er besøkt i rett rekkefølge. Funksjonen skal returnere 1 hvis deltakeren har besøkt alle postene i rett rekkefølge, 0 hvis dette ikke er tilfelle og 1 hvis noe går galt under sjekken: int kontroll(list_t *spor, list_t *fasit); b) Lag en funksjon som returnerer tiden deltakeren har brukt fra start til mål. Returner 1 dersom noe skulle gå galt under beregningen: double tid(list_t *spor); c) For alle deltakerne som har besøkt alle postene i rett rekkefølge tar vi vare på deres spor i en ny liste godkjente (en liste hvor elementene er lister tilsvarende spor ovenfor). Lag en funksjon som tar godkjente som argument, og finner den deltakeren med beste sammenlagt tid (minste sammenlagte tid). Funksjonen skal returnere denne bestetiden, eller 1 hvis noe går galt under beregningen: double bestetid(list_t *godkjente); (Hint: Du kan benytte funksjonen tid fra forrige deloppgave.) Ikke gjør noen antakelser om hvordan listen er implementert. Du kan anta at følgende listefunksjoner er tilgjengelige: INF-1100 Innføring i programmering og datamaskiners virkemåte

Bokmål Side 6 av 6 sider // Lag en ny liste-iterator som peker på første element i listen list_iterator_t *list_createiterator(list_t *list); // Returnerer elementet som pekes på av iteratoren og // lar iteratoren peke på neste element. // NULL returneres når en kommer til slutten av listen void *list_next(list_iterator_t *iterator); // Frigir iteratoren void list_destroyiterator(list_iterator_t *iterator); INF-1100 Innføring i programmering og datamaskiners virkemåte

Fakultet for naturvitenskap og teknologi EKSAMENSOPPGÅVE Eksamen i: INF-1100 Innf. i progr. og datam. virkem. Dato: 05.12.2018 Klokkeslett: 09:00 13:00 Stad: Kraft I og II Hall del 3 Lovlege hjelpemiddel: Ingen Type innføringsark (rute/linje): WiseFlow Antall sider inkl. framside: Kontaktperson under eksamen: Telefon/mobil: 6 Robert Pettersen 47 24 75 52 Skal det gåast oppklarande runde i eksamenslokalet? Svar: JA / Nei Dersom JA: ca. kl. 10:30 NB! Det er ikkje lov å levere inn kladd saman med svaret. Om den likevel vert levert inn, vil kladden verte halden attende og ikkje sendt til sensur. Postboks 6050 Langnes, N-9037 Tromsø / 77 64 40 00 / postmottak@uit.no / uit.no

Nynorsk Side 2 av 6 sider Eksamen INF-1100 Innføring i programmering og datamaskiner sin virkemåte Haust 2018 Eksamenssettet består av 4 oppgåver. Les oppgåveteksten grundig og disponer tida slik at du får tid til å svara på alle oppgåvene. I nokre oppgåver kan det vera naudsynt å tolka oppgåveteksten ved å gjera nokre føresetnader (antakelser) - gjer i så fall greie for kva slags føresetnader du har gjort, men pass på å ikkje gjera føresetnader som trivialiserer oppgåva. Der du skal utvikla eller skildra ein algoritme tilrådast det at du først skildrar algoritmen på eit høgt abstraksjonsnivå, t.d. med figurar, før du går vidare med detaljar og eventuell pseudokode. Dersom det vert spurt etter ein implementasjon i C krev det ikkje 100% syntaktisk korrekt kode. Dersom det vert spurt etter pseudokode kan du òg skriva rein C-kode om du ynskjer. Husk òg at du kan referera attende til funksjonar du tidlegare har definert. Oppgåve 1-25% Gje ei kort skildring av von Neumann modellen og instruksjonssyklusen. Skildringa bør omfatta dei ulike komponentane i modellen og korleis desse interagerer med kvarandre. INF-1100 Innføring i programmering og datamaskiner sin virkemåte

Nynorsk Side 3 av 6 sider Oppgåve 2-25% Gjeve følgjande funksjon: i n t ukjent ( i n t a, i n t b) { i n t x = 0; while ( a >= b) { x += 1; a = b ; } } return x ; a) Kva for ein verdi vil funksjonen ukjent ovanfor returnera ved følgjande kall: (1) ukjent(12, 5) (2) ukjent(16, 3) b) Kva er det funksjonen bereknar? INF-1100 Innføring i programmering og datamaskiner sin virkemåte

Nynorsk Side 4 av 6 sider Oppgåve 3-25% Gjeve eit array A som inneheld n heiltal (integers). a) Skriv ein funksjon finst som tel kor mange gonger eit gjeve tal k finst i A. Funksjonen skal ta som inn-parametrar: ein peikar til A, ein angivelse av mengd tal i A, og dessutan ein verdi for k: int finst(int *A, int n, int k); b) Skriv ein funksjon sortar som flyttar rundt på tala i A slik at dei vert liggjande i stigande rekkjefølgje. Funksjonen skal ta som inn-parametrar: ein peikar til A og ein angivelse av mengd tal i A. Funksjonen skal ikkje returnera noko. void sortar(int *A, int n); c) A har eitt majoritetselement dersom eitt tal finst meir enn n/2 gonger i A. Følgjande algoritme kan nyttast for å avgjera om A har eitt majoritetselement. Anta at vi først sorterer A. Dersom A har eitt majoritetselement må dette talet vera i A[n/2]. Dersom mengd førekomstar av A[n/2] i A er høgare enn n/2, er A[n/2] eitt marjoritetselement. Skriv ein funksjon som avgjer om A har eitt majoritetselement. Funksjonen skal ta som inn-parametrar: ein peikar til A og ein angivelse av mengd tal i A. Funksjonen skal returnera 1 dersom det finst eitt majoritetselement, og 0 dersom det ikkje finst. Bruk gjerne funksjonane du har implementert tidlegare. int majoritetselement(int *A, int n); INF-1100 Innføring i programmering og datamaskiner sin virkemåte

Nynorsk Side 5 av 6 sider Oppgåve 4-25% I eitt orienteringsløp skal ein deltakar vitja éi gjeve mengd postar i ei gjeven rekkjefølgje. På kvar post vil eitt kontrollelement som er unik for posten lagast når deltakaren er innom posten. Dette kontrollelementet inneheld ein unik kode for posten (kode) og kor lang tid deltakaren har brukt frå førre post, eventuelt frå start viss dette er første post (strekktid): typedef struct kontrollelement kontrollelement_t; struct kontrollelement { int kode; double strekktid; }; Kontrollelementet vert lagt til lista til deltakaren over postar som er vitja (spor). Mål vert handtert på same måte som alle andre postar (men skal vera siste post som vert registrert). Når deltakarane kjem i mål vil lista av kontrollelement kunna kontrollerast mot ein fasit-liste der postane er plassert i rett rekkjefølgje (fasit). a) Lag ein funksjon som kontrollerer at deltakaren har vitja alle postane, og at dei er vitja i rett rekkjefølgje. Funksjonen skal returnera 1 viss deltakaren har vitja alle postane i rett rekkjefølgje, 0 viss dette ikkje er tilfelle og 1 viss noko går gale under sjekken: int kontroll(list_t *spor, list_t *fasit); b) Lag ein funksjon som returnerer tida deltakaren har brukt frå start til mål. Returner 1 dersom noko skulle gå gale under beregningen: double tid(list_t *spor); c) For alle deltakarane som har vitja alle postane i rett rekkjefølgje tek vi vare på sporet deira i ei ny liste godkjende (ei liste der elementa er lister tilsvarande spor ovanfor). Lag ein funksjon som tek godkjende som argument, og finn den deltakaren med beste samanlagt tid (minste samanlagte tid). Funksjonen skal returnera denne bestetiden, eller 1 viss noko går gale under beregningen: double bestetid(list_t *godkjende); (Hint: Du kan nytta funksjonen tid frå førre deloppgave.) Ikkje gjer nokon antakelser om korleis lista er implementert. Du kan anta at følgjande listefunksjonar er tilgjengelege: INF-1100 Innføring i programmering og datamaskiner sin virkemåte

Nynorsk Side 6 av 6 sider // Lag ei ny liste-iterator som peikar på første element i lista list_iterator_t *list_createiterator(list_t *list); // Returnerer elementet som vert peikt på av iteratoren og // let iteratoren peika på neste element. // NULL vert returneres når ein hjem til slutten av lista. void *list_next(list_iterator_t *iterator); // Frigjev iteratoren void list_destroyiterator(list_iterator_t *iterator); INF-1100 Innføring i programmering og datamaskiner sin virkemåte