Kursus navn: Indledende programmering Kursus nr
|
|
|
- Alma Kristiansen
- 9 år siden
- Visninger:
Transkript
1 Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning Opgave 1: 15% Opgave 3: 10% Opgave 5: 35% Opgave 2: 10% Opgave 4: 10% Opgave 6: 20% Opgave 1 For en række DTU-kurser der afholdes over flere semestre ønskes foretaget et kursusudtræk. Oplysningerne om kurserne stammer fra en fil med én linie pr. kursus. Her er vist fire linier fra filen: E F E Januar F Juni F E Der er givet følgende erklæringer: HashSet<String> kurser = new HashSet<String>(); HashSet<String> semestre; Iterator<String> it; String nr; boolean tagmed; Nedenfor er vist en stump Java-kode svarende til behandlingen af en linie. Det kan antages, at iteratoren it er blevet initialiseret svarende til samlingen af ord (String) i den aktuelle linie: it =... ; nr = it.next(); semestre = new HashSet<String>(); while (it.hasnext()) semestre.add(it.next()); tagmed =!semestre.contains("januar") &&!semestre.contains("juni"); if (tagmed) kurser.add(nr); Kodestumpen tænkes udført fire gange svarende til at de fire linier i filen behandles én ad gangen i den rækkefølge hvori de står.
2 Angiv efter hver udførelse værdierne for de variable på tabelform (se nedenfor). Side 2 af 8 sider Elementerne i et HashSet<String> skrives i tabellen som en mængde. Fx skrives et HashSet<String> med elementerne "A" og "B" som mængden {A, B nr semestre tagmed kurser Opgave 2 Der er givet følgende to klasser: public class Biler { ArrayList<Bil> samling; public Biler() { samling = new ArrayList<Bil>(); samling.add(new Bil(Color.blue, "XL ")); samling.add(new Bil(Color.red, "TA ")); public class Bil { Color farve; String nummer; public Bil(Color farve, String nummer) { this.farve = farve; this.nummer = nummer; Beskriv hvad begrebet en tilstand - state - er og angiv så tilstanden for minebiler, idet Biler minebiler = new Biler();
3 Side 3 af 8 sider Opgave 3 Der er givet klassen CalcTest, her vist med konstruktoren udeladt: public class CalcTest { private int s = 20; private double[] a; public double average(int number) { double d = 0; for(int i=0; i < number; i++) d+= a[i]; return d/number; For hver af størrelserne s, a, number, d og i ønskes angivet om de er lokale størrelser, felter eller parametre. Angiv signaturen for metoden average() Opgave 4 Forklar og ret fejlene i nedenstående tostring()-metode: public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; public ClockDisplay(NumberDisplay h, NumberDisplay m) { hours = h; minutes = m; public String tostring() { return h + "." + m; hvor klassen NumberDisplay i uddrag ser sådan ud: public class NumberDisplay { private int value;... public String tostring() {...
4 Side 4 af 8 sider Opgave 5 Denne opgave drejer sig om ur-eksemplet fra lærebogens kapitel 3. På denne og den næste side er vist klasserne fra lærebogens Code 3.4 og Code 3.3 i forkortet form og uden kommentarer: public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; private String displaystring; public ClockDisplay(int hour, int minute) { hours = new NumberDisplay(24); minutes = new NumberDisplay(60); settime(hour, minute); public void timetick() { minutes.increment(); if(minutes.getvalue() == 0) hours.increment(); updatedisplay(); public void settime(int hour, int minute) { hours.setvalue(hour); minutes.setvalue(minute); updatedisplay(); public String gettime() { return displaystring; private void updatedisplay() { displaystring = hours.getdisplayvalue() + ":" + minutes.getdisplayvalue();
5 Side 5 af 8 sider public class NumberDisplay { private int limit; private int value; public NumberDisplay(int rolloverlimit) { limit = rolloverlimit; value = 0; public int getvalue() { return value; public String getdisplayvalue() { if(value < 10) return "0" + value; else return "" + value; public void setvalue(int replacementvalue) { if((replacementvalue >= 0) && (replacementvalue < limit)) value = replacementvalue; public void increment() { value = (value + 1) % limit; Til klassen ClockDisplay vil vi nu tilføje metoden: /** * Advance the clock by m minutes */ public void advance(int m) { for(int i=0; i<m; i++) timetick();
6 Side 6 af 8 sider Besvar følgende spørgsmål: 5.A: Hvilken værdi udskrives efter udførelsen af følgende tre sætninger: ClockDisplay clock = new ClockDisplay(15,59); clock.advance(3); System.out.println(clock.getTime()); 5.B: Erklær til brug i klassen NumberDisplay en public-metode med følgende signatur: public void increment(int i) sådan at value tælles frem med i modulo limit Hvad kalder man en metode der som increment findes i to (eller flere) forskellige udgaver? 5.C: Hvad kalder man størrelsen limit, hvis erklæringen i klassen NumberDisplay ændres til public final int limit; 5.D: Begrund om det med erklæringen fra spørgsmål 5.C er tilladt eller ej i klassen NumberDisplay at erklære følgende metode: public void setlimit(int rollover) { limit = rollover; 5.E: Hvordan ville det påvirke koblingen mellem klasserne NumberDisplay og ClockDisplay hvis der som i spørgsmål 5.C benyttes et public felt i stedet for at indføre en metode public int getlimit() { return limit; Altså argumentér for om koblingen herved bliver looser, the same, eller stronger sammenlignet med brug af en get-metode.
7 Side 7 af 8 sider Klassen ClockDisplay skal nu have to nye metoder til at stille uret frem. Disse metoder må ikke benytte timetick(), men gerne løsningerne fra spørgsmålene ovenfor. 5.F: Skriv de to metoder: /** * Advance the clock by m minutes */ public void myadvance(int m) {... /** * Advance the clock by h hours and m minutes */ public void myadvance(int h, int m) {... Opgave 6 I denne opgave ønskes foretaget en exception håndtering (exception handling). Den exception der ønskes fanget (catched) er RunTimeException en ArithmeticException. Udførelse af en division som fx 17/0 giver fejlmeldingen: Arithmetic Exception: / by zero fordi der divideres med nul.
8 Side 8 af 8 sider Der er givet følgende to klasser: public class Aritmetik { public Aritmetik() { public double kvotient(int t, int n) { return t/n; public class BrugAritmetik { public static void main(string[] args) { int t=17, n=0; Aritmetik a = new Aritmetik(); System.out.println(a.kvotient(t, n)); Besvar følgende spørgsmål: 6.A: Er en ArithmeticException en checked eller unchecked exception? 6.B: En repræsentation af indenfor klassen Double er værdien Double.MAX_VALUE (af størrelsesordenen ). I klassen Double er ovennævnte værdi erklæret som public static final double MAX_VALUE Hvad betegnes en størrelse der er specificeret som static final? 6.C: Exceptionen ArithmeticException ønskes fanget på to måder. Den første måde er at fange den i klassen Aritmetik ved udførelse af sætningen return t/n; Hvis divisionen t/n kaster en exception ønskes givet en fejlmelding og returneret værdien eller afhængigt af om t er positiv eller negativ, jfr. spørgsmål 6.B Indfør denne fejlhåndtering. 6.D: Samme spørgsmål som i 6.C men exceptionen ønskes i stedet fanget i klassen BrugAritmetik dér hvor metoden kvotient() bliver kaldt. Men til forskel for spørgsmål 6.C skal der her kun gives en passende fejlmelding.
Fundamentale sprogbegreber
Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,
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
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
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
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:
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
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
Løsning af skyline-problemet
Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle
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
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
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
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 )
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
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
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
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
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 email til [email protected]. Besvarelsen skal
PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;
PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;
Billedbehandling. Processering af digitale billeder
Billedbehandling Processering af digitale billeder Billedbehandling Lighten Blur Darken Invert Billedrepræsentation 0 0 x width Pixel (x, y) [0..255] 0 ~ sort, 255 ~hvid x [0..width[, y [0..heigth[ y height
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
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
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
BOSK F2011, 1. del: Udsagnslogik
( p q) p q February 1, 2011 Sandhedsværdier og udsagnsvariable I dag handler det om logiske udsagn. Mere præcist om de logiske udsagn vi kan bygge ud fra sandhedsværdier, udsagnsvariable og logiske konnektiver.
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 /
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),
Design by Contract. Design and Programming by Contract. Oversigt. Prædikater
Design by Contract Design and Programming by Contract Anne Haxthausen [email protected] Informatics and Mathematical Modelling Technical University of Denmark Design by Contract er en teknik til at specificere
Undtagelseshåndtering i C#
Denne guide er oprindeligt udgivet på Eksperten.dk Undtagelseshåndtering i C# I modsætning til C++ kan man i C# ikke skrive et program uden undtagelseshåndtering, så derfor har jeg skrevet denne guide
//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
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.
Eksempel på en database: studenter, kurser, eksamener
Udvidet Programmering 1999 Forelæsning 20, fredag 12. november 1999 Relationsdatabaser: relationer, tupler, attributter Forespørgselssproget SQL Databasesystemet PostgreSQL Tilgang til relationsdatabaser
Bilag 1 Rige billeder Ordremodtagelse
Bilag1 Rigebilleder Ordremodtagelse Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 71 Overordnet Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 72 Produktionsgulvet Tværfagligtprojektpå2.Semester
Rekursion og dynamisk programmering
Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.
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
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å
Mircobit Kursus Lektion 2
Mircobit Kursus Lektion 2 I denne lektie skal vi arbejde videre med lille mini computer kaldt microbit. Du kan finde Simulatoren & Programmet til micobit her: http://microbit.org/ (Du skal her vælge Lets
Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer
Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter
Databaseadgang fra Java
Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,
Virkefeltsregler i Java
Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten
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
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
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
Designmønstre. Grundbegreber fra objektorienteret design
Designmønstre Grundbegreber fra objektorienteret design Emner Modellering begrebsapparat og UML Introduktion til interfaces eksempel, interfacebegrebet, og kontraktbaseret design Design med interfaces
Kursusarbejde 2 Grundlæggende Programmering
Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................
Webserverprogrammering
Webserverprogrammering WSP fortsat - dag 11 Behandling af XML (StAX) Syndikering og RSS med XML JAXB - XML Java-objekter Projekthjælp Dette materiale er under Åben Dokumentlicens, se http://www.sslug.dk/linuxbog/licens.html
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,
Adgangsgivende eksamen (udeladt kategori: Matematisk student med matematik på niveau A)
Økonometri 1 Forår 2003 Ugeseddel 13 Program for øvelserne: Gruppearbejde Opsamling af gruppearbejdet og introduktion af SAS SAS-øvelser i computerkælderen Øvelsesopgave 6: Hvem består første årsprøve
DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004
Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes
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
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
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
Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere
Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel
