ITF Eksamensform: Skriftlig (digital) Dato: 28/

Like dokumenter
Oppsummering - Kurset (10/ )

Dersom noen oppgaver er så vanskelige at du ikke vet hvordan du skal løse de, gjør forenklinger og forklar nøye hva du har forenklet/tatt bort.

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

Oppsummering - Til nå... (1/ )

Steg 1: Canvas-elementet

Høgskoleni østfold EKSAMEN

EKSAMEN ITF Innføring i programmering Dato: Eksamenstid: 11/

JS: Partikkel-animasjon Nybegynner

Oppsummering - Til nå... (1/ )

Høgskoleni østfold EKSAMEN

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

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

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

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Web-programmering med JSP Løsningsforslag leksjon 4

En bedre verden med AJAX

HØGSKOLEN I SØR-TRØNDELAG

Web-programmering med JSP Løsningsforslag leksjon 3

Høgskoleni østfold EKSAMEN. Emne: Innføring i programmering

Innføring i bruk av CGI4VB

HØGSKOLEN I SØR-TRØNDELAG

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

EKSAMEN (Konvertert fra en gammel PHPeksamen)

EKSAMEN (Konvertert fra en gammel PHPeksamen)

JS: Grunnleggende JavaScript

EKSAMEN / 6101N WebPublisering

Innføring i bruk av CGI4VB

HØGSKOLEN I SØR-TRØNDELAG

SENSORVEILEDNING. Dato: Eventuelt:

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

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

JS: Grunnleggende JavaScript Nybegynner

HØGSKOLEN I SØR-TRØNDELAG

Steg 1: Animasjons-attributtet

Oppgavesamling til Webutvikling < >

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

HØGSKOLEN I SØR-TRØNDELAG

CSS: Animasjon Nybegynner

EKSAMEN Løsningsforslag. med forbehold om bugs :-)

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

EKSAMEN. Emne: Algoritmer og datastrukturer

HØGSKOLEN I SØR-TRØNDELAG

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

HØGSKOLEN I SØR-TRØNDELAG

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

Innføring i Dynamisk HTML

HØGSKOLEN I SØR-TRØNDELAG

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

Javascript. Mer om layout

EKSAMEN med løsningsforslag

Høgskoleni østfold EKSAMEN

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

EKSAMEN. Objektorientert programmering

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

HØGSKOLEN I SØR-TRØNDELAG

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

Objektorientert Programmering Ekstraordinær eksamen 2014

html - minikurs ved Sverre Andreas Fekjan webforum

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Oppgave 1. Oppgave 2. Høgskolen i Østfold Avdeling for informasjonsteknologi

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

Steg 1: Felix har forsvunnet!

HØGSKOLEN I SØR-TRØNDELAG

og bevegelse funksjoner som blir aktivert av hendelser Keyboard Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

Høgskolen i Telemark EKSAMEN Webpublisering (inkludert denne) Hjelpemiddel: Ingen

HØGSKOLEN I SØR-TRØNDELAG

1. Klientside-validering med JavaScript

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

EKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.

Oblig 1 Erlend Hannestad

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

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

Dinesh Jeyabalasingam. Oppgavesett 9. Gruppeoppgave 2. Eksamenssett DEL 1. Oppgave 1.1. IF 1 Hvis $a er mindre eller lik $b stemmer

HØGSKOLEN I SØR-TRØNDELAG

Oppgave 1 (Etter forelesning 31/8) Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

Høgskoleni østfold EKSAMEN. Tom Heine Nårtt Eksamensoppgaven: Oppgavesettet består av 7 sider inkludert denne forsiden, og er inndelt i tre deler.

Forsvunnet katt webside

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

UNIVERSITETET I OSLO

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Emne: Algoritmer og datastrukturer

Oppgave 1. Oppgavenr A B C

HØGSKOLEN I SØR-TRØNDELAG

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

UNIVERSITETET I OSLO

Webutvikling Oblig 5. Oppg 1. Her ser du sidebar og widgets som er tilgjengelig.

