AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne



Like dokumenter
Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.

Ol Emnekode: Faglig veileder: I L~~25 A - E!8 Viho~d~.1. F ntall oppga~ forsiden): ;;;handskr~vn-;

Antall sider (inkl forsiden): 6. Alle trykte og håndskrevne

ANTDAGER = 358; I Ifra nyttår 08 til 08 1ed julaften

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

Antall sider (inkl. forsiden): 6

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

Les gjennom hele oppgavesettet før du begynner å b,svare deloppgavene.

Gjennomgang av eksamen H99

Les gjennom hele oppgavesettet før du begynner å besvare deloppgavene.

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

G høgskolen i oslo. Emne: Algoritmer og datastrukturer. Emnekode: 80131A. Faglig veileder: UlfUttersrud. Gruppe(r) : Dato:

HØGSKOLEN I SØR-TRØNDELAG

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Tittel Objektorientert systemutvikling 1. Eksamenstid, fra-til Ant. oppgaver 6

UNIVERSITETET I OSLO

Eksamensoppgave i IFUD1025 Programmering i Java

UNIVERSITETET I OSLO

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

Eksamen IN1010/INF1010 våren 2018

LO191D/LC191D Videregående programmering

HØGSKOLEN I SØR-TRØNDELAG

EKSAMEN. Objektorientert programmering

UNIVERSITETET I OSLO

Ny/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00

Emnekode: I-Dato: I ~ Antall oppgaver: I I Aiie -sk:i=rftlige - bme trykte og håndskrevne, samt alle typer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

EKSAMEN med løsningsforslag

Eksamensoppgave i IFUD1025 Programmering i Java

INF106 Objektorientert programmering

HØGSKOLEN I SØR-TRØNDELAG

1 t:n'v'\ekode LO325E. Alle ~vne og trykte. GOd'"j(jent kalkulator

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL

HØGSKOLEN I SØR-TRØNDELAG

Faglærerne prøver å besøker eksamenslokalet mellom klokka 15 og 16 for å oppklare eventuelle uklarheter og feil i oppgaveteksten.

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

Oppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Endret litt som ukeoppgave i INF1010 våren 2004

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

EKSAMEN. Emne: Algoritmer og datastrukturer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL

UNIVERSITETET I OSLO

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

TDT4100 Objektorientert programmering

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

UNIVERSITETET I OSLO

Løsningsforslag til eksamen i INF1000 våren 2006

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

~ta11 oppgaver: 4. Nle skriftlige hjelpemidler-både trykte og håndskrevne, er tillatt

INF1000 Metoder. Marit Nybakken 16. februar 2004

INF1010 Grafisk brukergrensesni3 med Swing og awt del 1 INF1010

EKSAMEN. Algoritmer og datastrukturer

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

UNIVERSITETET I OSLO

