Prøve IT2 - Med vekt på tabeller og funksjoner. (Kapittel 5 og 6.)

28.01.2016

Del 1 - Uten hjelpemidler - Leveres på papir før man starter på Del 2.

1.

Deklarer en tabell-variabel (array) med navn tall som inneholder tallene:

17,3,4,11,9,8,15,3

2.

Skriv instruksjonen som sorterer tabellen i oppgave 1 i synkende rekkefølge.

3.

Deklarer en to-dimensjonell tabell med navn tall som har dette innholdet:

1 4 9 16
1 8 27 64

4.

Deklarer en tabell med objekter (vanlig tabell med assosiative array som elementer), med navn personer, som har dette innholdet:

navn: Schwank
yrke: lege
navn: Woxholdt
yrke: sjåfør
navn: Ferkenberg
yrke: rørlegger

5.

Vi har tabeller som inneholder siste 7 dagers temperaturer på forskjellige steder, eksempelvis:

var freksneset: Array = [3, 2, -5, -2.5, 1, 2, 2];

a) Lag en funksjon med navn mimimumstemperatur som tar imot en slik tabell som parameter og returnerer den minste temperaturen.

(Altså på formen: function minimumstemperatur(t: Array):Number { ... } )

b) Lag en funksjon med navn kuldedager som tar imot en slik tabell som parameter og returnerer antall dager med negative temperaturer.

6.

Lag en funksjon med navn sum_Oyne som simulerer kast av to terninger og returnerer summen av antall øyne på de to terningene.
(Bruk Math.random() funksjonen.)

7.

Vi har en variabel med navn bestillinger, som inneholder objekter (assosiative array) med informasjon om bestillinger som viser navnet på kjøper, hva de har kjøpt, prisen på det de har kjøpt og antallet de har kjøpt.

Tabellen kan se omtrent slik ut:

var bestillinger: Array = [

   {kunde: "Freksnes", vare: "Dippedutt", pris: 77.99, antall: 2 },

   {kunde: "Dusterud", vare: "Duppeditt", pris: 27.99, antall: 1 },

   {kunde: "Svorken",  vare: "Duppeditt", pris: 27.99, antall: 3 },

   {kunde: "Svenklien",vare: "Ting",      pris: 56.99, antall: 2 },

        ...

   {kunde: "Freksnes",     varenavn: "Greie",         pris: 22.99,   antall: 1 }

];

Lag en funksjon med navn antall_Solgt som tar imot en slik tabell og et varenavn som parameter, og finner og returnerer antallet som er solgt totalt av denne type vare.

(Hvis vi etter å ha laget funksjonen utfører instruksjonen:

var a: int = antall_Solgt(bestillinger, "Ting");

skal variabelen etterpå inneholde hvor mange "Ting" det er solgt totalt. )

8.

Luresen og Snytenstrup driver bruktbilbutikk og har lagret bilene sine i en tabell som ser omtrent slik ut (bare tre første og siste element i tabellen er vist):

var bruktbiler: Array =

   [ { merke: "Volvo", farve: "Blå",     pris: 110, status: "ok" },

     { merke: "Fiat" , farve: "Rød",     pris: 160, status: "strøken"},

     { merke: "Lada" , farve: "Rustrød", pris: 68,  status: "vrak" },

                 . . .

     { merke: "Audi",  farve: "Hvit",    pris: 170, status: "ok" } ];

a) Skriv kode som endrer prisen på Fiat-bilen til 150.

b) Skriv kode som sorterer denne tabellen etter fallende pris.

c) Lag en funksjon som finner og returnerer samlet verdi av alle bilene når en slik tabell blir brukt som parameter til funksjonen.

d) Lag en funksjon med en slik tabell som parameter, som går gjennom tabellen og endrer prisen til 5 på alle biler som har status "vrak".

9.

Gitt en todimensjonal avstandstabell som ligger i variabelen avstander:

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.)

Lag en funksjon som finner avstanden mellom to av disse stedene når stedsnavnene brukes som inngangs-parametere til funksjonen.


Del 2 - Praktisk

Leveres i It's Learning-mappen "Prøve 28.01.16 - Praktisk" - Alle hjelpemidler
Må levere del 1 før hjelpemidler taes frem.

Se på krypteringseksemplet side 129 - 132 i læreboken.

Lag din egen tabell med alle store og små bokstaver i alfabetet i tilfeldig rekkefølge.
Tabellen skal brukes til å kryptere en tekstmelding ved å skifte ut alle bokstavene med indeksen bokstaven har i den tabellen du lagde.

Lag en applikasjon som tar imot en tekstmelding fra brukeren i et TextArea (se i Components-menyen i Flash), krypterer meldingen og skriver ut den krypterte meldingen i et annet TextArea når brukeren har trykket på en knapp med navnet "Krypter".

Hvis du rekker det kan du lage en knapp med navnet "Dekrypter" som dekrypterer en kryptert melding som brukeren har oppgitt. Da har du en mulighet til å sjekke om programmet virker ved å dekryptere tilbake til det du startet med.