CSS: Style nettsider. Introduksjon. Skrevet av: Arve Seljebu

UNIVERSITETET I OSLO

HTML: Del inn nettsiden

INF1040 Oppgavesett 2: Nettsider og XHTML

UNIVERSITETET I OSLO

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

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

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

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

EKSAMEN. Algoritmer og datastrukturer

~ Gruppe(r): 2EA$ 2EC rdato:24.02.æ

UNIVERSITETET I OSLO

Transkript:

SENSORVEILEDNING Emnekode: ITF10213 Emnenavn: Innføring i programmering Eksamensform: Skriftlig (digital) Dato: 28/11 2018 Faglærer(e): Tom Heine Nätt Eventuelt:

Oppgavene vektes slik det står i oppgavesettet. Karakterer settes basert på standard retningslinjer. (som for eksempel kan finnes her https://www.fellesstudentsystem.no/dokumentasjon/rutiner/felles mal forvitnemal/arbeidsgruppe/motedokumenter 2014 06 19/standardtekst.pdf) Merk: Det skal ikke gis uttelling for at kandidaten opplagt skriver av kode som medbringes i håp om at dette "er i nærheten". Det skal kun gis uttelling dersom kandidaten har forstått hva som bør endres. For å få en ståkarakter må studentene til en viss grad vise at de behersker de tre sentrale delene i programmering som eksamenssettet tester: Lese kode Skrive kode Omforme et problem til en programmert løsning Under følger et løsningsforslag. Merk at dette er et løsningsforslag, og at det finnes mange mulige løsninger. Merk også at løsningsforslaget viser kjørbare løsninger, og på enkelte av oppgavene kan HTML eller noe av JS sløyfes da det er oppgitt i oppgavesettet at de ikke skal skrives i studentens løsning. Oppgave 1 1: 9 2: 5 3: 5 4: 2 5: 5 6: 4 7: 10 8: 0#1#0#1#0# 9: 1 10: 18 Oppgave 2.1

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>testside</title> <script> window.onload = oppstart; var tall = [2,4,2,3,1,2,5,6,5]; function oppstart() { for(var i = 0; i<tall.length;i++) { var finnes = 0; for(var j = 0; j<tall.length;j++) { if(tall[j] === tall[i]) { finnes++; if(finnes === 1) { document.getelementbyid("utskrift").innerhtml += tall[i] + "<br />"; </script> </head> <body> <p id="utskrift"></p> </body> </html>

Oppgave 2.2 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>testside</title> <script> window.onload = oppstart; function oppstart() { var ctx = document.getelementbyid("tegneflate").getcontext("2d"); ctx.beginpath(); ctx.rect(0,0,400,400); ctx.stroke(); for(var j=0;j<10;j++) { for(var i=0;i<10;i++) { ctx.beginpath(); ctx.arc(i*40,j*40,i*j,0,math.pi*2); ctx.stroke(); </script> </head> <body> <canvas id="tegneflate" width="400" height="400"></canvas> </body> </html>

Oppgave 2.3 function aktiv(start,slutt,tidspunkt) { var startd = new Date(start); var sluttd = new Date(slutt); if(tidspunkt.gettime() >= startd.gettime() && tidspunkt.gettime() <= sluttd.gettime() ) { return true; else { return false;

Oppgave 3.1 <!DOCTYPE html> <html> <head> <title>avtaler</title> <meta charset="utf-8" /> <script> window.onload = oppstart; var navn = "Tom Heine Nätt"; var fil = "avtaler.dat"; var xmlhttp; function oppstart() { document.getelementbyid("navn").innerhtml = navn; xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = lastet; xmlhttp.open("get",fil+"?id="+math.random(),true); xmlhttp.send(); function lastet() { if(xmlhttp.readystate === 4 && xmlhttp.status === 200) { var data = xmlhttp.responsetext; var linjer = data.split("\n"); linjer = sorteravtaler(linjer); var naa = new Date("2018-12-02T12:00:00+01:00"); for (var i =0; i < linjer.length; i++) { var deler = linjer[i].split(";"); if(deler.length!== 5) { continue; if (aktiv(deler[0],deler[1],naa) === true) { document.getelementbyid("naa").innerhtml+=formaterutskrift(deler); else if (innenfordato(deler[0],deler[1], naa) === true) { document.getelementbyid("idag").innerhtml+=formaterutskrift(deler); function sorteravtaler(avtaleliste) { //Masse magi som ikke oppgaven spør etter return avtaleliste;

function aktiv(start,slutt,tidspunkt) { var startd = new Date(start); var sluttd = new Date(slutt); if(tidspunkt.gettime() >= startd.gettime() && tidspunkt.gettime() <= sluttd.gettime() ) { return true; else { return false; function innenfordato(start,slutt,dato) { var dagstart = new Date(dato.getFullYear(),dato.getMonth(),dato.getDate(),0,0,0); var dagslutt = new Date(dato.getFullYear(),dato.getMonth(),dato.getDate(),23,59,59); var startd = new Date(start); var sluttd = new Date(slutt); if(startd.gettime() <= dagstart.gettime() && sluttd.gettime() >= dagstart.gettime() ) { return true; else if(startd.gettime() >= dagstart.gettime() && startd.gettime() <= dagslutt.gettime() ) { return true; else { return false; function formaterklokkeslett(datostring) { var dato = new Date(datoString); var h = dato.gethours(); var m = dato.getminutes(); if(h<10) {h="0"+h; if(m<10) {m="0"+m; return h+":"+m; function formaterutskrift(data) { return "<div><p>"+"<img class=\"icon\" src=\""+data[4].tolowercase()+".png\"/>"+data[2]+" ("+data[3]+")"+ " - Fra "+formaterklokkeslett(data[0])+" til "+formaterklokkeslett(data[1])+"</p></div>"; </script> <style>.icon { width:50px; height:50px; </style>

</head> <body> <h1>kalender for <span id="navn"></span></h1> <h2>nå</h2> <div id="naa"> </div> <h2>i dag</h2> <div id="idag"> </div> </body> </html>

Oppgave 3.2 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>testside</title> <script> window.onload = oppstart; var xmlhttp; var emner; function oppstart() { xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = lastet; xmlhttp.open("get","status.json?id="+math.random(),true); xmlhttp.send(); function lastet() { if(xmlhttp.readystate === 4 && xmlhttp.status === 200) { koder = JSON.parse(xmlhttp.responseText); for(var i=0;i<koder.length;i++) { var el = document.createelement("option"); el.value = koder[i].kode; el.innerhtml = koder[i].status; document.getelementbyid("selstatus").appendchild(el); registrer; document.getelementbyid("btnregister").onclick = function registrer() { var status = document.getelementbyid("selsatatus").value; var tittel = document.getelementbyid("txttittel").value; var rom = document.getelementbyid("txtrom").value; var fra = document.getelementbyid("dtfra").value; var til = document.getelementbyid("dttil").value; var fradato = new Date(fra); var tildato = new Date(til); if(tittel.length < 5 ) { alert("du må fylle ut tittel"); else if(rom.length < 5 ) { alert("du må fylle ut rom"); else if(fradato.gettime() > tildato.gettime() ) {

alert("feil: Til kan ikkt være før fra") else { xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = ferdig; xmlhttp.open("get","registrer.php?status="+status+"&tittel="+tittel+" &rom="+rom+"&fra="+fra+"&til="+til,true); xmlhttp.send(); function ferdig() { if(xmlhttp.readystate === 4 && xmlhttp.status === 200) { alert("registrering OK"); </script> </head> <body> </body> </html> Titel: <input type="text" id="txttittel" size="80" /><br /> Rom: <input type="text" id="txtrom" size="80" /><br /> Status: <select id="selstatus"></select><br /> Fra: <input type="datetime-local" id="dtfra" size="10"/><br /> Til: <input type="datetime-local" id="dttil" size="10"/><br /> <button id="btnregister" type="button">registrer</button>