81,9(56,7(7(7,26/2 'HWPDWHPDWLVNQDWXUYLWHQVNDSHOLJHIDNXOWHW

Eksamensoppgave Vår 2012 Ordinær eksamen Bokmål. Videregående programmering. Eksamensdato: Studium/klasse: 2. klasse

UNIVERSITETET I OSLO

HØYSKOLEN I OSLO, AVDELING FOR INGENIØRUTDANNING

EKSAMEN I EMNET INF100/INF100-F Grunnkurs i programmering (Programmering 1) Fredag 16. desember 2005 Tid: 09:00 14:00

TDT4100 Objektorientert programmering

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

UNIVERSITETET I OSLO

Informasjon Prøveeksamen i IN1000 høsten 2018

UNIVERSITETET I OSLO

EKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

UNIVERSITETET I OSLO

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

Grafiske brukergrensesnitt med Swing og AWT

Algoritmer og Datastrukturer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I)

2 Om statiske variable/konstanter og statiske metoder.

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl

Oppgave 1. Sekvenser (20%)

Transkript:

I EKSAMENSOPPGA VE Side av 8 AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: PROGRAMMERING Grupper: laa, 1AB, lac, lia Eksamensoppgaven av: Tillatte hjelpemidler: best~r Antall sider (Inkl forsiden): 8 Alle trykte og håndskrevne Emnekode: LO 127 A Dato: 16.12.2005 Antall oppgaver: 6 I Faglig veileder: Eva Vihovde. Eksamenstid: 09.00-14.00 Antall vedlegg: O Kandidaten må selv kontrollere at oppgavesettet er fullstendig. Ved eventuelle uklarheter i oppgaveteksten skal du redegjøre for de forutsetninger du legger til grunn for løsningen. Les gjennom hele oppgavesettet før du begynner å besvare deloppgavene.. Hold deg til de Identifikator-navnene som er brukt I oppgaveteksten, dog med unntak av metodenes parametemavn som kan velges fritt.. Dersom det er en deloppgave du ikke f~r til, bør du g~ videre til den neste. F~r du bruk for en metode fra en deloppgave du ikke har gjort, kan du gjøre kall p~ metoden selv om du Ikke har programmert den. Du forutsetter da at den utfører det den er tiltenkt ~ gjøre. Det er viktig at du svarer (I alle fall litt) p~ alle deloppgavene.. Merk deg at svært mye av programmeringen g&r ut p3 ~ gjøre kall p& passende metoder av dem som er omtalt I oppgaven. Merk deg derfor hva de omtalte metodene utfører. Pass p& ved metodekall at argumenter er av riktig type og sørg for ~ gjøre bruk av dataene som metodene returnerer.. Svar nøyaktig p~ det du blir spurt om. Dersom du mener at oppgaveteksten Ikke gir deg tilstrekkelig Informasjon eller er uklar, kan du gjøre dine egne forutsetninger. Gjør i s~ fall rede for disse.. Ved sensur vil alle bokstaverte deloppg8ver (a, b, c,...) telle like mye, med unntak av at deloppgave 1 a) teller dobbelt. --. W Studieleders/ Fagkoordlnators,underskrift: I

EKSAMENS OPPGAVE Side 2 av 8 BILVERKSTED Du skal lage (deler av) et program som skal brukes ved et bilverksted. Programmet skal ha en modul til bruk for verkstedets kundemottak. Denne skal kunne motta oppdrag p~ reparasjoner for verkstedet. Vinduet med tittel "Mottak av verkstedoppdrag" brukes til dette. Det er gjengitt lenger ute i oppgavesettet. I tillegg skal programmet ha en modul beregnet for verkstedpersonellet, som de kan bruke n~r de har behandlet en bil. Vinduet med tittel "Verkstedvindu" brukes til dette. Ogs~ dette vinduet er gjengitt lenger ute i oppgavesettet. Først tar imidlertid oppgavesettet for seg den datastrukturen som de to vinduene skal kommunisere med. Av hensyn til oppgavens størrelse er programmet svært forenklet i forhold til det som normalt ville kreves av et slikt program, men det er bygget opp slik at det er mulig å legge til ønsket funksjonalitet ved senere anledninger. Det er et felles krav for alle klassene som inngår i oppgaven at alle datafelter skal ha privat aksess. Der det ikke er spesifikt angitt hva datatypen skal være, må du selv velge en passende datatype. NB! Noen av metodene som er beskrevet i oppgaveteksten er markert med at du ikke skal programmere dem. Disse metodene kan du fritt gjøre kall p~ der du m~tte ha bruk for det. All innlesing av data skal foretas fra de vinduer som er nevnt ovenfor. OPPGAVE 1 Klassen Reparasjon definerer reparasjonsoppdragene som verkstedet kan utføre. Den skal ha datafelt for følgende: En streng som angir datoen for n~r verkstedoppdraget er mottatt. (Den trenger ikke ha noe bestemt format.). En beskrivelse av hva som skal repareres. Et datafelt som indikerer om reparasjonen m~ være utført for at bilen skal oppfylle EUkravene. Et datafelt som indikerer om reparasjonen er ferdig utført eller ikke. Et oppdragsnummer (heltall).. Eventuelt annet som du finner nødvendig ~ ha. Klassen skal ha en konstruktør som utfører nødvendig initialisering. De tre første av de nevnte datafeltene skal initialiseres via parametre. Oppdragsnumre skal tildeles automatisk. Første oppdrag skal f~ nummer l, deretter tildeles numre fortløpende i stigende rekkefølge. Klassen skal ha følgende metoder:. En get-metode for oppdragsnummer.. En metode som kan brukes til å sjekke om reparasjonen er ferdig utført eller ikke.. En metode som kan brukes til å sjekke om reparasjonen er et krav som må være oppfylt for at bilen skal være EU-godkjent eller ikke.. En set-metode som kan brukes til å registrere at reparasjonen er ferdig utført.. En tostring-metode. Teksten som den returnerer skal Inneholde all registrert informasjon om reparasjonen. Teksten skal være satt opp på en lesbar og forståelig måte. a) Definer klassen Reparasjon med datafelter og metoder i samsvar med beskrivelsen ovenfor.

