-
Created by Unknown User (sindreka), last modified by Unknown User (henriboh) on 13.10.2015
You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 17
Next »
Oppgave 1 - Teori for-løkker
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
%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
tall = randi([0 10]);
while tall ~= 7
disp(tall)
tall = randi([0 10]);
end
Oppgave 4 - Repetisjon av for-løkker
for i = 1:length(list)
if list(i) < 0
list(i) = abs(list(i));
if list(i) == 0
list(i) = 1;
end
end
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
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
produkt = 0;
while produkt < 70
tall1 = randi([1 10]);
tall2 = randi([1 10]);
produkt = tall1 * tall2;
disp(produkt)
end
Oppgave 7 - Speedometer
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
%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 - Badekaret
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
%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
sum = 0;
for i = [1:10]
for j = [1:10]
sum = sum + (i*j);
end
end
fprintf('%d', sum);
Oppgave 12 - Stigende sekvenser
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