Opplysninger: Eksamen består av 6 sider med til sammen 3 spørsmål. Svar på ALLE spørsmål, hvis du kan. Spørsmål 1a (4 poeng)

Like dokumenter
Innleveringsoppgave 4

Steg 1: Klargjør og importerer bilioteker

Steg 1: Klargjør og importerer bilioteker

TDT4110 IT Grunnkurs Høst 2015

Øvingsforelesning 9 i Python (TDT4110)

Kondisjonstest. Algoritmer og datastrukturer. Python-oppgaver. Onsdag 6. oktober Her er noen repetisjonsoppgaver i Python.

Bildebehandling med Python og EzGraphics

INF1000 Eksamen 2014 (modifisert)

Innleveringsoppgave 3

Stjerner og galakser Nybegynner Python PDF

INF1000 Eksamen 2014 (modifisert)

Oppgave 1.6 Hva skrives ut? Riktig svar: The total rainfall from June to August was 54.00

UNIVERSITETET I OSLO

Innleveringsoppgave 6

Mattespill Nybegynner Python PDF

Colour Colour (ca. RAL/ NCS) size 1 Colour (ca. RAL /NCS) size 05

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Kondisjonstest. Algoritmer og datastrukturer. Python-oppgaver - LF. Onsdag 6. oktober Her er noen repetisjonsoppgaver i Python.

Løse reelle problemer

UNIVERSITETET I OSLO

with plots plot sin x, x =KPi..Pi Pi 3 eval tan eval cos K1 1 > evalf sin 3 2 K 2 $Pi

AlgDat - Øvingsforelesning 1 Introduksjon til Python, lenkede lister og øving 1

UNIVERSITETET I OSLO

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

INF120: Oblig 3. Yngve Mardal Moe

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

Steg 1: Tekst på flere linjer

Universitet i Bergen. Eksamen i emnet MAT121 - Lineær algebra

Vi skal se på lambda-uttrykk. Følgende er definerte og vil bli brukt gjennom oppgaven

TDT4110 IT Grunnkurs Høst 2012

Merk deg det! DANYKO MERKING. HF Danyko tilbyr oppsett av skriver, generell visning av programvare samt service og oppfølging til deg som kunde.

UNIVERSITETET I OSLO

Høgskoleni østfold EKSAMEN. ITF10213 Innføring i programmering (Høst 2013)

Materialutvalg TORO merkemaskin

Innleveringsoppgave 5

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

Prøveeksamen IN1000. IN Prøveeksamen. Dato november 2017 Tid 12:30-12:00 Alle trykte og skrevne hjelpemidler er tillatt.

Informasjon Prøveeksamen i IN1000 høsten 2018

Øvingsforelesning 7 i Python (TDT4110)

UNIVERSITETET I OSLO

IN1140, H2018 gruppetime oppgaver Introduksjon til Tekst i Python

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember :00 13:00

Ekstraoppgave with plots. Vi plotter først de to flatene x 2 C y 2 = 1 og z = 4 K x for å få en ide om hvordan T ser ut.

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

UNIVERSITETET I OSLO

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

Kodetime for Nordstrand barneskole

I denne oppgaven skal vi bruke funksjoner for å gjøre programmene vi skriver enklere og mer oversiktlige.

Gjennomsnittlig kapasitet (foto)

1. obligatoriske innlevering, høsten 2014

Eksamensoppgaver 2014

Brukerveiledning hvordan trekke og sette opp spilletider i Tournament Planner

UNIVERSITETET I OSLO

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon

Informasjon Eksamen i IN1000 høsten 2017

UNIVERSITETET I OSLO

Repetisjon Novice Videregående Python PDF

Data Sheet for Joysticks

UNIVERSITETET I OSLO

String-manipulasjon og I/O i Java. INF1000 h14 - Hans Petter Taugbøl Kragset

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

Løsningsforslag eksamen in105, høsten 2000

is.." Fruktsalat 36 Språkleker

UNIVERSITETET I OSLO

INF 3230/4230 Forelesning 9: Omskrivningslogikk

Pure Lash

Termodynamikk og statistisk fysikk Oblig 7

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data.

Bøler Cup Valhall Nov 2015

Oppgave 2: def a (x): x = x + 1 y = 1 + x * 2

E3 - Novapoint Arealplan, tips og triks. Kristin Lysebo Vianova Systems as

UNIVERSITETET I OSLO

