TDT4105 IT Grunnkurs Høst 2017

Like dokumenter
TDT4105 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2017

Auditorieøving 2 Matlab. Appendix Matlab 1/19

TDT4105 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2012

TDT4110 IT Grunnkurs Høst 2015

TDT4110 IT Grunnkurs Høst 2016

TDT4110 IT Grunnkurs Høst 2016

TDT4105 IT Grunnkurs Høst 2014

TDT4110 IT Grunnkurs Høst 2015

TDT4105 IT Grunnkurs Høst 2014

TDT4105 IT Grunnkurs Høst 2012

TDT4110 IT Grunnkurs Høst 2014

TDT4105 IT Grunnkurs Høst 2014

TDT4110 Informasjonsteknologi grunnkurs: Eksempler. Mangekanter

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

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

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

TDT4105 Informasjonsteknologi grunnkurs Øvingsforelesning 2. Iver Dihle Skjervum Vit.ass. ITGK

Norsk informatikkolympiade runde

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

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

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

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

Eksamensoppgave i TDT4105 Informasjonsteknologi grunnkurs, med Matlab LØSNINGSFORSLAG

TDT4110 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

TDT4105 Informasjonsteknologi, grunnkurs MatLab: Filbehandling - load, save, type - fopen, fgetl, feof, fprintf, fclose

TDT4105 Informasjonsteknologi, grunnkurs

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

TDT4105 Informasjonsteknologi grunnkurs: Uke 43: Datastrukturer (kap. 8)

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Læringsmål og pensum. Oversikt

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

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

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

Datastrukturer (kap. 8)

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

UNIVERSITETET I OSLO

TDT4105 IT Grunnkurs Høst 2014

Øvingsforelesning TDT4105 Matlab

TDT4102 Prosedyreog objektorientert programmering Vår 2016

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

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

Øvingsforelesning 5 Python (TDT4110)

Noen innebygde funksjoner - Vektorisering

Noen innebygde funksjoner - Vektorisering

Søking i strenger. Prefiks-søking Naiv algoritme Knuth-Morris-Pratt-algoritmen Suffiks-søking Boyer-Moore-algoritmen Hash-basert Karp-Rabin-algoritmen

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

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4110 IT Grunnkurs Høst 2014

TDT4110 IT Grunnkurs Høst 2014

Øvingsforelesning 5 Python (TDT4110)

Høgskoleni østfold EKSAMEN

Turingmaskiner.

TDT4110 Informasjonsteknologi, grunnkurs

Informasjon Eksamen i IN1000 høsten 2017

Kontinuasjonseksamen i TDT4105 Informasjonsteknologi - grunnkurs Matlab

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

TDT4105 Informasjonsteknologi, grunnkurs. Mer om funksjoner: - rekursive funksjoner

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

TDT4105 Informasjonsteknologi grunnkurs: Uke 42 Strenger og strenghåndtering

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

Læringsmål og pensum. Oversikt. Læringsmål Forstå og bruke cell array og strukturer. Pensum Matlab, Chapter 8

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

ALGORITMER OG DATASTRUKTURER

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

Eksamensoppgave i TDT4105 Informasjonsteknologi grunnkurs, med Matlab LØSNINGSFORSLAG

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

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

TDT4102 Prosedyreog objektorientert programmering Vår 2016

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

Informasjon Prøveeksamen i IN1000 høsten 2018

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

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

MAT-INF 2360: Obligatorisk oppgave 1

Norsk informatikkolympiade runde

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Eksamensoppgave i TDT4105 Informasjonsteknologi grunnkurs, med Matlab LØSNINGSFORSLAG

Norsk informatikkolympiade runde

TDT4110 IT Grunnkurs Høst 2012

Øvingsforelesning 1 Python (TDT4110)

HØGSKOLEN I SØR-TRØNDELAG

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

TDT4110 IT Grunnkurs Høst 2012

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

Ta kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!

Objektorientert programmering i Python

EKSAMEN ITF Webprogrammering 1 Dato: Eksamenstid: Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

HØGSKOLEN I SØR-TRØNDELAG

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

Øvingsforelesning TDT4105 Matlab

Læringsmål og pensum. Tekststrenger Læringsmål Skal kunne forstå og programmere med tekststrenger. Pensum Matlab, Chapter 7

UNIVERSITETET I OSLO

Algoritmer og Datastrukturer

Hjemmeeksamen 2 i INF3110/4110

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Transkript:

TDT4105 IT Grunnkurs Høst 2017 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Matlab Auditorieøving 2 Vennligst fyll ut følge 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 ses 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åe 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) Hvis vi har lagret koden under i filen secret.m, hvilke verdier får x og y når vi kjører: [x, y] = secret(11, 3) Forklar også med en setning hva funksjonen gjør. Kodesnutt 1 function [r, s] = secret(a, b) r = 0; while (a >= b) a = a - b; r = r + 1; s = a; x = y = Forklaring: b) Hvis vi har lagret koden under i filen enigma.m, hvablirx når vi kjører: Utdrag fra Matlab-dokumentasjonen: strcmp(s1,s2) compares s1 and s2 and returns 1 (true) ifthetwoareidenticaland0(false) otherwise. flere_ord = enigma({'hard','bra','rask','sterk'}) x = enigma(flere_ord) Forklar også med en setning hva funksjonen gjør (eller prøver på). Kodesnutt 2 function mange_ord = enigma(mange_ord) nye_ord = {}; for i = 1:length(mange_ord) if strcmp('bra', mange_ord{i})==true mange_ord{i} = 'bedre'; elseif strcmp('stor', mange_ord{i})==true mange_ord{i} = 'større'; elseif strcmp('liten', mange_ord{i})==true mange_ord{i} = 'mindre'; else mange_ord{i}= [ mange_ord{i} 'ere']; Side 3 av 11

