Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Privatundervisning
  • Kontakt
eksamenssett.noTren målrettet

Komplett samling av eksamensoppgaver og løsninger for norsk skole.

Om ossPrivatundervisningPriserSlik bruker du sidenFAQPersonvernVilkårAngrerettKontaktKI-deklarasjon

© 2026 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med KI og kvalitetssikres kontinuerlig – av modellene, og ved at våre tusenvis av brukere kan melde fra om feil. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Org.nr. 913 117 387 (Foretaksregisteret) · Aksel Olsens vei 10B, 1597 Moss · Ikke MVA-registrert

IN1000

Cheat Sheet

Formler, begreper og oppsummering
Introduksjon til objektorientert programmering
eksamenssett.no

Nøkkelformler per tema

Variabler og datatyper

  • •int(x), float(x), str(x) — konvertering
  • •len(x) — lengde på streng, liste eller ordbok
  • •s[a:b] — utsnitt fra og med å, til men ikke med b
  • •// heltallsdivisjon, % rest, / gir alltid float
  • •not, and, or — kortslutter fra venstre

Kontrollstrukturer

  • •for e in liste — verdiene; for i in range(len(liste)) — indeksene
  • •range(start, stopp, steg) — stopp er aldri med
  • •while betingelse: — kjører så lenge betingelsen er sann
  • •continue — hopp til neste runde; break — avslutt løkka
  • •t % 2 == 0 — test for partall

Funksjoner

  • •def navn(parametre): — definisjon
  • •return verdi — avslutter funksjonen og gir svaret
  • •Uten return returneres None
  • •liste[i] = x endrer kallerens liste; liste = [...] gjør det ikke

Vanlige feil å unngå

Variabler og datatyper

  • •Å tro at "3" + "4" gir 7. Sammensetting, ikke addisjon.
  • •Å glemme str() når et tall skal settes sammen med tekst: gir TypeError.
  • •Å bruke / når oppgaven forutsetter heltall: 20/2 er 10.0, ikke 10.
  • •Å prøve å endre et tegn i en streng med s[0] = "X".

Kontrollstrukturer

  • •Å tro at både if- og elif-grenen kjører.
  • •Å bruke if i stedet for while ved «spør inntil gyldig verdi».
  • •Å bare teste den ene grensen ved validering av indeks.
  • •Å bytte om rekkefølgen på tilordningene inne i en while-løkke.

Funksjoner

  • •Å bruke print der oppgaven ber om return.
  • •Å skrive else: return True inne i løkka i stedet for etter den.
  • •Å tro at tilordning til en parameter endrer kallerens variabel.
  • •Å skrive logikken på nytt i stedet for å kalle den oppgitte hjelpefunksjonen.

Lister og ordbøker

Eksamenstips

Variabler og datatyper

  • •Del 1 åpner nesten alltid med en typekonverteringsoppgave. Skriv opp typen til hver operand før du regner.
  • •Svar «nøyaktig slik det skrives ut»: 10 og 10.0 er ikke samme svar.
  • •Bruk kortslutning bevisst: legg lengdetesten først i and-uttrykket, så unngår du IndexError.
  • •Bygg alltid en ny streng når du skal «endre» tekst — strenger er uforanderlige.

Kontrollstrukturer

  • •Sjekk alltid om det står elif eller to separate if — svaret blir ulikt.
  • •range(n) går til og med n-1. Test alltid første og siste verdi løkka produserer.
  • •Validering: les én gang før while, og les på nytt nederst i løkka.
  • •Ved nøstet løkke: spor med én rad per verdi av den ytre variabelen.

Funksjoner

  • •«Returnerer» betyr return, «skriver ut» betyr print. Les oppgaveteksten ordrett.
  • •Bruk eksempelkallene i oppgaven som assert-tester mens du skriver.
  • •Du SKAL bruke funksjoner fra tidligere deloppgaver, også de du ikke rakk å skrive.
  • •Ja/nei-funksjoner: return False ved første motbevis, return True etter løkka.
