LØSNINGSFORSLAG KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs 5. august 2009,

Like dokumenter
KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs 5. august 2009,

AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Torsdag 6. desember 2007,

KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Tirsdag 8. august,

LØSNINGSFORSLAG AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Torsdag 6. desember 2007,

AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Tirsdag 19. desember 2006,

AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs En vakker dag i August 2007,

KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs 15. August 2008,

LØSNINGSFORSLAG KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs 15. August 2008,

Avsluttende eksamen i TDT4110 Informasjonsteknologi, grunnkurs En vakker dag i august :00 13:00

Løsningsskisse til kontinuasjonseksamen i TDT4105 Informasjonsteknologi, grunnkurs Onsdag 10. august

AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Mandag 19. desember,

Avsluttende eksamen i TDT4110 og TDT4115 Informasjonsteknologi, grunnkurs 8. august :00 13:00

Løsningsforslag: Avsluttende eksamen i TDT4110 Informasjonsteknologi, grunnkurs Torsdag 6. desember :00 13:00

LØSNINGSFORSLAG AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs En vakker dag i August 2007,

LØSNINGSFORSLAG KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Tirsdag 8. august,

Kontinuasjonseksamen i TDT4110 Informasjonsteknologi, grunnkurs ONSDAG 10. august

ALGORITMER OG DATASTRUKTURER

Løsningsskisse til kontinuasjonseksamen i TDT4105 Informasjonsteknologi, grunnkurs Onsdag 10. august

LØSNINGSFORSLAG AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Tirsdag 19. desember 2006,

UNIVERSITETET I OSLO

LØSNINGSFORSLAG Kontinuasjonseksamen i TDT4110 Informasjonsteknologi, grunnkurs Onsdag 10. august

Kontinuasjonseksamen i TDT4105 Informasjonsteknologi, grunnkurs XXXdag XX. august

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

ALGORITMER OG DATASTRUKTURER

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

Avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Tirsdag 21. desember

Avsluttende eksamen i TDT4110/IT1102 Informasjonsteknologi, grunnkurs Tirsdag 21. desember

LØSNINGSFORSLAG AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Mandag 19. desember,

Løsningsforslag: Avsluttende eksamen i TDT4110/IT1102 Informasjonsteknologi, grunnkurs Tirsdag 10. august :00 13:00

ALGORITMER OG DATASTRUKTURER

ALGORITMER OG DATASTRUKTURER

Avsluttende eksamen i TDT4110/IT1102 Informasjonsteknologi, grunnkurs Snorsdag x. august :00 13:00

Steg 1: Vi starter fra toppen

Norsk informatikkolympiade runde

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

TDT4105 IT Grunnkurs Høst 2016

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Mandag 8. desember 2008,

LØSNINGSFORSLAG AVSLUTTENDE EKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Mandag 8. desember 2008,

Avsluttende eksamen i TDT4110 Informasjonsteknologi, grunnkurs Mandag 8. desember :00 13:00

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

ALGORITMER OG DATASTRUKTURER

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015

I denne oppgaven forventer vi at du har vært gjennom HTML- og CSS-oppgavene så langt og/eller er kjent med <div> - og HTML5-taggene.

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

EKSAMEN / 6101N WebPublisering

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Høgskoleni østfold EKSAMEN

Avsluttende eksamen i TDT JSP Informasjonsteknologi, grunnkurs Torsdag 8. desember :00 13:00

Avsluttende kontinuitetseksamen i TDT4110 Informasjonsteknologi, grunnkurs En vakker dag i august :00 13:00

LØSNINGSFORSLAG AVSLUTTENDE EKSAMEN TDT 4110, TDT 4115 og IT1102 Informasjonsteknologi, grunnkurs Mandag 19. desember,

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl

Web-programmering med JSP Løsningsforslag leksjon 3

CSS-formatering: stilark med kommentarer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

Læringsmål og pensum. v=nkiu9yen5nc

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

Løsningsskisse prøve IT1

TDT4110 Informasjonsteknologi grunnkurs: Uke 48 Oppsummering/Spørretime. Professor Alf Inge Wang

Eksamensoppgave i TDT4105 Informasjonsteknologi grunnkurs, med Matlab LØSNINGSFORSLAG

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

EKSAMEN Web-publisering

Oblig 1. Oppgave 1. Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

MAT1030 Diskret matematikk

