EKSAMEN I EMNA TDT4110 / TDT4115 INFORMASJONSTEKNOLOGI GK med Forslag til løysing. Fredag 12. august 2005 KL

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

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I)

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

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

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

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Laurdag 8. august 2009, kl

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

Eksamen i Internetteknologi Fagkode: IVA1379

I denne oppgåva skal me lage eit enkelt spel der pingvinane har rømt frå akvariet i Bergen. Det er din (spelaren) sin jobb å hjelpe dei heim att.

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

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE I TDT4110

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

UNIVERSITETET I OSLO

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

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

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

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

EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 5609 OBJEKTORIENTERT PROGRAMMERING

ALGORITMER OG DATASTRUKTURER

UNIVERSITETET I OSLO

TDT4110 IT Grunnkurs Høst 2015

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

JS: Grunnleggjande JavaScript

TDT4110 IT Grunnkurs Høst 2016

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

EKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Tysdag 4. desember 2007 Tid: kl

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

TDT4110 IT Grunnkurs Høst 2016

KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs Tirsdag 8. august,

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

Oppgave 1 Flervalgsoppgaver (25%)

EKSAMEN I LOGIKK OG RESONNERANDE SYSTEM (TDT4136)

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

KONTINUASJONSEKSAMEN TDT 4105 Informasjonsteknologi, grunnkurs 15. August 2008,

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

Her skal du lære å programmere micro:biten slik at du kan spele stein, saks, papir med den eller mot den.

EKSAMEN DATABASER OG WEB Et maskinskrevet notat på maksimalt 2 A4-sider, satt med enkel linjeavstand og skriftstørrelse 12 (eller større).

HØGSKOLEN I SØR-TRØNDELAG

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

ARK H - Digital arkivdanning og -bevaring I Mappebeskrivelse. Eksamen består av fire delar. Den engelske versjonen bør sjåast som

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

HØGSKOLEN I SØR-TRØNDELAG

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

Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL

Eksamen i Internetteknologi Fagkode: ITE1526

PXT: Det regnar mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes. Oversatt av: Stein Olav Romslo

Matematikk 1, MX130SKR-B

ALGORITMER OG DATASTRUKTURER

Kontinuasjonseksamen i TDT4110 Informasjonsteknologi, grunnkurs ONSDAG 10. august

Eksamen REA3015 Informasjonsteknologi 2. Nynorsk/Bokmål

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

Undervisningsopplegg for ungdomstrinnet om statistikk og sannsyn

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

UNIVERSITETET I OSLO

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

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

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

Videregående programmering 6

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

SAMNANGER KOMMUNE. IKT-reglement. for tilsette i Samnanger kommune. Vedteke av rådmannen Gjeld frå

Eksamen i IBE102 Webutvikling Våren 2017.

ALGORITMER OG DATASTRUKTURER

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Web-programmering med JSP Løsningsforslag leksjon 4

Eksamen i emne TDT4165 PROGRAMMERINGSSPRÅK

TDT4160 DATAMASKINER GRUNNKURS EKSAMEN

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

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

UNIVERSITETET I OSLO

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

UNIVERSITETET I OSLO

Datateknikk TELE1004-A 14H HiST-AFT-EDT

Matematikk 1, 4MX25-10

EKSAMENSOPPGÅVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER

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

ALGORITMER OG DATASTRUKTURER

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

UNIVERSITETET I OSLO

Å løyse kvadratiske likningar

TDT4105 IT Grunnkurs Høst 2016

KONTINUASJONSEKSAMEN I EMNE. TDT4136 Logikk og resonnerande system. Onsdag 10. august 2011, kl

HØGSKOLEN I SØR-TRØNDELAG

ARK H - Digital arkivdanning I Mappebeskrivelse. OBS Eksamen består av fire delar!

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

ALGORITMER OG DATASTRUKTURER

EKSAMEN. Emne: Algoritmer og datastrukturer

