Prøve IT2 - Gruppe B

Fokus på kapitlene 3, 4, 5, 6 og 9.

28.02.13

Del 1 - Teori - 10:00 - 11:30

Leveres på papir - Ingen hjelpemidler

1.

Lag kode med for-løkke som skriver ut dette mønsteret i Output-dialogen i Flash:

55555

4444

333

22

1     
for(var i:int = 5; i > 0 ; i--) {     //Teller nedover 5,4,3,2,1  

   var linje: String = "";            //Bygger opp en linje

   for(var n:int = 0;n < i; n++) {

      linje += String(i);             //Med n ganger tall n

   }//for n

   trace(linje);

}//for i

2. I resten av oppgavene bruker vi nettstedet for kjøreskolen (Eksamen H 2008) som eksempel.

Vi har en tabell:

var svar: Array = [true, true, false, true, false, true, true, false, true, true];

som inneholder Boolske verdier som angir om en bruker har svart riktig eller ikke på 10 spørsmål, der spørsmålsnumrene
0,1,2, ... , 9 er indeksverdier for tabellen.

Skriv de instruksjoner som er nødvendige for å finne ut hvor mange riktige svar en bruker har ut fra en slik tabell
og legg svarene i en tall-variabel med navn antall_riktige.

 

var antall_riktige: int = 0;
for(var i:int = 0; i < svar.length; i++) {   

   if( svar[i] ) {

      antall_riktige++;      //Teller opp hvis svar[i] er true

   }//if 

}//for

3.

Lag en funksjon som returnerer antall riktige hvis den mottar en tabell slik som i oppgave 2.

Funksjonen skal ha følgende form:

function antallRiktige(svartabell:Array): int {

   ...

   ...

}//antallRiktige()

 

function antallRiktige(svartabell:Array): int {  

   var antall: int = 0;

   for(var i:int = 0; i < svartabell.length; i++) {   

      if( svartabell[i] ) {

         antall++;      

      }//if 

   }//for

   return antall;

}//antallRiktige()

4.

Vi antar vi har planlagt følgende datastruktur for Quizprogrammet med trafikkspørsmål:

quiztabell:

svartabell:

Lag en funksjon som returnerer antall riktige hvis den mottar en svartabell slik som vist i figuren over.
(Se oppgave 2 og 3, men legg merke til at svartabellen nå inneholder objekter på formen {svarnr: x, riktig: true }.)

Funksjonen skal ha følgende form:

function antallRiktige(svartabell:Array): int {

   ...

   ...

}//antallRiktige()

 

function antallRiktige(svartabell:Array): int {  

   var antall: int = 0;

   for(var i:int = 0; i < svartabell.length; i++) {   

      if( svartabell[i].riktig ) {

         antall++;      

      }//if 

   }//for

   return antall;

}//antallRiktige()

5.

Se figuren med tabellen quiztabell i oppgave 4. Den vil inneholde data og se omtrent slik ut:

var quiztabell: Array =

   [

      {sporsmal: "Hvor gjelder forbudsskilt hvis...",

       bildenavn: "stoppskilt.jpg",

       alternativer: Array = ["Fra skiltet ... opphevet",

                              "Fra skiltet ... fremover",

                              "Fra skiltet ... vegkryss",

                              "Strekningen fra ... etter"],

      riktignr: 2

   ];

Lag en funksjon sjekker om brukeren har svart riktig på spørsmål med angitt nummer nr og
setter riktig verdi i egenskapen riktig i svartabellen svartabell ved å sammenligne med fasiten
i egenskapen riktignr i quiztabellen quiztabell. (Vi forutsetter at egenskapen svarnr i svartabellen allerede
har fått riktig verdi.) Funksjonen skal ha formen:

function sjekkSvar(nr: int): void {



   ...

   ...

}//sjekkSvar()

 

function sjekkSvar(nr: int): void {     

   if( svartabell[nr].svarnr == quiztabell[nr].riktignr ){      // Hvis brukersvar lik riktig    

      svartabell[nr].riktig = true;                             // Setter riktig-egenskapen 

   }//if

}//sjekkSvar()

Del 2 - Praktisk - ca.10:30 - 11:30

Leveres i It's Learning-mappen "Leveringsoppgave 28.02.2013" - Alle hjelpemidler

Lag en forenklet utgave av trafikk-quizprogrammet med bare to alternativ på hvert spørsmål,
uten bilder og med bare Neste-knapp.

Når bruker trykker Neste-knappen etter siste spørsmål skriver vi bare ut antall riktige svar
i output-dialogen i Flash med trace()-kommandoen.

Bruk tabellstrukturen som angitt i oppgave 4, men kutt ut bildenavn og to av alternativene.

 

En løsningsskisse for oppgave 2 i eksamen H2008,

som er en mer fullstendig versjon av denne oppgaven,

vil bli lagt ut senere.