Fakultet for informasjonsteknologi,

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

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

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

MMT105 Internettprogrammering Uke 44, høst 2007

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

HØGSKOLEN I SØR-TRØNDELAG

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs Løsningsforslag. Torsdag 29. November 2007 Kl

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Læringsmål og pensum. Oversikt

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

TDT4110 IT Grunnkurs Høst 2016

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

SQL Server guide til e-lector

ALGORITMER OG DATASTRUKTURER

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

EKSAMEN Webpublisering

UNIVERSITETET I OSLO

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Eksamen INF2270 våren 2018

Eksamen i emne TDT4165 / SIF8028 Programmeringsspråk

LØSNINGSFORSLAG Avsluttende eksamen i TDT4110 Informasjonsteknologi, grunnkurs Tirsdag 11. desember :00 13:00

MAT1030 Diskret matematikk

Generell informasjon

Forside. MAT INF 1100 Modellering og beregninger. Mandag 9. oktober 2017 kl Vedlegg (deles ut): formelark. Tillatte hjelpemidler: ingen

UNIVERSITETET I OSLO

Eksamensinformasjon. Prosesser. Prosesser. Eksamensoppgave. Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl

TDT4105 Informasjonsteknologi, grunnkurs

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

Transkript:

Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap BOKMÅL LØSNINGSFORSLAG KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs 5. august 2009, 9.00 13.00 Faglig kontakt under eksamen: Asbjørn Thomassen, tlf 901 45 710 Hjelpemidler (C): Tilleggshefte I, Introduksjon til HTML, CSS, JSP og MYSQL (alle utgaver) Tilleggshefte II, introduksjon til: MATLAB (alle utgaver) Typegodkjent kalkulator Citizen SR-270X eller HP30S. Sensurdato: 26. august 2009 Resultater gjøres kjent på http://studweb.ntnu.no og sensurtelefon 81548014. Kvalitetssikrer: Jo Skjermo Oppgavesettet inneholder 5 oppgaver. Det er angitt i prosent hvor mye hver oppgave og hver deloppgave teller ved sensur. Les igjennom hele oppgavesettet før du begynner å lage løsning. Disponer tiden godt! Gjør rimelige antagelser der du mener oppgaveteksten er ufullstig, skriv kort hva du antar. Svar kort og klart, og skriv tydelig. Er svaret uklart eller lenger enn nødvig trekker dette ned. Lykke til!

