Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Include Page
itgk:ITGK - Meny
itgk:ITGK - Meny

Læringsmål:

  • For-løkker
  • While-løkker
  • Funksjoner

Pensum:

  • 5.1 - The FOR loop
  • 5.3 - While loops (star)(star)
  • Kap 3.7
  • Kap 5.1


I denne oppgaven skal man ikke benytte seg av den innebygde funksjonen sort, men bruk den gjerne for å påse at den selvskrevne koden fungerer.

...

Pseudokode: Velger første tall: er det større en enn det neste tallet? Hvis ja: bytt plass. Gå så til tall to. Større enn neste tall? Ja: bytt plass. Gjenta prosedyren til man har gått gjennom listen uten en eneste bytting. 
Denne sorteringsalgoritmen kalles Bubble sort og slike algoritmer er av spesiell interesse innen IT.

Eksempel på kjøring:

       mis =

       5 1 23 12 9

       >> sortedList = listSort(mis)

       sortedList =

       1 5 9 12 23

b)

Skriv funksjonen insertionSort(list). Dette er en algoritme som finner det største tallet i en rekke og plasserer det helt til venstre i en ny liste. Deretter fjernes tallet fra den opprinnelige listen. Operasjonen gjentas til alle tall er flyttet over i den nye listen, som nå er sortert. Denne funksjonen skal også returnere sortedListMer informasjon finnes her.

...

Lag funksjonen sortLists(matrix). Denne sorterer elementene i hver rad i en "liste av rader" (matrise), og returnerer den sorterte matrisen, sortedLists.  

...

languagenone

...

Eksempel på kjøring:

       misMatrix =

       5   2   4   7
       41  23  23  14
       21  10  29  3

        >> sortedLists = sortLists(misMatrix)

       sortedLists =

       2   4   5   7
       14  23  23  41
       3   10  21  29

 

Kameraet ser innover mot de høyeste toppene. Slik ble ett av resultatene av sorteringen til Torkel-Georg:

...

Torkel-Georg innser at dette var en dårlig utførelse og forsøker seg på ny. 
For repetisjon skal det lages en funksjon sortMatrix(matrix). Den skal returnere en sortert matrise med laveste element i (1,1) og høyeste i (n,m eller siste rad, siste kolonne).

...

languagenone

...

Eksempel på kjøring: 

        

              >> sortedMatrix = sortMatrix(misMatrix)

       sortedMatrix =

       2   3   4   5
       7   10  14  21
       23  23  29  41

Den nye sorteringen ser slik ut etter en av hans sesjoner: