Oppgave 1 - Kodeforståelse, løkker
tallrekke = input('Giinntallene ,omgittav []' ); antall = 0; s = length(tallrekke) % gir antall elementer i rekken for i = 2:s if tallrekke(i)==tallrekke(i-1) antall = antall + 1 end end disp(antall)
Hvilket tall blir skrevet ut når input er [0 0 0]?
a. 0 b. 1 c. 2Hvilket tall blir skrevet ut når input er [0]?
a. 0 b. 1 c. 2- Hvilket tall blir skrevet ut når input er [0 1 2 2 1 1]?
a. 1 b. 2 c. 3 - Hvilket tall blir skrevet ut når input er [1 2 3 3 3 3 5]?
a. 1 b. 2 c. 3
function uttabell = rdup(inntabell) j = 1; uttabell (j) = inntabell(1); s = length(inntabell) %ant. elem. i tabellen for i = 2:s if inntabell ( i ) ~= inntabell(i−1) j = j + 1; uttabell ( j ) = inntabell ( i ) ; end %if end %for end %function
- Hva blir rdup([0])?
a. [0] b. [0 1] c. [0 0] - Hva blir rdup([9 8 7 6 5])?
a. [9 8 7 6 5] b. [9 9 8 7 6] c. [9 9 9 9 9] - Hva blir rdup([9 8 8 7 6])?
a. [9 8 8 7 6] b. [9 8 7 6] c. [9 9 9 9 9] - Hva blir rdup([9 8 8 7 6 6 6])?
a. [9 8 9 8 7 6 7 8] b. [9 8 7 6] c. [9 9 9 9 9]
- Hva blir rdup([0])?
function svar = tell(tabell) antall = 1; while (antall < length(tabell)) && (tabell(antall+1) > tabell(antall)) antall = antall + 1; end svar = antall ; end %function
- Hva blir tell([0])?
a. 0 b. 1 c. 2 - Hva blir tell([0 1 4])?
a. 1 b. 2 c. 3 - Hva blir tell([0 3 4 2 1])?
a. 1 b. 2 c. 3 - Hva blir tell([2 5 6 7 6 7 8 9 11 24])?
a. 4 b. 6 c. 10 - Hva blir tell([95 90 91 92 93 94 101 104])?
a. 0 b. 1 c. 7
- Hva blir tell([0])?
Oppgave 2 - Høydemåler
Nasjonalt Geografisk InformasjonsSenter (NGIS) har laget en 2-dimensjonal tabell (lagret i Matlabtabellen hoydetabell) med heltallsverdier som angir høyder over havet for et “firkantet” område i terrenget.
Et utdrag fra tabellen kan være:
Et utdrag fra tabellen kan være:
1893 | 1898 | 2010 | 1990 | 1769 | 1780 | ... |
1907 | 1960 | 2001 | 1760 | 1870 | 1800 | ... |
1910 | 1783 | 1840 | 2109 | 1902 | 1950 | ... |
1753 | 1840 | 1974 | 2150 | 1823 | 1880 | ... |
... | ... | ... | ... | ... | ... | ... |
Tabellen er gitt i sin helhet her: Tabell.txt
Du har blitt bedt om å lage et Matlab-skript for å søke igjennom denne tabellen med høydedata og skrive ut en beskjed på skjermen dersom høyden i en celle er 2000 meter eller høyere.
Denne beskjeden skal bestå av radnummer, kolonnenummer og tallverdien til cellen. Du kan anta at tabelldataene er lagt inn i variabelen hoydetabell allerede før ditt skript skal starte.
Du vet foreløpig ikke hvor mange rader/kolonner tabellen inneholder. Derfor kan du benytte en innbygget Matlab-funksjon, size, for å finne ut størrelsen på tabellen før du begynner søkingen.
size-funksjonen kan brukes på følgende måte:
- r =size(<tabellnavn>, 1); lagrer antall rader i tabellen i r
- k = size(<tabellnavn>, 2); lagrer antall kolonner i tabellen i k
- Lag et Matlab-skript som løser oppgaven.
- Gjør gjerne antagelser der du føler det mangler i oppgaveteksten.
- Dersom du ikke er komfortabel med bruken av size-funksjonen, anta heller at tabellen er 20 rader og 20 kolonner stor.
- Bruk gjerne funksjonen num2str(<tall>) for å pynte på utskriften, men dette er ikke noe krav.
Vis hvordan du vil utvide skriptet slik at det helt til slutt skriver ut: “Maks høyde var:” etterfulgt av verdien til den maksimale høyden, og deretter “Koordinatene med maks høyde:”etterfulgt av koordinatene for det eller de punktene som har denne høydeverdien.
Hvis det er flere punkter som har den samme høyeste verdien, skal alle disse koordinatene skrives ut, men selve høyden skal bare skrives én gang.