Matematikk 1, 4MX15-10E1 A

NY/UTSATT NASJONAL DELEKSAMEN I MATEMATIKK FOR GRUNNSKULELÆRAR - UTDANNINGANE GLU 1 7 OG GLU 5 10

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

FÅ VERDA HEIM TIL DEG. NÅR DU VIL. TUSSAFIBER KOPLING AV RUTER. Fritz!Box

Datateknikk TELE1004-A 13H HiST-AFT-EDT. Oppgåve: Protokollanalysatoren Wireshark. Delemne digitalteknikk og datakommunikasjon Øving 7; løysing

HØGSKOLEN I SØR-TRØNDELAG

S1-eksamen hausten 2017

Eksamen REA3015 Informasjonsteknologi 2. Nynorsk/Bokmål

Innføring i bruk av CGI4VB

UNIVERSITETET I OSLO

Høgskolen i Telemark EKSAMEN 6102 DATABASER 5602 DATABASER Tid: 9-13 (9-14 for konte-eksamen i 5602) Hjelpemidler:

Transkript:

Side 1 av 13 NTNU - Noregs Teknisk-Naturvitskapelege Universitet Fakultet for Informasjonsteknologi, Matematikk og Elektroteknikk Institutt for Datateknikk og Informasjonsvitskap NYNORSK EKSAMEN I EMNA TDT4110 / TDT4115 INFORMASJONSTEKNOLOGI GK med Forslag til løysing Fredag 12. august 2005 KL. 09.00 13.00 Fagleg kontakt under eksamen: Per Holager (mob.tlf. 99617836) Oppgavesettet er kvalitetskontrollert av: Jon Arvid Børretzen Tillatte hjelpemiddel: Typegodkjend kalkulator HP30S Tilleggshefte I HTML, JSP & MySQL, eventuelt ny utgåve HTML, CSS, JSP og MySQL Sensurdato: 2005. Resultat gjerast kjend på http://studweb.ntnu.no/ og sensurtelefon 81548014.. Oppgavesettet inneheld 4 oppgåver. Det er gjeve i prosent kor mykje kvar oppgåve og kvar deloppgåve tel ved sensur. Gjer dei naudsynte føresetnader der du meiner oppgåveteksten er ufullstendig, skriv kort kva du føreset. Svar kort og klårt, og skriv tydelig: Er svaret uklårt eller lengre enn naudsynt, trekkjer dette ned. Hugs å lese igjennom heile oppgåvesettet før du byrjar å lage løysing. Disponer tida godt! Lukke til!

Side 2 av 13 Oppgåve 1 Teori (30%) a) (3%) Forklar omgrepa data, metadata og informasjon. Gje eit døme. Data er ei serie tall, oftast som binærsiffer. Metadata er ei framstilling av korleis informasjon av den aktuelle typen er representert som data. Metadata for ei datafil kan til dømes vera, at det er ei MP3-fil. Informasjon er data med tilhøyrande metadata. b) (3%) I datamaskiner representerast all informasjon ved hjelp av tal. Forklar prinsippet som ligg bak representasjon av tekst. Kvart teikn i rekka representerast som et lite heiltal, vanlegvis i området 0..255, dvs. som 8 binærsiffer. Til dømes står 32 for mellomrom, 65 for A i den vanlige kodinga for vesteuropeiske språk. c) (3%) Kva er dei viktigaste oppgåvene til eit operativsystem? Operativsystemet omfatter ein del fellestenester som administrasjon av plass i RAM og på harddisk, og av vinduer, mus, tastatur og anna inn-ut-verksemd. Dessuten skal det gjere det enkelt å starte og avslutte kjøyring av programmer. d) (3%) Forklar kva vi meiner med synkron og asynkron kommunikasjon. Gje to døme på kvar av desse. Synkron er ein type kommunikasjon der ein gjev raske svar på spørsmål og andre utsegn, dvs. at alle partar konsentrerer seg om kommunikasjonen så lenge den går for seg. Eksempler er telefoni og chat. Asynkron kommunikasjon er mindre konsentrert, ofte går det minutter eller meir frå ein part sender eit utsegn til en annan part svarer. Eksempler er brev på papir, elektronisk post og blogger.

