DD1342 Programkonstruktion för F1, ht 2007

Relevanta dokument
2D1342 Programkonstruktion för F1, ht 2006

2D1339 Programkonstruktion för F1, ht 2004

2D1339 Programkonstruktion för F1, ht 2003

2D1339 Programkonstruktion för F1, ht 2003

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har

DD1342 Programkonstruktion för F1,

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.

Datalogi I, grundkurs med Java 10p, 2D4112, Tentamen 29 november 2003, svar och lösningar

2 b) Bodega bodegan = new Bodega(); double moms = 0.235; String namn = "Vargtass"; System.out.println(namn + " " + moms + bodegan.ändra(moms, namn); S

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

Kort om klasser och objekt En introduktion till GUI-programmering i Java

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Typkonvertering. Java versus C

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

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

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

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

Tentamen OOP

OOP Tenta

tentaplugg.nu av studenter för studenter

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

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

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

2 b) Följande finns definierat: public class Spel String titel = "Spel"; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice("Röd"); tärningar[1]

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

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

Lite logik. Kap 6: Sid 2

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Föreläsning 5-6 Innehåll

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

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

Frivillig Java-swing-Graphics-lab Programmeringsteknik MN1 vt02

Tentamen i Programmeringsteknik I

Tentamen i Objektorienterad programmering

Klassdeklaration. Metoddeklaration. Parameteröverföring

Dugga i Grundläggande programmering STS, åk

Högskolan Dalarna sid 1 av 5 Data-avdelningen Hans-Edy Mårtensson

OOP Omtenta

F4. programmeringsteknik och Matlab

Tentamen. Lösningsförslag

2 b) Följande finns definierat: import java.awt.*; public class Uppgift1b public static void main(string[] mupp) Color färg = Color.blue; Bil[] bilar

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at

Programmering A. Johan Eliasson

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpe

SMD 134 Objektorienterad programmering

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

FÖRSLAG TILL LÖSNINGAR FÖR TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för SY , kl

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Programmeringsteknik II - HT18. Föreläsning 6: Grafik och händelsestyrda program med användargränssnitt (och Java-interface) Johan Öfverstedt

TENTAMEN OOP

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

PROGRAMMERINGSTEKNIK TIN212

Java, klasser, objekt (Skansholm: Kapitel 2)

Tentamen. Grundläggande programmering i Java A 5p, DTAA

Introduktion till Datalogi DD1339. Föreläsning 4 7 okt 2014

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

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

Tentamen i Programmeringsteknik MN

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Applets med komponenter

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 29 november 2003 kl , sal D34.

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Instuderingsfrågor, del D

Tentamen , Introduktion till Java, dtaa98, dtea53

Föreläsning 2, vecka 8: Repetition

Tentamen , Grundläggande programmering i Java

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

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

Tentamen ID1004 Objektorienterad programmering May 29, 2012

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

LÖSNINGSFÖRSLAG TENTAMEN

DAT043 Objektorienterad Programmering

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

Lab5 för prgmedcl04 Grafik

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Föreläsning REPETITION & EXTENTA

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Tentamen i Programmeringsteknik I,, KandMa/Fy,

Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning

Transkript:

DD1342 Programkonstruktion för F1, ht 2007 Lappskrivning 1 Torsdag 22/11 2007 kl 9.15 10.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar markerats räknas det som fel svar. Alla skriftliga hjälpmedel är tillåtna. 10-13 rätt av 16 möjliga ger säkert godkänt och 2poäng. 14-16 rätt ger säkert 3poäng Skriv alla svar på svarsblanketten! 1. Följande Java-satser står i en main-metod. Vilka värden har variablerna x och y efter satserna är utförda? int x=7, y=1; x = x + y; y = x + y; A) x = 8 y = 8 B) x = 9 y = 9 C) x = 8 y = 9 D) x = 7 y = 1 2. Följande Java-satser står i en main-metod. Vilka värden har variablerna a och b efter satserna är utförda? int a=7, b = 12; boolean mindre = a<b; if (mindre) { a = a*10; else { b = a; a = a + 1; A) a = 71 b = 12 B) a = 70 b = 12 C) a = 8 b = 7 D) a = 7 b = 12 3. Vilket värde har variabeln r efter kodavsnittet nedan är exekverat, dvs vad skrivs ut? int x = 51, y = 17, r = x; while (r >= y) { r = r - y; System.out.println("r = " + r); A) r = 51 B) r = 17 C) r = -17 D) r = 0 1

