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



Like dokumenter
EKSAMEN Eksamenstid: Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

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

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

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

EKSAMEN (Konvertert fra en gammel PHPeksamen)

Høgskoleni østfold EKSAMEN

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Høgskoleni østfold EKSAMEN

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

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

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

EKSAMEN. Objektorientert programmering

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

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.

EKSAMEN (Konvertert fra en gammel PHPeksamen)

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

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

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

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

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

EKSAMEN. Algoritmer og datastrukturer

EKSAMEN. Emne: Algoritmer og datastrukturer

EKSAMEN med løsningsforslag

KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET ER FULLSTENDIG

EKSAMEN. Evaluering av IT-systemer. Eksamenstid: kl 0900 til kl 1300

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

Høgskoleni østfold EKSAMEN

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

Høgskoleni østfold NY/UTSATT EKSAMEN

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.

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

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

EKSAMEN (Del 1, høsten 2015)

EKSAMEN. Emne: Innføring i informasjons- og kommunikasjonsteknologi

Utførelse av programmer, metoder og synlighet av variabler i JSP

EKSAMEN. Emne: Innføring i informasjons- og kommunikasjonsteknologi

EKSAMEN. Oppgavesettet består av 11 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

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

EKSAMEN. Emne: Algoritmer og datastrukturer

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

Løsningsforslag. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

EKSAMEN. Oppgavesettet består av 9 oppgaver med i alt 21 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

HØGSKOLEN I SØR-TRØNDELAG

Oblig 4. Alternativ A: Alternativ B: Denne obligen har 3 ulike alternativ: Alternativ A: For de som har lyst til å gjøre et eget prosjekt

Løsningsforslag til 1. del av Del - EKSAMEN

TDT4102 Prosedyreog objektorientert programmering Vår 2016

UNIVERSITETET I OSLO

Eksamen Objektorientert Programmering 2013

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

Algoritmer og Datastrukturer

HØGSKOLEN I SØR-TRØNDELAG

Høgskoleni Østfold. Ny/utsatt EKSAMEN

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Løsningsforslag. Emnekode: Emne: Matematikk for IT ITF Eksamenstid: Dato: kl til kl desember Hjelpemidler: Faglærer:

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Brukerveiledning for student skoleeksamen HIST Oppdatert 27. oktober 2014

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

Løsningsforslag til EKSAMEN

Brukerveiledning. For student hjemmeeksamen

Løsningsforslag EKSAMEN

Høgskoleni østfold EKSAMEN

EKSAMEN Emnekode: ITD13012

EKSAMEN. Emne: Datakommunikasjon

EKSAMEN. Bildebehandling og mønstergjenkjenning

HØGSKOLEN I SØR-TRØNDELAG

Høgskoleni østfold EKSAMEN. LSVIMAT12 Matematikk 1, V 1: Tall og algebra. funksjoner 1. Dato: 16. desember Eksamenstid: kl til kl 15.

EKSAMEN. Emne: Emnekode: Matematikk for IT ITF Dato: Eksamenstid: til desember Hjelpemidler: Faglærer:

EKSAMEN. Oppgavesettet består av 3 oppgaver. Alle spørsmål på oppgavene skal besvares, og alle spørsmål teller likt til eksamen.

Emnenavn: Objektorientert programmering. Faglærer: Lars Emil Knudsen

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

EKSAMEN. Emne: V1: Tall og algebra, funksjoner 1. Eksamenstid: 6 timer kl til kl.15.00

UNIVERSITETET I OSLO

Veiledning for innlevering av Årsrapport

Høgskoleni østfold EKSAMEN. Ikke-programmerbar lommeregner uten grafisk skjerm Monica Nordbakke Marianne Maugesten

Prøve- EKSAMEN med løsningsforslag

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006

EKSAMEN. Operativsystemer. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

Høgskoleni østfold EKSAMEN. LSV1MAT12 Matematikk Vl: Tall, algebra og funksjoner 1