Side 3 av 13 e) (3%) Kva meinast med klient/tener-modellen? Kva er arbeidsoppgavene til klient og tener? Dette er eit mønster for samarbeid mellom datamaskiner. Klienten tek initiativ og gjev ei oppgave til ein tener; teneren utfører oppgåvene den får og sender svar tilbake til klienten. f) (3%) Ein datamaskin er, på eit overordna nivå, sett saman av følgjande hovedkomponenter: arbeidsminne (primærlager), buss og prosesseringseining (CPU) med kontrolleining og aritmetisk logisk eining. Når eit program kjørast må alle desse komponentane i aksjon. Forklar kva som skjer. Skissér gjerne. Programmet må vera lagt i arbeidsminnet og kontrollenheten må ha fått adressa til starten på dette programmet inn i sin programmteller (programpeiker). Kontrollenheten går så i løkke: Den henter instruksjonen frå addressa som står i programtelleren og utfører den. Deretter vil den oftast øke verdien i programtelleren slik at den vil hente neste instruksjon i neste runde i løkka. Mange instruksjoner vil hente data frå andre deler av arbeidsminnet inn til prosesseringseininga og så gjere aritmetiske o.l. operasjoner på desse, evt. sette resultater frå prosesseringseininga tilbake i arbeidsminnet. g) (3%) Gjeve følgjande liste: Bob Hund, Byrds, Of Montreal, Pink Floyd, Sonic Youth, Syd Barrett, The Shins. Korleis vil eit søk etter Neutral Milk Hotel forrenne seg, gjeve at ein nytter søkealgoritmen binærsøk. (Rundar middelverdier oppover; tester verdi i tabell større enn den søkte. Nytter variable lo=1, hi=7, md=4) Ser på: Pink Floyd, deretter (lo=1, hi=3, md=2) Byrds, deretter (lo=2, hi=3, md=3) Of Montreal, så (lo=2, hi=2) er det klart at Neutral Milk Hotel ikkje finnst i lista. h) (3%) Gjeve ei melding som er ein lang strøm med teikn frå følgjande alfabet: A,B,C,D,E,F,G,H. Sannsynet p i for at eit tilfeldig teikn i meldinga er i er som følgjer: p A = 0.4, p B =0.25, p C =0.15, p D =0.09, p E =0.05, p F =0.03, p G =0.02, p H =0.01. Nytt Huffmann-algoritmen for å finne optimal koding av teikna i denne meldinga. Teikn Huffmann-treet og skriv opp bitrepresentasjonane for kvart teikn i alfabetet.

Side 4 av 13 Huffmann-treet er P ABCDEFGH =1 0 / \ 1 / P BCDEFGH =0.6 / 0 / \ 1 / / p CDEFGH =0.35 / / 0 / \ 1 / / / p DEFGH =0.2 / / / 0 / \ 1 / / / / p EFGH =0.11 / / / / 0 / \ 1 / / / / / p FGH =0.06 / / / / / 0 / \ 1 / / / / / / p GH =0.03 / / / / / / 0 / \ 1 p A =0.4 p B =0.25 p C =0.15 p D =0.09 p E =0.05 p F =0.03 p G =0.02 p H =0.01 Vi velgjer at venstre grein av intern-nodane merkast med 0 og høgre med 1. Da vert kodane A:1, B:10, C:110, D:1110, E:11110, F:111110, G:1111110, H:1111111. i) (6%) Forklar kort følgjande omgrep: i. Domain Name System (DNS) ii. Instruksjonspeikar (IP) iii. Local Area Network (LAN) iv. Nav (engelsk: hub) v. Tjenestekvalitet vi. Personvern i: Teneste på web-en (tenere) som finner IP-addresse for gitt domenenavn. ii: Register i kontrolldelen av CPUen som held rede på hvor man er i programmet. iii: Lokalnett, i motsetning til det offentlige internettet. Består ofte av eitt eller fleire sammenkopla ethernett. iv: Ein liten og rimelig eining som kopler samen nokre datamaskiner. Den nytter oftast ethernett-protokollen. Den gjev ofte samband videre til internettet e.l. v: Mål for kapasitet, ventetider, feil-rater o.l. for ei datateneste. vi: Lover og reglar som avgrenser registrering og bruk av data om enkeltpersoner.

