Oppgaver i kapittel 3
Løsningsskisser
Oppgave 1
/// --- ActionScript --- ///
/*
Oppgaver i variabler, tilordninger og datatyper.
Oppgave 1
*/
var setning1: String = "Dette er setning 1";
var setning2: String = "Dette er setning 2";
var setning3: String = "Dette er setning 3";
trace(setning1+setning2+setning3);
trace("Med linjeskft:");
trace(setning1+"\n"+setning2+"\n"+setning3);
trace("Med tabulator:");
trace(setning1+"\t"+setning2+"\t"+setning3);
/// --- Output-vindu: ---///
Dette er setning 1Dette er setning 2Dette er setning 3
Med linjeskft:
Dette er setning 1
Dette er setning 2
Dette er setning 3
Med tab:
Dette er setning 1 Dette er setning 2 Dette er setning 3
Oppgave 2
/// --- ActionScript --- ///
/*
Oppgaver i variabler, tilordninger og datatyper.
Oppgave 2 - Volumet av en kasse
*/
var bredde: Number = 15;
var lengde: Number = 27;
var hoyde: Number = 20;
var volum: Number = bredde*lengde*hoyde;
trace("Vi har en kasse med bredde "+bredde+
", lengde "+lengde+" og høyde "+hoyde+
". Kassen har volumet "+volum+".");
/// --- Output-vindu: --- ///
Vi har en kasse med bredde 15, lengde 27 og høyde 20. Kassen har volumet 8100.
/// --- Versjon med funksjon --- ///
var bredde: Number = 15;
var lengde: Number = 27;
var hoyde: Number = 20;
function volumAvKasse(b:Number,l:Number,h:Number):Number {
return bredde*lengde*hoyde;
}//volum(b,l,h)
trace("Vi har en kasse med bredde "+bredde+
", lengde "+lengde+" og høyde "+hoyde+
". Kassen har volumet "+volumAvKasse(bredde,lengde,hoyde) );
Oppgave 3
/// --- ActionScript --- ///
/*
Oppgaver i variabler, tilordninger og datatyper.
Oppgave 3 - Pythagoras
*/
var k1: Number = 3.0;
var k2: Number = 4.0;
var h: Number = Math.sqrt(k1*k1+k2*k2);
trace( "En rettvinklet trekant med kateter "+k1+" og "+k2+"\n"+
"har hypotenus "+h+".");
/// --- Output-vindu: --- ///
En rettvinklet trekant med kateter 3 og 4
har hypotenus 5.
/// --- Versjon med funksjon --- ///
var k1: Number = 3.0;
var k2: Number = 4.0;
function pythagoras(a:Number,b:Number):Number {
return Math.sqrt(a*a+b*b);
}//pythagoras(a,b)
trace( "En rettvinklet trekant med kateter "+k1+" og "+k2+"\n"+
"har hypotenus "+pythagoras(k1,k2)+".");
Oppgave 4
/// --- ActionScript --- ///
/*
Oppgaver i variabler, tilordninger og datatyper.
Oppgave 4 - "tekstgrafikk"
Kan gjøres på flere måter...
*/
var linje1og5: String = " ----------------------";
var linje2og4: String = "| |";
var linje3: String = "| * * * * * * * |";
trace( linje1og5+"\n"+
linje2og4+"\n"+
linje3+"\n"+
linje2og4+"\n"+
linje1og5+"\n");
/// --- Output-vindu: --- ///
----------------------
| |
| * * * * * * * |
| |
----------------------
/// --- Eksempel med funksjon --- ///
function gjenta(s:String,n:int):String {
var resultat:String="";
for(var i:int=0;i<n;i++){
resultat+=s;
}//for
return resultat;
}//gjenta(s,n)
var linje1: String = " "+gjenta("-",22)+"\n";
var linje2: String = "|"+gjenta(" ",22)+"|\n";
var linje3: String = "|"+gjenta(" ",3)+gjenta(" *",7)+gjenta(" ",5)+"|\n";
trace(linje1+linje2+linje3+linje2+linje1);
Oppgave 5
/// --- ActionScript --- ///
/*
Oppgaver i variabler, tilordninger og datatyper.
Oppgave 5 - Logiske uttryk (relasjoner)
*/
var tall: Number = 4;
var m3og8: Boolean;
var s10ellerm5: Boolean;
m3og8=(tall>3) && (tall<8);
s10ellerm5=(tall>10) || (tall<5);
trace("Ligger tallet "+tall+" mellom 3 og 8:");
if(m3og8) {
trace("Ja");
} else {
trace("Nei");
}//if
trace("Er tallet "+tall+" større enn 10 eller mindre enn 5?");
if(s10ellerm5) {
trace("Ja");
}else {
trace("Nei");
}//if
/// --- Output-vindu: --- ///
Ligger tallet 4 mellom 3 og 8:
Ja
Er tallet 4 større enn 10 eller mindre enn 5?
Ja
Oppgave 6
/// --- ActionScript --- ///
/*
Oppgaver i variabler, tilordninger og datatyper.
Oppgave 6 - Tekstoperasjoner
*/
var antonsen:String=
"Deretter fikk han rollen som den nevrotiske og vikarierende etatsjefen Tor Varhaug\n"+
"i «Etaten», før han serverte humorglade nordmenn samlivsteraupauten Dag, i serien\n"+
"med samme navn. Denne høsten har han også vært å se på kinolerretet, sammen med flere\n"+
"andre kjente humorfjes, i «Kong Curling».";
trace(antonsen);
trace("Strengen inneholder "+antonsen.length+" tegn."); //Obs: Linjeskift er også tegn...
trace("Bokstav nummer 8 er "+antonsen.charAt(7)+"."); //Obs: Teller fra 0, ikke 1...
trace("Tegnene i posisjonene 5,6,7 og 8 er "+antonsen.substr(4,4)); // Fra og med 5 til og med 8 er 4 tegn...
trace("\n"+
"Med bare store bokstaver får vi:\n"+
antonsen.toUpperCase());
trace("\n"+
"Med bare små bokstaver får vi:\n"+
antonsen.toLowerCase());
/// --- Output-vindu: --- ///
Deretter fikk han rollen som den nevrotiske og vikarierende etatsjefen Tor Varhaug
i «Etaten», før han serverte humorglade nordmenn samlivsteraupauten Dag, i serien
med samme navn. Denne høsten har han også vært å se på kinolerretet, sammen med flere
andre kjente humorfjes, i «Kong Curling».
Strengen inneholder 292 tegn.
Bokstav nummer 8 er r.
Tegnene i posisjonene 5,6,7 og 8 er tter
Med bare store bokstaver får vi:
DERETTER FIKK HAN ROLLEN SOM DEN NEVROTISKE OG VIKARIERENDE ETATSJEFEN TOR VARHAUG
I «ETATEN», FØR HAN SERVERTE HUMORGLADE NORDMENN SAMLIVSTERAUPAUTEN DAG, I SERIEN
MED SAMME NAVN. DENNE HØSTEN HAR HAN OGSÅ VÆRT Å SE PÅ KINOLERRETET, SAMMEN MED FLERE
ANDRE KJENTE HUMORFJES, I «KONG CURLING».
Med bare små bokstaver får vi:
deretter fikk han rollen som den nevrotiske og vikarierende etatsjefen tor varhaug
i «etaten», før han serverte humorglade nordmenn samlivsteraupauten dag, i serien
med samme navn. denne høsten har han også vært å se på kinolerretet, sammen med flere
andre kjente humorfjes, i «kong curling».