En klass deklareras på följande sätt: class Mysko { private int hemlig = 0; public void gör () { hemlig = hemlig + 1; public int visa () { return hemlig; 4. Hur skapas objekt av klassen? Endast ett alternativ är rätt: A) Mysko agaton = new Mysko(); B) Mysko agaton = new Mysko; C) Mysko agaton = new Mysko(7); D) Mysko agaton = new gör(); 5. Antag att ett objekt av Mysko har skapats med det rätta alternativet ur uppgift 4. Därefter exekveras följande satser: Vad skrivs ut? agaton.gör(); agaton.gör(); agaton.gör(); System.out.println(agaton.visa()); A) hemlig (alltså texten hemlig) B) 0 C) 1 D) 3 6. Vilken av ustskrifterna produceras av kodavsnittet? for (int n=5; n>=0; n--) { for (int i=1; i<=n*n + 1; i++) System.out.print("*"); System.out.println(); A) ***** B) ****** C) ************************** D) * **** ***** ***************** ** *** **** ********** *** ** *** ***** **** * ** ** ***** * * ****** 2

7. Vilket av följande påståenden om Javaprogram är FALSKT? A) En klass kan innehålla metoder. B) Varje metod i Java kan bara anropas en gång. C) I en metod kan man deklarera lokala variabler. D) Exekvering av ett fristående program (application) börjar alltid i en metod som heter main. 8. Vilket värde har variabeln summa efter satsterna nedan exekverats? int[] p = {0,1,1,2,3,5,8,13,21,34; int summa = 0; for (int i = 0; i<p.length; i=i+3) summa = summa + p[i]; A) 88 B) 44 C) 27 D) 2 9. Följande programavsnitt skriver ut en talföljd. Hur börjar den? int t0=1, t1=1, t2=0; System.out.print(t0 + " " + t1); for (int k=1; k<=20; k++) { t2 = t1 + 2*t0; System.out.print(" " + t2); t0 = t1; t1 = t2; A)112358 B)113333 C)22461222 D)11351121 10. Vilket av följande påståenden om metoder i Java är SANT? A) Vid ett metodanrop måste de aktuella parametrarna ha samma namn som de formella parametrarna har i metoddefinitionen. B) En metod med returtyp (t.ex. int) måste alltid ha minst en parameter. C) Vid ett metodanrop måste de aktuella parametrarna vara lika många som metodens formella parametrar var då metoden definierades och de aktuella parametrarna måste ha samma typer som motsvarande formella parametrar har. D)Envoid-metodskaaldrighaparametrar. 3