Fasit til eksamen høst 2002, applikasjonsutvikling

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Begynnerkurs i Stata. UiO vår 2019, Knut Waagan 1 / 95

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

UNIVERSITETET I OSLO

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang

INF2810: Funksjonell Programmering. Mer om verditilordning og muterbare data.

Finne ut om en løsning er helt riktig og korrigere ved behov

EKSAMEN Webpublisering

ClearView + Zero Button Feature Pack. Brukerhåndbok

: subs x = 2, f n x end do

Delegeringsteknikken. public class CD { private List<Tra ck> tracks = new ArrayLis t<track> (); public int gettrack Count() { return tracks.

Øvingsforelesning 5 Python (TDT4110)

INF2810: Funksjonell Programmering. Kommentarer til prøveeksamen

FELGKOLLEKSJON 2016 w w w.felgvisning.no 1

Innleveringsoppgave 1

Finne ut om en løsning er helt riktig og korrigere ved behov

Data Sheet for Joysticks

EKSAMENSOPPGAVE I INF-1100

UNIVERSITETET I OSLO

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

I dag skal vi ved hjelp av ganske enkel Python-kode finne ut om det er mulig å tjene penger på å selge og kjøpe en aksje.

Dictionaries og teksthåndtering

[36] Boiserie. Melamine and lacquered door handles. Optional metal handle. Standard ABS handle. Look _silver (J) Pop _silver (P) _chromed (K)

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

Transkript:

Det Matematisk-naturvitenskapelige fakultet Universitet i Bergen Eksamen i emnet INF 109 - Dataprogrammering for naturvitskap, Onsdag 21. May 2014, kl. 09-12 NORSK Opplysninger: Eksamen består av 6 sider med til sammen 3 spørsmål. Svar på ALLE spørsmål, hvis du kan. 1 Spørsmål 1 Spørsmål 1a (4 poeng) def Fib (n): Fa = 0 Fb = 1 Sequence = "" for i in range (n): Fc = Fa Fa = Fb Fb += Fc Sequence += str ( Fa) + "," print ( Sequence ) Skrive ned utdata når Fib(11) kalles. 1

Spørsmål 1b (12 poeng) def spirala ( winsize,iter, Scaling ): win = GraphWin (" 2D sequence representation ", winsize, winsize ) xpos = int ( winsize /2) ypos = int ( winsize /2) Coeff = [1, -1, -1,1] Fa = 1 Fb = 1 upos = xpos - ( Scaling * Fb) vpos = ypos + ( Scaling * Fb) for i in range ( Iter ): Ind = Index % 4 upos = xpos + ( Coeff [ Ind ] * ( Scaling * Fb)) vpos = ypos + ( Coeff [(4 - Ind ) %4] * ( Scaling * Fb)) xpos = upos ypos = vpos Fc = Fb Fb += Fa Fa = Fc Index += 1 win. getmouse () win. close () Skissere output når spirala(700,3,80) kalles. 2

Spørsmål 1c (6 poeng) def DrawSpiral (x,y,u,v, win ): Lin = Line ( Point (x,y),point (u,v)) Lin. draw ( win ) def spiral ( winsize,iter, Scaling, Spir ): win = GraphWin (" 2D sequence representation ", winsize, winsize ) xpos = int ( winsize /2) ypos = int ( winsize /2) Coeff = [1, -1, -1,1] Fa = 1 Fb = 1 upos = xpos - ( Scaling * Fb) vpos = ypos + ( Scaling * Fb) Label = Text ( Point ( int (( xpos + upos ) /2), int (( ypos + vpos ) /2) ), str ( Index +1) ) Label. draw ( win ) for i in range ( Iter ): Ind = Index % 4 upos = xpos + ( Coeff [ Ind ] * ( Scaling * Fb)) vpos = ypos + ( Coeff [(4 - Ind ) %4] * ( Scaling * Fb)) if Spir : DrawSpiral (xpos,ypos,upos,vpos, win ) Label = Text ( Point ( int (( xpos + upos ) /2), int (( ypos + vpos ) /2) ), str ( Index +2) ) Label. draw ( win ) xpos = upos ypos = vpos Fc = Fb Fb += Fa Fa = Fc Index += 1 win. getmouse () win. close () Skissere output når spiral(700,6,20,0) kalles. Spørsmål 1d (6 poeng) Skissere output når spiral(700,6,20,1) kalles. 3

2 Spørsmål 2 Spørsmål 2a (6 poeng) def LFSRA (Reg, Stop ): print ( Reg ) if Reg!= Stop : X = Reg [4] Reg [4] = Reg [3] Reg [3] = Reg [2] Reg [2] = ( Reg [1] + X) % 2 Reg [1] = Reg [0] Reg [0] = X LFSRA (Reg, Stop ) Skrive ned utdata når LFSRA([0,0,0,1,1],[0,1,1,1,1]) kalles. Spørsmål 2b (6 poeng) def LFSRB (Reg, Stop ): for i in range ( len ( Reg )): Index = ( Index * 2) + int ( Reg [ len ( Reg )-i -1]) print ( Index ) if Reg!= Stop : X = Reg [4] Reg [4] = Reg [3] Reg [3] = Reg [2] Reg [2] = ( Reg [1] + X) % 2 Reg [1] = Reg [0] Reg [0] = X LFSRB (Reg, Stop ) Skrive ned utdata når LFSRB([0,0,1,1,1],[1,1,0,1,1]) kalles. Spørsmål 2c (6 poeng) def LFSR (Reg,Stop,Book, Message ): for i in range ( len ( Reg )): Index = ( Index * 2) + int ( Reg [ len ( Reg )-i -1]) Message = Message + str ( Book [ Index ]) if Reg!= Stop : X = Reg [4] Reg [4] = Reg [3] Reg [3] = Reg [2] Reg [2] = ( Reg [1] + X) % 2 Reg [1] = Reg [0] Reg [0] = X LFSR (Reg,Stop,Book, Message ) else : print ( Message ) Skrive ned utdata når LFSR([1,0,1,0,0],[1,0,0,0,1],"XBEARIVWOPSTQRZUPMWEKRLJBTEVFNGC","") kalles. 4

Spørsmål 2d (8 poeng) def Permut ( Table, PermRow, PermCol,Size, Iter ): for k in range ( Iter ): NewTable = [" xxxxxx "]* Size for i in range ( Size ): Row = list ( NewTable [ i]) for j in range ( Size ): Row [j] = Table [ PermRow [i ]][ PermCol [j]] NewTable [i] =. join ( Row ) Table = NewTable print ( Table ) Skrive ned utdata når Permut(["ESPLMI", "EFONRO", "YIERVS", "ETODCO", "NPHOTY", "XSTANY"],[5,0,2,1,3,4],[4,3,0,5,1,2],6,2) kalles. 3 Spørsmål 3 File: animals.txt: Giraffe Orange 22 91 42 5 6 Owl Yellow 42 43 52 36 20 Rabbit Red 52 50 40 47 Dog Yellow 65 25 77 9 Frog Green 61 27 73 11 112 92 Lion Red 65 64 52 45 Eagle Green 25 29 31 12 Zebra Red 31 30 29 Spørsmål 3a (6 poeng) def anima ( fnam ): afil = open ( fnam + ". txt ","r") for line in afil : ln = line. split () k = 0 r = len (ln) -2 for i in range (r): k += int (ln [2+ i]) newln = [ln [0], ln [1], str ( round (k/r))] newline = "\t\t". join ( newln ) print ( newline ) afil. close () Skrive ned utdata når anima("animals") kalles. 5

Spørsmål 3b (8 poeng) def animb ( fnam ): Colours = [" Green "," Blue "," Red "," Orange "," Purple "," Yellow "] SortAnim = [[] for _ in range ( len ( Colours ))] afil = open ( fnam + ". txt ","r") for line in afil : ln = line. split () k = 0 r = len (ln) -2 for i in range (r): k += int (ln [2+ i]) SortAnim [ Colours. index (ln [1]) ]. append ("\t\t". join ([ ln [0], ln [1], str ( round (k /r))])) for i in range ( len ( Colours )): for j in SortAnim [ i]: print (j) afil. close () Skrive ned utdata når animb("animals") kalles. Spørsmål 3c (6 poeng) def anim ( fnam ): Colours = [" Green "," Blue "," Red "," Orange "," Purple "," Yellow "] SortAnim = [[] for _ in range ( len ( Colours ))] afil = open ( fnam + ". txt ","r") for line in afil : ln = line. split () k = 0 r = len (ln) -2 for i in range (r): k += int (ln [2+ i]) SortAnim [ Colours. index (ln [1]) ]. append ("\t\t". join ([ ln [0], ln [1], str ( round (k /r))])) for i in range ( len ( Colours )): SortAnim [i]. sort () for j in SortAnim [ i]: print (j) afil. close () Skrive ned utdata når anim("animals") kalles. 6