TDT4110 IT Grunnkurs Høst 2016

Like dokumenter
TDT4110 IT Grunnkurs Høst 2017

TDT4105 IT Grunnkurs Høst 2017

TDT4105 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2012

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2016

TDT4105 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2014

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

Løsningsforslag til kontinuasjonseksamen i TDT4110 Informasjonsteknologi, grunnkurs Mandag 13. august :00 13:00

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Kontinuasjonseksamen i TDT JSP Informasjonsteknologi, grunnkurs Mandag 13. august :00 13:00

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Auditorieøving 2 Matlab. Appendix Matlab 1/19

Løsningsforslag til kontinuasjonseksamen i TDT4105 Informasjonsteknologi, grunnkurs Mandag 13. august

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

Øvingsforelesning 5 Python (TDT4110)

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

Øvingsforelesning 7 i Python (TDT4110)

Læringsmål og pensum. if (be): else (not_to_be):

Øvingsforelesning 5 Python (TDT4110)

Auditorieøving 2. Matlab. TDT4105 Informasjonsteknologi, grunnkurs. Brukernavn. Fullt navn

TDT4105 IT Grunnkurs Høst 2014


TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk. - 3rd edition: Kapittel 3. Professor Alf Inge Wang

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

Øvingsforelesning 1 Python (TDT4110)

Informasjon Eksamen i IN1000 høsten 2017

Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Eksamensoppgaver 2014

Høst Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

TDT4110 IT Grunnkurs Høst 2012

Øvingsforelesning i Python (TDT4110)

Repetisjon Novice Videregående Python PDF

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Informasjon Prøveeksamen i IN1000 høsten 2018

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

Repetisjon, del 1. TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

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å.

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Kontinuasjonseksamen i TDT4110 Informasjonsteknologi, grunnkurs Mandag 13. august :00 13:00

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Løsningsforslag til kontinuasjonseksamen i TDT JSP Informasjonsteknologi, grunnkurs Mandag 13. august :00 13:00

Steg 1: Rest etter divisjon

Pensum: Starting out with Python

Objektorientert programmering i Python

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4110 IT Grunnkurs Høst 2014

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

Høgskoleni østfold EKSAMEN

INF1000 Eksamen 2014 (modifisert)

MAT1030 Diskret Matematikk

TDT4105 IT Grunnkurs Høst 2012

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Norsk informatikkolympiade runde

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

Noen innebygde funksjoner - Vektorisering

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

Noen innebygde funksjoner - Vektorisering

Øvingsforelesning 3 Python (TDT4110)

Oppgave 1.1 (1 poeng) Oppgave 1.2 (2 poeng) Oppgave 1.3 (2 poeng) 1.1

Øvingsforelesning TDT4105 Matlab

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

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

IN1000 Obligatorisk innlevering 7

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

Hvordan løse problemer med programmering?

INF1000 Eksamen 2014 (modifisert)

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

MAT-INF 1100: Obligatorisk oppgave 1

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

UNIVERSITETET I OSLO

MAT1030 Diskret matematikk

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Mattespill Nybegynner Python PDF

MAT1030 Diskret matematikk

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

Oppsummering fra sist

UNIVERSITETET I OSLO

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

MAT-INF 1100: Obligatorisk oppgave 1

Eksamensoppgave i TDT4110 Informasjonsteknologi grunnkurs, med Python LØSNINGSFORSLAG

TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker. - 3rd edition: Kapittel 4. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi, grunnkurs

Læringsmål og pensum. Oversikt

TDT4110 IT Grunnkurs Høst 2014

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

TDT4105 Informasjonsteknologi grunnkurs: Uke 42 Strenger og strenghåndtering

Løse reelle problemer

Anta at følgende programsetninger utføres. Hva skrives ut på skjermen? Hva skrives ut her (skriv nøyaktig de karakterene som printes, og bare de)?

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

Eksamensoppgave i TDT4110 Informasjonsteknologi grunnkurs, med Python LØSNINGSFORSLAG

Kontinuasjonseksamen i TDT4105 Informasjonsteknologi - grunnkurs Matlab

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU

MAT1030 Diskret matematikk

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.

Transkript:

TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Python Auditorieøving 2 Vennligst fyll ut følgende informasjon i BLOKKBOKSTAVER Navn: Brukernavn: Studieprogramkode: Godkjent av: Side 1 av 11

