Skriftlig eksamen i Datalogi
|
|
|
- Astrid Hedegaard
- 10 år siden
- Visninger:
Transkript
1 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 4 37% Opgave 5 25% Alle sædvanlige hjælpemidler er tilladt. I tilfælde af unøjagtigheder i opgaveteksterne forventes det, at deltagerne selv præciserer besvarelsernes forudsætninger. Opgavesættet består af en forside og 7 paginerede sider. Kontroller at din kopi er fuldstændig.
2 Roskilde Universitetscenter side 1 af 7 sider Opgave 1: Træer (15%) Nedenfor er en binær hob repræsenteret ved hjælp af et array. T S R M O G I A H L Spørgsmål 1.1 Tegn hoben som et binært træ. Lad der være givet følgende klasseerklæring class Node { char key; Node left, right; Node(char k, Node l, Node r) { key = k; left = l; right = r; Klassen kan benyttes til at repræsentere en binær hob ved hjælp af et binært træ. Spørgsmål 1.2 Programmér en kodestump, der opretter et binært træ svarende til hoben ovenfor. Lad root betegne træets rod. Spørgsmål 1.3 Antag at en binær hob med N nøgler er repræsenteret i array-elementerne a[1], a[2],, a[n]. Programmér en generel metode Node maketree(char a[], int N) som opretter det binære træ, der svarer til hoben. Metoden skal returnere roden i træet. Vink: Benyt en rekursiv hjælpemetode Node makesubtree(char a[], int i, int N) der returnerer roden i det binære træ, der har a[i] som nøgle i roden.
3 Roskilde Universitetscenter side 2 af 7 sider Opgave 2: Stakke og køer (15%) Nedenfor ses et udkast til en Java-klasse, Stack, der implementerer en stak af objekter. class Stack { public void push(object item) {... public Object pop() {... public boolean isempty() {... Klassen har tre offentlige metoder. push(item) lægger objektet item øverst på stakken pop() fjerner og returnerer stakkens øverste element isempty() returner true, hvis stakken er tom; ellers false Lad der være givet en stak s. Spørgsmål 2.1 Skriv en kodestump, der ved hjælp af klassen Stack vender objekternes rækkefølge i s. Vink: Benyt en eller flere hjælpestakke. Spørgsmål 2.2 Skriv en kodestump, der ved hjælp af klassen Stack danner en kopi t af s. Efter udførelse af kodestumpen skal indholdet af s være som før udførelsen. Nedenfor ses et udkast til en Java-klasse, Queue, der implementerer en kø af objekter. class Queue { public void insert(object item) {... public Object remove() {... public boolean isempty() {... Klassen har tre offentlige metoder. insert(item) sætter objektet item bagerst i køen remove() fjerner og returnerer køens forreste element isempty() returner true, hvis køen er tom; ellers false Lad der være givet en kø q. Spørgsmål 2.3 Skriv en kodestump, der ved hjælp af klassen Queue danner en kopi r af q. Efter udførelse af kodestumpen skal indholdet af q være som før udførelsen.
4 Roskilde Universitetscenter side 3 af 7 sider Opgave 3: Rekursion (8%) Lader der være givet følgende metode int f(int a, int b) { return a >= b? a+b : f(f(a+2,b-1),f(a+1,b-2)); Spørgsmål 3.1: Hvad bliver værdien af f(1,7)? Begrund svaret.
5 Roskilde Universitetscenter side 4 af 7 sider Opgave 4: Objektorienteret programmering (37%) I Studienævnets database over studieaktiviteter registreres kurser og projekter. Et Kursus eller Projekt skal som minimum være knyttet til et modul. Vi bruger derfor følgende udgangspunkt for et klassehierarki. abstract class Studieaktivitet{ class Kursus extends Studieaktivitet{ String modul; class Projekt extends Studieaktivitet{ String modul; Spørgsmål 4.1: Skriv konstruktorer for klasserne Kursus og Projekt således at feltet "modul" initialiseres. Et objekt kan så f.eks. oprettes med linien: Studieaktivitet s = new Kursus("Modul 1"); Spørgsmål 4.2: Tilføj til klasserne Kursus og Projekt ekstra konstruktorer som kaldes med modulnummer som heltal. Et objekt kan så f.eks. oprettes med linien: Studieaktivitet s = new Kursus(1); Spørgsmål 4.3: Hvorledes kan feltet "modul" beskyttes så det ikke kan ændres uden for den klasse hvori den er erklæret? Spørgsmål 4.4: Tilføj metoder "hentmodul" til klasserne Kursus og Projekt. Metoderne skal returnere værdien af feltet "modul". Spørgsmål 4.5: Alle studieaktiviteter skal være knyttet til et modul. Gør det derfor muligt at kalde en metode "hentmodul" i vilkårlige objekter nedarvet fra den abstrakte klasse "Studieaktivitet". F.eks. med erklæringen Studieaktivitet s = new Kursus(1); skal kaldet s.hentmodul() være tilladt.
6 Roskilde Universitetscenter side 5 af 7 sider Spørgsmål 4.6: Projekter skal have en vejleder. Der skal derfor være et felt "vejleder" i klassen "Projekt". Skriv erklæring af feltet samt metoder der kan sætte feltet og returnere dets værdi. Spørgsmål 4.7: Studienævnet ser ikke gerne at man skifter vejleder. Forslå derfor en måde at sikre at feltet ikke kan ændres når det først er sat. Yderligere kald til metoden, der skal sætte dets værdi, skal derfor ikke have nogen effekt.
7 Roskilde Universitetscenter side 6 af 7 sider Opgave 5: OOA (25%) Forestil dig at du skal lave et system til et autoværksted, der reparerer personbiler, lastvogne og motorcykler. Autoværkstedet er organiseret med et kontor, hvor der arbejder tre kontormedarbejdere, og et værksted, hvor ti mekanikere arbejder. Autoværkstedet tilbyder den service, at indkalde køretøjerne til eftersyn. For hver af de tre køretøjstyper er der forskellige intervaller for indkaldelse og forskellige opgaver, der skal udføres. Hver mekaniker har som speciale at reparere en eller flere af de tre køretøjstyper. Når en kunde bestiller tid til en reparation, skal en kontormedarbejder kunne gøre følgende: Hvis det er en ny kunde, skal firmaet have kundens stamdata (navn, adresse, telefonnummer) samt vide hvilken slags køretøj der er tale om og dets registreringsnummer. Hvis det er en gammel kunde, skal det undersøges, om de oplysninger, værkstedet allerede har på kunden, stadig er gældende. Når køretøjet er afleveret, skal kunden kunne få oplysninger om, hvor langt det er i processen og om det forventede afleveringstidspunkt. Erfaringsmæssigt har det vist sig at være en god ide, at kunne spørge kunden, hvis det under reparationen viser sig, at der er tale om en større skade end først antaget, eller hvis det viser sig, at være en god ide at reparere noget, der ikke var aftalt på forhånd. Kunden har så mulighed for at sige fra eller til i forhold til de yderligere reparationer. Kunden skal desuden på et hvilket som helst tidspunkt i processen kunne forlange reparationen stoppet. Systemet skal fra starten endvidere bruges til at holde styr på hvilken mekaniker, der har repareret hvilke køretøjer. Og mekanikeren skal kunne rapportere hvilke reparationer han har foretaget. Din opgave er nu at gennemføre en analyse ved hjælp af OOA, og vi forestiller os, at du sammen med ejeren er kommet frem til følgende systemdefinition udtrykt i BATOFF: Betingelser: Edb-systemet skal benyttes både på kontoret og på værkstedet, og det skal udvikles i samarbejde med ejeren, en kontormedarbejder og en mekaniker. Skulle der opstå modstridende krav til systemet, er det ejeren der bestemmer. Anvendelsesområde: Administration af tilmelding og reparation af køretøjer. Teknologi: Det skal være tre PC'er på kontoret, en til ejeren og en på værkstedet. De skal forbindes i et lokalnetværk. Objektsystem: Kunde, køretøj, mekaniker.
8 Roskilde Universitetscenter side 7 af 7 sider Funktionalitet: Støtte til kontorarbejdet og til rapportering af foretagne reparationer. På sigt skal det også bruges til at fordele køretøjerne på mekanikerne, i forhold til deres speciale og i forhold til en effektiv udnyttelse af den samlede gruppe af mekanikere. Filosofi: Et værktøj til administration samt til støtte for kommunikation med kunderne. Spørgsmål 5.1: Lav og begrund et klassediagram for objektsystemet. Spørgsmål 5.2: Lav og begrund et tilstandsdiagram for køretøj. NB! Hvis du foretager afgrænsninger eller gør dig yderligere forudsætninger end de beskrevne, skal du gøre rede for disse i besvarelsen.
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
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
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 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
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
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
Om binære søgetræer i Java
Om binære søgetræer i Java Mads Rosendahl 7. november 2002 Resumé En fix måde at gemme data på er i en træstruktur. Måden er nyttig hvis man får noget data ind og man gerne vil have at det gemt i en sorteret
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
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
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,
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
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
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
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer
Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt
Introduktion til datastrukturer. Introduktion til datastrukturer. Introduktion til datastrukturer. Datastrukturer
Introduktion til datastrukturer Introduktion til datastrukturer Philip Bille Datastrukturer Datastruktur. Metode til at organise data så det kan søges i/tilgås/manipuleres effektivt. Mål. Hurtig Kompakt
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 7. juni 00, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer
Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se
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
Danmarks Tekniske Universitet
Eksamen 005, F side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed:
Danmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:
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
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
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
Danmarks Tekniske Universitet
Eksamen 0205, Forår 205 side af 5 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 205. Kursusnavn: Algoritmer og datastrukturer Kursusnummer: 0205 Hjælpemidler: Skriftlige hjælpemidler. Det
Danmarks Tekniske Universitet
Eksamen 02105, F14 side 1 af 14 Danmarks Tekniske Universitet Skriftlig prøve, den 22. maj 2014. Kursusnavn: Algoritmer og datastrukturer 1 Kursusnummer: 02105 Hjælpemidler: Skriftlige hjælpemidler. Det
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
DRONNINGER (QUEENS) Opgave 1
DRONNINGER (QUEENS) I denne opgave vil vi beskæftige os med det såkaldte 8-dronningeproblem, hvor man skal placerede 8 dronninger på et 8 x 8 skakbræt, således at ingen af dronningerne kan slå hinanden.
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
Danmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
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
Intervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed
Algoritmisk geometri Intervalsøgning 1 2 Motivation for intervaltræer Intervalsøgning Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Vi kan
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
Skriftlig Eksamen Diskret Matematik (DM528)
Skriftlig Eksamen Diskret Matematik (DM528) Institut for Matematik & Datalogi Syddansk Universitet Tirsdag den 20 Januar 2009, kl. 9 13 Alle sædvanlige hjælpemidler (lærebøger, notater etc.) samt brug
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
Skriftlig Eksamen Algoritmer og Datastrukturer (dads)
Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Mandag den 27. maj 2002, kl. 9.00 13.00 Opgave 1 (25%) Denne opgave handler om multiplikation af positive heltal.
Hassansalem.dk/delpin User: admin Pass: admin BACKEND
Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin
Programmeringscamp. Implementer funktionerne én for én og test hele tiden.
Programmeringscamp De to opgaver træner begge i at lave moduler som tilbyder services der kan bruges af andre, samt i at implementere services efter en abstrakt forskrift. Opgave 1 beder jer om at implementere
Systemvalg. Oversigt og teknikker. Kapitel 2
Systemvalg Oversigt og teknikker Kapitel 2 1 Mathiassen, Munk-Madsen, Nielsen & Stage, 1997 Træd et skridt tilbage! Hvad skal der gøres? Hvad handler det om? Objektsystem Edb-system Bruger Problemområde
Skriftlig eksamen, Programmer som Data 2. 3. januar 2014
Skriftlig eksamen, Programmer som Data 2. 3. januar 2014 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamenssættet udleveres elektronisk fra kursets hjemmeside torsdag 2.
Lær Python - Dag 4, modul 2 Objektorienteret programmering
Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.
DM13-1. Obligatoriske Opgave - Kredsløbs design
DM13-1. Obligatoriske Opgave - Kredsløbs design Jacob Christiansen [email protected] Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 1. Opgaven Opgaven består i at designe et kredsløb,
22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.
22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327
Binære søgetræer. Binære søgetræer. Nærmeste naboer. Nærmeste nabo
Philip Bille Nærmeste naboer. Vedligehold en dynamisk mængde S af elementer. Hvert element har en nøgle key[] og satellitdata data[]. operationer. PREDECESSOR(k): returner element med største nøgle k.
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
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å
Skriftlig Eksamen Algoritmer og sandsynlighed (DM538)
Skriftlig Eksamen Algoritmer og sandsynlighed (DM538) Institut for Matematik & Datalogi Syddansk Universitet Fredag den 9 Januar 2015, kl. 10 14 Alle sædvanlige hjælpemidler(lærebøger, notater etc.) samt
Induktive og rekursive definitioner
Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal
3 Algebraisk Specifikation af Abstrakte Datatyper.
3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.
Sortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012. May 15, 2012
Algoritmer og datastrukturer Course No. 02105 Cheat Sheet 2012 May 15, 2012 1 CONTENTS 2012 CONTENTS Contents 1 Kompleksitet 3 1.1 Køretid................................................ 3 1.2 Asymptotisk
