You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Oppgave 1 - Teori for-løkker

  1. enListe = 1:10 
    for tellevariabel = enListe
    	%her er det kode som gjentas
    end
  2. 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

  1. for i = 1:length(list)
    	if list(i) <= 0
    		list(i) = 1;
    	end
    end
  2. 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 TRUE do
    passord1 = input('Skriv inn ditt passord--> ');
    passord2 = input('Skriv inn ditt passord på nytt--> ');
     
    if passord1 == passord2
        fprintf('Passordene er like.');
    elseif len(passord1) ~= len(passord2)
        fprintf('Passordene har ulik lengde!');
    % Sammenligner ASCII-verdi. a har en mindre verdi enn b i ASCII-tabellen. a = 97 og b = 98 f. eks.
    elseif passord1 > passord2
        fprintf('Passord 2 kommer før passord 1 i alfabetet');
    else
        fprintf('Passord 1 kommer før passord 2 i alfabetet');
    end
end

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

------------------------

Oppgave 1 - Litt om tabeller og løkker

tabell = zeros(1,7);
tabell(1) = tabell(1) + 1;
tabell(2) = tabell(2) + 1;
tabell(3) = tabell(3) + 2;
tabell(4) = tabell(4) + 3;
tabell(5) = tabell(5) + 5;
tabell(6) = tabell(4) + tabell(5);
tabell(7) = tabell(5) + tabell(6);
tabell = [1,1,2,3,5,8,13]
% tallrekken heter fibonacci
tabell2 = 4:1.5:20

Oppgave 2 - Litt om tabeller og løkker

% Følgende blir skrevet ut:
0	8	40	3	1	2	5


Oppgave 5 - Tabeller, if-setninger og løkker

%a
deltakernr = [1:1:5];
km = sparse(1,5);
alder = sparse(1,5);
%b
km = rand([1,5])*15;
alder = rand([1,5])*7+18;
 
for i=1:5
	if km(i) > 8
		fprintf('Deltaker %i er %.0f år gammel og løp %.1f km.\n',deltakernr(i),alder(i),km(i))
	end
end
sumkm = 0;
for element = km
	sumkm = sumkm + element;
end
fprintf('Deltakerne har tilsammen tilbakelagt %.1f km.\n',sumkm)

 

 

  • No labels