Oppgave 1 - Kodeforståelse, løkker


    1. 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)

       

      1. Hvilket tall blir skrevet ut når input er [0 0 0]?
        a. 0  b. 1 c. 2

      2. Hvilket tall blir skrevet ut når input er [0]?
        a. 0  b. 1 c. 2

      3. Hvilket tall blir skrevet ut når input er [0 1 2 2 1 1]?
        a.  b. 2 c. 3

      4. Hvilket tall blir skrevet ut når input er [1 2 3 3 3 3 5]?
        a. 1  b. 2  c. 3

    2. 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
      

       

      1. Hva blir rdup([0])?
        a. [0]  b. [0 1]  c. [0 0]

      2. 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]

      3. 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]

      4. 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]

    3. function svar = tell(tabell)
          antall = 1;
          while (antall < length(tabell)) && (tabell(antall+1) > tabell(antall))
              antall = antall + 1;
          end
          svar = antall ;
      end %function

       

      1. Hva blir tell([0])?
        a. 0  b. 1  c. 2

      2. Hva blir tell([0 1 4])?
        a. 1  b. 2  c. 3

      3. Hva blir tell([0 3 4 2 1])?
        a. 1  b. 2  c. 3

      4. Hva blir tell([2 5 6 7 6 7 8 9 11 24])?
        a. 4  b. 6  c. 10

      5. Hva blir tell([95 90 91 92 93 94 101 104])? 
        a. 0  b. 1  c. 7

 

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:

 

189318982010199017691780...
190719602001176018701800...
191017831840210919021950...
175318401974215018231880...
.....................
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

 

  1. 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.

  2. 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.

Oppgave 3 - Formasjonsteknologi grunnkurs

  1. Flygeskolen skal avholde sin årlige eksamen i Formasjonsteknologi grunnkurs. I den sammenheng er det viktig for de fagansvarlige – stuntlektor Due og professor Kråke - å melde inn hvilke studenter som skal få ta eksamen. I år har deler av øvingsopplegget vært obligatorisk.
    Det er totalt 12 øvinger i faget. Følgende regler gjelder for å få godkjent øvingsopplegg:
    • minst 5 av de 6 første øvingene må være godkjent (øvingene 1–6)
    • minst 4 av de 6 siste øvingene må være godkjent (øvingene 7–12)
    • minst én av øvingene 11 og 12 må være godkjent

    Skriv en funksjon, godkjent, som tar inn som parameter en tabell med 12 tall (1 eller 0). 1 betyr godkjent og 0 betyr ikke godkjent.

    Tabell 1 viser altså en student som har fått øvingene 1, 4, 5, 7, 8, 9 og 11 godkjent, hvilket ikke vil være tilstrekkelig for å få ta eksamen. Funksjonen skal returnere 1 hvis øvingsopplegget er godkjent og 0 hvis ikke, etter reglene beskrevet ovenfor.

  2. Skriv et lite program for å teste funksjonen godkjent ved å kalle på denne med tre ulike test-tabeller som du finner på selv. Programmet skal for de tre forsøkene skrive ut tabellenog resultatet av funksjonskallet på skjermen.

Oppgave 4 - Litt om tabeller og løkker

  1. Opprett en tabell med 7 elementer, alle elementene skal være 0.
    1. Gjør disse endringene på tabellen:
    2. Legg tallet 1 på posisjon 1
    3. Legg tallet 1 på posisjon 2
    4. Legg tallet 2 på posisjon 3
    5. Legg tallet 3 på posisjon 4
    6. Legg tallet 5 på posisjon 5
    7. Tallet i posisjon 6 skal være summen av tallet i posisjon 4 og tallet i posisjon 5
    8. Tallet i posisjon 7 skal være summen av tallet i posisjon 5 og tallet i posisjon 6
    9. Hvordan ser innholdet i listen ut nå? (vet du hva denne tallrekken heter?

  2. Hvordan vil du lage en tabell med tallene 4 til 20 og skrittlengde 1,5

Oppgave 5 - Mer variabler, alder

Gitt følgende kodesnutt. Hva blir skrevet ut til skjermen?

tabell =zeros(1 ,7) ;
tabell(1) = 3;
tabell(7) = 5;
tabell(2) = tabell(1) + tabell(7) ;
tabell(3) = tabell(2)*5;
tabell(1) = tabell(1)−3;
tabell(4) = 3;
tabell(5) = tabell(7)/5;
tabell(6) = 2;
 
disp(tabell);

Oppgave 6 - Tabeller, if-setninger og løkke

  1. Atle Johnny, Remi, Lars Geir, Tarmhild og Svetlana er akkurat passe gamle. Hver tirsdag konkurrerer de i éntimesløp.
    Denne relativt ukjente idrettsgrenen består rett og slett i at man løper i én time. Den som har løpt lengst, vinner.
    I denne oppgaven skal du skrive ut resultatene fra denne konkurransen ved hjelp av tabeller og løkker.
    (Selv om oppgaven er delt opp i deloppgaver, er det meningen at du skal skrive alt i ett program)

    1. Lag en tabell deltakernr som inneholder nummerne 1 til 5. Lag en tabell km med plass til fem tall.

      Lag en tabell alder med plass til fem tall

    2. Legg inn fem tilfeldige tall i intervallet [0, 15] i km.

      Legg inn fem tilfeldige heltall i intervallet [18, 25] i alder.

    3. Lag en løkke som skriver ut deltakernummer, alder og resultat til alle som løp lengre enn 8km:

      • Deltaker deltakernr er alder år gammel og løp km km.

    4. Lag en løkke som finner det totale antall km (sumkm) tilbakelagt i konkurransen, og skriv resultatet ut slik:

      • Deltakerne har tilsammen tilbakelagt sumkm km.

 

  • No labels