11. Här vill vi räkna i hur många positioner som två heltalsvektorer har samma värden, dvs för hur många i som x i = y i. Om vektorerna är int[] x = {0,1,1,2,3,5,8,13,21; int[] y = {3,3,1,7,3,5,0, 0,21; så ska svaret bli 4. Svaret läggs i variabeln antallika. Vilket av alternativen nedan ger FEL svar? Tre alternativ ger rätt svar. A) int antallika = 0; int k=0; while(k<x.length) { if (x[k] == y[k]) { antallika = antallika + 1; k = k + 1; B) int antallika = 0; for (int i=0; i<x.length; i++) { for (int j=0; j<y.length; j++) { if (x[i] == y[j]) { antallika = antallika + 1; C) int[] diff = new int[x.length]; for (int i=0; i<x.length; i++){ diff[i] = x[i] - y[i]; int antallika = 0; for (int i = 0; i<x.length; i++) { if (diff[i] == 0) { antallika = antallika + 1; D) int antallika = 0; for (int i = 0; i<x.length; i++) { if (x[i] == y[i]) { antallika = antallika + 1; 4

12. Metoden f skall kunna anropas så som följande exempel visar. Vilken av metoddefinitionerna nedan är korrekt Java och stämmer med anropsexemplet? Exempel på anrop: double z = f(5, 0.99); A) double f (int n, double x) { f = Math.sin(n*x); B) double f (int n, double z) { return Math.sin(n*z); C) void f (int n, double x) { System.out.println("Värdet är " + Math.sin(n*z)); D) double f (double z, int n) { return Math.sin(n*z); 13. Om en metod har huvudet void mysko(boolean b, int h) Vilket av följande förslag är ett riktigt anrop av metoden? Alla förslag står i en metod i samma klass som mysko är definierad. A) mysko(false, 17); B) mysko(true, 3.14159265); C) int h = 33; boolean resultat = mysko(); D) mysko("troll", 999); 5

14. Metoden ritaboll ritar en röd boll med diameter 15 pixels. Hur många bollar kommer att synas när man kör appleten eller hur många gånger anropas metoden ritaboll för varje anrop av paint? import java.awt.*; import java.applet.*; public class Bollar extends Applet { int xpos; public void paint (Graphics g) { xpos = 20; ritamera(g); ritamera(g); ritamera(g); void ritaboll (Graphics g) { g.setcolor(color.red); g.filloval(xpos, 100, 15, 15); xpos = xpos + 20; void ritamera (Graphics g) { ritaboll(g); ritaboll(g); ritaboll(g); A) 0 B) 3 C) 9 D) 20 6

15. I appleten nedan deklareras tre variabler: xpos, pippi och ronja. Vilka av variablerna kan användas i en tredje metod, t.ex. inuti metoden paint? import java.awt.*; import java.applet.*; public class Synlighet extends Applet { int xpos = 100; void m1 () { int pippi = 25; public void paint (Graphics g) { m1(); m2(); // Kan variablerna xpos, pippi och ronja användas här? g.drawline(xpos, 50, 20, 100); // A) Det blir fel här g.drawline(xpos, 30, 100, pippi); g.drawline(xpos, 50, 100, ronja); // B) Första felet inträffar här // C) Första felet inträffar här // D) Det blir inte fel alls void m2() { int ronja = 250; A) Ingen av variablerna xpos, pippi och ronja kan användas inuti paint(). B) Endast variabeln xpos kan användas inuti paint(). C) Variablerna xpos och pippi men inte ronja kan användas inuti paint(). D) Alla variablerna xpos, pippi och ronja kan användas inuti paint()-metoden. 7

16. Följande applet ska rita en vacker stjärnhimmel med svart bakgrund och små vita cirklar i slumpmässiga positioner och storlekar. En viktig sats är utelämnad och ska stoppas in där kommentaren // ** här ** finns. Hur ska den utelämnade satsen se ut? import java.awt.*; import java.applet.*; public class Stjärnor extends Applet { int N = 700; public void init () { setbackground(color.black); public void paint (Graphics g) { g.setcolor(color.white); for (int i=0; i<n; i++) { // ** här ** void ritaslumpstjärna (Graphics målare) { int xpos = (int) (Math.random()*600); int ypos = (int) (Math.random()*600); int diam = 1 + (int) (Math.random()*4); målare.filloval(xpos, ypos, diam, diam); A) ritaslumpstjärna(målare); B) g.ritaslumpstjärna(xpos, ypos, diam, diam); C) målare.ritaslumpstjärna(g); D) ritaslumpstjärna(g); 8