Oppgave 1 Flervalgsoppgaver (20 %) Bruk vedlagt svarskjema for å svare på denne oppgaven. Du kan få nytt ark av eksamensvaktene dersom du trenger dette. Kun ett svar er helt riktig. For hvert spørsmål gir korrekt avkryssing 1 poeng. Feil avkryssing eller mer enn ett kryss gir -1/2 poeng. Blankt svar gir 0 poeng. Du får ikke mindre enn 0 poeng totalt på denne oppgaven. Der det er spesielle uttrykk står den engelske oversettelsen i parentes. 1. Hva er forskjellen på data og informasjon i følge læreboka? a) Data og informasjon er det samme b) Data er en kvantifiserbar opplysning mens informasjon inkluderer tolkning c) Data er en kvantifiserbar opplysning mens informasjon beskriver annen data 2. Hva er kunnskap i følge læreboka? a) Kunnskap er det samme som informasjon b) Kunnskap er en samling av informasjon c) Kunnskap oppstår når informasjon evalueres 3. Hva kjennetegner innebygde datamaskiner (eng: embedded systems")? a) Datamaskiner som befinner seg inne i produkter med et annet hovedformål enn databehandlinger b) Små generelle datamaskiner som lett kan integreres i et kontorlandskap c) Store og kraftige datamaskiner som mange kan jobbe opp mot og må stå i egne rom 4. Hva krever et synkront samarbeidssystem av brukerne? a) Brukerne kan logge seg på når som helst b) Brukerne må sitte på forskjellige steder c) Brukerne må logge seg på samtidig 5. Matilde har klart å knekke passordet til en database med personalinformasjon på IDI etter flere forsøk, men får kalde føtter og bestemmer seg for ikke å få innsyn i databasen. Har Matilde gjort noe ulovlig i følge loven? a) Nei b) Ja c) Loven sier ikke noe om dette 6. Hva kjennetegner livssyklusmodellen inkrementell utvikling? a) Med inkrementell utvikling fullføres faser som f.eks. kravspesifikasjon helt ferdig før man går videre b) Med inkrementell utvikling deles prosjektet opp i mindre deler hvor man utfører flere faser (som kravspesifisering, design, koding) for hver del c) Med inkrementell utvikling begynner man å skrive koden først, og deretter dokumenterer man kravene og lager designet Side 2 av 16

7. Hvilke årsaker skyldes vanligvis fiasko i skreddersøm-prosjekter i følge boka? a) Mangle forståelse av kundens krav/behov og feil valg av programpakke b) Dårlig kompetanse på fagområdet og feil valg av programvarekomponenter c) Dårlig prosjektledelse og mangle forståelse av kundens krav/behov 8. Hva er riktig utsagn om forholdet mellom tilgangstid for lagringskomponentene i en datamaskin? a) Harddisken har kortere tilgangstid (access time) enn RAM og cache b) RAM har kortere tilgangstid (access time) enn harddisken og cache c) Cache har kortere tilgangstid (access time) enn RAM og harddisken 9. Hva er personvern i IT-sammenheng? a) Vern av individet slik at det ikke blir fysisk skadet av en (data)maskins handlinger. b) Et individs mulig interesse av å kontrollere informasjon skrevet om seg selv. c) Det gir arbeidsgiver rett til innsikt i ansattes personopplysningene slik at annet personale om nødvig kan beskyttes 10. Vannfallsmodellen/fossefallsmodellen (waterfall) passer normalt best: a) I alle omgivelser b) I omgivelser med store ringer c) I stabile omgivelser 11. Når er binærsøk normalt raskere enn sekvensielt søk? a) Binærsøk er alltid raskere enn sekvensielt søk b) Binærsøk er aldri raskere enn sekvensielt søk c) Binærsøk fungere bare på sorterte datamengder og er her normalt raskere enn sekvensielt søk 12. I det binære tallsystemet, hva er summen av 1101 2 og 1011 2? a) 11000 2 b) 10010 2 c) 1111 2 13. Hva er usant om den generelle kommunikasjonsmodellen som er beskrevet i læreboka a) Mottaker og avser på samme lag/nivå må være enige om kjøreregler (protokoll) for kommunikasjonen b) Kommunikasjon skjer horisontalt, men ikke vertikalt i modellen. c) Protokoll-samlingen TCP/IP som det meste av kommunikasjonen over Internett bruker, er bygd opp etter samme prinsipp som på den generelle kommunikasjonsmodellen 14. Hva er en protokoll? a) Det er den teknikken som brukes for å kommunisere på Internett b) Det er et felles språk som begge sider av en forbindelse forstår og bruker c) Det er den biten i operativsystemet som tar seg av feilsjekk Side 3 av 16

15. Hvilke typer operasjoner utfører hovedprosessoren (CPU) i en datamaskin? a) Aritmetiske og logaritmiske operasjoner b) Aritmetiske og logiske operasjoner c) Grafiske og logiske operasjoner 16. Hvilken lov forbyr ring og ødeleggelse av data, urettmessig innsyn i og bruk av data og ulovlig bruk av datautstyr a) Straffeloven b) Arbeidsmiljøloven c) Lov om opphavsrett 17. Gitt en liste med tall. Hvilket av utsagnene under er sant? a) Søk i lista vil gå like raskt med sekvensiell som med binær søk b) Dersom elementet vi søker ikke finnes i lista, vil søket som regel kunne avsluttes raskere dersom lista er sortert enn om den er usortert c) Om søk: Binærsøk er mest effektivt på korte lister mens sekvensielt søk er mest effektiv på lengre lister 18. Et program som oversetter et program skrevet i et høynivå programmeringsspråk (for eksempel C++) til maskinkode som kan utføres av en datamaskin kalles a) Kompilator b) Registrerer c) Forbedrer (enhancer) 19. Hva defineres ikke som sensitiv informasjon iflg. Personopplysningsloven? a) Rasemessig eller etnisk bakgrunn, eller politisk, filosofisk eller religiøs oppfatning b) Eksamensresultater c) Medlemskap i fagforeninger 20. På hvilket lag i TCP/IP-modellen finner vi TCP-protokollen? a) Applikasjonslaget b) Ende-til-e-laget c) Linklaget 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 b c a c b b c c b c c a b b b a b a b b Side 4 av 16