Side 5 av 13 Oppgåve 2 Grunnleggjande programmering (15 %) a) (3.75%) Lag ein metode antpositive som tek inn ein tabell med flyttall som parameter, og returnerar talet på positive tal i tabellen som eit heiltal. Verdien 0.0 reknast som positiv. public static int antpositive(int[] tab) { int res = 0; for (int ix = 0; ix<tab.length; ++ix) if (tab[ix] >= 0) ++res; return res; b) (3.75%) Lag ein metode sumerpositiv som tek inn ein tabell med heiltal som parameter og returnerar true dersom summen av tala i tabellen er postiv (sum lik 0 reknast som positiv) eller false dersom summen er negativ. public static boolean sumerpositiv(int[] tab) { int sum = 0; for (int ix = 0; ix<tab.length; ++ix) sum += tab[ix]; return sum >= 0; c) (3.75%) Lag ein metode posisjontilhogste som tek inn ein tabell med heiltal som parameter og returnerar index til høgste tal i tabellen (til eitt av dei, om det er fleire).. public static int posisjontilhogste(int[] tab) { int pos = 0; int storst = tab[pos]; for (int ix = 1; ix<tab.length; ++ix) if (tab[ix] > storst) { pos = ix; storst = tab[pos]; return pos;

Side 6 av 13 d) (3.75%) Lag ein metode som genererer dei 10 første tala i gangerekka for eit gjeve tal. Dei 10 første tala i gangerekka for talet 4 er til dømes: 4 8 12 16 20 24 28 32 36 40. Metoden skal heite gangerekkefor. Denne skal ta inn talet som skal gangast som parameter, og gje ut den tilsvarande gangerekka som ein verdi av type String. public static String gangerekkefor(int t) { String res = " "; for (int ix = 1; ix<11; ++ix) res = res+(t*ix)+" "; return res;

Side 7 av 13 Oppgave 3 - Database (30 %) kapittel overskrift avsnitt linje side Dette E-R-diagrammet representerer strukturen i ei bok. (Her nytter vi ein notasjon kor det ikkje er sirupsnippar på relasjonane.) Med unntak av den der det er gjeve eit navn, er det opplagt kva relasjonane tyder. a) (10%) Sett opp CREATE TABLE-setningar (SQL) for ein slik database. Det skal vere lett å flytte rundt på stoffet i boka. Du skal derfor ikkje bruke vanlege, sekvensielle kapittel-nummer, avsnitt-nummer, linjenummer eller side-nummer som nøkkel i nokon tabell: Desse nummera skal vere attributter som ein kan endre, ein slik endring vil (om ein gjer det på fornuftig vis) snu om på rekkjefølgda av dei ulike delane. Det vil ikkje vere fornuftig å representere side som ein eigen tabell, representer dette på anna vis. Kvar linje skal mellom anna innehalde teksten, som maksimalt kan vere på 99 teikn. Nummer skal vere nummer i avsnittet. create table kapittel ( id int not null, nr int, overskrift int, primary key(id)); create table avsnitt ( id int not null, nr int, kapittel int, primary key(id));

Side 8 av 13 create table linje ( id int not null, nr int, avsnitt int, tekst varchar(99), side int, primary key(id)); b) (10%) Skriv ein SELECT-setning som henter fram materialet for innhaldslisten: Kapittelnummer, overskrift, nummer på sida kor kapitlet byrjer. Pass på at alle postane kjem i rett rekkjefølgd. select kapittel.nr, tekst, side from kapittel, linje where overskrift=linje.id order by kapittel.nr; c) (10%) Skriv ein SELECT-setning som henter fram teksten til kapittel 3 i boka, i rett rekkjefølgd. Ta med det som trengst for å kunne skrive ut dette med rett skifte av avsnitt, side osb. Du kan utelate kapitteloverskrifta i denne omgangen.. select tekst, avsnitt, side from kapittel, avsnitt, linje where kapittel.nr=3 and kapittel=kapittel.id and avsnitt=avsnitt.id order by avsnitt.nr, linje.nr;