eksamenssett.no · IN1000 Introduksjon til objektorientert programmering
  • •assert funksjon(arg) == fasit — gratis egentest
  • Lister og ordbøker

    • •liste.append(x) / liste.insert(i, x) / liste.remove(x) / liste.pop()
    • •liste[a:b] — utsnitt; liste[-1] — siste element
    • •ordbok[nøkkel] = verdi — legger inn eller endrer
    • •x in liste / x in ordbok — ordbok tester nøkler
    • •if e not in d: d[e] = 0 → deretter d[e] += 1

    Filhåndtering

    • •fil = open(fn) … fil.close() — lesing
    • •for linje in fil: → linje.strip() → linje.split()
    • •open(fn, "w") tømmer filen; open(fn, "a") legger til bakerst
    • •ut.write(str(x) + "\n") — write tar bare strenger og gir ikke linjeskift
    • •fil.readline() — én linje; tom streng betyr slutt på filen

    Klasser og objekter

    • •class Navn: — klassedefinisjon
    • •def __init__(self, ...): — konstruktør
    • •self._variabel — non-public instansvariabel
    • •def __str__(self): return ... — utskriftsform
    • •b = a kopierer referansen, ikke objektet

    Objektorientert design

    • •self._objekter = {} — ordbok med navn som nøkkel, objekt som verdi
    • •if navn not in self._d: self._d[navn] = Klasse(navn) — unngå duplikater
    • •return None når ett objekt ikke finnes; return [] når ingen i en samling passer
    • •beste = None + «if beste is None or ...» — trygg «beste hittil»
    • •annet_objekt.metode(...) — delegering framfor direkte variabellesing

    Kodeforståelse og feilsøking

    • •NameError — navnet finnes ikke
    • •TypeError — feil typer i samme operasjon
    • •IndexError — indeks utenfor listen
    • •KeyError — nøkkelen finnes ikke i ordboken
    • •assert uttrykk — stille når sant, AssertionError når usant
  • •liste = liste.append(x) gjør lista til None.
  • •Oppslag på nøkkel som ikke finnes gir KeyError.
  • •Å glemme initialiseringen før += 1 eller append.
  • •Å tro at len() på en nøstet liste gir antall elementer totalt.
  • Filhåndtering

    • •Å glemme strip(), slik at tomme linjer ikke oppdages.
    • •Å glemme int() på tall fra fil.
    • •Å åpne med "w" når man mente "a" — filen tømmes umiddelbart.
    • •Å glemme fil.close() slik at siste linjer mangler når filen leses igjen.

    Klasser og objekter

    • •Å glemme self som første parameter: TypeError om antall argumenter.
    • •Å skrive variabel = verdi uten self. i konstruktøren: AttributeError senere.
    • •Å tro at to objekter med samme innhold er samme objekt.
    • •Å lese objekt._variabel utenfra i stedet for å kalle en hent-metode.

    Objektorientert design

    • •Å glemme å registrere at en ressurs er opptatt etter tildeling.
    • •Å lese objekt._variabel fra en annen klasse i stedet for å kalle en metode.
    • •Å finne på egne klasse- og metodenavn.
    • •Å velge feil startverdi (0 kontra None) for «beste hittil».

    Kodeforståelse og feilsøking

    • •Å gjette svaret i stedet for å spore linje for linje.
    • •Å overse at løkkevariabelen aldri brukes i løkkekroppen.
    • •Å tro at et program uten feilmelding er riktig — logiske feil er stille.
    • •Å svare 10 der utskriften faktisk blir 10.0.

    Lister og ordbøker

    • •for n in ordbok gir nøklene — verdien får du med ordbok[n].
    • •Opptelling bruker startverdi 0, gruppering bruker startverdi [].
    • •Naboparmønsteret (start på indeks 1) løser «er sortert» og «henger ruten sammen».
    • •IN1000 trenger verken list comprehension, lambda eller sorted(key=...).

    Filhåndtering

    • •IN1000 bruker ikke with-blokk og ikke csv-modulen — bare open/close.
    • •strip() før du tester på tom linje, ellers er linja "\n" og ikke "".
    • •int() på alt fra fil som skal regnes med — feilen dukker opp langt unna årsaken.
    • •På eksamen ligger fillesingen i en hjelpemetode som konstruktøren kaller.

    Klasser og objekter

    • •Tegn objekter som bokser og variabler som piler før du svarer på Del 2.
    • •Uten self. er variabelen lokal og forsvinner når metoden er ferdig.
    • •self._x.metode() endrer objektet; self._x = ... endrer hvem vi peker på.
    • •Arv, super() og polymorfisme er IKKE pensum i IN1000.

    Objektorientert design

    • •Les HELE oppgave 4 før du begynner å skrive — deloppgavene bygger på hverandre.
    • •Bygg nedenfra: enkleste klasse først, systemklassen sist.
    • •Bruk de oppgitte klasse- og metodenavnene, og kommenter egne tillegg kort.
    • •Sett av minst halvparten av eksamenstiden til denne oppgaven.

    Kodeforståelse og feilsøking

    • •Lag alltid sporingstabell — det er den eneste sikre metoden under tidspress.
    • •Koble feilmeldingens navn til årsaken: NameError, TypeError, IndexError, KeyError.
    • •Logiske feil finnes bare ved å teste grensetilfellene.
    • •«Fyll inn»-oppgaver: arbeid baklengs og kontroller mot alle eksemplene.