AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
|
|
|
- Ida Larsen
- 9 år siden
- Visninger:
Transkript
1 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via til [email protected]. Besvarelsen skal være forsynet med navn, personnummer, gruppenummer samt uddannelsesretningen. Besvarelsen skal være afleveret senest den 18.maj Pensum: Pensum beskrives i forhold til lærebogen: Introduction to Programming Using Java, Fifth Edition, David J. Eck. Pensum er følgende afsnit i bogen: Afsnit Afsnit Afsnit Afsnit Afsnit Afsnit Afsnit 9.1 1
2 Opgave 1 Implementér en klasse (f.eks. Opgave1) som indeholder følgende metoder fra opgave 1.1 til opgave 1.4. Metoderne skal afprøves via en main metode på samme klasse. Opgave 1.1 Implementér en statisk metode ud fra følgende: Som parameter anvendes to decimaltal a,b af typen double. Metoden returnerer kvadratroden af a*a+b*b. Opgave 1.2 Implementér en statisk metode med følgende egenskaber: Som parameter anvendes to heltal af typen int. Hvis begge heltal er negative returnerer metoden 0 og ellers returnerer metoden summen af de to heltal. Opgave 1.3 Implementér en statisk metode med følgende egenskaber: Som parametre anvendes tre heltal, metoden skal returnere det største af de tre tal. Opgave 1.4 Implementér en statisk metode med følgende egenskaber: Som parameter anvendes datatypen char. Hvis parameteren indeholder et af følgende små bogstaver (vokaler): a, e, i, o, u, y, æ, ø og å, returnerer metoden true og ellers returnerer metoden false. Opgave 1.5 Følgende kode er blevet implementeret public interface Person public String getnavn(); public class Ansat implements Person private String navn; private double løn; public double getløn() return løn; Når ovenstående kode kompileres modtager programmøren følgende fejl: Ansat.java:1: Ansat should be declared abstract; it does not define getnavn() in Ansat public class Ansat implements Person Men det er ikke meningen at klassen Ansat skal være abstrakt. Hvad er problemet? 2
3 Opgave 2 Implementér en klasse (f.eks. Opgave2) som indeholder følgende statiske metoder: public static double genover20(int[] array ) // Metoden returnerer gennemsnittet af alle de tal i arrayet array, der er større end 20 public static void opdateralle(int[] array, int x, int y) //Metoden erstatter alle forekomster af x i array med y //Hvis f.eks. array indeholder [12, 7, 4, 6, 2, 6, 1, 2, 3], og der kaldes opdateralle(2,77) skal //arrayet efter kaldet indeholde [12, 7, 4, 6, 77, 6, 1, 77, 3]. public static int[] returnnegative(int[] array) //Metoden returnerer et array af heltal, som indeholder alle de tal i array, der er negative. //Hvis f.eks. array indeholder elementerne [2, -3, 1, -12, 5] skal metoden returnerer et array med //elementerne [-3, -12] public static boolean containsx( int[] array, int x) //Metoden returnerer true, hvis der er en forekomst af tallet x i array ellers false public static int countx( int[] array, int x) //Metoden returnerer antal af gange x forekommer i arrayet array Metoderne skal afprøves via en main metode på samme klasse 3
4 Opgave 3 Denne opgave drejer sig om fletning af to sorterede lister. En fletning tager to sorterede lister som input og producerer ud fra disse en ny sorteret liste. Afhængigt af formålet er der forskellige typer af fletninger, bl.a. total fletning, hvor den nye liste indeholder alle elementer fra de to inputlister. Fx vil den totale fletningen af: blive a = 1,2,3,4,6,8,12,15; b = 2,4,5,6,7,9,11,12,17,18; 1,2,2,3,4,4,5,6,6,7,8,9,11,12,12,15,17,18 I denne opgave er listerne blot arrays med heltal som elementer. Neden for er der en test-klasse, som kalder en metode totalflet. Implementér denne metode i henhold til ovenstående class Flet public static void main(string[] args) int[] a = 1,2,3,4,6,8,12,15; int[] b = 2,4,5,6,7,9,11,12,17,18; int[] c = totalflet(a,b); public static int[] totalflet(int[] a, int[] b) //Antag at a og b er sorterede. Metoden returnerer den totale fletning af a og b 4
5 Opgave 4 Hos Andelsboligforeningen Bytoften kan man købe og sælge andelsboliger. Når en andelsbolig sættes til salg bestilles der annoncer hos forskellige aviser i lokalområdet. Nedenstående viser et udsnit af systemet beskrevet ved et såkaldt klassediagrammet: husnr : String andelsværdi : double Andelsbolig Andelsbolig() Andelsbolig(husnr : String, andelsværdi : double) gethusnr() : String getandelsværdi() : double getannoncer() : java.util.arraylist 1 tekst : String pris : double 0..* Annonce Annonce(tekst : String, pris : double, avis : Avis) gettekst() : String getpris() : double getavis() : Avis 0..* 1 Avis navn : String getnavn() : String setnavn(navn : String) : void equals(o : Object) : boolean Opgave 4.1 Som det fremgår af klassediagrammet er en avis modeleret ved klasse Avis med følgende klasse medlemmer: Implementér klassen Avis en private instansvariabel navn af typen String set og get metoder til instansvariablen navn samt metoden equals, der override(r) metoden equals fra klassen java.lang.object. Opgave 4.2 Som det endvidere fremgår af klassediagrammet er en annonce modeleret ved klasse Annonce med følgende klasse medlemmer: en private instansvariabel tekst af typen String 5
6 en private instansvariabel pris af typen double en private instansvariabel avis af typen Avis (fremgår ikke direkte af figuren) get metoder til alle instansvariablerne tekst, pris, avis En constructor som initialiserer alle instansvariablerne. Implementér klassen Annonce Opgave 4.3 Klassediagrammet viser også en klasse Andelsbolig. Klassen repræsenterer naturligvis andelsboliger i forening og har i systemet ansvaret for at gemme oplysninger om hvilke annoncer der er knyttet til en andelsbolig bestilt i forbindelse med foreningens salgsaktiviteter. Klassen har følgende klasse medlemmer: en private instansvariabel husnr af typen String en private instansvariabel andelsværdi af typen double get metoder til instansvariablerne husnr samt andelsværdi en default constructor en constructor som initialiserer instansvariablerne husnr samt andelsværdi Endvidere, har klassen en private instansvariabel annoncer af typen java.util.arraylist, som skal anvendes til at opbevarer referencer til annonce objekter, der er knyttet til netop denne andelsbolig. (Listen fremgår ikke direkte af diagrammet) Slutteligt, har klassen en instansmetode public java.util.arraylist getannonce(), som er en get metode til instansvariablen annoncer. Implementér klassen Andelsbolig Opgave 4.4 Når en ny annonce skal oprettes i systemet overføres annonceteksten, annonceprisen samt avisreferencen til en metode på klassen Andelsbolig. Herefter er det andelsboligens ansvar at oprette annoncen og gemme denne i sin liste. Implementér følgende metode på klassen Andelsbolig: public void opretannonce(string tekst, double pris, Avis avis) //En annonce er oprette med tekst og pris. //Annoncen har referencen til avisen avis //Annoncen er gemt i andelsboligens annonceliste Opgave 4.5 Foreningens regnskab kræver en metode, som beregner den samlede annonceudgift knyttet til denne bolig. (Dvs. summen over de enkelte annoncepriser) Implementér følgende metode på klassen Andelsbolig: public double getannonceudgift() //metoden returnerer den samlede annonceudgift knyttet til denne andelsbolig 6
Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004
Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),
Ugeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2
Abstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Skriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Sommer 1999 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 15% Opgave 2 15% Opgave 3 8% Opgave
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2
DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld
DANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Klasser og nedarvning
Datalogi C, Efterår 2004 OH er, forelæsning 21/9-2004 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Opgaven til senere: Generalisere
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
A Profile for Safety Critical Java
A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren
DM502. Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/
DM502 Peter Schneider-Kamp ([email protected]) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Anvendelse af metoder - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur
Løsning af møntproblemet
Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet
University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to dele. Hver del har sin deadline, således
SWC eksamens-spørgsmål. Oversigt
SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition
Tree klassen fra sidste forelæsning
Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years
University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3
DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget
Hvad er Objekter - Programmering
Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som
Videregående Programmering for Diplom-E Noter
Videregående Programmering for Diplom-E Noter 1. Uddelegering Ét af de væsentlige principper i objektorienteret programmering er, at enhver klasse selv skal kunne "klare ærterne". Enhver klasse skal altså
Programmering i C. Lektion 4. 5. december 2008
Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )
Objektorienteret Programmering
Objektorienteret Programmering Struktureret Systemudvikling Jan Bendtsen Automation and Control Indhold Lidt om programmeringssprog Klasser i Java Klasser i C++ Oversættelse og kørsel af kode Et eksempel:
Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.
Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19
Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner
Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6
Singleton pattern i Java
Denne guide er oprindeligt udgivet på Eksperten.dk Singleton pattern i Java Denne artikel beskriver Singleton pattern og implementation i Java. Den forudsætter kendskab til Java men ikke til Singleton.
Løsningsforslag til Camp Let. Case Beskrivelse: Camp Let
Løsningsforslag til Camp Let Case Beskrivelse: Camp Let Firmaet Camp Let har til formål at udleje forskellige typer transportable ferieboliger. Det drejer sig i øjeblikket om campingbusser, campingvogne,
Hvordan vælger jeg dokumentprofilen?
Hvordan vælger jeg dokumentprofilen? Valget af OIOUBL profil i en konkret dokumentudveksling vil bl.a. afhænge af, hvilke OIOUBL profiler den anden part i udvekslingen understøtter. Et konkret eksempel
Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen
Programmering A IMADA Noter og opgaver Niels Kjeldsen & Jacob Aae Mikkelsen Med grundig korrektur og rettelser af Edmund Christiansen Noter til Programmering A INDHOLD Indhold 1 Indledning 3 2 Kom i gang
//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Specifikation Abstrakt OO OS-API Rev. 1.7. Specifikation. Abstrakt, objektorienteret operativsystem-api
Specifikation Abstrakt, objektorienteret operativsystem-api Indhold 1 Indledning... 3 1.1 Introduktion... 3 1.2 Formål... 3 1.3 Overordnede krav... 3 2 Ressourcer i OS-API et... 4 2.1 Tråde... 4 2.2 Timere...
METODER ARV KLASSER. Grundlæggende programmering Lektion 5
METODER KLASSER ARV Grundlæggende programmering Lektion 5 1 METODER Sekvenser af kode om samme emne 2 REPETITION Række af statements der udfører en handling Mindst én metode der hedder main Forskellen
BRP 6.9.2006 Kursusintroduktion og Java-oversigt
BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Bits, bit operationer, integers og floating point
Denne guide er oprindeligt udgivet på Eksperten.dk Bits, bit operationer, integers og floating point Denne artikel beskriver hvordan data gemmes som bits og hvordan man kan manipulere med bits. Den forudsætter
Software Construction 1 semester (SWC) Spørgsmål 1
Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /
Tabelbegrebet. Klassediagrammer (III) Oversigt. Anvendelse af Tabeller. Tabeller og qualified associations
Tabelbegrebet Klassediagrammer (III) Tabeller og qualified associations originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University
Test af It-komponent
Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side
DATALOGI 0GB. Skriftlig eksamen tirsdag den 6. januar 2004
Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0GB Skriftlig eksamen tirsdag den 6. januar 2004 Dette opgavesæt består af 6 nummererede sider. Eksamensdeltagerne bør straks
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Forelæsning Uge 3 Mandag
Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList
RMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007
RMI med BlueJ Tutorial lavet af Jákup W. Hansen TSU 2006 3.semester 11. desember 2007 Hvad er RMI? Når man arbejder med Distribuerede Systemer, som igen vil sige at man ønsker at flere end én komputer
Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering
Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af
Kursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
Kursus navn: Indledende programmering Kursus nr. 02101
Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 20. april, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
JavaScript. nedarvning.
JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man
DM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2017 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 6. april, 2017 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
