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

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
  1. Hjem
  2. Informasjonsteknologi
  3. IT 2 – C#
  4. Løsning Vår 2025
VG3

Løsningsforslag Informasjonsteknologi IT 2 – C#Vår 2025

Se eksamensoppgaven
Vår 2026NyereVår 2024Eldre
Om løsningsforslaget: Dette er veiledende løsningsforslag laget av eksamenssett.no. Oppgavene på IT 2-eksamen varierer, men vi gir her tips, strategier og eksempelkode for de vanligste oppgavetypene. Husk at det finnes mange gode måter å løse oppgavene på.

Løsningsforslag – IT 2 C# Vår 2025

Eksamen: REA3049-CS | Semester: Vår 2025 | Varighet: 5 timer

Oppgave 1–5: Interaksjonsoppgaver (anbefalt tid: 1 time)

Oppgavetyper: Kortsvar, flervalg, kodefullføring, modellering og implementasjon.
Tips til interaksjonsoppgavene:
  • Les koden nøye: Spor gjennom koden linje for linje. Pass på typer og casting.
  • Forstå datastrukturer: List<T>, Dictionary<K,V> og arrays er sentrale i C#.
  • Flytdiagram: Bruk standard symboler – oval (start/slutt), rektangel (prosess), rombe (vilkår).
  • Tilgangsnivåer: Forstå public, private og protected.

Eksempel: Spore gjennom kode

static List<int> Behandle(List<int> liste)
{
    List<int> resultat = new List<int>();
    foreach (int element in liste)
    {
        if (element % 2 == 0)
            resultat.Add(element * 2);
        else
            resultat.Add(element + 1);
    }
    return resultat;
}

List<int> tall = new List<int> { 3, 8, 5, 2 };
Console.WriteLine(string.Join(", ", Behandle(tall)));
// Svar: 4, 16, 6, 4

Eksempel: LINQ-spørringer

using System.Linq;

List<int> tall = new List<int> { 12, 5, 8, 130, 44 };

var storeTall = tall.Where(t => t > 10).ToList();
// Resultat: [12, 130, 44]

var gjennomsnitt = tall.Average();
// Resultat: 39.8

var sortert = tall.OrderByDescending(t => t).ToList();
// Resultat: [130, 44, 12, 8, 5]

Oppgave 6: Objektorientert utvikling (anbefalt tid: 1 time)

Oppgavetype: Lag klassediagram, implementer klasser, skriv testprogram og håndter unntak.
Tips til OOP-oppgaven:
  • Klassediagram: Vis egenskaper med typer og tilgangsnivå (+/-).
  • Properties: Bruk get/set-properties for innkapsling.
  • ToString(): Override ToString() for lesbar utskrift.
  • Exceptions: Bruk throw og try/catch for feilhåndtering.
Eksempel: Biblioteksystem
class Bok
{
    public string Tittel { get; set; }
    public string Forfatter { get; set; }
    public string Isbn { get; set; }
    public bool ErUtlant { get; private set; }

    public Bok(string tittel, string forfatter, string isbn)
    {
        Tittel = tittel;
        Forfatter = forfatter;
        Isbn = isbn;
        ErUtlant = false;
    }

    public void LanUt()
    {
        if (ErUtlant)
            throw new InvalidOperationException($"Boken '{Tittel}' er allerede utlånt.");
        ErUtlant = true;
    }

    public void LeverTilbake()
    {
        if (!ErUtlant)
            throw new InvalidOperationException($"Boken '{Tittel}' er ikke utlånt.");
        ErUtlant = false;
    }

    public override string ToString()
    {
        string status = ErUtlant ? "utlånt" : "tilgjengelig";
        return $"{Tittel} av {Forfatter} ({status})";
    }
}


class Laner
{
    public int LanerId { get; set; }
    public string Navn { get; set; }
    public List<Bok> LanteBoker { get; set; }

    public Laner(int lanerId, string navn)
    {
        LanerId = lanerId;
        Navn = navn;
        LanteBoker = new List<Bok>();
    }

    public void LanBok(Bok bok)
    {
        bok.LanUt();
        LanteBoker.Add(bok);
    }

    public void LeverTilbakeBok(Bok bok)
    {
        if (!LanteBoker.Contains(bok))
            throw new InvalidOperationException($"{Navn} har ikke lånt '{bok.Tittel}'.");
        bok.LeverTilbake();
        LanteBoker.Remove(bok);
    }

