Øving:
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