Lösningsförslag till tentamen

Relevanta dokument
Lösningsförslag till tentamen

Lösningsförslag till tentamen

Lösningsförslag till tentamen

Lösningsförslag till tentamen

Lösningsförslag till tentamen

Lösningsförslag till tentamen

Lösningsförslag till tentamen

Lösningsförslag till tentamen

ITK:P1 Lektion 4. Lektion 4. Lektion 4. Att implementera en spelidé i Java. DSV Peter Mozelius

Lösningsförslag till tentamen

Lösningsförslag till tentamen

lgammal2.txt // Lösningar till gammal tentamen // Uppgift 1 a

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers

Lösningsförslag till tentamen

Mer om grafiska komponenter. Händelsestyrda program

Lösningsförslag till tentamen

Föreläsning 10. Mer om grafiska komponenter Händelsestyrda program. Layout Managers. Exempel: FlowLayout. Klassen FlowLayout

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

Lösningsförslag till tentamen

Lösningsförslag till tentamen

Repetitionsföreläsning 2: Quiz & problemlösning med swing Inget nytt material.

Föreläsning 7. for-satsen Fält

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Föreläsning 3. Iteration while-satsen

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

LYCKA TILL!!! TENTAMEN I Programmeringsteknik F1. Var vänlig och läs detta: CTH TIN 211. DATAVETENSKAP Göteborg ( ) TENTAMEN

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Föreläsning 6. Top-Down Design Parameteröverföring

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

public interface Skrivbar { void skriv(); } public class Punkt implements Skrivbar { public double x; public double y;

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Lösningsförslag tentamen FYTA11 Java

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag

Tentamen. Lösningsförslag

Malmö högskola 2007/2008 Teknik och samhälle

Tentamen i Objektorienterad programmering E

Lösningar för tenta 3 DAT043,

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Föreläsning 3. Iteration. while-satsen for-satsen do-satsen

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

Två designmönster, MVC och Observer/Observable. Objektorienterad programvaruutveckling GU (DIT011)

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.

Föreläsning REPETITION & EXTENTA

Laboration 15 Grafiskt användargränssnitt

Föreläsning 10. ADT:er och datastrukturer

Laboration 24 Databasen MySQL och java

Lösningsförslag till tentamen

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP, DSV1:P2 och ITK:P2

Rita Egna Bilder, Timer

Föreläsning 14: Grafik & mera händelsehantering

Tentamen, EDAA20/EDA501 Programmering

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02

Grafiska komponenter.

TDDD78 Viktiga begrepp, del 2

Lösningsförslag. 1 Lösningsförslag. Uppgift 1

Iteration while-satsen

Lösningsförslag till exempeltenta 2

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

Föreläsning 8. Klassen String Mer om fält Klassen ArrayList

Tentamen i Algoritmer & Datastrukturer i Java

PROG2 Tenta Gäller SP:PROG2, DSK2:PROG2, FK:PROG2, FK:OOP och DSV1:P2

Detta dokument är ett exempel, cirka andra hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

Laboration 4: Game of Life

ITK:P1 Föreläsning 4. Grafiska gränssnitt i Java. AWT-komponenter

Del A (obligatorisk för alla)

Tentamen FYTA11 Javaprogrammering

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Lösningar till tentamen i EDAF25

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU

Föreläsning 5-6 Innehåll

Föreläsning 3-4 Innehåll

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 7 Erik Nilsson, Institutionen för Datavetenskap, LiU

Lösningsförslag övning 2.

Malmö högskola 2007/2008 Teknik och samhälle

kl

Lösningsförslag: Instuderingsfrågor, del A

Iteration. Föreläsning 3. TDA540 - Objektorienterad Programmering

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Föreläsning 9-10 Innehåll

Mer om klasser och objekt

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Programmering för språkteknologer II, HT2011. Rum

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

Tentamen i Objektorienterad programmering E

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Föreläsnings 11 - GUI, Händelsestyrda program, MVC

Exempel på användning av arv: Geometriska figurer

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

Objektorienterad programmering

2I1073 Lektion 2. Lektion 2a. Lektion 2a. Servlets, säkerhet, och filhantering. import java.io.*; import javax.servlet.*; import javax.servlet.http.

Transkript:

Uppgift 1 Lösningsförslag till tentamen 110317 a) Sant. b) Falskt. I ett RAM-minne är åtkomsttiden densamma för alla minnesadresser. c) Falskt. TCP är ett protokoll på transportlagret. d) Falskt. Binärsökning tillhör klassen ( 2 log n). e) Falskt. En nod har 0, 1 eller 2 barn. f) Falskt, redundans inom databaser innebär att man har lagrat samma information upprepande gånger på olika platser i samma databas. Detta innebära då information skall uppdateras eftersom uppdateringen måste göras på alla kopior av informationen för att inte få inkonsistens. Man bör alltså eftersträva redundansfria databaser. g) Sant h) Falskt. SQL är ett standardiserat frågespråk för databaser.) i) Sant. i) Sant. Uppgift 2 A B OR C XOR NOR E D AND F a b c d e f 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 Uppgift 3 Algoritmen har tidskomplexiteten (n 2 ). Uppgift 4 Tabellen som erhålls får utseendet: Name Price Erik Hansson 2876 Lisa Andersson 12345

