Deklarer en tabell-variabel (array) med navn navne_tabell som inneholder navnene:
Ferkenberg, Woxholdt, Snytenstrup, Hattek og Dusterud.
var navne_tabell: Array =
["Ferkenberg", "Woxholdt", "Snytenstrup", "Hattek", "Dusterud"];
Skriv instruksjonen som sorterer tabellen i oppgave 1 alfabetisk.
navne_tabell.sort();(Obs: Hvis numerisk må vi bruke ...sort(Array.NUMERIC); )
En tabell med navn temperaturer inneholder måledata med datatype Number.
Skriv kode som finner gjennomsnittsverdien av måleverdiene i
tabellen og legger resultatet
i en variabel med navn gjennomsnittstemperatur.
var sum: Number = 0.0; for(var i: int = 0; i<temperaturer.length; i++) { sum += temperaturer[i]; }//for gjennomsnittstemperatur = sum/temperaturer.length;
Lag kode med for-løkke som skriver ut dette mønsteret i Output-dialogen i Flash:
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5
var s: String = ""; for(var i: int = 1; i <= 5; i++) { s = ""; for(var j:int = 1; j <= i; j++){ s += i + " "; }// for j trace(s); }//for i
I en quiz-applikasjon har vi en tabell (array),
var svar_tabell: Array = [true, true, false, ..., true];
tabellen svar_tabell
inneholder Boolske verdier som angir om en bruker har svart
riktig eller ikke
på et spørsmålsnummer.
(Første element i tabellen gjelder første spørsmål, andre
element i tabellen gjelder andre spørsmål, osv.)
Skriv kode som er nødvendig for å finne ut hvor mange
riktige svar en bruker har ut fra en slik tabell
og legg antall riktige svar i en variabel med navn antall_riktige.
var sum: int = 0; for(var i: int = 0; i < svar_tabell.length; i++) { if( svar_tabell[i] ) { sum++; }// if }// forantall_riktige = sum;Kommentar: Ser litt klønete ut å skrive:if (svar_tabell[i]==true) {...
Skriv en while-løkke som multipliserer alle like
tall (partall) fra og med 2 til og med 1000 med hverandre
og skriver ut resultatet med trace()-kommandoen.
// Bruker Number, da produktet fort blir større enn int.MAX_VALUE: var produkt: Number = 1; // Må være 1, ikke 0! var partall: uint = 2;// Bruker 100, da 1000 gir produkt større enn Number.MAX_VALUE: while( partall <= 100) { produkt *= partall; partall += 2; }// whiletrace(produkt); // Gir verdien: 3.42 e+79 !
Gitt tabellen
var bruktbiler: Array = [ { merke: "Volvo", farve: "Blå", pris: 110}, { merke: "Fiat" , farve: "Rød", pris: 160}, { merke: "Lada" , farve: "Rustrød", pris: 68}, { merke: "Renault", farve: "Hvit", pris: 100} ];
Skriv kode som endrer prisen på Lada-en til 55.
Skriv kode som sorterer denne tabellen alfabetisk på merkenavn.
Skriv kode som finner samlet verdi av alle bilene i en slik tabell
a) bruktbiler[2]["pris"] = 55;Eller: bruktbiler[2].pris = 55;b) bruktbiler.sortOn("merke");c)var verdi: int = 0; for(var i: int = 0; i < bruktbiler.length; i++) { verdi += bruktbiler[i]["pris"]; // eller: verdi += bruktbiler[i].pris; }//fortrace(verdi); // gir: 438 (etter endringen i a) )
Gitt en todimensjonal avstandstabell:
0 22 41 71 113 22 0 21 51 93 41 21 0 30 72 71 51 30 0 43 113 93 72 43 0
og en endimensjonal tabell:
var sted: Array = ["arendal", "grimstad", "lillesand", "kristiansand","mandal"];
der "arendal" har indeks 0, "grimstad" har indeks 1 osv. i avstandstabellen. (Helt likt eksemplet i kapittel 5 Arrayer i læreboken.)
Skriv kode som finner avstanden mellom to av disse stedene,
der stedsnavnene er hentet fra brukergrensesnittet og ligger i
variabler med navn fra_sted og til_sted
var fra_indeks: int = sted.indexOf(fra_sted); var til_indeks: int = sted.indexOf(til_sted); var avstand: int = 0;if ( (fra_indeks >= 0) && (til_indeks >= 0) ){ //Bør sjekke litt... avstand = avstandstabell[fra_indeks][til_indeks]; } else { avstand = -1; }//if
Leveres i It's Learning-mappen "Prøve 26.01.15 - Praktisk" - Alle hjelpemidler
Sjakk-entusiastene Ferkenberg, Woxholdt og Snytenstrup har
hatt en sjakk-turnering
og IT-entusiasten Ferkenberg har laget et Flashprogram der
resultatene ligger i tabellen:
var resultater: Array = [ [ "","H","R"], ["S","","S"], ["S","R",""] ];
Som figur:
"" "H" "R" "S" "" "S" "S" "R" ""
og navnene i tabellen:
var deltagere: Array = ["Ferkenberg", "Woxholdt", "Snytenstrup" ];
Eksempelvis betyr første raden i tabellen resultater at:
Ferkenberg har hatt hvite brikker mot Woxholdt og Snytenstrup og har
vunnet mot Woxholdt og spilt remis (uavgjort) mot Snytenstrup.
Andre raden betyr at:
Woxholdt har hatt hvite brikker mot Ferkenberg og Snytenstrup og har
tapt mot begge.
Lag et program med grensesnitt omtrent som i figuren:
hvor brukeren oppgir navnet på spiller med hvite brikker,
spiller med sorte
brikker og resultatet.
Når brukeren trykker knappen "Legg inn", skal
programmet legge resultatet
inn i tabellen resultater.
Hvis du rekker det kan du også skrive kode som regner sammen
poengsummene
til en av spillerne, der spilleren får 0 for tap, 1 for remis
(uavgjort) og 2 for seier.
/* GUI: hvit_tf, sort_tf, resultat_tf : TextField legg_inn_btn: Button *//// --- GUI --- ///legg_inn_btn.addEventListener(MouseEvent.CLICK, legg_inn_btn_Trykket);function legg_inn_btn_Trykket(evt: MouseEvent):void { var spiller_hvit: String = hvit_tf.text; var spiller_sort: STring = sort_tf.text;var hvit_indeks: int = deltagere.indexOf(spiller_hvit); var sort_indeks: int = deltagere.indexOf(spiller_sort);resultater[hvit_indeks][sort_indeks] = resultat_tf.text;trace(resultater);}//legg_inn_btn_Trykket()/// --- Datastruktur --- ///var resultater: Array = [[ "", "H", "R"], ["S", "", "S"], ["S", "R", ""]];var deltagere: Array = ["Ferkenberg", "Woxholdt", "Snytenstrup"];
Utregning av poengsum: (Legger dette i en funksjon, siden vi for tiden holder på med funksjoner)
function finnPoeng(spiller: String): int { var poeng: int = 0; var spiller_indeks = deltagere.indexOf(spiller);// Poeng som hvit: for(var kol: int = 0; kol < resultater[spiller_indeks].length;kol++) {if(resultater[spiller_indeks][kol]=="H") { poeng+=2; }else if(resultater[spiller_indeks][kol]=="R") { poeng+=1; }// if}// for kolonner/motspillere med svart// Poeng som sort: for(var rad: int = 0; rad < resultater.length; rad++) { if(resultater[rad][spiller_indeks]=="S") { poeng+=2; }else if(resultater[rad][spiller_indeks]=="R") { poeng+=1; }// if }// for rader/motspillere med hvitreturn poeng;}// finnPoeng()