Oppgave 1 - Flervalgsoppgaver
Hva er 5310 i det hexadesimale tallsystemet?
Svar: 3516
Hvilken av følgende påstander er korrekte?
Svar: En IP-adresse identifiserer ikke en spesifikk datamaskin, men en forbindelse mellom en datamaskin og et nettverk. En ruter har en IP-adresse for hver nettverks-forbindelse.
Hva er sant om PandA?
Svar: PandA sier om et fenomen er tilstede eller ikke på et bestemt sted og tid
Hva er de tre vanligste overføringsfeilene mtp. dataoverføringer?
Svar: Interference (forstyrrelse), distortion (forvrenging), attenuation (svekking)
Ved linjesvitsjing...
Svar: ...opprettes et kommunikasjonssignal mellom en sender og en mottaker når det er nødvendig, og forsvinner etter bruk. Denne veien kommer ikke i kontakt med andre signaler (isolert vei).
Hva gjør nettverkslaget (IP-layer)?
Svar: Spesifiserer formatet på pakkene som sendes over nettet, og mekanismene for å sende pakker fra én datamaskin via rutere, til en annen.
function all_about_me(name, age, study) fprintf("My name is %s",name) fprintf("\n") fprintf("I am %s years old,",age) fprintf(" and I study %s",study) end
Oppgave 3 - Kodeforståelse
a)
x = 3 y = 2 Funksjonen returnerer hvor mange ganger b går opp i a og resten av divisjon av a på b.
b)
m = JULENISSEN Funksjonen returnerer en streng med annenhver bokstav hentet fra de to inputstrengene, med første bokstav hentet fra andre inputstreng (y).
c)
ans = 6 f regner ut den rekursive tverrsummen (av tverrsummen, av ...tallet), helt til det er bare et siffer igjen.
d)
101011001 Konverterer heltall til binærrepresentasjon
Oppgave 4
function wordsWithPrefix = checkPrefix(words , prefix) wordsWithPrefix = {}; i = 1; for word = words if startsWith(word, prefix) cellArray = {cellArray, word}; end end end
Oppgave 5
function isMatch = match(observed , actual) isMatch = true; for pos = 1: length(observed) if (observed(pos) ~= '?' && observed(pos) ~= actual(pos)) isMatch = false; end end end
Oppgave 6
a)
function date = dateStruct( day , month , year ) date = struct('day', day , 'month', month , 'year', year); end
b)
function movie = movieStruct(name , director , premiereDate) movie = struct('name', name , 'director ', director , 'premiereDate ', premiereDate '); end
c)
function validMovies = getMovieStructs(movies , fromYear , toYear) validMovies = []; for movie = movies if movie.premiereDate.year > fromYear && movie.premiereDate.year < toYear validMovies = [validMovies movie]; end end end
Oppgave 7
function [avgPuls , minPuls , maxPuls] = pulsStatistikk(pulsData) minPuls = inf; maxPuls = -inf; sumPuls = 0; antall = 0; for puls = pulsData antall = antall + 1; if puls < minPuls minPuls = puls; end if puls > maxPuls maxPuls = puls; end sumPuls = sumPuls + puls; end avgPuls = sumPuls/antall; end
Oppgave Quiz
a)
function result = beginsWith(capitals, letter) result = {}; for city = capitals if city{1}(1)==letter result(end+1) = city; end end end
b)
function letter = randomLatinLetter(upper) if upper asciiValue = randi([65 90]); else asciiValue = randi([97 122]); end letter = char(asciiValue); end
c)
function [questions, solutions] = letterQuestion(capitals) nSolutions = 0; while nSolutions == 0 letter = randomLatinLetter(true); solutions = beginsWith(capitals, letter); nSolutions = length(solutions); end questions = sprintf('Capital starting with %s ?', letter); end
d)
function result = nLetters(city) result = length(city); for i = city if city(i) == ' ' result = result -1; end end end
e)
function withLength = hasLength(capitals, length) withLength = {}; for city = capitals if nLetters(city{1}) == length withLength(end+1) = city; end end end
f)
function [que, sol] = lengthQuestion(capitals) okLengths = []; for city = capitals len = nLetters(city{1}); if sum(len == okLengths) == 0 okLengths(end + 1) = len; end end randomLength = okLengths(randi(length(okLengths))); que = sprintf("Capital with %i letters? ", randomLength); sol = hasLength(capitals, randomLength); end
g)
function [que, sol] = randomQuestion(capitals) qType = randi([0,1]); if qType == 0 [que, sol] = letterQuestion(capitals); else [que, sol] = lengthQuestion(capitals); end end
h)
function playQuiz(capitals): keepOn = True points = 0 while keepOn [quest, sol] = randomQuestion(capitals) city = input(quest, 's') if strcmp(city, 'q'): keepOn = False elseif ismember(city, sol): disp('Correct!') points = points + 1; else disp('Sorry, that was wrong!') end end end
i)
function main() disp('CAPITALS QUIZ') disp('Answer questions to score points.') disp('To quit, answer q') points = playQuiz(allCapitals) if points == 1 text = '1 point.\n' else text = sprintf('%i points.\n', points) end fprintf('Congrats! You scored %s', text) end
function triplets = pythagoreanTriplets(n) triplets = []; a = 2; while true [rows, ~] = size(triplets); if rows >= n return end a = a + 1; % Ingen vits å lete over denne maxSearch = a^2; for b = a : maxSearch c = sqrt(a^2 + b^2); if mod(c, 1) == 0 triplets = [triplets; a, b, c]; end end end end