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) = 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