Skriftlig eksamen i Datalogi
|
|
- Egil Andreasen
- 7 år siden
- Visninger:
Transkript
1 Skriftlig eksamen i Datalogi Modul 1 Sommer 1998 Opgavesættet består af 4 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 24% Opgave 2 35% Opgave 3 15% Opgave 4 26% Alle sædvanlige hjælpemidler er tilladt. Der må ikke medbringes datamaskine. 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 11 paginerede sider. Kontroller at din kopi er fuldstændig.
2 Roskilde Universitetscenter side 1 af 11 sider Opgave 1: Objektorienteret programmering (24%) Nedenfor er vist et udkast til en samling Java-klasser, der er beregnet til katalogisering af dyr. Klassen Animal er en fælles overklasse for de to klasser Carnivore og Herbivore, der repræsenterer henholdsvis mængden af kødædende og planteædende dyr. class Animal { Animal(String n) { /* Kode ikke medtaget. Se spørgsmål 1.1 */ static void printanimals() { /* Kode ikke medtaget. Se spørgsmål 1.3 */ static Animal firstanimal; String name; Animal next; public String tostring() { return name; class Herbivore extends Animal { Herbivore(String n, int g) { /* Kode ikke medtaget. Se spørgsmål 1.2 */ int grassneeded; class Carnivore extends Animal { Carnivore(String n, int m) { /* Kode ikke medtaget */ int meatneeded; Hvert Animal-objekt er forsynet med en tekststreng name, der angiver dyrets navn. Referencen next benyttes til opbevaring af Animal-objekterne i en envejsliste, idet den statiske reference firstanimal peger på det forreste objekt i denne liste, og next angiver objektets efterfølger i listen. Spørgsmål 1.1 Programmér en konstruktør for klassen Animal, som tildeler name en værdi og indsætter det genererede objekt forrest i envejslisten.
3 Roskilde Universitetscenter side 2 af 11 sider For hvert planteædende dyr (Herbivore-objekt) angives dets daglige fødebehov ved hjælp af attributten grassneeded. Spørgsmål 1.2 Programmér en konstruktør for klassen Herbivore, som tildeler værdier til name og grassneeded, og som indsætter objektet i envejslisten ved hjælp af konstruktøren for Animal. Spørgsmål 1.3 Programmér metoden printanimals, der gennemløber envejslisten af dyr og udskriver deres navne. Spørgsmål 1.4 Programmér en metode printherbivores, der kun udskriver navnene på de af dyrene i envejslisten, der er planteædere (Herbivore-objekter). Klassen Herbivore benyttes nu som overklasse for klassen Giraffe, der repræsenterer mængden af giraffer. Attributten necklength angiver halslængden for en giraf. class Giraffe extends Herbivore { Giraffe(String n, int g, double nl) { /* Kode ikke medtaget */ double necklength; Lad der være givet følgende erklæringer: Animal a; Herbivore h; Carnivore c; Giraffe g1, g2; Spørgsmål 1.5 Antag at objekterne a, h, c, g1 og g2 eksisterer. Hvilke af følgende sætninger vil da give fejl under oversættelsen? (1) a = g1; (2) a = h; (3) g1 = a; (4) g1 = g2; (5) g1 = (Giraffe) h; (6) g1 = (Carnivore) h; (7) g1 = (Giraffe) c;
4 Roskilde Universitetscenter side 3 af 11 sider Nedenfor ses et interface, Sortable, samt en klasse Sort til sortering af en tabel af Sortableobjekter i stigende orden. interface Sortable { boolean lessthan(sortable s); class Sort { static void selectionsort(sortable a[]) { for (int i = 0; i < a.length - 1; i++) { int min = i; for (int j = i+1; j < a.length; j++) if (a[j].lessthan(a[i])) min = j; Sortable temp = a[min]; a[min] = a[i]; a[i] = temp; Spørgsmål 1.6 Angiv hvilke ændringer der skal foretages i klassen Giraffe på side 2, hvis dette interface skal kunne benyttes til at sortere en tabel af Giraffe-objekter i stigende orden efter deres halslængde.
5 Roskilde Universitetscenter side 4 af 11 sider Opgave 2: Parsetræer (35%) Spørgsmål 2.1 Omskriv nedenstående udtryk til omvendt polsk (postfix) notation. 2 * (5-3) + 1 Et parsetræ for et udtryk er et binært træ, der opbygges ved følgende simple rekursive regel: Lad operatoren være rod. Lad træet, der svarer til den venstre operand, være venstre undertræ for roden, og lad træet, der svarer til den højre operand være højre undertræ for roden. Spørgsmål 2.2 Tegn et parsetræ for udtrykket ovenfor. På næste side ses et udkast til en samling Java-klasser, der skal benyttes til at repræsentere udtryk i form af parsetræer. Som operander tillades heltal. Som operatorer tillades +, - og * (addition, subtraktion og multiplikation). Spørgsmål 2.3 Programmér en Java-klasse, Div, som tillader brugen af operatoren / (division). Spørgsmål 2.4 Programmér en kodestump i Java, der benytter klasserne til at oprette et parsetræ for udtrykket i spørgsmål 2.1. Spørgsmål 2.5 Lad root pege på roden i dette parsetræ. Hvad udskrives da ved udførelse af følgende sætninger? root.print(); System.out.println(); System.out.println( Value = + root.eval());
6 Roskilde Universitetscenter side 5 af 11 sider abstract class Node { abstract int eval(); abstract void print(); abstract class Operator extends Node { Node left, right; void print() { System.out.print("("); left.print(); System.out.print(this); right.print(); System.out.print(")"); class Plus extends Operator { Plus(Node l, Node r) { left = l; right = r; int eval() { return left.eval() + right.eval(); public String tostring() { return "+"; class Minus extends Operator { Minus(Node l, Node r) { left = l; right = r; int eval() { return left.eval() - right.eval(); public String tostring() { return "-"; class Mult extends Operator { Mult(Node l, Node r) { left = l; right = r; int eval() { return left.eval() * right.eval(); public String tostring() { return "*"; abstract class Operand extends Node { void print() { System.out.print(this); class Constant extends Operand { int value; Constant(int v) { value = v; int eval() { return value; public String tostring() { return Integer.toString(value);
7 Roskilde Universitetscenter side 6 af 11 sider Tilladte udtryk kan defineres ved hjælp af nedenstående grammatik. <expression> ::= <term> <term> + <expression> <term> - <expression> <term> ::= <factor> <factor> * <term> <factor> / <term> <factor> ::= <constant> ( <expression> ) <constant> er en sekvens af cifre (og repræsenterer dermed ikke-negative heltal). Grammatikken kan benyttes næsten direkte til at programmere en metode til at undersøge, om en tekststreng indeholder et lovligt udtryk (expression). I klassen Parser nedenfor er implementeret en sådan metode, parse. Metoden syntaksanalyserer den tekststreng, der overføres som parameter. Hvis tekststrengen repræsenterer et lovligt udtryk, opbygges og returneres et parsetræ for udtrykket; i modsat fald afbrydes programafviklingen med en fejludskrift. class Parser { static final int PLUS = 0, MINUS = 1, MULT = 2, DIV = 3, LPAR = 4, RPAR = 5, CONST = 6, EOS = 7; int token; int value; StringTokenizer str; Node parse(string s) { str = new StringTokenizer(s, "+-*/() ", true); gettoken(); return expression(); Node expression() { Node t = term(); while (token == PLUS token == MINUS) if (token == PLUS) { gettoken(); t = new Plus(t, term()); else { gettoken(); t = new Minus(t, term()); return t; Node term() { /* se spørgsmål 2.7 */ // fortsættes på næste side
8 Roskilde Universitetscenter side 7 af 11 sider Node factor() { Node t = null; if (token == CONST) t = new Constant(value); else if (token == LPAR) { gettoken(); t = expression(); if (token!= RPAR) error("missing right paranthesis"); else error("illegal factor " + token); gettoken(); return t; void error(string s) { throw new RuntimeException(s); void gettoken() { String s; try { s = str.nexttoken(); catch(nosuchelementexception e) { token = EOS; return; if (s.equals(" ")) gettoken(); else if (s.equals("+")) token = PLUS; else if (s.equals("-")) token = MINUS; else if (s.equals("*")) token = MULT; else if (s.equals("/")) token = DIV; else if (s.equals("(")) token = LPAR; else if (s.equals(")")) token = RPAR; else { try{ value = Integer.parseInt(s); token = CONST; catch(numberformatexception e) { error( constant expected ); Spørgsmål 2.6 Programmér metoden term. Spørgsmål 2.7 Skriv en programstump, der benytter klassen Parser til at beregne og udskrive værdien af udtrykket 2 * (5-3) + 1
9 Roskilde Universitetscenter side 8 af 11 sider Opgave 3: Sortering (15%) Quicksort er en effektiv metode til sortering. Sortering af en tabel af heltalsvariabler ved hjælp af Quicksort kan i Java programmeres på følgende måde. public void quicksort(int a[]) { quicksort(a, 0, a.length-1); private void quicksort(int a[], int i, int j) { if (i < j){ int m = partition(a, i, j); quicksort(a, i, m-1); quicksort(a, m+1, j); Her er partition en hjælpemetode, der omordner et delsegment (a[i], a[i+1],..., a[j]) af tabellen a, således at følgende 3 betingelser er opfyldt: (1) Elementet a[m] er på sin endelige og korrekte plads i tabellen. (2) Intet af elementerne a[i],..., a[m-1] er større end a[m]. (3) Intet af elementerne a[m+1],..., a[j] er mindre end a[m]. At programmere en fejlfri udgave af partition er imidlertid ikke nogen simpel opgave. Nedenstående udgave er således ikke korrekt. private int partition(int a[], int i, int j) { int v = a[(i+j)/2]; while (i < j) { while (a[i] < v) i++; while (a[j] > v) j--; swap(a, i, j); return i; private void swap(int a[], int i, int j) { int t = a[i]; a[i] = a[j]; a[j] = t; Spørgsmål 3.1 Angiv et sæt af værdier a[1],..., a[n] for hvilke kaldet partition(a, 1, n) ikke terminerer.
10 Roskilde Universitetscenter side 9 af 11 sider Nedenfor ses en skitse til en anden udgave af partition. private int partition(int a[], int i, int j) { // 1 while (true) { // 2 while (i < j && a[i] < a[j]) j--; // 3 if (i >= j) return i; // 4??? // 5 while (i < j && a[i] < a[j]) i++; // 6 if (i >= j) return j; // 7??? // 8 // 9 // 10 Spørgsmål 3.2 Angiv den manglende kode ved spørgsmålstegnene i linjerne 5 og 8, således at metoden bliver korrekt. Rekursionen i quicksort kan let elimineres ved brug af eksplicit stak. Nedenstående klasse, Frame, kan benyttes til at repræsentere hvert metodekald i form af en post indeholdende værdierne af metodens lokale variable (i, j og m) samt en angivelse af returpunktet for metodekaldet (PC). Pegeren prev udpeger det underliggende stakelement. class Frame { int i, j, m, PC; Frame prev; Frame(int i, int j, Frame prev) { this.i = i; this.j = j; this.prev = prev; PC = 1; Nedenfor er angivet en næsten færdig version af quicksort, hvor rekursion er elimineret ved hjælp af klassen Frame. private void quicksort(int a[], int i, int j) { Frame top = new Frame(i, j, null); while (top!= null) { switch(top.pc) { case 1: if (top.i >= top.j) top = top.prev; else {??? /* se spørgsmål 3.3 */ continue; case 2: top.pc = 3; top = new Frame(top.m + 1, top.j, top); continue; case 3: top = top.prev; Spørgsmål 3.3 Angiv den manglende kode ved spørgsmålstegnene, således at metoden bliver korrekt.
11 Roskilde Universitetscenter side 10 af 11 sider Opgave 4: OOA-modellering (26%) De praktiserende læger i Happykøbing sender deres patienter til et privat laboratorium for at få taget blodprøver. Lægerne skriver en rekvisition med patientens stamdata (cpr. nummer, navn, adresse), lægens navn og adresse, samt en specifikation af de analyser der ønskes taget. For nemheds skyld antager vi, at de forskellige mulige analyser kaldes A1 til AN. Patienten ringer selv til laboratoriet for at bestille tid og medbringer selv rekvisitionen til laboratoriet, hvor den samme laborant tager blodprøverne, foretager de specificerede analyser og påfører resultaterne på rekvisitionen. Laboratoriet benytter postvæsenet til at sende resultatet af analyserne til lægen. Der har været mange problemer med denne arbejdsgang. Dels synes læger og patienter, at der går for lang tid inden lægen modtager analyseresultaterne, dels har der været mange eksempler på, at der er foretaget forkerte analyser. De praktiserende læger og laboratoriet er derfor blevet enige om at bestille en analyse med henblik på at indføre et edb-baseret system, der kan sikre færre problemer. Du skal foretage denne analyse ved hjælp af OOA. Sammen med 2 læger og 3 repræsentanter fra laboratoriet er du kommet frem til følgende foreløbige systemdefinition udtrykt i BATOFF: Betingelser: Edb-systemet skal benyttes af lægerne, der skal kunne bestille tid til patienter og de ønskede analyser via systemet, mens patienten er i konsultationen. Laboratoriet skal kunne overføre analyseresultaterne elektronisk til lægerne. Lægerne bruger i forvejen en elektronisk patientjounal, mens laboratoriet har et papir-baseret system og derfor ikke kan forventes at have erfaringer med edb. Anvendelsesområde: Lægerne og laboratoriet skal kunne udveksle oplysninger om patienterne. Lægerne skal sende patientens stamdata (cpr. nummer, navn, adresse), eget navn og post- og adresse, samt en specifikation af de analyser der ønskes taget. Laboratoriet skal sende analyseresultaterne til lægen. Teknologi: De eksisterende PC er hos lægerne skal benyttes, mens laboratoriet skal have nyt udstyr. Af hensyn til sikkerheden skal der etableret et lukket netværk mellem lægerne og laboratoriet. Objektsystem: Patient, læge, tidsbestilling, rekvisition, laboratorium, laborant. Funktionalitet: Støtte til tidsbestilling og kommunikation mellem læger og laboratorium om patienter, rekvisitioner og analyseresultater. Desuden skal det være muligt at finde ud af hvilken laborant der har foretaget hvilke blodprøver og analyser for hvilken patient. På sigt overvejes det endeligt at føre kontrol med laboranternes tidsforbrug. Filosofi: Et værktøj til de arbejdsopgaver, der er involveret i at bestille tid til patienterne og udveksle de nødvendige oplysninger. Systemet skal også kunne udveksle data med lægernes elektroniske patientjournal.
12 Roskilde Universitetscenter side 11 af 11 sider Spørgsmål 4.1: Lav et klassediagram for objektsystemet og begrund diagrammet. Spørgsmål 4.2: Lav et tilstandsdiagram for rekvisition og begrund diagrammet. NB. Hvis du foretager afgrænsninger eller gør dig yderligere forudsætninger end de beskrevne, skal du beskrive disse i opgavebesvarelsen.
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
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave
Læs mereSkriftlig 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
Læs mereSkriftlig eksamen i Datalogi
Roskilde Universitetscenter side 1 af 11 sider Skriftlig eksamen i Datalogi Modul 1 Sommer 2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 10% Opgave 2 10%
Læs mereLø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
Læs mereVejledende løsninger
Roskilde Universitetscenter side 1 af 8 sider Vejledende løsninger Opgave 1 Spørgsmål 1.1 a = b - a; b = b - a; a = b + a; Opgaven har flere løsninger. En anden løsning er: a = b + a; b = a - b; a = a
Læs mereDANMARKS 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
Læs mereOm 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
Læs mereTræer. Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/
Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/11-2004 Træer En meget vigtig datastruktur Repræsentation af sprog (i meget generel betydning), syntakstræer: Java (i en compiler), SQL (i et databasesystem),
Læs mereSøgetræer: Generel repræsentation af (sorterede) mængder og funktioner Databasesystemer...
Datastrukturer & Algoritmer, Datalogi C Forelæsning 11/11-2003 Træer En meget vigtig datastruktur Repræsentation af sprog (i meget generel betydning), syntakstræer: Java (i en compiler), SQL (i et databasesystem),
Læs mereBRP Tal. Om computer-repræsentation og -manipulation. Logaritmer
BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave
Læs mereDM507 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
Læs mereDM507 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
Læs mereAAU, 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 fjj@noea.dk. Besvarelsen skal
Læs mereKursus 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
Læs mereSortering. 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
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 (tretten) Eksamensdag: Tirsdag den 8. april 2008,
Læs mereGrundlæ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
Læs mereTree 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æs mereb) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.
Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning
Læs mereInvarianter. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen.
Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af) dens udførelse. Udgør ofte kernen af ideen bag algoritmen. Invariant: Et forhold, som vedligeholdes af algoritmen gennem (dele af)
Læs mereKursus 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
Læs mereSortering. Eksempel: De n tal i sorteret orden
Sortering 1 / 32 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 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden
Læs mereOpgaven 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
Læs mereDatalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning
Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:
Læs mereSortering af information er en fundamental og central opgave.
Sortering 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 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereSortering af information er en fundamental og central opgave.
Sortering 1 / 36 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, 6, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,
Læs mereUniversity 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
Læs mereBRP Sortering og søgning. Hægtede lister
BRP 18.10.2006 Sortering og søgning. Hægtede lister 1. Opgaver 2. Selection sort (udvælgelsessortering) 3. Kompleksitetsanalyse 4. Merge sort (flettesortering) 5. Binær søgning 6. Hægtede lister 7. Øvelser:
Læs meredintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser
Læs mereUgeseddel 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,
Læs mereStakke, køer og lidt om hægtede lister
Datastrukturer & Algoritmer, Datalogi C Forelæsning 4/11-2003 Henning Christiansen Stakke, køer og lidt om hægtede lister - kapitel 16 og 17 Hvorfor? Fundamentale datastrukturer man får brug for igen og
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereEksempel: Skat i år 2000
Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)
Læs mereDM507 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
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4
DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens
Læs mereKursusarbejde 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.............................................
Læs mereAlgoritmeskabeloner: Sweep- og søgealgoritmer C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte
Læs mereProgrammering 1999 KVL Side 5-4. Klassen Time: metoder. Metoder i objektet giver mulighed for at ændre tilstanden, eller kigge på tilstanden.
Programmering 1999 Forelæsning 5, tirsdag 14. september 1999 Oversigt Mere om klasser og objekter Klassefelter: static Konstante felter: final Indkapsling og synlighed: private og public Overlæsning af
Læs mereVideregå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),
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 16. august 2013,
Læs mereHanne Niels Edith Harald Carsten Jørgen Henrik.
Programmering 1999 Forelæsning 18, fredag 5 november 1999 Anvendelse af udvalgssortering Quicksort Rapportopgave Programmering 1999 KVL Side 18-1 Eksempel 2 på anvendelse af udvalgssortering Sortering
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således
Læs mereStakke, køer og lidt om hægtede lister - kapitel 16 og 17
Datastrukturer & Algoritmer, Datalogi C Forelæsning 2/11-2004 Henning Christiansen Stakke, køer og lidt om hægtede lister - kapitel 16 og 17 Fundamentale datastrukturer man får brug for igen og igen Et
Læs mereBRP 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:
Læs mereCivilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104
Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave
Læs mereUniversity 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
Læs mereGrådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.
Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for
Læs mere16 Træer. Noter. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype.
16 Træer. Definition af et træ. Definitioner i tilknytning til træer. Repræsentation af træer. Binære træer. Den abstrakte datatype. Gennemløb af binære træer. Træer i Eiffel. 229 Definition af et træ.
Læs mereDM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11
DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4
Læs mereDATALOGI 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
Læs mereSkriftlig 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.)
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere
Læs mereDanmarks Tekniske Universitet
side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 0205. Varighed: 4 timer Tilladte hjælpemidler: Alle skriftlige hjælpemidler.
Læs mereAritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens
Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:
Læs mereRekursion 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.
Læs mereForelæsning Uge 5 Mandag
Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Køreprøven i uge 7 Form Forberedelse
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug
Læs mereSortering. De n tal i sorteret orden. Eksempel: Kommentarer:
Sortering Sortering Input: Output: n tal De n tal i sorteret orden Eksempel: Kommentarer: 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Sorteret orden kan være stigende eller faldende. Vi vil i dette kursus
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereDM507 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
Læs mereDATALOGI 0GB. Skriftlig eksamen mandag den 7. juni 2004
Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0GB Skriftlig eksamen mandag den 7. juni 2004 Dette opgavesæt består af 6 nummererede sider. Eksamensdeltagerne bør straks sikre
Læs mereUniversity 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
Læs mereKlasser 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
Læs mereLær Python dag 1 - modul 1
Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen
Læs mereDanmarks Tekniske Universitet
side af 2 sider anmarks Tekniske Universitet Skriftlig prøve, den 23. maj 20. Kursusnavn: lgoritmer og datastrukturer Kursus nr. 02326. Varighed: 4 timer Tilladte hjælpemidler: lle skriftlige hjælpemidler.
Læs mereForelæsning Uge 2 Torsdag
Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet
Læs mereDM507 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
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:
Læs mereLæ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.
Læs mereDanmarks 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
Læs mereVirkefeltsregler 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
Læs mereDM507 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
Læs mereFundamentale 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,
Læs mereDanmarks 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
Læs mereDatabaseadgang 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,
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 10. august 2012, kl. 9.00-11.00 Eksamenslokale: Finlandsgade
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver
Læs mereParallelle algoritmer
Parallelle algoritmer 1 Von Neumann s model John von Neumann 1903-57 Von Neumanns model: Instruktioner og data er lagret i samme lager, og én processor henter instruktioner fra lageret og udfører dem én
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Tirsdag den 20. marts 2012, kl.
Læs mereJavaScript. 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
Læs mereclass Time { int hours, min; } } Time t1; // Erklær variabel af type Time class Time1 { public static void main(string[] args) { Time t1; t1.
Programmering 1999 Forelæsning 4, fredag 10. september 1999 Klasser og objekter Felter, konstruktorer, this Eksempler på klasser: Time, Appointment Eksempler på metoder i Time og Appointment Klassefelter:
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Torsdag den 11. august 2011,
Læs mereIndledning. 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
Læs mereForelæsning Uge 2 Mandag
Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver
Læs mereNoter til C# Programmering Selektion
Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,
Læs mereINSTITUT FOR DATALOGI, AARHUS UNIVERSITET. Science and Technology EKSAMEN. Grundkurser i Datalogi. Algoritmer og Datastrukturer 1 (2003-ordning)
INSTITUT FOR DATALOGI, AARHUS UNIVERSITET Science and Technology EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 1 Eksamensdag: Tirsdag den 7. juni 16, kl. 9.-11. Tilladte medbragte
Læs mereForelæsning Uge 1 Torsdag
Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige
Læs meredintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4
dintprog Manual Revision: 731 September 30, 2009 Indhold 1 Introduktion 3 1.1 Notation................................. 3 I Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering
Læs mereIntroduktion til ActionScript
Introduktion til ActionScript Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling på
Læs mereDRONNINGER (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.
Læs merePoly. - Javapakke til behandling af polynomier
Poly - Javapakke til behandling af polynomier z 3 x y x 2 3 x -3 Skrevet af Susanne Nykjær Knudsen, John Thystrup Jensen, Jens Lykke Brandt, Troels C. Damgaard, Jacob W. Winther og Mikkel Bundgaard Vejleder:
Læs mereTabelbegrebet. 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
Læs mereDATALOGISK INSTITUT, AARHUS UNIVERSITET. Det Naturvidenskabelige Fakultet EKSAMEN. Grundkurser i Datalogi
DATALOGISK INSTITUT, AARHUS UNIVERSITET Det Naturvidenskabelige Fakultet EKSAMEN Grundkurser i Datalogi Antal sider i opgavesættet (incl. forsiden): 12 (tolv) Eksamensdag: Fredag den 13. august 2010, kl.
Læs mereForelæsning Uge 6 Mandag
Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring
Læs mereSkriftlig eksamen, Programmer som Data Onsdag 6. januar Spørgsmål 1 (20 %): Regulære udtryk og automater
Skriftlig eksamen, Programmer som Data Onsdag 6. januar 2010 Dette eksamenssæt har 5 sider. Tjek med det samme at du har alle siderne. Eksamens varighed er 4 timer. Der er fire spørgmål. For at få fuldt
Læs mere