IT2 - Prøve 01.12.11

Løsningsskissser

Versjon: 05.12.11 (Var noen trykkfeil/bugs i første forsøk :-( (Bør teste før man offentliggjør kode :-) )

Oppgave 1

var tall: Number	=	3.54
var tekst: String = "Datamaskiner er dumme, men ganske raske.";
var tall_er_i_omrade: Boolean = (x>100) && (x<=1000) || (x<0);
var talltekst: String = "23"+"54";		// Obs: 23 er et tall, "23" er en tekststreng!

Oppgave 2

En tabell med tekststrenger:

var klasseliste: Array = ["Hans Hansen", "Ole Olsen", osv. osv. ...,"Åge Ågesen"];

(Kan også gjøres med deklarasjon og tilordning hver for seg:

var klasseliste: Array = new Array();
klasseliste=["Hans Hansen", "Ole Olsen", osv. osv. ...,"Åge Ågesen"];

Oppgave 3

for(var i:int=0;i<klasseliste.length;i++) {
    trace(klasseliste[i]);
}

Oppgave 4

Resultatet av den boolske relasjonen blir slik hvis vi "regner" den ut operasjon for operasjon:

(true eller false) || false = true || true = true

så trace(foobar) vil skrive ut true. (true, som er Boolean, blir konvertert til String: "true" og skrevet ut.

Regler for AND (&&) og OR (||) er slik:

AND false true
false false false
true false true
 
OR false true
false false true
true true true

Eller for å si det enkelt:

For at a && b skal være true må både a og b være true!

For at a || b skal være true må enten a eller b (eller både a og b) være true

Oppgave 5

t blir først utregnet til 8. Da 8 er større enn 5 vil utskriften bli:

Tallet 8 var større enn fem.

Oppgave 6

Blanke er også tegn, så vi må kombinere utskrift av blanke og stjerner:

var s: String = "***********";
var b: String = "";
var n: int = 11;	//11 stjerner
for(var i: int = 0; i< 6; i++) {
    trace(b+s);
    b=b+" ";				//Øker med en blank
    n=n-2;				//Minker med to stjerner hver gang
    s=s.substr(0,n);			//Plukker ut de n-2 første av de som er igjen
}//for

Oppgave 7

var t: Array = [1,2,3,4,5,6,7,8,9,10];
var sum: Number = 0.0;			//Bruker Number, i tilfelle vi får en ny tabell med desimaltall
for(var i: int = t.length-1; i>=0; i--) {
    trace(t[i];
    sum=sum+t[i];
}//for
trace(sum);

Oppgave 8

var sum: int = 0;
for(var i: int = 1; i<=1000; i++) {
    sum=sum+i;
}//for
trace("Summen av tallene fra 1 til 1000 ble "+sum);	//Bør bli 500500

Oppgave 9

// Verselinjer uten tallet i starten:
var linje1: String 	= "bottles of beer on the wall";
var linje2og3: String 	= "bottles of beer\nIf one of those bottles should happen to fall";
for(var i: int = 100; i>0; i--) {	//Teller nedover fra 100
    trace(i+" "+linje1);
    trace(i+" "+linje2og3);
}//for

Oppgave 10

var kritisk_punkt: Number	=	60;
var meterverdi: Number		=	1.2;
var lengde: Number		=	97;
var stilpoeng:Array		=	[15.5,16,16,15,14];
//Må finne største og minste stilkarakter:
var maks: Number = 0.0;
var min: Number  = 20.0;
var sum: Number  = 0.0;
for(var i: int = 0; i<stilpoeng.length; i++) {
    if(stilpoeng[i]>maks) { maks=stilpoeng[i]; }	//Større enn maks hittil? I såfall juster opp maks
    if(stilpoeng[i]<min) {min=stilpoeng[i]; }		//Mindre enn min hittil? I såfall juster ned min
    sum=sum+stilpoeng[i]		//summerer samtidig
}//for
var total: Number = (lengde-kritisk_punkt)*meterverdi+sum-maks-min;
trace("Hopperen fikk poengsummen "+total);		//Bør bli 90.9