Oppgave 2 Matlab programmering (60 %) a) (5%, 2-1-2) Multipliseres en radvektor x = [x 1 x 2... x n ] og en kolonnevektor y = [y 1 ; y 2 ;... ; y n ] med operatoren * blir resultatet summen s = x 1 y 1 + x 2 y 2 + + x n y n. Hvis x = [1 2 3] og y = [4; 5; 6], hva blir x * y? Hvis z = [4 5 6], hva blir x.* z? Hvorfor feiler x.* y i dette tilfellet? >> x = [1 2 3]; y = [4; 5; 6]; z = [4 5 6]; >> x * y ans = 32 >> x.* z ans = 4 10 18 >> x.* y error: product: nonconformant arguments (op1 is 1x3, op2 is 3x1) error: evaluating binary operator.* near line 8, column 3 % ==> feiler fordi.* krever tabeller av samme dimensjon b) (10%) Beskriv hva funksjonen dec2tab() gjør, og vis hva som blir resultatet av kallet dec2tab(4,2). function tab = dec2tab(dec, nelem) tab = []; for n = 1:nelem tab = [mod(dec,10) tab]; dec = floor(dec/10); % expand the number dec into a list of the last nelem digits, % possibly zero-padded if dec is less than nelem digits. >> dec2tab(4,2) ans = 0 4 Side 5 av 16

c) (15%) Gitt to lister (en-dimensjonale tabeller) av tilfeldige tall, x med m 1 elementer og y med n 1 elementer. Skriv en funksjon duplicates(x,y) som tar inn de to listene og returnerer ei liste med alle elementene som fins i begge listene. Eksempel: >> x = [11 1 3 4 1 7 5]; >> y = [42 11 0 7 17]; >> duplicates(x,y) ans = 7 11 Den innebygde funksjonen sort() kan benyttes i programmeringen. Merk at duplikater internt i ei liste ikke regnes med det er bare tall som fins i begge listene som skal skrives ut. function z = duplicates(x, y) m = length(x); n = length(y); z = []; x = sort(x); y = sort(y); i = 1; j = 1; k = 1; while (i <= m && j <= n) if (x(i) < y(j)) i = i + 1; elseif (x(i) > y(j)) j = j + 1; else z(k) = x(i); i = i + 1; j = j + 1; k = k + 1; if Side 6 av 16

d) (30%) Studer Vedlegg A: Beregning av fødselsnumre med Matlab. Bruk dec2tab() fra b) og vedlagte funksjon checksum() for å skrive en funksjon T = ssec_tab(d,sex) som returnerer en tabell over mulige fødselsnumre for en person, gitt fødselsdato og kjønn. Inngangsparameteren D skal være en tabell [dd mm yyyy] hvor dd er en dag, mm er en måned og yyyy er et 4-sifret årstall. Parameteren sex angir kjønn, med sant (1) for mann og usant (0) for kvinne. Radene i den 2-dimensjonale resultat-tabellen T skal være på formen [ d 1 d 2 m 1 m 2 y 1 y 2 e 1 e 2 e 3 c 1 c 2 ], i alt 11 sifre i hver rad, med innhold som beskrevet i vedlegget. Hver rad skal inneholde et korrekt fødselsnummer. Antallet rader i T skal tilsvare antall mulige fødselsnumre for en gitt fødsesdato og kjønn. function T = ssec_tab(d,sex) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ssec_tab - tabulate possible Norwegian social security numbers given % date of birth and sex. % INPUT: % D = [dd mm yyyy], 3-element date of birth % sex = non-zero (true) if male, zero if female % % OUTPUT: % T = 2-dimensional table of legal social security numbers, % where each row reads % % [d1 d2 m1 m2 y1 y2 e1 e2 e3 c1 c2] % % Returns an empty table T on error. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if (length(d)!= 3 D(3) < 1855 D(3) > 2039) %!= or ~= return; year = D(3); T = []; % compose the initial fixed elements [d1 d2 m1 m2 y1 y2] D = [dec2tab(d(1),2) dec2tab(d(2),2) dec2tab(d(3),2)]; % normalize sex offset if (sex) sex = 1; else sex = 0; Side 7 av 16