Side 3 av 8 OPPGAVE 2 Nedenfor er det gitt en skisse av klassen Bil. Den representerer en enkelt bli som verkstedet har mottatt et oppdrag for. De to første datafeltene skal InitIaliseres via konstruktørparametre. public class Bil private St ring kjennetegn; private int registreringsår; private Reparasjon[) reparasjoner; private int antreparasjoner - O; 'I antall registrerte reparasjoner < Konstruktør med nødvendige parametre, se ovenfor. > < Foretar nødvendig initialisering. Dersom registreringsåret er tidligere enn 1990, skal det reserveres plass for 25 reparasjoner, er det mellom 1989 og 2000, skal det reserveres plass for 15 reparasjoner, ellers for 10 reparasjoner. > public... getkjennetegn() < get-metode for kjennetegn> public boolean regreparasjon Reparasjon rep) < Registrerer et nytt oppdrag for reparasjon, forutsatt at det er plass for dette. Returverdien indikerer utfallet. > II Du kan anta at objektene ligger kontinuerlig etter hverandre og at II ingen objekter blir slettet fra arrayen. public Reparasjon finnreparasjon ( int nummer) < Leter etter og returnerer reparasjon som inneholder oppdragsnummer lik parameterens verdi. Returnerer null i tilfelle denne ikke finnes. > public boolean ereugodkjent() J < Sjekker om bilen er EU-godkjent. Det er tilfelle dersom alle registrerte reparasjoner som er EU-krav er ferdig utført. > public Strinq tostrin9( ( Skal returnere informasjon om kjennetegn, registreringsår, all registrert informasjon om eventuelle reparasjoner, samt informasjon om bilen er EU-godkjent eller ikke. > a) Programmer klassens konstruktør, samt metodene getkjennetegn og regreparasjon. b) Programmer metodene finnreparasjon og ereugodkjent. c) Programmer tostring-metoden.

Side 4 av 8 OPPGAVE 3 public cla.s Bilverksted, private Bi1[1 ~ilf;e9i$te:'f private int ant&iler - O; 'I antall registrert. buer: public BilverkSted( int kapasitet) Public St ring bilinfo( String kjennetegn) l P~lic String nyreparasjon( St ring kjennetegn, St ring dato, ; St ring beskrivelse, boolean ereukrav ) p~ivate Reparasjon finnrepara$jon( int nummer f public String visreparasjon int nummer)

Side 5 av 8 public Strinq sjekkeuqodkjenninqc Strinq kjennetegn ) < Sjekker om bilen med mottatt kjenneteqn er EU-qodkjent eller ikke og returnerer opplysninqer om dette. > } } II Denne metoden skal du ikke programmere. public boolean settreparasjonutført( int nummer < Registrerer at den reparasjon det mottas oppdragsnummer for er ferdig li utført. Returverdien indikerer om reparasjonen ble funnet i registeret. > a) Programmer klassens konstruktør, samt metoden bilinfo. b) Programmer metoden nyreparasjon. c) Programmer metoden finnreparasjon. d) Programmer metodene visreparasjon og sjekkeugodkjenning. OPPGAVE 4 Bildet viser det vinduet som skal brukes av verkstedets kunndemottak ved registrering av nye oppdrag, samt for å f~ vist informasjon om en bestemt bli. Nedenfor følger en skisse av klassen som definerer vinduet. (Nødvendige import-instruksjoner er ikke tatt med.) public class Mottaksvindu extends JFrame implements ActionListener private Bilverksted verkstedet; private JTextField kjennetegnsfelt, årsfelt, datofelt, kravfelt private JTextArea info;

