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

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

Om ossFAQPersonvernVilkårAngrerettKontakt

© 2025 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med AI-verktøy og kvalitetssikres kontinuerlig. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

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

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

Om ossFAQPersonvernVilkårAngrerettKontakt

© 2025 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med AI-verktøy og kvalitetssikres kontinuerlig. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

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

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

Om ossFAQPersonvernVilkårAngrerettKontakt

© 2025 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med AI-verktøy og kvalitetssikres kontinuerlig. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

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

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

Om ossFAQPersonvernVilkårAngrerettKontakt

© 2025 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med AI-verktøy og kvalitetssikres kontinuerlig. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS

Eksamenssett logo
eksamenssett.noTren målrettet
  • Ungdomsskole/VGS
  • Høyskole
  • Ressurser
  • Skolenyttig
  • Forum
  1. Hjem
  2. Informasjonsteknologi
  3. IT 2 – C#
  4. Løsning Vår 2024
VG3

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

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

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

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

Oppgavetyper: Kortsvar, flervalg, kodefullføring, modellering og implementasjon.
Tips til interaksjonsoppgavene:
  • Typekonvertering: Forstå int.Parse(), Convert.ToInt32(), og casting med (int).
  • Samlinger: List<T>, Dictionary<K,V>, og arrays.
  • String-interpolasjon: $"Hei {navn}, du er {alder} år"
  • Null-håndtering: Bruk null-sjekk eller ?-operatorer.

Eksempel: Spore gjennom kode med Dictionary

static Dictionary<char, int> TellTegn(string tekst)
{
    var teller = new Dictionary<char, int>();
    foreach (char c in tekst.ToLower())
    {
        if (char.IsLetter(c))
        {
            if (teller.ContainsKey(c))
                teller[c]++;
            else
                teller[c] = 1;
        }
    }
    return teller;
}

var resultat = TellTegn("Anna");
// Resultat: { 'a': 2, 'n': 2 }

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

Oppgavetype: Lag klassediagram, implementer klasser, skriv testprogram og håndter unntak.
Eksempel: Spillersystem
class Spiller
{
    public string Navn { get; set; }
    public string Posisjon { get; set; }
    public int Maal { get; private set; }

    public Spiller(string navn, string posisjon)
    {
        Navn = navn;
        Posisjon = posisjon;
        Maal = 0;
    }

    public void ScoreMaal() => Maal++;

    public override string ToString()
        => $"{Navn} ({Posisjon}) – {Maal} mål";
}


class Lag
{
    public string Navn { get; set; }
    public int MaxSpillere { get; set; }
    public List<Spiller> Spillere { get; set; }

    public Lag(string navn, int maxSpillere = 11)
    {
        Navn = navn;
        MaxSpillere = maxSpillere;
        Spillere = new List<Spiller>();
    }

    public void LeggTilSpiller(Spiller spiller)
    {
        if (Spillere.Count >= MaxSpillere)
            throw new InvalidOperationException($"Laget {Navn} er fullt.");
        Spillere.Add(spiller);
    }

    public int TotaltMaal() => Spillere.Sum(s => s.Maal);

    public Spiller Toppscorer()
        => Spillere.OrderByDescending(s => s.Maal).FirstOrDefault();

    public override string ToString()
        => $"{Navn}: {Spillere.Count} spillere, {TotaltMaal()} mål totalt";
}

// Test
var lag = new Lag("Lyn");
var s1 = new Spiller("Ada", "angrep");
lag.LeggTilSpiller(s1);
s1.ScoreMaal();
s1.ScoreMaal();
Console.WriteLine(lag);  // Lyn: 1 spillere, 2 mål totalt

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)

Eksempel: Komplett CSV-behandling med LINQ
using System.IO;
using System.Linq;

static List<Dictionary<string, string>> LesCsv(string fil)
{
    var linjer = File.ReadAllLines(fil);
    var header = linjer[0].Split(';');
    return linjer.Skip(1).Select(linje =>
    {
        var v = linje.Split(';');
        var rad = new Dictionary<string, string>();
        for (int i = 0; i < header.Length; i++)
            rad[header[i]] = v[i];
        return rad;
    }).ToList();
}

// Eksempel: Finn gjennomsnitt per gruppe
var data = LesCsv("data.csv");
var perGruppe = data
    .GroupBy(r => r["Kategori"])
    .Select(g => new
    {
        Kategori = g.Key,
        Snitt = g.Average(r => double.Parse(r["Verdi"]))
    })
    .OrderByDescending(x => x.Snitt);

foreach (var g in perGruppe)
    Console.WriteLine($"{g.Kategori,-20} {g.Snitt,10:F1}");

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

Tips: Planlegg klassene først. Bruk properties, LINQ og ToString(). Test underveis.
Mønster: Klasse med arv
class Person
{
    public string Navn { get; set; }
    public string Epost { get; set; }

    public Person(string navn, string epost)
    {
        Navn = navn;
        Epost = epost;
    }

    public override string ToString()
        => $"{Navn} ({Epost})";
}


class Student : Person
{
    public string Studentnr { get; set; }
    public Dictionary<string, int> Karakterer { get; set; }

    public Student(string navn, string epost, string studentnr)
        : base(navn, epost)
    {
        Studentnr = studentnr;
        Karakterer = new Dictionary<string, int>();
    }

    public void LeggTilKarakter(string fag, int karakter)
        => Karakterer[fag] = karakter;

    public double Snitt()
        => Karakterer.Count == 0 ? 0 : Karakterer.Values.Average();

    public override string ToString()
        => $"{base.ToString()} – Student {Studentnr}, snitt: {Snitt():F1}";
}

// Test
var s = new Student("Lina", "lina@skole.no", "S1001");
s.LeggTilKarakter("IT2", 5);
s.LeggTilKarakter("Matte", 4);
Console.WriteLine(s);  // Lina (lina@skole.no) – Student S1001, snitt: 4.5
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.
  • Bruk LINQ (Where, Select, OrderBy, GroupBy) for databehandling.
  • Override ToString() for lesbar utskrift.
  • Bruk try/catch for feilhåndtering.
Nyere løsning
Vår 2025

Alle løsningsforslag for IT 2 – C#

Vår 2025Vår 2024
Se eksamensoppgaven
eksamenssett.noTren målrettet

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

Om ossFAQPersonvernVilkårAngrerettKontakt

© 2025 Eksamenssett.no · Alle rettigheter forbeholdt

Innholdet er utviklet med AI-verktøy og kvalitetssikres kontinuerlig. Slik jobber vi med kvalitet →

Eksamenssett.no eies og drives av Studenthjelp Privatundervisning AS