if (year < 1900) efirst = 500 + sex; elast = 749; elseif (year < 2000) efirst = 0 + sex; elast = 499; else efirst = 500 + sex; elast = 999; for enum=efirst:2:elast E = dec2tab(enum,3); C = checksum(d,e); if (length(c) > 0) T = [T; [D E C]]; % once again for the exted range 1940-1999 if (year >= 1940 && year <= 1999) for enum = 900+sex:2:999 E = dec2tab(enum,3); C = checksum(d,e); if (length(c) > 0) T = [T; [D E C]]; Side 8 av 16

Oppgave 3 HTML (10 %) a) (5%) Figur 1 viser en nettside med et utdrag av en forelesningsplan laget i HTML Figur 1: en forelesningsplan Skriv HTML-koden som er nødvig for å lage nettsiden, med begrensninger Benytt kun HTML for å lage tabellen, ingen stilsetting. Skriv kun teksten i dokumentkroppen (teksten mellom merkelappene <body> og </body>). Bruk innrykk for lesbarhet. <h1>lecture Plan</h1> <table border="1"> <!-- table uten border godtas --> <tr> <th>week</th> <th>date</th> <th>description</th> <th>curriculum</th> </tr> Side 9 av 16

<tr> <td rowspan="2">1</td> <td>2009-08-17</td> <td>introduction to HTML</td> <td>chapter 4</td> </tr> <tr> <td>2009-08-19</td> <td>html: Links and images</td> <td>chapter 5</td> </tr> <tr> <td rowspan="2">2</td> <td>2009-08-24</td> <td colspan="2">no class</td> </tr> <tr> <td>2009-08-26</td> <td>getting started using CSS</td> <td>chapter 8</td> </tr> </table> b) (5%) Gitt kode for en enkel nettside i figur 2. Skriv innholdet i CSS-fila style.css, som det lenkes til fra HTML-dokumentet, slik at følge krav oppfylles: Dokumentet skal ha lyseblå bakgrunnsfarge og skriften skal være sort. Nivå 1-overskrifter skal ha sort bakgrunnsfarge og lyseblå skrift. Hele hovedmenyen skal en tynn, sort ramme rundt seg og ha en bredde på 9 tegn. Menyvalgene i hovedmenyen skal være uten kulepunkter og skal ha en tykk, mørkegrå, ramme med grå bakgrunnsfarge for å ligne på knapper. Bruk CSS attributtnavn og -verdier fra lista nedenfor. Ikke bruk fargekoder. Navn: background, background-color, border, border-color, border-width, color, list-style-type, margin, padding, width Verdier: 1em, black, darkgray, gray, lightblue, none, solid, thick, thin Side 10 av 16

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>my Homepage</title> <link rel="stylesheet" type="text/css" href="style.css" media="all" title="normal"> </head> <body> <h1>my Homepage</h1> <h2>menu</h2> <ul class="mainmenu"> <li class="button"><a href="index.html">main page</a></li> <li class="button"><a href="about.html">about me</a></li> <li class="button"><a href="links.html">links</a></li> </ul> <h2>welcome</h2> <p><img src="images/portrait.jpg" width="240" height="320" alt=" [this is me] ">Picture of me on a bad hair day.</p> <p>i like to listen to music. Here are some links to bands I currently like:</p> <ul> <li><a href="http://www.paparoach.com">papa Roach</a></li> <li><a href="http://www.lumsk.com">lumsk</a></li> </ul> </body> </html> Figur 2: en enkel nettside body { background-color: lightblue; color: black; } h1 { background-color: black; color: lightblue; }.mainmenu { border: solid; border-width: thin; border-color: black; padding: 0; list-style-type: none; width: 9em; } Side 11 av 16

.button { background: gray; margin: 0.5em 0.5em; padding: 0.5em; border: solid; border-width: thick; border-color: darkgray; } Side 12 av 16

Oppgave 4 Databaser (10 %) En database er beskrevet ved en relasjonsmodell som vist i figur 3. Løs oppgavene under figuren. Book Written ISBN Title Year Pid Cid ISBN Aid 9788248907800 Haikerens guide til galaksen 2008 1 1...800 1 9788248902997 En bedrøvet laks 2003 1 1...997 1 9788253030425 Kafka på stranden 2007 2 2...425 3 9788203209017 Don Quijote 2005 3 2...017 2 Publisher Category Author Pid Pnavn Webpage Cid Category Descript Aid Name DOB Land 1 Kagge kagge.no 1 Fiction Blabla... 1 Adams, D 11.03.52 UK 2 Pax pax.no 2 Roman Blabla... 2 Cervantes, M 1547 SP 3 Aschehaug aschehaug.no 3 Biografi BlaBla... 3 Murakami 12.01.49 JP Figur 3: database beskrevet i en relasjonsmodell a) (4%) Tegn det tilhøre ER-diagrammet. Category Author aid name dob land written Book isbn title year pid cid cid category descript Publisher pid pname webpage Tillat 0 obligatoritet for Category siden en kategori ikke behøver å ha bøker i databasen. Side 13 av 16

