Oppgave 2: def a (x): x = x + 1 y = 1 + x * 2

Like dokumenter
Oppgave 2: def a (x): x = x + 1 y = 1 + x * 2

Avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Tirsdag 21. desember

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

LØSNINGSFORSLAG: Avsluttende eksamen i TDT4110/IT1102 Informasjonsteknologi, grunnkurs Tirsdag 21. desember

Avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Tirsdag 21. desember

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

Informasjon Eksamen i IN1000 høsten 2017

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

Eksamensoppgaver 2014

INF1010 notat: Binærsøking og quicksort

INF1000 Eksamen 2014 (modifisert)

INF1010 Sortering. Marit Nybakken 1. mars 2004

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2013

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Informasjon Prøveeksamen i IN1000 høsten 2018

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

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde

Løpende strekmann Erfaren Videregående Python PDF

Norsk informatikkolympiade runde

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2016

Algoritmer og datastrukturer Kapittel 2 - Delkapittel 2.1

TDT4110 IT Grunnkurs Høst 2015

Repetisjon Novice Videregående Python PDF

Algoritmer og Datastrukturer

Repetisjon, del 2. TDT 4110 IT Grunnkurs Professor Guttorm Sindre

Norsk informatikkolympiade runde

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015

Norsk informatikkolympiade runde

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

INF1000 Eksamen 2014 (modifisert)

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2017

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

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

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

UNIVERSITETET I OSLO

TDT4110 IT Grunnkurs Høst 2012

Hvordan løse problemer med programmering?

3 x 3 ruter. Hvilke matematiske utfordringer finnes det i et spillebrett på 3x3 ruter? Her er noen eksempler på spill og problemløsningsoppgaver

lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

Eksamensforelesning TDT4105

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

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

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

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

MAT1030 Plenumsregning 1

Notat 2, ST Sammensatte uttrykk. 27. januar 2006

UNIVERSITETET I OSLO

TDT4100 Objektorientert programmering

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

MAT-1004 Vårsemester 2017 Obligatorisk øving 3

Norsk informatikkolympiade runde

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

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

UNIVERSITETET I OSLO

Norsk informatikkolympiade runde

MAT1030 Diskret Matematikk

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

EKSAMEN. Emne: Algoritmer og datastrukturer

Løsningsforslag Kontinuasjonseksamen i TDT4110 Informasjonsteknologi - grunnkurs

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3

Rekursjon som programmeringsteknikk

Binære trær: Noen algoritmer og anvendelser

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Backtracking som løsningsmetode

IN1000 Obligatorisk innlevering 7

Algoritmer og Datastrukturer

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

UNIVERSITETET I OSLO

Ny/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00

Høgskolen i Gjøvik Institutt for informatikk og medieteknikk E K S A M E N. 04HBIND* / 04HBINFA / div. andre

Kap.8 Sortering og søking sist oppdatert 16.03

Øvingsforelesning 7 i Python (TDT4110)

PROGRAMMERING AV SPILL

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

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

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2014

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Algoritmer og Datastrukturer

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

Backtracking som løsningsmetode

praktiske eksempler DOM Document Object Model DOM og Høst 2013 Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

PXT: Snake. Introduksjon. Skrevet av: Håvard Nygård Jakobsen

UNIVERSITETET I OSLO

Grunnleggende Datastrukturer

Kapittel 8: Programutvikling

}?> <!DOCTYPE... <html xmlns=" <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall

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

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3

Oppgave 1.1 (1 poeng) Oppgave 1.2 (2 poeng) Oppgave 1.3 (2 poeng) 1.1

Løse reelle problemer

INF1010. Rekursjon En rekursiv definisjon av rekursjon, slik det kunne stå i en ordbok: Introduksjon til Rekursiv programmering

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Innhold. ailæring Lage quiz. Innledning Opprette en quiz Legge til spørsmål Legge til svaralternativer med karakter...

Transkript:

Oppgave 2: def a (x): x = x + 1 y = 1 + x * 2 return y def b (n): y = 0 if (n<40): y = 2 * n elif (n<10): y = n else: y = 1 return y def c (w): z = b(a(w)) if (z<10): z = z + w return z a) (2 %) Hva er verdien til x etter at vi har kjørt x = 2; x = a(x);? b) (2 %) Hva er verdien til x etter at vi har kjørt x = 2; x = b(x);? c) (2 %) Hva er verdien til x etter at vi har kjørt x = 2; x = c(x);? d) (2 %) Hva er verdien til x etter at vi har kjørt x = 20; x = b(x);? e) (2 %) Hva er verdien til x etter at vi har kjørt x = 50; x = b(x) + c(x);?

