Oppgave 1 -
...
Teori for-løkker
Code Block enListe = 1:10 for tellevariabel = enListe %her er det kode som gjentas end
- Man bruker helst når antallet iterasjoner er kjent. Når du ikke vet antall iterasjoner er det vanligere å bruke while-løkker.
Oppgave 2 - Løkker
Code Block |
---|
%1
for i = 1:20
fprintf('%i. Bolton Wanderers\n',i)
end
%2
tall = 1;
while tall ~=7
tall = randi([0 10]);
disp(tall)
end |
Oppgave 3 - While-løkke
Code Block | ||
---|---|---|
| ||
tall = randi([0 10]);
while tall ~= 7
disp(tall)
tall = randi([0 10]);
end |
Oppgave 4 - Repetisjon av for-løkker
Code Block for i = 1:length(list) if list(i) <= 0 list(i) = 1; end end
Code Block forelopig_sum_tabell = zeros(1,
...
length(list)); forelopig_sum_tabell(1) =
...
list(1)
...
; for i = 2:length(list) forelopig_sum_tabell(i) = forelopig_sum_tabell(
...
i-1)
...
+list(i); end forelopig_sum_tabell
Oppgave 5 - Passord
Code Block |
---|
while 1 % Evig løkke
passord1 = input('Skriv inn ditt passord--> ');
passord2 = input('Skriv inn ditt passord på nytt--> ');
% Sammenligner de to vektorene og lagrer binærverdien i variablen like
like = strcmp(passord1,passord2)
% Skriver om passordet fra string til ASCII-verdi
passord1 = double(passord1);
passord2 = double(passord2);
% Vi lagrer passordenes respektive lengder
n = length(passord1);
m = length(passord2);
% Hvis passordene er like
if like == 1
fprintf('Passordene er like.\n');
% Hvis de ikke er like, sammenligner vi deres lengde
elseif length(passord1) ~= length(passord2)
fprintf('Passordene har ulik lengde!\n');
% Hvis lengden også er ulik undersøker vi hvilken av passordene som
% kommer først i alfabetisk rekkefølge.
else
% Vi går gjennom hver bokstav i ordene og sammenligner dem
for i = 1:max(n,m)
if passord1(i) > passord2(i)
fprintf('Passord 2 kommer før passord 1 i alfabetet\n');
break
else
fprintf('Passord 1 kommer før passord 2 i alfabetet\n');
break
end% If
end % For
end % If
end % While |
Oppgave 6 - Produkt
Code Block | ||
---|---|---|
| ||
produkt = 0;
while produkt < 70
tall1 = randi([1 10]);
tall2 = randi([1 10]);
produkt = tall1 * tall2;
disp(produkt)
end |
Oppgave 7 - Speedometer
Code Block | ||
---|---|---|
| ||
for kmh = [10:10:110]
kmhToMph = kmh / 1.6;
fprintf('%d km/t = %.0f mph.\n',kmh,kmhToMph);
end |
Oppgave 8 - Doble for-løkker
Code Block |
---|
%1
mat = [ 1, 3,-3, 5,23;
23, 2,34,13,32;
33,67,64, 5,-9;
46,-6, 6,64, 8;
2, 3,19,23,-4];
%2
i = 1;
for row = mat
j = 1;
for element = row'
if element < 0
mat(j,i) = -element;
end
j = j+1;
end
i = i+1;
end
mat
%3
tall = mat(1,1);
for row = mat
for element = row'
if element > tall
tall = element;
end
end
end
tall |
Oppgave 9
Oppgave 2 - Litt om tabeller og løkker
Code Block |
---|
% Følgende blir skrevet ut:
0 8 40 3 1 2 5 |
...
- Badekaret
Code Block |
---|
litervann = 0; while litervann < 20 fprintf('Det er %i liter vann i badekaret.\n',litervann) litervann = litervann + 1; end fprintf('Badekaret er fult!\n') |
Oppgave
...
10 - Badekarsprodusenten
Code Block |
---|
%1a tabellen = [20,35,10,17,45,35,20,15,17,40]; %1b badekarSum = 0; for badekar = tabellen badekarSum = badekarSum + badekar; end fprintf('Du trenger %i liter for å fylle opp badekarene.\n,badekarSum') %2 tall = 1; sumoddetall = 0; while tall < 20 sumoddetall = sumoddetall + tall; tall = tall + 2; end fprintf('Summen av alle (positive) oddetall under 20 er %i.\n',sumoddetall ) |
Oppgave 11 - Sum av gangetabellen
Code Block |
---|
sum = 0;
for i = [1:10]
for j = [1:10]
sum = sum + (i*j);
end
end
fprintf('%d', sum); |
Oppgave 12 - Stigende sekvenser
Code Block |
---|
j = 1;
for i = [1:10]
k = 1;
while k <= j
fprintf('%d ', k);
k = k + 1;
i = i + 1;
end
j = j + 1;
fprintf('\n');
end |
...