Uppgift 5 En kö är en datastruktur i vilken element kan sättas in och tas ut. En stack har ett FIFO- beteende, dvs endast det element som först sattes in i kön är nåbart och är således det enda elementet som kan tas bort från kön. En statisk implementation av en kö kan göras med hjälp av ett fält av storleken queuesize samt en variabel tail som håller reda på hur många element som finns i kön. Ett element läggs in i kön i fältindex tail och tail ökas med 1. Det element som sattes in först i kön finns i index 0. När det första elementet tas ut ur kön minskas tail med 1 och alla kvarvarande elementen i kön flyttas fram en position i fältet, dvs det element som finns i index 1 flyttas till index 0, det element som finns i index 2 flyttas till index 1 osv. kön 0 1 2 3 4 5 queuesize-1 tail 4 Uppgift 6 Device drivers, är den mjukvara som kommunicerar med yttre enheter, såsom skrivare, monitorer och disk drivers. Memory manager sköter om minneshanteringen. Memory manager går igenom listan över ledigt minne för att söka efter ett ledigt minnesblock till processer. File managern koordinerar användningen av datorns sekundärminne. File mangern håller reda på vilka filer som finns på sekundärminnet, var filerna finns och vem som kan använda filerna, samt vilka minnesutrymmen som är lediga. Schedulern schemalägger när de olika processerna skall köras.

Uppgift 7 a) Metoden nextint är en instansmetod och inte en statisk metod, därför är anropet Random.nextInt(10) felaktigt. Istället skall anropet vara rand.nextint(10) b) Utskriften blir 2 3 4 5 2 c) Utskriften blir: -5

Uppgift 8 import javax.swing.*; import java.util.*; import java.text.*; public class Cooling { public static void main (String[] arg) { while (true) { String indata = JOptionPane.showInputDialog("Ge temperatur ( C) och vindstyrka (m(sek): "); if (indata == null) break; Scanner sc = new Scanner(indata); double temp = sc.nextdouble(); double hastighet = sc.nextdouble(); if (hastighet < 0) { JOptionPane.showMessageDialog(null, "OGILTIG VINDHASTIGHET!"); else { double effekt = temp; if (hastighet > 0.5) effekt = effekt(temp, hastighet); NumberFormat nf = NumberFormat.getInstance(); NumberFormat nf = NumberFormat.getInstance(); nf.setmaximumfractiondigits(1); nf.setminimumfractiondigits(1); JOptionPane.showMessageDialog(null, "Upplevd tempratur " + nf.format(effekt)); //main public static double effekt(double t, double v) { return 13.12667 + 0.6215 * t - 13.924740* Math.pow(v, 0.16) + 0.4875195*t * Math.pow(v, 0.16) ; //effekt //Cooling

Uppgift 9 public class Circle { private double x; private double y; private double radius; public Circle (double radius, double x, double y) { this.radius = radius; this.x = x; this.y = y; //konstruktor public double getx() { return x; //getx public double gety() { return y; //gety public double getradius() { return radius; //getradius public double getarea() { return Math.PI * Math.pow(radius, 2); //getradius public boolean overlaps(circle another) { double distansx = x- another.getx(); double distansy = y - another.gety(); double lengthofradius = radius + another.getradius(); return (distansx * distansx + distansy * distansy) < (lengthofradius * lengthofradius); //getradius public Circle biggest(circle another) { if (radius >= another.getradius()) return this; else return another; public String tostring() { return "Mittpunkt: " + x+ ", " + y + "\nradie: " + radius; //Circle

Uppgift 10 a) b) public static double biggestarea(circle[] vekt) { if (vekt == null vekt.length == 0) return -1; else { double biggest = 0; for (int i = 0; i < vekt.length; i = i + 1) { if (vekt[i].getarea() > biggest) { biggest = vekt[i].getarea(); return biggest; // biggestarea public static int[][] newintensity(int[][] samples, int low, int high) { int[][] newsamples = new int[samples.length][samples[0].length]; for (int row = 0; row < samples.length; row = row + 1) for (int col = 0; col < samples[row].length; col = col + 1) { if (samples[row][col] > high) newsamples[row][col] = 255; else if (samples[row][col] < low) newsamples[row][col] = 0; else newsamples[row][col] = (255*(samples[row][col]-low)/(high-low)); return newsamples; // newintensity

Uppgift 11 (deluppgift a) import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SimpleEggTimer extends JPanel implements ActionListener { private JButton plus = new JButton("+"); private JButton start = new JButton("Start"); private JLabel tallabel; private Timer timer = new Timer(1000, this); private int nrofseconds = 0; public SimpleEggTimer() { tallabel = new JLabel("0", JLabel.CENTER); setlayout(new BorderLayout()); add("center", tallabel); add("east", plus); add("south", start); plus.setbackground(color.yellow); tallabel.setbackground(color.white); tallabel.setopaque(true); plus.addactionlistener(this); start.addactionlistener(this); start.setenabled(false); Font font = new Font("Times", Font.PLAIN, 36); plus.setfont(font); tallabel.setfont(font); //konstruktor public void actionperformed(actionevent e) { if (e.getsource() == timer) countdown(); else if (e.getsource() == plus) settime(); else if (e.getsource() == start) startclock(); //actionperformed private void countdown() { nrofseconds = nrofseconds -1; if ( nrofseconds!= 0) tallabel.settext(" " + nrofseconds); else { tallabel.settext("pling!! "); timer.stop(); plus.setenabled(true); // countdown private void settime() { nrofseconds = nrofseconds + 1; tallabel.settext(" " + nrofseconds); start.setenabled(true); //settime private void startclock() { timer.start(); start.setenabled(false); plus.setenabled(false); //startclock //SimpleEggTimer

b) import javax.swing.*; public class ShowSimpleEggTimer extends JFrame { public ShowSimpleEggTimer() { SimpleEggTimer clock = new SimpleEggTimer(); add(clock); setdefaultcloseoperation(jframe.exit_on_close); setsize(300, 150); setvisible(true); //konstruktor public static void main(string[] arg) { JFrame w = new ShowSimpleEggTimer(); //ShowSimpleEggTimer