Ordliste. Obligatorisk oppgave 1 - Inf 1020

infotorg Enkel brukermanual

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

Ny EKSAMEN. Operativsystemer og nettverk

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl.

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00

Bruk av oppgaver og grupper i

Høgskoleni østfold EKSAMEN. Hjelpem idler: Faglærer: Kåre Sorteberg Ingen hjelpemidler. Monica Kristiansen

Transkript:

EKSAMEN Emnekode: Emne: ITF10208 Webprogrammering 1 Dato: Eksamenstid: 09/12-2008 09.00-13.00 Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne) Faglærer: Tom Heine Nätt Eksamensoppgaven: Oppgavesettet består av 10 sider inklusiv denne forsiden, og er inndelt i 4 deler med henholdsvis 10, 2, 2 og 2 oppgaver. Du er selv ansvarlig for å kontrollere at oppgavesettet er komplett. Det er på hver del og oppgave angitt hvor mye disse teller av totalen. Karakter fastsettes dog på basis av en helhetsvurdering av besvarelsen. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad. Det alltid er bedre å svare noe, om så bare hvordan du ser for deg at oppgaven kunne vært løst, enn å ikke skrive noe i det hele tatt på en oppgave. God jul, og takk for et hyggelig semester! Lykke til! Sensurdato: 07/01-2009 Karakterene er tilgjengelige for studenter på studentweb senest 2 virkedager etter oppgitt sensurfrist. Følg instruksjoner gitt på: www.hiof.no/studentweb Side 1 av 10

Del 1 Kodeforståelse (20%) Her skal du kun svare på selve spørsmålet, og du trenger ikke forklare hvordan du kommer frem til svaret. NB! Les koden og selve spørsmålet nøye, for det kan være mange feller å gå i her... Oppgave 1.1 (2%) $a=6; $b=7; if($a<=$b) if($a>5) echo "A"; else echo "B"; else if($b>5) echo "C"; else echo "D"; Side 2 av 10

Oppgave 1.2 (2%) $a=10; $b=20; if($a>$b &&!($b/2==$a)) echo "A"; elseif($a==$b $a!=$b) echo "B"; else echo "C"; Oppgave 1.3 (2%) for($i=0;$i<=5;$i++) echo $i; Oppgave 1.4 (2%) $a=15; $i=0; while($i<$a) $i++; echo $i; Side 3 av 10

Oppgave 1.5 (2%) $a=10; while($a!=5) echo "A"; $a--; while($a==5) echo "B"; $a++; Oppgave 1.6 (2%) for($i=0;$i<5;$i++) echo ($i%2==1?"a":"b"); Oppgave 1.7 (2%) $a = array("a"=>1,"b"=>2,"c"=>3); $b = array("c","b","a"); foreach($b as $c) echo $a[$c]; Side 4 av 10

Oppgave 1.8 (2%) $listami = array(45,67,23,45,43,23,12); $min=$listami[0]; foreach($listami as $element) if (($element<=$min)==false) $min = $element; echo $min; Oppgave 1.9 (2%) $bokstaver = array("a","b","c","d","e"); $b = count($bokstaver); foreach($bokstaver as $bokstav) if($bokstav!=$bokstaver[$b-3]) echo $bokstav; Oppgave 1.10 (2%) $bokstaver = array("a","b","c","d","e"); for($i=1;$i<count($bokstaver);$i++) echo $bokstaver[$i].$bokstaver[$i-1]." "; Slutt Del 1 Side 5 av 10

