Kommentarer til V2011


Oppgave 2b

Viktigste her er å merke seg at søylediagrammet bør legges i en tabell for å få grei oppdatering i en for-sløyfe.

Litt mer enn vanlig, så lurt å dele opp koden i flere funksjoner og bygge opp i trinn:

Først få utregning til å virke, deretter utlisteing av år og antall trær med forskjellige valg av tretype,
og til slutt få søylene til å virke.

Datastruktur:

var tretabell:Array = 
   [
	  {ar: 1915, furu: 20, gran: 23, lauvtre: 4},
	  {ar: 1950, furu: 31, gran: 39, lauvtre: 6},
	  {ar: 1970, furu: 53, gran: 72, lauvtre: 8},
	  {ar: 1990, furu: 89, gran: 89, lauvtre:12},
	  {ar: 1992, furu:102, gran: 92, lauvtre:15},
	  {ar: 2000, furu:117, gran: 99, lauvtre:18}
   ];

Kan legge i forskjellige typer tabeller, men oversiktlig å ha alt på et sted.

Søylediagrammer og label (eventuelt tekstfelt) bør som sagt legges i en tabell:

var vistabell:Array = 
   [ 
     {ar: ar0Lbl,  antall: antall0Lbl,  soyle: soyle0 },
     {ar: ar1Lbl,  antall: antall1Lbl,  soyle: soyle1 },
     {ar: ar2Lbl,  antall: antall2Lbl,  soyle: soyle2 },
     {ar: ar3Lbl,  antall: antall3Lbl,  soyle: soyle3 },
     {ar: ar4Lbl,  antall: antall4Lbl,  soyle: soyle4 },
     {ar: ar5Lbl,  antall: antall5Lbl,  soyle: soyle5 }
   ];

Programstruktur:

Brukergrensesnitt med navn og lytterfunksjoner:

Lyttere:

treValgt()
   treslag hentes fra GUI   Radioknapper: 0,1,3 for furu, gran, løvtre
   visData()                Oppdater søyler og tall
   beregnOkning()           Beregn og oppdater økning mellom de to valgte år.
arValgt()
   beregnOkning()           Beregn og oppdater økning mellom de to vlagte år.
beregnOkning()
   fraindeks hentes fra GUI  0,1,...,5 for 1915,1950,...,2000
   tilindeks hentes fra GUI  0,1,...,5 for 1915,1950,...,2000
   Hvis valg gjort i kombobokser
      laveste = HentFraTreTabell(fraindeks,treslag)   Henter laveste antall
      hoyeste = HentFraTreTabell(tilindeks,treslag)     Henter høyeste antall
      differanse = høyeste-laveste
      prosent = differanse/laveste*100;
      oknintTa.text =
                   Økning i antall trær:         xx.x
                   I prosent:                   xxx.x %
hentFraTreTabell(indeks,treslag):antall
   objekt = tretabell[indeks]
   hvis (treslag == FURU)
      antall = objekt.furu
   hvis (treslag == GRAN)
      antall = objekt.gran
   hvis (treslag == LAUV)
      antall = objekt.lauvtre
   return antall
       (Med en tabell:   trenavntabell = [ "furu", "gran", "lauvtre" ] kunne
        vi gjort det litt enklere:
             hentFraTreTabel(indeks,treslag):antall
                  return tretabell[indeks][ trenavntabell[treslag] ]
        )
visData()
   gjenta for alle år (i fra 0 til 6 for årene 1915 til 2000)
      år = tretabell[i].år;                     Henter årstall
      antall = hentFraTreTabell(i,treslag);     Henter antall for valgt treslag  
     //Hent label for årstall og antall og søyle, og oppdater disse:
     arLbl = vistabell[i].ar;
     arLbl.text = år
     antallLbl = vistabell[i].antall
     antallLbl.text = antall
     soyle = vistabell[i].soyle
     soyle.scaleX = antall/SKALA

Lenke til komplett kode.

Oppgave 3

Litt forvirrende ordlyd, men jeg tolker dette som at vi skal lage disse, i stikkordsform:

Dokumentasjon av applikasjonen:

Brukerveiledning

Teknisk dokumentasjon

Formål, hensikt, krav (Slik det en gang ble beskrevet i en kravspesifikasjon)

Gui, datastruktur, kode

Test-dokumentasjon

Testprosedyrer

Testdata

(Kan også tolkes som at du skal beskrive/dokumentere hele arbeidet/prosessen/prosessen, alstå omtrent noe slikt, i stikkordsform:

  • Kravspesifikasjon
  • Planlegging
    Design av:
  • Koding
  • Testing
  • Dokumentasjon
  • Implementasjon
  • Drift og oppfølging
  • )