• No results found

itf10213---innforing-i-programmering---03122013

N/A
N/A
Protected

Academic year: 2022

Share "itf10213---innforing-i-programmering---03122013"

Copied!
15
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

Høgskoleni østfold

EKSAMEN

Emnekode: Emne:

ITF10213 Innføring i programmering (Høst 2013) Dato: 03.12.2013 Eksamenstid: kl 09.00 til kl 13.00

Hjelpemidler: Faglærer:

Harald Holone

Fire egenproduserte A4-sider. Børre Stenseth

Eksamensoppgaven:

Oppgavesettet består av 15 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

Sensurdato: 03.01.2014

Karakterene er tilgjengelige for studenter på studentweb senest 2 virkedager etter oppgitt sensurfrist. Folg instruksjoner gitt på: www.hiof.no/studentweb

(2)

Eksamen i innføring i programmering

Høsten 2013

Les hele oppgavesettet for du begynner å løse oppgavene. Husk å planlegge tiden din godt.

1 Begreper (20%)

Forklar med korte eksempler hva vi forstår med disse nøkkelor- dene i Processing: finalog new.

Forklar med korte eksempler hva vi forstår med disse nøkkelor- dene: extendsog instanceof.

Hva er forskjellen på en array og en ArrayList?

Hva betyr nøkkelordet return?

2 Forståelse (30%)

I en tekstfil ligger det et antall linjer. Hver linje inneholder et antall pos- itive heltall med semikolon (;) som skilletegn. Vi vet ikke hvor mange linjer filen har, og vi vet ikke hvor mange tall det er på hver linje. Det vi vet er at det er minst én linje, at det firmes minst ett tall på hver linje og at alle linjene har riktig format. Sketchen nedenfor benvtter en slik fil.

intnchosen;

int best;

void setup(){

size(500,500);

frameRate(1);

1

(3)

loadData("resultater.csv");

void loadData(String filename){

// a

String [] lines=loadStrings (f ilename) ; chosen=new int [lines . length] ;

best=0;

// b

f or (int ix=0; ix < lines . length; ix++){

chosen [ix] =0;

String [] numbers=lines [ix] . split (" ; ") ; // c

f or ( int j =0 ; j<numbers . length; j++){

int nurnber=int (nurnbers [j] ) ; if (nurnber > chosen[ix] )

chosen [ix] =number ;

// d

for (int ix=0; ix < chosen . length; ix++){

if (best < chosen[ix] ) best=chosen[ix] ; // e

for(int ix=0;ix < chosen.length;ix++) println(chosen[ix]);

println("

println(best);

void draw ( ) {

background (255) ; fill (0) ;

text (chosen [ (int) frameRate % chosen. length] , 100 , 100) ;

Forklar hva som skjeri loadDataO. Bruk kommentarmerkene (a,b,c,d,e) som referansepunkter i din beskrivelse.

Hva blir utskriften fra loadData dersom datafila, "resul- 2

(4)

tater.csv" ser slik ut:

12;34;76;1;91;20;12;1;87;12 112;314;7;1;19;201;19

125;34;6;1;92;202;29;1 312;34;61;1;29;203;128 Forklar hva som skjer i draw O.

Under ser du to eksempler på bruk av tekststrenger i lister.

Hva oppnår vi med å bruke StringList istedet for ArrayList<String>?

Tips: Vedlagt er dokumentasjonen for datatypen StringList slik den er beskrevet i Processing.

StringListsl = new StringList();

sl.add("Huha!");

ArrayList<String>al = new ArrayList();

al.add("Huha!");

3 Utvikling (50%)

Anta følgende klasse:

class Curve{

String title;

float[] data;

float maxValue;

Curve(Stringtitle, float[]data){

this.title=title;

this.data-data;

maxValue=0;

for(int ix=0;ix< data.length;ix++){

if(data[ix]>maxValue) maxValue=data[ix];

3

(5)

/*

Tegner et histogrammed vertikalesøyler.

Hver søyle representereren verdi

*/

void drawHistogram(){

/*

Tegner en sammengengendelinje mellom verdipunktene.

Verdipunktenemarkeresmed en liten sirkel.

*/

void drawCurve(){

/*

Tegner et kakediagram

der hvert kakestykkerepresentereren verdi

*/

void drawPieChart(){

Du skal implementere enten drawHistogram()ellerdrawCurve . Histogrammet/kurven skal benytte hele vinduets høyde og bredde (height, width). Tittel skal være med i nærheten av diagrammet. Bruk fullstendig og kommentert kode. Husk at gode kommentarer til en viss grad kan kompensere for man- gelfull kode.

Lag en skisse av hvordan resultatet av din drawHistogram eller drawCurveOvil se ut. Anta følgende datasett: {4 , 20 , 8 , 10}

Du skal implementere metoden drawPieChart0 . Kakedia- grammet skal benytte hele vinduets høyde og bredde (height, width). Tittel skal være med i nærheten av diagrammet. Tips:

Se dokumentasjonen for arc ( . . . ) som er vedlagt oppgaveset- tet. Bruk fullstendig og kommentert kode. Husk at gode kom- mentarer til en viss grad kan kompensere for mangelfull kode.

Lag en enkel skisse av hvordan resulatet av din implemen- tasjon av drawPieChart()vilse ut. Anta samme datasett som i oppgave b).

4

(6)

e) Lag et utkast til en hovedsketch som lar brukeren velge mellom de forskjelligefremstillingsmåtene (kurve, histogram, kakediagram). Bruk fullstendig og kommentert kode.

SLUTT PÅ OPPGAVESETTET

Vedlegg:Processing-dokumentasjonforStringList, arc() og map 0 .

5

(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)

Referanser

RELATERTE DOKUMENTER

Når det gjelder spørsmålet om i hvilken grad man selv kan bestemme i svært høy grad, eller i høy grad, hvilke opp- gaver man kan få, er det ingen forskjell mellom dem som ofte har

Henrik Ibsen satte lesere inn i tematikken rundt varsling og varslingens represalier i «En folkefiende» allerede i 1882, og gir oss innblikk i hvordan varsling kan være forbundet

Hvis dette blir et populært tilbud blant de eldre, vil det føre til at det blir vanskeligere for bedriftene å beregne hvor lenge eldre ansatte vil fortsette i arbeid, og

Dersom materialet er et tilfeldig utvalg, synes den økte innleggelsesrisikoen å være signifikant for gruppe II (p&lt;0,05) og gruppe II (p&lt;0,01) menn.. Det er mulig at denne

Hertil kommer også det at foreldrene leser selv og at foreldrene har positive holdninger til lesing (og ikke forbinder lesing til noe de utelukkende driver med når de må)»?.

Slik kan barn også bli hjulpet til å finne andre voksne å kny e seg til dersom egne foreldre er døde eller for traumatisert selv til å ta seg av barnet.. Mange barn kommer ut av

Når arbeidstaker fratrer pga arbeidsgivers oppsigelse uten rimelig grunn / arbeidsgivers brudd på forpliktelser(tredje ledd):. •

Det er heller ikke så lett å forklare hvorfor vi har valgt å la dårlig syn og tannhelse behandles særskilt: I svært mange land, inkludert både Frankrike og Argentina