Del 2 Grunnleggende programmering (15%) Oppgave 2.1 (10 %) Skriv ferdig følgende funksjoner: a) En funksjon som sjekker om tre tall er like, og returnerer true/false. function erlike($a,$b,$c) b) En funksjon som skriver ut (echo) en array bakvendt. function skrivutbakvendt($minarray) c) En funksjon som regner om (og returnerer) en verdi fra NOK til en bestemt valuta. Dersom omregningen ikke lot seg gjøre (ugyldig/ukjent valuta), skal funksjonen returnere verdien 0. Parameteret belop vil her inneholde verdien i NOK som skal regnes om, mens valuta inneholder navnet på valutaen (f.eks SEK) som beløpet skal regnes om til. function regnom($belop,$valuta) TIPS: Du kan gå ut i fra at du har følgende array til rådighet i funksjonen, med et ukjent antall valutakurser: $kurser = array("usd"=>6.91, "SEK"=>0.89,..., "EURO"=>8.21) Oppgave 2.2 (5 %) Gå ut i fra at du har følgende variabler definert i et program $alder -> alder i hele år $hoyde -> høyden i hele cm $fornavn -> fornavnet til personen som en string $etternavn -> etternavnet til en person som en string $medlem -> true=er medlem / false=er ikke medlem Skriv logiske uttrykk for følgende påstander: a) Heter "Per" til fornavn og er mer enn 18 år gammel. b) Et medlem som heter "Per" til fornavn ELLER et ikke-medlem som heter "Hansen" til etternavn og er eksakt 150 cm høy. c) Heter "Per Hansen", "Per Olsen" eller "Per Nilsen". Slutt Del 2 Side 6 av 10

Del 3 Skjemaer og filbehandling (30%) Du skal nå lage ferdig et register for matoppskrifter. Systemet baserer seg på filer som har følgende format: ingrediens;mengde;enhet ingrediens;mengde;enhet ingrediens;mengde;enhet En lang linje med beskrivelsen av hvordan maten lages Merk deg at det er et ukjent antall linjer med ingredienser, og så én linje med beskrivelse til slutt. F.eks vil en fil med navn "Kladdekaker.dat" inneholde følgende (her er linja med beskrivelsen brukket pga. sidebredden på arket): Mel;4;dl Smør;100;gram Gjær;50;gram Egg;4;stykk Bland sammen alle ingrediensene. La deigen ese litt, og så lager du små runde boller. Stek disse i panna i 40 minutter, til de blir brune og fine. Oppgave 3.1 (10%) a) Lag et skjema som sender data til websiden visoppskrift.php. Skjemaet skal inneholde tekstfelter for navn på matrett og for antall porsjoner. b) Forklar kort hvorfor du har valgt å sende dataene til visoppskrift.php via hhv. GET eller POST. Side 7 av 10

Oppgave 3.2 (20%) Skriv ferdig koden til fila visoppskrift.php Skriptet/koden skal gjøre følgende: Hente ut parameterne. Sjekke om det finnes en fil med navn <oppskrift>.dat i samme katalog ved hjelp av funksjonen file_exists(filnavn), der <oppskrift> da er navnet på oppskriften. o Finnes ikke fila skal brukeren få meldingen "Beklager finner ikke oppskriften" o Finnes fila skal den åpnes og så leses. Mens du leser fila skal følgende rapport genereres: Navnet på oppskriften i <h1>-format Antall porsjoner i parentes Liste ut alle ingrediensene med riktig mengde basert på antall porsjoner brukeren oppgav. Skriv ut teksten på den linja som ikke inneholder ingredienser. TIPS: Om en linje lar seg splitte i tre på semikolon er det en ingrediens, ellers en beskrivelse. TIPS: Split-funksjonen har følgende "signatur" i manualsidene: array split ( string $pattern, string $string [, int $limit] ) Dersom vi tar utgangspunkt i eksempeloppskriften (Kladdekaker.dat), skulle utskriften blitt som følger for 4 porsjoner: Kladdekaker (4 porsjoner) 16 dl Mel 400 gram Smør 200 gram Gjær 16 stykk Egg Bland sammen alle ingrediensene. La deigen ese litt, og så lager du små runde boller. Stek disse i panna i 40 minutter, til de blir brune og fine. Slutt Del 3 Side 8 av 10