1 Teori 1. Hvor mange bit består en IPv6-adresse av? a) 32 b) 64 c) 128 d) 256 2. Hva er 171 dec i det heksadesimale tallsystemet? a) 67 hex b) AB hex c) AA hex d) 9F hex 3. Hvem har det overordnede ansvaret for tildelingen av domenenavn på toppnivå? a) Hver enkelt nasjon b) Internettleverandører c) ICANN d) The American Network Association 4. Hva er hensikten med paritetsbit i digitale signaler? a) Gjøre meldingen raskere å overføre b) Kryptere signaler så overføringen av data blir sikrere c) Bidra til å detekere feil i digitale signaler d) Fortelle hvor meldingen skal sendes 5. Hvorfor kan et WiFi-nettverk påvirke en Bluetooth-forbindelse? a) WiFi-nettverk har så sterkt signal b) Ved samtidig bruk av WiFi og Bluetooth dannes et fenomen som kalles "stående bølger" c) Bluetooth og WiFi bruker samme metode for koding d) Bluetooth og WiFi bruker samme frekvensbånd 6. Hva står forkortelsen VPN for? a) Virtual Protocol Node b) Virtual Privacy Node c) Virtual Private Network d) Volatile Performance Network Deloppgave 1 2 3 4 5 6 Svar Side 2 av 11

2 Kodeforståelse a) Hvilke verdier har a og b når vi har utført setningen: a, b = secret1 (11,3) Forklar med en setning hva funksjonen i Kodesnutt 1 gjør. Kodesnutt 1 def secret1 (a, b): r = 0 while a >= b: a = a - b r = r + 1 s = a return r, s a = b = Forklaring: b) Hva blir verdien til answer etter at Kodesnutt 2 er utført? Forklar med en setning hva funksjonen gjør. Kodesnutt 2 def secret2 (m): r = len (m) c = len (m[0]) if (r==c): for i in range (0, r- 1): for j in range ( i+1, c): temp = m[i][j] m[i][j] = m[j][i] m[j][i] = temp return m else : return -1 m = [[1,2,3],[4,5,6],[7,8,9]] answer = secret2 ( m) answer = Forklaring: Side 3 av 11

c) Hva blir skrevet ut til skjerm når du kjører koden som vist under? Kodesnutt 3 def mystery (x, y): z = for i in range (0, len (x)): if (i%2==1): z+=x[ i] else : z+=y[ i] return z A = SUNEAILSUN B = JALTNCSAES D = mystery (A,B) print (D) Side 4 av 11

3 Lister og matriser a) Lag en funksjon listmaker(n) som tar inn et heltall n, og returnerer en liste av lengde n, der hvert element er 0. >>> print ( listmaker (3)) [0,0,0] b) Lag en funksjon boardmaker(n) som tar inn et heltall n, og returnerer en n*n-matrise med 0-er. Her er det viktig at elementene er uavhengige av hverandre med hensyn på fremtidige endringer i brettet. Med andre ord vil ikke return [[0]*n]*n være en tilfredsstillende løsning. >>> print ( boardmaker (3)) [[0, 0, 0], [0, 0, 0], [0, 0, 0]] c) Lag en funksjon printboard(board) som tar inn en matrise board, og skriver ut matrisen på en fin måte (som vist nedenfor). Denne funksjonen skal ikke returnere noe. >>> printboard ([[0, 0, 0], [0, 0, 0], [0, 0, 0]]) [0, 0, 0] [0, 0, 0] [0, 0, 0] Side 5 av 11

d) Lag en funksjon fillboard(board) som tar inn en matrise board, og fyller matrisen slik at annethvert element er 0, og annethvert element er X (sjakkmønstret). Deretter returneres matrisen. Du kan anta at matrisen du får inn som parameter er en n*n-matrise der hvert element er 0. Eksepmler på kjøring: >>> print ( fillboard ([[0, 0, 0], [0, 0, 0], [0, 0, 0]])) [0, X, 0] [X, 0, X] [0, X, 0] Side 6 av 11