Side 6 av 8 private JButton registreringsknapp, infoknapp, reparasjonsknapp, kontrollknapp; public Mottaksvindu Bilverksted v ) super ( "Mottak av verkstedoppdrag" ); verkstedet - v; kjennetegnsfelt - new JTextField( 15 ); årsfelt - new JTextField( 5 ); datofelt - new JTextField( 6 ); info - new JTextArea( 7, 40 ); kravfelt - new JTextField( 2 ); registreringsknapp - new JButton( "Registrer bil iverkstedregisteret" registreringsknapp.addactionlistener( this ); infoknapp - new JButton( "Vis info om bil" ); infoknapp.addactionlistener( this ); reparasjonsknapp - new JButton( -Bestill reparasjon" ); reparasjonsknapp.addactionlistener( this ); kontrollknapp - new JButton( "Sjekk om bilen er EU-godkjent" ); kontrollknapp.addactionlistener( this ); laglayout(); setdefaultcloseoperation( JFrame.EXIT_ON_CLOSE ); setsize( 500, 350 ); setvisible( true ); II Denne metoden skal du ikk. programmere public vold laglayout() < Legger ut komponenter for å gi det vinduet som vises på bildet II Kan brukes til å gi passende tilbakemeldinger til brukeren private void vismelding( String melding) ( JOptionPane. showmessagedialog ( this, melding public vold registrerbi Leser inn data for en ny bil og foretar registrering av den Brukeren skal få passende tilbakemelding- >. public vold visbilinfo() Skriver ut i utskriftsområdet al det leses inn kjennetegn for. > registrert nformasjon for den bil PUblic void bestillreparasjon( Leser inn data for registrering av et nytt oppdrag på en reparasjon av en bil og foretar registreringen. > public void sjekkeugodkjenning < Leser inn kjennetegn for en bil og skriver ut i utskriftsområdet informasjon om den er EU-godkjent eller ikke. >

~ Side 7 av 8 ne roet :ten ska 't-';,..nda du ikke "formed( programmere ActionEvent 'oretar er kli] kall p ~ket på avhengi av hvilket: knapp det a) Programmer de to metodene vi og sjekket,dk.nq b) Programmer metoden sti: l. Metoden skal gi passende tilbakemelding til brukeren c) Programmer metoden 1: brukeren. aras Metoden skal gi passende tilbakemelding til OPPGAVES Bildet viser vinduet som skal brukes av verkstedpersonellet OPPdragSnUmmerr J ~ ~ Nedenfor følger en skisse av klassen som definerer vinduet. (Nødvendige Import-instruksjoner er Ikke tatt med.),ub1,ss 'ksted ds.rop 10 :ener private Bilverksted v rkst private JTextField op drag private JTextArea inf private JButton infok app iqk E ~ed :uper( "Verkstedvi ju erkstedet - Vi.ppdragsfelt - ne w ~extfj nfoknapp - new J-Bu :on (. nfoknapp.addactic.stene erdigknapp - new t :erdigknapp.addact nfo - new JTextAI nfo.seteditable( aglayout() i,etdefaultcloseope 1~t:Si7Pf A~O.?r.n eat 7 false fø

Side 8 av 8 setvisible( true / / Denne metoden skal du ikke programmere public void laglayout() < Legger ut komponenter for å gi det vinduet som vises på bildet I1 Kan brukes til å gi passende tilbakemeldinger til brukeren private void vismelding( String melding) JOptionPane. showmessagedialog ( this, melding ); II Denne metoden skal du ikke programmere. public vold visreparasjon() < Leser inn oppdragsnummer for en reparasjon og skriver ut alle opplysninger som er registrert for den, i tilfelle den finnes public void ferdigstill() Leser inn oppdragsnummer for en reparasjon og registrerer at den nå er utført. Skriver ut de opplysninger som er registrert på den etter at dette er registrert. > II Denne metoden skal du ikke programmere. public void actionperformed( ActionEvent e. < Foretar kall på riktig metode, avhengig av hvilken knapp det er klikket på. > a) Programmer metoden ferdigstill OPPGAVE 6 a} Programmer en klasse som inneholder det som er nødvendig for at programmet skal kunne kjøre. (Det forutsettes at b~de denne klassen og de andre klassene som er omtalt I oppgaven er lagt inn I et JBullder-prosjekt p~ riktig m~te.)