Del 4 Databaser og PHP (35%) Vegvesenet har startet målinger av bilpasseringer langs alle riks- og fylkesveier i landet. Alle disse målingene lagres i en database. Databasen er plassert på samme maskin som PHP-koden du skal skrive. Brukerkontoen som PHP-koden skal benytte har brukernavnet "webgrensesnitt" og passordet "dettegjettesaldri". Selve databasen heter "trafikkovervaaking". I databasen ligger det to tabeller: Maaling: tidspunkt stasjon hastighet 2008-11-12 14:05:10 RV110-B114 52 2008-11-12 14:05:15 RV110-B114 61 2008-11-12 14:05:16 E6-A12 117 2008-11-12 14:05:21 RV110-B114 57 2008-11-12 14:05:21 E6-A11 89 Forklaringer til tabellen: Feltet tidspunkt angir når en bil passerte målestasjonen. Feltet stasjon angir hvilken målestasjon bilen passerte. Navnet består av veinavnet (f.eks RV110) sammensatt med en id på målestasjonen (f.eks B114). Feltet hastighet angir hastigheten til bilen som passerte. Fartsgrense: stasjon grense E6-A11 90 E6-A12 110 RV110-B114 60 Forklaringer til tabellen: Feltet stasjon angir hvilken målestasjon fartsgrensen gjelder for. Dette er de samme stasjonsbetegnelsene som hastighetsmålingene i tabellen Maaling blir rapportert for. Feltet grense angir hva fartsgrensen på stedet er. Side 9 av 10

Oppgave 4.1 (10 %) Det viser seg at målestasjonen "RV110-B114" har hatt problemer med sensoren for hastighetsmåling. Feilen er nå fikset, men alle målingene i databasen skulle vært 7% høyere. Skriv PHP-kode som kobler seg til databasen og oppdaterer dataene. Koden skal være så generell at den også kan benyttes for å oppdatere målerfeil ved andre stasjoner. Skriptet/websiden skal derfor kunne kalles på følgende måte: justerhastighetsmaalinger.php?stasjon=rv110-b114&justeringsfaktor=1.07 Oppgave 4.2 (25 %) Denne oppgaven består av to deloppgaver. Du velger selv om du ønsker å løse de som én eller to atskilte oppgaver. Du kan også velge om du vil formatere utskriften i tabellformat(html) eller som vanlig tekst. Tabellformatet vil imidlertid gi litt bedre uttelling på oppgaven. a) List ut alle målinger gjort for E6 (dvs. målestasjoner som starter med "E6-") med tidspunkt, målestasjon og hastighet. Merk deg at det er flere målestasjoner langs en vei. Utskriften skal være sortert stigende på tidspunkt. b) Det er også interessant å ha med fartsgrensen forbi målestasjonen i rapporten. Disse fartsgrensene ligger lagret i tabellen med navn Fartsgrense. Legg derfor til to ekstra kolonner i utskriften, der du i den ene skriver hva virkelig fartsgrense var, og i den andre en melding om: "Kødannelser" (hastighet 10% mindre fartsgrensen) "Normal flyt" (hastighet lik fartsgrensen pluss/minus 10%) "Råkjøring"(hastighet 10% større enn fartsgrensen) TIPS: I deloppgave b kan du velge om du benytter uthenting fra begge tabeller samtidig (dette har vi kun sett på raskt i et par forelesninger), eller om du kjører en ny spørring mot tabellen Fartsgrense for hver rad i tabellen Maaling. TIPS 2: Det er ikke noe krav, men det kan nok være lurt for oversiktens skyld å dele programmet inn i funksjoner. MERK: For oppkobling mot databasen kan du henvise til oppgave 4.1, om du fikk til dette der. Det er ikke noe poeng i å skrive disse instruksjonene om igjen. Slutt Del 4 Side 10 av 10