IT2 - 09.04.2015

Løsningsskisser


Oppgave 1

(Som er lik eksamensoppgave 2 høsten 2014, med trykkfeil i utregningsveiledningen og det hele...)

/*
	Oppgave 1 - Prøve 09.04.2015
	(Tilsvarer eksamensoppgave 2 høsten 2014)
	
	Komponenter satt opp interaktivt i Flash:
		type_kjoring_CB:	ComboBox
		antall_km_Ns:		Numeric Stepper
		pris_per_liter_Ns:	Numeric Stepper
		beregn_Btn:		Button
		penger_spart_Tf:	TextField (TextInput)
*/

// Konstanter for test av type kjøring:
const	BYKJORING:               int    = 0;
const	BLANDET_KJORING:         int    = 1;

// Andre konstanter. (Lurt å samle her istedenfor rundt i koden!)
const	BENSINFORBRUK:           Number = 0.65;
const	PROSENT_BYKJORING:       Number = 0.1;
const	PROSENT_BLANDET_KJORING: Number = 0.05;

// Henger på lytterfunksjon:
beregn_Btn.addEventListener(MouseEvent.CLICK, beregnKlikket);

// Lytterfunksjon som utfører beregning:
function beregnKlikket(evt: MouseEvent): void {
	
	trace("Beregn-knappen klikket!");			//debug
	
	// Hent verdier fra brukergrensesnitt:
	var pris: Number = pris_per_liter_Ns.value;
	var km:   Number = antall_km_Ns.value;
	
	trace("Pris/liter: " + pris + " km: "+ km);  //debug

	// Utregninger:
	var normalforbruk: Number = km/10*pris*BENSINFORBRUK;
	var besparelse: Number;
	
	if( type_kjoring_Cb.selectedIndex == BYKJORING ) {
		besparelse = normalforbruk*PROSENT_BYKJORING;
	}else{
		besparelse = normalforbruk*PROSENT_BLANDET_KJORING;
	}//if
	
	// Send resultat til brukergrensesnitt:
	penger_spart_Tf.text = besparelse.toFixed(2);
	
}//beregnKlikket()

/*
Kan lage testverdier i regneark:
1 A     B           C               D
2 km:	pris/liter:	type kjøring:	Resultat:
3 50	14	        0.05	        2.275     <--Formel som
4 50	14	        0.1	        4.55         kopieres nedover:    
5 500	15	        0.05	        24.375     =A3/10*B3*C3*0.65   
6 500	15	        0.1	        48.75
7           ...
*/

 

Oppgave 2

/*
	Bruk SoundChannel for å kunne starte og stoppe lyd flere ganger  
    Se side 251, 255 og 256

   (Bruk SoundTransform for å endre volum, balanse og slike ting.)
   (Se side 257.)

	Komponenter:
		Button:      navn:   start og stopp

*/

var lyd = new Sound();		        // Streaming fra fil
lyd.load( new URLRequest("lyd.mp3"));

// Alternativ: De to linjene over kan erstattes med:
//    var lyd: Sound = new MinLyd();
// hvis du har lagt filen i Library (File, Import to Library)
// og gitt lyden klassenavnet MinLyd i Linkage i Library

var sc: SoundChannel;

start.addEventListener(MouseEvent.CLICK, startKlikket);
stopp.addEventListener(MouseEvent.CLICK, stoppKlikket);

function startKlikket(evt: MouseEvent) {
	if(sc != null){
		sc.stop();
	}//if
	sc=lyd.play();
}//startKlikket()

function stoppKlikket(evt: MouseEvent) {
	if(sc != null) {
		sc.stop();
	}//if
}//stoppKlikket()

Oppgave 3

/*
	Prøve 09.04.2015 - Oppgave 3
	
	Komponenter: 
		FLVPlayback 2.5:
			navn: videospiller
			.source:   "video.f4v"
		Numeric Stepper:   
			navn: posisjon
			value, minimum, maximum: 0, 1, 100  
*/

// Henger lytterfunksjon på posisjon
posisjon.addEventListener(Event.CHANGE, posisjonEndret);

/*
	Lytterfunksjon
	Endrer posisjon i videofilen
*/
function posisjonEndret(evt: Event): void {
	trace(posisjon.value);		// debug
	videospiller.seekPercent(posisjon.value);
}//posisjonEndret()