x = Forklaring: c) Gitt funksjonen i Kodesnutt 3. Hva blir returnert ved kallet: m = mystery('suneailsun', 'JALTNCSAES') Beskriv også med en setning hva funksjonen gjør. Kodesnutt 3 function z = mystery (x, y) z = ''; for i = 1:length(x) if (mod(i,2) == 0) z = [z x(i)]; else z = [z y(i)]; m = Forklaring: Side 4 av 11

3 Strenger a) Lag en funksjon som tar inn et cell array med ett eller flere ord og et prefiks prefix (streng). Funksjonen skal returnere et nytt cell array med alle ord i lista som starter på prefix. Du kan anta at alle ord og prefiks kun har små bokstaver. Utdrag fra Matlab-dokumentasjonen: strcmp(s1,s2) compares s1 and s2 and returns 1 (true) if the two are identical and 0 (false) otherwise. Eksempelkjøring: checkprefix({'en' 'enhjoerning' 'kan' 'neppe' 'bli'... 'entrepenoer' 'i' 'denne' 'ensidige' 'verden'}, 'en') {'en' 'enhjoerning' 'entrepenoer' 'ensidige'} b) Lag en funksjon som tar inn et cell array med ett eller flere ord, et prefiks prefix og et suffiks suffix. Funksjonen skal returnere et nytt cell array med alle ord i listen som både starter på prefix og slutter på suffix. Du kan igjen anta at ordene kun inneholder små bokstaver. Eksempelkjøring: checkprefixandsuffix( {'han' 'fulgte' 'regelen' 'og' 'betalte'... 'regningen'}, 're', 'en') {'regelen', 'regningen'} Side 5 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. Du kan anta at det vitneobserverte registreringsnummeret har riktig lengde. Funksjonen skal returnere true (1) dersom det er full overensstemmelse eller hvis avvik kun gjelder «?». Hvis det derimot finnes avvik utover «?» i vitneobservasjonen, skal funksjonen returnere false (0). Eksempelkjøring: >>> match('vf12345','vf12355') 0 >>> match('v?1234?','vf12355') 0 >>> match('vf???55','vf12355') 1 >>> match('???????','vf12355') 1 Side 6 av 11

4 Struct a) Lag en funksjon datestruct med parametre day, month og year som returnerer en datastruktur med feltene day, month og year satt til inputverdiene. Eksempelkjøring >> datestruct(19, 7, 1995) day: 19 month: 7 year: 1995 b) Lag en funksjon moviestruct(name, director, premieredate), der name og director er strenger og premieredate er en datestruct som laget i forrige oppgave. Funksjonen skal returnere en datastruktur med feltene name, director og premieredate satt til inputverdiene. NB! Ligge hakeparentes symboliserer space. Eksempelkjøring >> date = datestruct(19, 7, 1995); >> moviestruct('clueless', 'Amy Heckerling', date) name: 'Clueless' director: 'Amy Heckerling' premieredate: [1x1 struct] Side 7 av 11

c) Kristoffer er glad i å se på film, og har en database med yndlingsfilmene sine i form av et struct-array med filmdatastrukturer som gitt av deloppgave B). Den siste tiden har Kristoffer vært opptatt av å se filmer gitt ut i spesielle tidsperioder. For å hjelpe Kristoffer med å velge film skal du lage en funksjon getmoviestructs(movies, fromyear, toyear) som tar inn et struct array med datastrukturer som i deloppgave B). Funksjonen skal returnere et struct-array med alle filmene som hadde premiere mellom fra-årtallet og til-årstallet. Eksempelkjøring der funkjsonene fra deloppgave A og B bruker for å generere datastrukturene funksjonen kjøres med: >> d1 = datestruct(3, 10, 2003) d1 = day: 3 month: 10 year: 2003 >> m1 = moviestruct('lost in Translation', 'Sofia Coppola', d1) m1 = name: 'Lost in Translation' director: 'Sofia Coppola' premieredate: [1x1 struct] >> d2 = datestruct(17,11,2015); >> m2 = moviestruct('unbroken', 'Angelina Jolie', d2); >> d3 = datestruct(1,3,1995); >> m3 = moviestruct('clueless', 'Amy Heckerling', d3); >> movies = [ m1, m2, m3 ] movies = 1x3 struct array with fields: name director premieredate >> getmoviestructs(movies, 1990, 2000) name: 'Clueless' director: 'Amy Heckerling' premieredate: [1x1 struct] >> validmovies = getmoviestructs(movies, 2000, 2016) validmovies = 1x2 struct array with fields: name director premieredate >> validmovies.name Lost in Translation Unbroken Side 8 av 11

Side 9 av 11

5 Sammensatt program 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 uret 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 5. sekundet ([10, 5]). Side 11 av 11