Side 9 av 13 Oppgåve 4 JSP (25 %) To tabellar i ein relasjonsdatabase er oppretta ved hjelp av SQL-koden vist under. Feltet spillerpaalag i tabellen Spiller (diverre bokmål i koden) er framandnøkkelfelt som refererer til primærnøkkelfeltet lisensnff i tabellen Lag. CREATE TABLE Lag ( lisensnff int NOT NULL AUTO_INCREMENT PRIMARY KEY, navn varchar(60), hjemby varchar(60) ); CREATE TABLE Spiller ( personnrid int NOT NULL AUTO_INCREMENT PRIMARY KEY, spillerpaalag int, navn varchar(100), foedt int, posisjon varchar(100) ); I denne oppgåva kan du, der du trenger å kople koden din mot databasen, inkludere ei allereie ferdig laga fil database.jsp som ser slik ut: <% Class.forName("org.gjt.mm.mysql.Driver").newInstance(); java.sql.connection db = java.sql.drivermanager.getconnection( "jdbc:mysql://mysql.stud.ntnu.no/onkel","onkel_admin","rats"); java.sql.statement st = db.createstatement(); java.sql.resultset rs; %> Inkludering av database.jsp gjerast med JSP-merkelappen include: <%@include file= database.jsp %>

Side 10 av 13 a) (10%) Du skal lage ei webside registrerspiller.jsp som lar oss leggje inn ny spelar i databasen. Laga som fylles i rullegardinmenyen skal hentast frå databasen (dvs. ikkje skrivast direkte inn i JSP-fila). Når brukaren trykker knappen Legg inn spelar (diverre bokmål i figurane) skal det skrivast ut Spelar NN er registrert, der NN er navnet på spelaren. Sida som skriv ut denne stadfestinga er registrerspillermottak.jsp. Sjå figuren under. Gjer dei naudsynte føresetnadane.. Bildet som visast for registrerspiller.jsp skal sjå slik ut når data er fylt ut i skjemaet: Merk: I oppgåve b opererer ein med fødselsdato. Dette skulle ha vore fødtselsår. Dette er klårt etter som ein har datatype int for dette feltet i tabellen Spiller. Fil registrerspiller.jsp: <form action="registrerspillermottak.jsp" method="get"> <table border> <tr> <td colspan="2"><h2>registrer treningsøkt</h2></td> </tr> <tr> <td>navn</td> <td><input type="text" name="navn" size="50" maxlength="50"></td> </tr> <tr> <td>fødselsår</td> <td><input type="text" name="fodt" size="50" maxlength="50"></td> </tr> <tr> <td>posisjon på banen</td> <td><input type="text" name="posisjon" size="50" maxlength="50"><td> </tr>