e) Nå må du lese nøye og holde tungen rett i munn. Lag en funksjon validdirections(board), som tar inn en matrise, og returnerer en liste. Matrisen du får inn er på formen n*m, og inneholder én (og bare én) stjerne. Resten av matrisen er vilkårlige karakterer eller tall. Listen som returneres, skal inneholde hvilke retninger stjernen kan flyttes ( N, S, E, W ). Et flytt for stjernen er ikke gyldig dersom det går utenfor matrisen. >>> print ( validdirections ([1, s, 2, 4], [6, 0, b, 2], [ *, 5, 5, 5])) [ N, E ] >>> print ( validdirections ([1, x, 2, 4], [6, a, *, 2], [8, 5, 5, 5])) [ N, S, E, W ] >>> print ( validdirections ([1, 0, 2, * ], [6, 0, 0, 2], [8, 5, f, 5])) [ S, W ] Side 7 av 11

4 Strenger a) Lag en funksjon checkprefix(...) som tar inn et prefiks (streng) og en ordliste (liste med strenger). Funksjonen skal returnere en liste med alle ord i ordliste som starter på prefiks. >>> checkprefix ( en, [ en, enhjoerning, kan, neppe, bli, entrepenoer, i, denne, ensidige, verden ] ) [ en, enhjoerning, entrepenoer, ensidige ] b) Lag en funksjon checksuffix(...) som tar inn et suffiks (streng) og en ordliste (liste med strenger). Funksjonen skal returnere en liste med de tre siste ordene i ordliste som slutter på suffikset. >>> checksuffix ( som, [ en, morsom, gutt, ser, paa, en, ensom, og, arbeidsom, jente, som, gjoer, auditorieoeving ]) [ ensom, arbeidsom, som ] Side 8 av 11

c) Politiet arbeider mye basert på vitneobservasjoner. I dette tilfellet har en selvkjørt bil stukket av fra en ulykke, men vitnene sliter litt med å huske nøyaktig registreringsnummer. I en vitneobservasjon vil derfor et felt med «?» bety at vitnet var usikker på det aktuelle sifferet/tegnet i registreringsnummeret. Skriv en funksjon som tar inn to strenger, et vitneobservert registreringsnummer og et faktisk registreringsnummer. Funksjonen skal sjekke om det vitneobserverte registreringsnummeret kan stemme overens med det faktiske registreringsnummeret. Funksjonen skal returnere True dersom det er full overensstemmelse eller hvis avvik kun gjelder «?». Hvis det derimot finnes avvik utover «?» i vitneobservasjonen, skal funksjonen returnere False. Eksempler på kjøring: >>> match ( VF12345, VF12355 ) False >>> match ( V? 1234?, VF12355 ) False >>> match ( VF??? 55, VF12355 ) True >>> match (???????, VF12355 ) True Side 9 av 11

5 Sammensatt program, tidligere eksamensoppgave Vi har data fra en pulsklokke som er en vektor med hjertefrekvensen (ant. pulsslag pr. sekund) for hver sekund av en treningstur. Data for en treningstur på 15 sekunder kan for eksempel være: [110,125,127,130,129,132,133,134,134,145,158,165,172,173, 172 ] Det kan være hensiktsmessig å bruke funksjonene du lager utover i oppgaven. Du kan bruke funksjoner fra andre deloppgaver, selv om du ikke har klart å løse deloppgaven der du skal lage funksjonen. Du kan forutsette at alle inndata er riktige. a) Lag en funksjon pulsstatistikk(pulsdata) som returnerer en liste med gjennomsnittspuls, laveste puls og høyeste puls ut fra verdiene i innparameteren. Denne deloppgaven skal løses uten bruk av innebygde funksjoner. Dersom pulsstatistikk kalles med pulsdata som vist i innledningen til oppgaven, skal det returneres [142.6, 110, 173]. Side 10 av 11

b) Lag en funksjon lengstepulsokning(pulsdata) som finner det lengste tidsintervallet i pulsdata der der pulsen øker eller forblir uendret fra intervallets begynnelse til slutt. Funksjonen skal returnere en liste med lengden (i sekunder) av dette intervallet og starttiden for intervallet. Dersom det finnes flere intervaller med samme lengde, skal funksjonen returnere det intervallet som kommer først i pulsdata. Dersom lengstepulsokning(...) kalles med pulsdata som vist i innledningen av oppgaven, skal funksjonen returnere et intervall på 10 sekunder som starter det 4 sekundet ([10, 4]). Side 11 av 11