    public override string ToString()
    {
        return $"{Navn} (ID: {LanerId}), {LanteBoker.Count} bøker lånt";
    }
}
Testprogram:
Bok bok1 = new Bok("Sofies verden", "Jostein Gaarder", "978-82-252-1591-5");
Laner laner = new Laner(1, "Emma Hansen");

laner.LanBok(bok1);
Console.WriteLine(bok1);  // Sofies verden av Jostein Gaarder (utlånt)

try
{
    laner.LanBok(bok1);
}
catch (InvalidOperationException e)
{
    Console.WriteLine($"Feil: {e.Message}");
}

Oppgave 7: Drøfting/etikk (anbefalt tid: 30 minutter)

Tips: Strukturer med innledning → argumenter med eksempler → konklusjon. Ca. 600 tegn.

Oppgave 8: Datasett (anbefalt tid: 1 time)

Oppgavetype: Les inn data fra CSV/JSON, bearbeid og presenter med tabeller og diagrammer.
Eksempel: Lese og bearbeide CSV-data
using System.IO;

static List<Dictionary<string, string>> LesCsv(string filnavn)
{
    var data = new List<Dictionary<string, string>>();
    string[] linjer = File.ReadAllLines(filnavn);
    string[] header = linjer[0].Split(';');

    for (int i = 1; i < linjer.Length; i++)
    {
        string[] verdier = linjer[i].Split(';');
        var rad = new Dictionary<string, string>();
        for (int j = 0; j < header.Length; j++)
        {
            rad[header[j]] = verdier[j];
        }
        data.Add(rad);
    }
    return data;
}

static void VisTabell(List<Dictionary<string, string>> data, string felt)
{
    var sortert = data.OrderByDescending(r => double.Parse(r[felt])).ToList();
    Console.WriteLine($"{"Navn",-25} {felt,10}");
    Console.WriteLine(new string('-', 37));
    foreach (var rad in sortert.Take(10))
    {
        Console.WriteLine($"{rad["Navn"],-25} {double.Parse(rad[felt]),10:F1}");
    }
}

Oppgave 9: Implementasjonsoppgave (anbefalt tid: 1 time 30 min)

Tips: Planlegg klassene først. Bruk properties og LINQ. Test underveis.
Mønster: Register med fillagring
using System.Text.Json;

class Register<T>
{
    private string filnavn;
    public List<T> Elementer { get; set; }

    public Register(string filnavn)
    {
        this.filnavn = filnavn;
        LastFraFil();
    }

    public void LastFraFil()
    {
        try
        {
            string json = File.ReadAllText(filnavn);
            Elementer = JsonSerializer.Deserialize<List<T>>(json);
        }
        catch
        {
            Elementer = new List<T>();
        }
    }

    public void LagreTilFil()
    {
        var options = new JsonSerializerOptions { WriteIndented = true };
        string json = JsonSerializer.Serialize(Elementer, options);
        File.WriteAllText(filnavn, json);
    }

    public void LeggTil(T element)
    {
        Elementer.Add(element);
    }
}
Generelle eksamenstips – IT 2 C#:
  • Bruk alle 5 timene – fordel tiden etter anbefalt tidsbruk per seksjon.
  • Start med oppgavene du er mest trygg på for å sikre poeng.
  • Bruk properties (get/set) for innkapsling av data.
  • Bruk try/catch og throw for feilhåndtering.
  • Override ToString() i klasser for lesbar utskrift.
  • Bruk LINQ (Where, Select, OrderBy) for databehandling.
  • Kommenter koden din – det hjelper sensor å forstå tankegangen.

Om oppgaveteksten: Oppgaveteksten i dette løsningsforslaget er gjengitt fra Utdanningsdirektoratets (UDIR) eksamen i Informasjonsteknologi IT 2 – C# (våren 2025). Vi gjengir oppgaveteksten bevisst, slik at du kan følge løsningen uten å veksle mellom dokumenter. Eksamensoppgaver fra offentlige myndigheter er uten opphavsrettsvern etter åndsverkloven § 14 og kan gjengis fritt. Selve løsningsforslaget, forklaringene og figurene er utarbeidet av Eksamenssett.no. Opphavsrettsbeskyttede bilder og illustrasjoner fra originaleksamen er fjernet.

Nyere løsning
Vår 2026
Eldre løsning
Vår 2024

Alle løsningsforslag for IT 2 – C#

Vår 2026Vår 2025Vår 2024
Se eksamensoppgaven
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