Dugga i Grundläggande programmering STS, åk

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

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 11

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Tentamen i Grundläggande programmering STS, åk 1 fredag

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

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

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

Preliminär elmarknadsstatistik per månad för Sverige 2014

Tentamen. Lösningsförslag

OOP Omtenta

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

JAVA Mer om klasser och objektorientering

Tentamen i Grundläggande programmering STS, åk 1 fredag

OOP Tenta

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

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

Föreläsning 8: Exempel och problemlösning

Tentamen OOP

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

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

OOP Tentamen

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

2D1342 Programkonstruktion för F1, ht 2006

TENTAMEN OOP

Föreläsning 3-4 Innehåll

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

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

Tentamen i Grundläggande programmering STS, åk 1 lördag

2D1339 Programkonstruktion för F1, ht 2004

2016, Arbetslösa samt arbetslösa i program i GR i åldrarna år

Preliminär elmarknadsstatistik per månad för Sverige 2014

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Tentamen i Programmering

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

OOP Tenta

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

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

2D1339 Programkonstruktion för F1, ht 2003

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

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

Tentamen Programmering fortsättningskurs DIT950

OOP Objekt-orienterad programmering

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

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Laboration 13, Arrayer och objekt

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

Tentamen i Grundläggande programmering STS, åk

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

Tentamen, EDAA20/EDA501 Programmering

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

Konstruktion av klasser med klasser

Grundläggande programmering med C# 7,5 högskolepoäng

Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!

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

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.

OOP Omtenta

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Tentamen, EDA501 Programmering M L TM W K V

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

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

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

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

PROGRAMMERINGSTEKNIK TIN212

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

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

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Objektorienterad programmering i Java

OOP Omtenta

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 i Programmeringsteknik I

Att skriva till och läsa från terminalfönstret

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

Instuderingsfrågor, del D

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

DAT043 Objektorienterad Programmering

Malmö högskola 2008/2009 CTS

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

OOP Tentamen

Preliminär elmarknadsstatistik per månad för Sverige 2013

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

OOP Tentamen

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer

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

Chapter 4: Writing Classes/ Att skriva egna klasser.

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

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

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

Tentamen, EDAA10 Programmering i Java

Tentamen i Algoritmer & Datastrukturer i Java

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

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

Objektorienterad programmering E. Back to Basics. En annan version av printtable. Ett enkelt exempel. Föreläsning 10

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Algoritmer. Två gränssnitt

Klasshierarkier. Klasser kan byggas på redan definierade klasser

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

Transkript:

Grundläggande programmering, STS 1 14 maj 2007 Sida 1/11 Dugga i Grundläggande programmering STS, åk 1 2007-05-14 Skrivtid: 13:00 16:00 Hjälpmedel: Inga Lärare: Sven Sandberg besöker duggan ca 13:45. Tel. 471 1049. Läs instruktionerna på nästa sida mycket noggrant!

Grundläggande programmering, STS 1 14 maj 2007 Sida 2/11 Instruktioner Duggan består av 17 kryssfrågor, som vardera ger ett poäng. Sist i duggan finns ett svarsblad. Riv ut detta blad och lämna dina svar på bladet. Svarsbladet ska lämnas in. De överiga pappren i duggan får du behålla. Kryssa tydligt över det svar du anser vara riktigt. Om du vill ändra ett svar, gör det på ett sätt som inte kan misstolkas. Enbart ett svarsalternativ är riktigt, utom på de frågor där det tydligt anges att ett eller flera alternativ är riktiga. Om du svarar med fler än ett svar på någon annan uppgift, får du inget poäng. I samtliga uppgifter kan du förutsätta att extra-paketet har importerats, även då det inte står uttryckligen i uppgiften. Duggan gås igenom på morgondagens föreläsning. Betygsgränser Duggapoäng Duggaresultat Kvalitetspoäng 0 10 U 0 11 G 0 12 G 10 13 G 14 14 G 18 15 G 22 16 G 26 17 G 30