Oppgave 3 a) (5 %) Poeng for hopplengde beregnes med følgende formel: distance_points = 60 + (jump_distance kpoint) * meter_value Tallene kpoint og meter_value er fastsatt for hver hoppbakke. Hoppbakken i Granåsen har kpoint 124 og meter_value 1,8. En skihopper som hopper 140 meter i denne bakken vil få 60 + (140 124)! 1.8 = 88.8 lengdepoeng (distance points). Skriv en metode distance_points som tar inn parametrene distance (hopplengde), kpoint (k- punkt) og meter_value (meterverdi), og returnerer lengdepoeng. b) (10 %) Et skihopp belønnes med 0 60 stilpoeng. Fem dommere gir 0 20 poeng hver. Den laveste og den høyeste poengsummen strykes, og de tre resterende poengsummene legges sammen og utgjør hoppets stilpoeng. Hvis et skihopp får poengsummene 17, 17.5, 17.5, 18, 19, strykes 17 og 19, og stilpoengene blir 17.5 + 17.5 + 18 = 53. Skriv en metode style_points som tar inn en usortert liste points med de fem dommerpoengsummene, og returnerer hoppets stilpoeng.

Oppgave 4 I denne oppgaven skal du programmere metoder til 15- spillet som er illustrert i figur 1. Spillet består av et brett med 4x4 ruter med 15 brikker med tallene 1 til 15. En rute er tom, og den kan brukes til å flytte om på brikkene innbyrdes for å endre på rekkefølgen. Spillet starter ved at brikkene står i tilfeldig rekkefølge. Målet med spillet er å få brikkene i riktig rekkefølge fra 1 til 15 med den siste ruten fri slik som vist i figur 1. Spillebrettet skal i koden representeres som en 4x4- tabell med heltall som vist i figur 2. I denne oppgaven er det hensiktsmessig å gjenbruke metoder du lager. Du kan bruke metoder fra andre deloppgaver selv om du ikke har klart å løse deloppgaven hvor du skal lage metoden. a) (5 %) Skriv metoden number_in_list som tar inn et heltall, number, og en liste (endimensjonal tabell) med heltall, list. Hvis tallet number finnes i listen skal metoden returnere true, ellers false. b) (5 %) Skriv metoden random_list som tar inn et heltall, number, og returnerer en liste (endimensjonal tabell) med heltallene fra og med 1 til og med tallet number i tilfeldig rekkefølge. Bruk metoden number_in_list fra oppgave a) i løsningen av denne oppgaven. Gjør man metodekallet random_list(15) kan for eksempel følgende tabell returneres:

c) (5 %) Skriv metoden new_level som tar inn en liste (endimensjonal tabell), list, bestående av 15 heltall i tilfeldig rekkefølge som vist i figur 3. Metoden skal returnere en 4x4- tabell der tallene i list er satt inn fortløpende, radvis, fra rad 0, kolonne 0, til rad 3, kolonne 2. Elementet med indeks 3,3 skal ha verdien 0. Kalles metoden new_level med listen vist i figur 3, skal den returnere tabellen vist i figur 4. d) (15 %) Skriv metoden move_tile som tar inn et spillebrett, level, og en tekststreng, direction, som angir retning der l er venstre (left), r er høyre (right), d er ned (down), og u er opp (up). Metoden skal returnere et spillebrett der ruten med tallet 0 har byttet plass med tallet som befinner seg i naboruten i angitt retning hvis et slikt bytte er mulig. Hvis byttet ikke er mulig skal metoden returnere et uendret spillebrett. I eksemplet vist i figur 4, kan ruten med tallet 0 bytte plass opp (med tallet 6) og til venstre (med tallet 10). Merk at metoden skal være generell og fungere uansett hvor ruten med tallet 0 er plassert i tabellen. Hvis metoden move_tile kalles med tabellen vist i figur 4 og retning u (opp) som parametre, så vil tallet 6 bytte plass med tallet 0 i tabellen. e) (5 %) Skriv metoden correct_place som tar inn et spillebrett, level, og returnerer antall tall som er riktig plassert på spillebrettet. Korrekt plassering av tallene er som vist i figur 2. Kalles metoden correct_place med spillebrettet fra figur 4, vil metoden gi svaret 2, ettersom tallene 0 og 2 er korrekt plassert på spillebrettet.

f) (5 %) Skriv metoden level_to_html som tar inn et spillebrett, level, og returnerer en tekststreng der spillebrettet er formatert som en tabell i HTML. HTML- koden skal formateres slik at tabellen vil se ut som på figur 5 hvis den skrives ut til en nettleser. Avstand fra tallene til strekene i tabellen skal være på 20 piksler. g) (10 %) Lag koden for å utføre følgende i et JSP- skript: 1. Opprett nødvendige variabler. 2. Fyll et spillebrett med tallene 1 til 15 i tilfeldig rekkefølge. Vi ønsker at spillebrettet skal ha minst 10 tall på riktig sted, så skriptet må fylle ut nye brett helt til et slikt spillebrett er funnet. 3. Skriv ut spillebrettet med minst 10 riktig plasserte tall til nettleseren ved hjelp av metoden level_to_html.