Side 11 av 13 <tr> <td>lag</td> <td> <select name="lag"> <% Class.forName("org.gjt.mm.mysql.Driver").newInstance(); java.sql.connection db = java.sql.drivermanager.getconnection( "jdbc:mysql://mysql.stud.ntnu.no/karlmort_skole", "karlmort_admin", "aqpop"); java.sql.statement st = db.createstatement(); java.sql.resultset rs; rs = st.executequery("select lisensnff, navn FROM Lag"); while(rs.next()) { out.println("<option value="+rs.getstring("lisensnff")+">" + rs.getstring("navn")+"</option>"); rs.close(); %> </select> </td> </tr> <tr> <td></td> <td> <input type="submit" name="melding" value="legg inn spiller"><br> <input type="reset" value="slett skjema"></td> </tr> </table> </form> Fil: registrerspillermottak.jsp: <% String navn = request.getparameter("navn"); String fodt = request.getparameter("fodt"); String posisjon = request.getparameter("posisjon"); String lag = request.getparameter("lag"); Class.forName("org.gjt.mm.mysql.Driver").newInstance(); java.sql.connection db = java.sql.drivermanager.getconnection( "jdbc:mysql://mysql.stud.ntnu.no/karlmort_skole", "karlmort_admin", "aqpop"); java.sql.statement st = db.createstatement(); st.executequery("insert INTO Spiller(navn, foedt, posisjon, spillerpaalag ) VALUES('"+navn+"',"+fodt+",'"+posisjon+"',"+lag+")"); out.println("spiller "+navn+" er registrert"); %>

Side 12 av 13 b) (15%) Du skal no lage ei webside visspillereforlag.jsp for å syne spelarane for eit valgt lag. Denne sida skal ved første syning sjå slik ut: Lag skal også no hentast frå databasen. Dersom det er fire lag i databasen kan det til dømes sjå slik ut når rullegardinen dras ned: Dersom brukaren trykker på submit-knappen når alternativet Veljg eit lag er vald, skal brukaren få melding om at eit lag må velgjast. Til dømes: Velgj eit lag frå rullegardinmenyen før du trykker på knappen. Dersom lag blei vald skal alle spelarane for laget skrivast ut. Spelaranes navn, fødselsdato og posisjon på banen skal skrivast ut i ein tabell. Det kan til dømes sjå slik ut: Velgj sjølv om du lager ei eigen JSP-fil som skriv ut tabellen, eller om du legg dette inn i visspillereforlag.jsp.

Powered by TCPDF (www.tcpdf.org) Side 13 av 13 <% Class.forName("org.gjt.mm.mysql.Driver").newInstance(); java.sql.connection db = java.sql.drivermanager.getconnection( "jdbc:mysql://mysql.stud.ntnu.no/karlmort_skole", "karlmort_admin", "aqpop"); java.sql.statement st = db.createstatement(); String lag = request.getparameter("lag"); java.sql.resultset rs; rs = st.executequery("select lisensnff, navn FROM Lag"); out.println("<h2>vis spillere for lag</h2>"); out.println("<form action=\"visspillereforlag.jsp\" method=\"get\">"); out.println("<select name=lag>"); out.println("<option value=ikkevalgt>velg et lag</option>"); while(rs.next()) { out.println("<option value="+rs.getstring("lisensnff")+">"+rs.getstring("navn")+"</option>"); out.println("</select><p>"); out.println("<input type=\"submit\" value=\"vis for valgt lag\">"); out.println("</form>"); if(lag!= null) { if(lag.equals("ikkevalgt")) { out.println("velg et lag fra rullegardinmenyen før du trykker på knappen"); else { rs = st.executequery("select navn, foedt, posisjon FROM Spiller WHERE spillerpaalag="+lag); out.println("<table border=1><tr><th>navn</th><th>født</th><th>posisjon</th>"); while(rs.next()) { out.println("<tr>"); out.println("<td>"+rs.getstring("navn")+"</td><td>"+rs.getstring("foedt")+"</td><td> "+rs.getstring("posisjon")+"</td>"); out.println("</tr>"); out.println("</table>"); rs.close(); %>