Grundläggande programmering, STS 1 14 maj 2007 Sida 3/11 Uppgifter Klassen TelefonKostnad nedan är en förenklad version av klassen som beskrevs på föreläsningen. Objekt av klassen ska hålla ordning på kostnaden för en mobiltelefon. I frågorna 1 8 refereras till denna klass. class TelefonKostnad { taxasms = 0.70; private String namn; private double kostnad; TelefonKostnad( ) { this.namn = namn; kostnad = 0; antaltelefoner++; public void skrivut() { Std.out.print(namn + " har anvant " + kostnad + " kr."); skickasms() { kostnad += taxasms; public double gekostnad() { return kostnad; public static void satttaxasms(double taxa) { taxasms = taxa; public static double getaxasms() { return taxasms;

Grundläggande programmering, STS 1 14 maj 2007 Sida 4/11 1. Vilket eller vilka av följande ord ska texten ➊ ovan ersättas med, om vi ska följa konventioner för Java-programmering? (Ordens inbördes ordning kommer vara densamma i koden som bland svarsalternativen, ifall flera svar ska kryssas.) (a) public (f) int (b) private (g) double (c) static (h) String (d) void (i) namn (e) boolean (j) kostnad 2. Vilket eller vilka av följande ord ska texten ➋ ovan ersättas med, om vi ska följa konventioner för Java-programmering? (Ordens inbördes ordning kommer vara densamma i koden som bland svarsalternativen, ifall flera svar ska kryssas.) (a) public (f) int (b) private (g) double (c) static (h) String (d) void (i) namn (e) boolean (j) kostnad 3. Vilket eller vilka av följande ord ska texten ➌ ovan ersättas med, om vi ska följa konventioner för Java-programmering? (Ordens inbördes ordning kommer vara densamma i koden som bland svarsalternativen, ifall flera svar ska kryssas.) (a) public (f) int (b) private (g) double (c) static (h) String (d) void (i) namn (e) boolean (j) kostnad 4. Vilket eller vilka av följande ord ska texten ➍ ovan ersättas med, om vi ska följa konventioner för Java-programmering? (Ordens inbördes ordning kommer vara densamma i koden som bland svarsalternativen, ifall flera svar ska kryssas.) (a) public (f) int (b) private (g) double (c) static (h) String (d) void (i) namn (e) boolean (j) kostnad

Grundläggande programmering, STS 1 14 maj 2007 Sida 5/11 5. Studera följande kodrad, som du kan anta finns i en main -metod i en annan klass, kallad TelefonTest1. TelefonKostnad tel = new TelefonKostnad(150.0); Om de saknade raderna i TelefonKostnad skrevs riktigt, och TelefonKostnad och TelefonTest1 kompilerades, skulle raden: (a) Ge upphov till ett fel när den kompilerades. (b) Kompileras korrekt, men ge upphov till ett fel när den exekverades. (c) Kompileras, exekveras och ge upphov till ett objekt ur klassen TelefonKostnad med kostnad 0. (d) Kompileras, exekveras och ge upphov till ett objekt ur klassen TelefonKostnad med kostnad 150. Vi skapar en ny fil där vi definierar klassen TelefonKostnadMedUtskrift. I fråga 6 8 refereras till denna klass. Filen börjar med följande två rader: class TelefonKostnadMedUtskrift extends TelefonKostnad { Klassen innehåller bl.a. följande metod. public void skickasms() { super.skickasms(); skrivut(); Du får anta att klassen innehåller övriga rimliga metoder, såsom konstruktorer, trots att dessa inte är beskrivna här. 6. Den relation som beskrivs mellan TelefonKostnadMedUtskrift och TelefonKostnad kallas... (a) har-relation (b) känner-till-relation (c) är-relation

Grundläggande programmering, STS 1 14 maj 2007 Sida 6/11 7. Antag nu att vi lägger till följande metod i klassen TelefonKostnadMedUtskrift : public static void main(string[] args) { TelefonKostnadMedUtskrift tel = new TelefonKostnadMedUtskrift("Kim"); tel.skickasms(); tel.skrivut(); Std.out.println("Slut."); Om main -metoden i klassen TelefonKostnadMedUtskrift anropades, vad skulle programmet skriva ut? (a) Kim har anvant 0.0 kr.slut. (b) Kim har anvant 0.7 kr.slut. (c) Kim har anvant 0.0 kr.kim har anvant 0.0 kr.slut. (d) Kim har anvant 0.0 kr.kim har anvant 0.7 kr.slut. (e) Kim har anvant 0.7 kr.kim har anvant 0.7 kr.slut. 8. Antag istället att vi lägger till följande metod i klassen TelefonKostnadMedUtskrift : public static void main(string[] args) { TelefonKostnad tel = new TelefonKostnad("Kim"); tel.skickasms(); tel.skrivut(); Std.out.println("Slut."); Om den nya main -metoden i klassen TelefonKostnadMedUtskrift anropades, vad skulle programmet skriva ut? (a) Kim har anvant 0.0 kr.slut. (b) Kim har anvant 0.7 kr.slut. (c) Kim har anvant 0.0 kr.kim har anvant 0.0 kr.slut. (d) Kim har anvant 0.0 kr.kim har anvant 0.7 kr.slut. (e) Kim har anvant 0.7 kr.kim har anvant 0.7 kr.slut.

Grundläggande programmering, STS 1 14 maj 2007 Sida 7/11 9. Studera följande kodavsnitt. int x = 0, y = 0; while (x < 10) { y++; x += 2; Std.out.println("x=" + x + "y=" + y); Vad skrivs ut om kodavsnittet exekveras? (a) x=5 y=5 (d) x=5 y=9 (b) x=9 y=5 (e) x=9 y=9 (c) x=10 y=5 (f) x=10 y=9 (g) x=5 y=10 (h) x=9 y=10 (i) x=10 y=10 10. Studera följande kodavsnitt. int x = 0, y = 0; while (x < 10) { x++; for (int z=0; z<10; z++) y++; Std.out.println("x=" + x + "y=" + y); Vad skrivs ut om kodavsnittet exekveras? (a) x=9 y=9 (d) x=9 y=10 (b) x=10 y=9 (e) x=10 y=10 (c) x=100 y=9 (f) x=100 y=10 (g) x=9 y=100 (h) x=10 y=100 (i) x=100 y=100 11. Studera följande kodavsnitt. int[] a = { 1, 2, 4, 8 ; int x = 0; for (int i = 1; i < 3; i++) x += a[i]; Std.out.println(x); Vad skrivs ut om kodavsnittet exekveras? (a) 1 (c) 3 (e) 6 (b) 2 (d) 4 (f) 7 (g) 8 (h) 12 (i) 14 (j) 15

Grundläggande programmering, STS 1 14 maj 2007 Sida 8/11 12. Studera följande kodavsnitt. int[] x = new int[10]; for (int i = x.length - 2; i >= 0; i--) x[i] = x[i + 1] + 1; for (int i = 0; i < x.length; i++) Std.out.print(x[i]); Std.out.println("."); Vad skrivs ut om kodavsnittet exekveras? (a) 0000000000. (d) 1111111111. (b) 0123456789. (e) 1234567890. (c) 0987654321. (f) 9876543210. (g) 9999999999. Studera koden för klassen Kalender nedan. Klassen används i uppgift 12 och 13. class Kalender { private static String[] manader = { "jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec" ; public void visakalender(int borjan, int slut) { borjan--; slut--; if ((borjan >= 0) && (slut >= 0) && (borjan < 12) && (slut < 12)) { int m = borjan; while ( ) { Std.out.println(manader[m]); if ( ) m = 0; else m++; Metoden visakalender ska skriva en lista av månader. Listan ska börja med månad nummer borjan och sluta en månad innan månad nummer slut. Metoden ska skriva minst 0 och högst 11 månader. Alla följande tre anrop ska fungera, dvs. månaden efter december ska vara januari: visakalender(3, 6); // fr.o.m. mars t.o.m. maj visakalender(8, 2); // fr.o.m. augusti t.o.m. januari visakalender(12, 1); // bara december

Grundläggande programmering, STS 1 14 maj 2007 Sida 9/11 13. Vad ska texten ovan bytas ut mot för att programmet ska fungera som förväntat? (a) borjan < slut (b) borjan + m < slut (c) borjan + m < slut + 12 (d) m < 11 (e) m < 12 (f) m < 13 (g) m < slut (h) m!= slut 14. Vad ska texten ovan bytas ut mot för att programmet ska fungera som förväntat? (a) borjan == 11 (b) borjan > slut (c) m == 11 (d) m == 12 (e) m == 13 (f) m < borjan (g) m > slut 15. Studera följande två klasser. class Uppg14 { public int metod1(int x, int y) { y = x; return x + y; class Test14 { public static void main(string[] arg) { int x = 2; int y = 6; Uppg14 u = new Uppg14(); x = u.metod1(x, y); Std.out.println("x=" + x + " y="+y); Vad kommer skrivas ut ifall main -metoden i klassen Test14 anropas? (a) x=2 y=2 (d) x=4 y=2 (g) x=6 y=2 (b) x=2 y=4 (e) x=4 y=4 (h) x=6 y=4 (c) x=2 y=6 (f) x=4 y=6 (i) x=6 y=6

Grundläggande programmering, STS 1 14 maj 2007 Sida 10/11 16. Studera följande två klasser. class Heltal { private int etttal; public Heltal(int etttal) { this.etttal = etttal; public void addera(int x) { etttal += x; public int getal() { return etttal; public int specialmetod(int etttal) { etttal++; addera(1); return etttal; class HeltalTest { public static void main(string[] arg) { int x = 3; Heltal y = new Heltal(3); int z = y.specialmetod(x); Std.out.println("x=" + x); Std.out.println("y=" + y.getal()); Std.out.println("z=" + z); Vilka tre rader kommer skrivas ut om main -metoden i klassen HeltalTest anropas? Observera att du ska kryssa för tre av alternativen. (a) x=3 (b) x=4 (c) x=5 (d) y=3 (e) y=4 (f) y=5 (g) z=3 (h) z=4 (i) z=5

Grundläggande programmering, STS 1 14 maj 2007 Sida 11/11 17. Consider the following two classes. class Simple1 { private int x; private int y; public Simple1() { x = 3; y = 5; public int compute(int a, int b) { x = a * a; y = b + 7; return x + y; public void printout(int a) { Std.out.println("First: " + x + " Second: " + y + " Third: " + a); class Test { public static void main(string[] arg) { int x = 2; int y = 6; Simple1 calc = new Simple1(); x = calc.compute(x, y); calc.printout(x); What will the program print out, if the main method in the class Test is called? (a) First: 0 Second: 0 Third: 2 (b) First: 2 Second: 6 Third: 2 (c) First: 2 Second: 6 Third: 13 (d) First: 4 Second: 6 Third: 4 (e) First: 4 Second: 13 Third: 4 (f) First: 4 Second: 13 Third: 17 (g) First: 17 Second: 13 Third: 17