b) (2%) Skriv en SQL-kommando som legger inn forlaget Tapir med nettsted tapir.no i tabellen Publisher. insert into Publisher values (0, Tapir, tapir.no ); c) (2%) Skriv en SQL-kommando som lister ut alle forfatternes navn og landet de kommer fra. select Name,Land from Author; d) (2%) Skriv en SQL-kommando som lister ut tittel på alle romaner som er kommet ut før 2007. select Title from Book as b, Category as c where b.year < 2007 and c.cid = b.cid and c.category = Roman ; Side 14 av 16

Vedlegg A: Beregning av fødselsnumre med Matlab Et fødselsnummer består av 11 sifre, satt sammen av en 6-sifret fødselsdato og et 5-sifret personnummer, d 1 d 2 m 1 m 2 y 1 y 2 e 1 e 2 e 3 c 1 c 2 Fødselsdatoen er på formen d 1 d 2 m 1 m 2 y 1 y 2, hvor d 1 d 2 er fødselsdagen, m 1 m 2 er fødselsmåneden og y 1 y 2 inneholder de to siste sifrene i fødselsåret (18y 1 y 2, 19y 1 y 2 eller 20y 1 y 2 ). Sifrene e = e 1 e 2 e 3 er et individnummer eller entitetsnummer som er avhengig av fødselsåret: fødselsår e 1 e 2 e 3 1855-1899 500-749 1900-1999 000-499 1940-1999 900-999 2000-2039 500-999. Sifferet e 3 settes til et partall (0,2,... ) for kvinner og oddetall (1,3,... ) for menn. Nummerserien 900 999 benyttes til personer født 1940 1999 og 2000 2039, hovedsaklig av hensyn til innvandring. Kontrollnummeret c = c 1 c 2 er en sum av tidligere sifre modulus 11: c 1 = 11 (3d 1 + 7d 2 + 6m 1 + m 2 + 8y 1 + 9y 2 + 4e 1 + 5e 2 + 2e 3 ) mod 11 c 2 = 11 (5d 1 + 4d 2 + 3m 1 + 2m 2 + 7y 1 + 6y 2 + 5e 1 + 4e 2 + 3e 3 + 2c 1 ) mod 11. Uttrykket a mod b tilsvarer mod(a,b) i Matlab. Det er to tilleggsregler for fastsetting av kontrollsifre; hvis (c i er c 1 eller c 2 ) 1. c i = 11 settes c i 0, 2. c i = 10 forkastes personnummeret. Funksjonen C = checksum(d,e) beregner kontrollsifrene c gitt en fødselsdato d og et individnummer e som beskrevet i de innlede kommentarsetningene i koden. (vedlegget fortsetter på neste side) Side 15 av 16

Powered by TCPDF (www.tcpdf.org) function C = checksum(d,e) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % checksum - computes the checksum digits in a Norwegian social security % number, given a birth date and entity number as input. % INPUT: % D = [d1 d2 m1 m2 y1 y2], 6-digit date of birth % E = [e1 e2 e3], 3-digit entity (sequence) number % % OUTPUT: % C = [c1 c2], 2-digit checksum number or empty table on % error. % % Every digit in C,D and E is stored as a Matlab table element. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C1 = [3; 7; 6; 1; 8; 9; 4; 5; 2]; C2 = [5; 4; 3; 2; 7; 6; 5; 4; 3; 2]; C = []; if ((length(d)!= 6) (length(e)!= 3)) %!= or ~= return; c1 = 11 - mod([d E]*C1, 11); if (c1 == 10) return; elseif (c1 == 11) c1 = 0; c2 = 11 - mod([d E c1]*c2, 11); if (c2 == 10) return; elseif (c2 == 11) c2 = 0; C = [c1 c2]; Side 16 av 16