2D1339 Programkonstruktion för F1, ht 2003

Relevanta dokument
2D1339 Programkonstruktion för F1, ht 2003

2D1339 Programkonstruktion för F1, ht 2004

DD1342 Programkonstruktion för F1, ht 2007

2D1342 Programkonstruktion för F1, ht 2006

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

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

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

Lab5 för prgmedcl04 Grafik

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

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

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

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.

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

Java, klasser, objekt (Skansholm: Kapitel 2)

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

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

PROGRAMMERINGSTEKNIK TIN212

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

Föreläsning 13 Innehåll

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

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.

Föreläsning 5-6 Innehåll

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

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.

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

Instuderingsfrågor, del D

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

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

Dugga i Grundläggande programmering STS, åk

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

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

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

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

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

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]

Instuderingsfrågor, del B

Typkonvertering. Java versus C

(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

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

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

Föreläsning REPETITION & EXTENTA

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

Föreläsning 9-10 Innehåll

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

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

F4. programmeringsteknik och Matlab

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

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

Tentamen i Grundläggande Programvaruutveckling, TDA548

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

Lite logik. Kap 6: Sid 2

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen i Objektorienterad modellering och design

Föreläsning 2, vecka 8: Repetition

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

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

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

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

Tentamen , Introduktion till Java, dtaa98, dtea53

Exempel på användning av arv: Geometriska figurer

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

Övningar Dag 2 En första klass

DAT043 Objektorienterad Programmering

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.

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

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Applets med komponenter

Tentamen ID1004 Objektorienterad programmering April 7, 2015

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

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

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

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

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

OOP Tenta

Tentamen FYTA11 Javaprogrammering

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

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

OOP Omtenta

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl

Laboration 1 - Grunderna för OOP i Java

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

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

OOP Tentamen

Tentamen i Objektorienterad modellering och design Helsingborg

Föreläsning 1 & 2 INTRODUKTION

Klasshierarkier - repetition

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

Programmering A. Johan Eliasson

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OOP Tenta

Transkript:

2D1339 Programkonstruktion för F1, ht 2003 Kontrollskrivning 1 Onsdag 19/11 2003 kl 9.15 10.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga hjälpmedel är tillåtna 10 rätt av 15 möjliga ger säkert godkänt (gränsen kan bli lägre men ej högre). Skriv alla svar på svarsblanketten! 1. Med Javakoden double distance; A) deklareras en variabel som heter distance som har den den primitiva typen double B) deklareras en variabel som heter distance som har referenstypen double C) anropas en metod som heter distance som ger ett svar av typ double D) dubblas värdet i variabeln distance 2. Vilket värde har variabeln w efter att nedanstående kod är exekverad? int x = 1; boolean w = (x == 1); A)w=0 B)w=1 C)w=true D)w=false 3. Vilka värden har variablerna x och y efter nedanstående kodavsnitt? int x = 0, y = 1; if (x == 0) { x = x + 2; y = 0; else { x = x + 1; y = y - 1; x = x - 1; A) x=0, y=1 B) x=1, y=0 C) x=2, y=0 D) x=0, y=0 4. Vilket värde har variabeln sum efter följande kodavsnitt är exekverat? int sum = 0; for (int k = 3; k<=5; k=k+2) { sum = sum + k*k; A) 55 B) 50 C) 34 D) 0 1

5. Följande kodavsnitt finns i en paint-metod i en Applet. Hur många linser ritas (hur många gånger anropas metoden ritalins)? int x = 100; while (x <= 1000) { ritalins(g, x); x = x + 100; A) 0 B) 1 C) 10 D) Går ej att svara på då while-satsen ger en oändlig repetition och programmet måste avbrytas utifrån t.ex. med Ctrl-C 6. Följande kodavsnitt exekveras i en main-metod. Det blir en utskrift i terminalfönstret som påminner om en geometrisk figur. Vilken? for (int i=1; i<7; i++) { for (int j=1; j<=12; j++) { System.out.print("*"); System.out.println(); A) Cirkel B) Rektangel C) Regelbunden 7-hörning D) Triangel 7. I appleten nedan, hur många ljus kommer att ritas i appletfönstret, dvs hur många gånger anropas metoden ritaljus för varje uppritning av fönstret? Tecknet : står för utelämnad kod. public class Uppgift extends Applet { : public void paint(graphics g) { : mysko(g,1); mysko(g,2); ritaljus(g); void mysko (Graphics g, int n) { for (int k=1; k<=n; k++) ritaljus(g); void ritaljus (Graphics g) { : A) 1 B) 2 C) 3 D) 4 2

8. Antag att v har typen int[], alltså v är en heltalsvektor. Antag också att den är skapad och tilldelad värden. Vilket av följande programavsnitt räknar hur många av värdena i v som är negativa och sparar detta i variabeln antalneg?antalet negativa värden skall efter kodavsnittet t.ex. kunna användas i kommande beräkningar eller skrivas ut. A) int antalneg = 0; for (int i=0; i<v.length; i++) { if (v[i] < 0) antalneg = antalneg + 1; B) for (int i=0; i<v.length; i++) { int antalneg = 0; if (v[i] < 0) antalneg = antalneg + 1; C) int antalneg = 0; for (int i=0; i<v.length; i++) { if (v[i] < 0) antalneg = 1; D) int antalneg = 0; for (int i=0; i<v.length; i++) { if (v[i] < 0) { antalneg = 1; v[i]= v[i] + 1; 9. Du skriver variabeldeklarationen int m på två ställen i samma Java-klass fast i olika metoder. Vilket av följande påståenden är sant? A) Detta orsakar varken kompilerings- eller exekveringsfel. Lokala variabler i olika metoder kan ha samma namn. B) Klassen kan kompileras utan fel, det går bra att anropa den metod som står först i klassen och innehåller int m; men när den andra metoden anropas så blir det felavbrott. C) Klassen kompileras utan fel men när någon av metoderna med int m; anropas så blir det felavbrott. D) Det blir fel när du försöker kompilera klassen. 3

10. Metoden eurotillkronor skall kunna anropas så som följande två exempel visar. Vilken av metoddefinitionerna nedan stämmer med anropsexemplen? (Variabeln kurs är deklarerad och given värde i den klass där metoderna deklareras). Ex1: Ex2: double arvodekr = 225 + eurotillkronor(190.50); System.out.println("Det kostar " + eurotillkronor(225.90) + " kr"); A) void eurotillkronor (double euro) { return euro*kurs; B) double eurotillkronor (double euro) { return euro*kurs; C) void eurotillkronor (double euro, double kurs) { return euro*kurs; D) double eurotillkronor (double euro) { kr = euro*kurs; 11. Metoden funk deklareras (och det är den enda definitionen av funk) double funk (int m, double y) { // här står metodkroppen I vilken av raderna nedan anropas metoden korrekt? A) double z = funk(math.pi, Math.sin(0.1)); B) int m = 13; double y = 0.37; double z = funk(); C) funk(int 5, double 2.78); D) double r = 3.27; System.out.println(funk(3, r)); 4

12. Metoden ritafigur ritar en intressant figur. Metoden deklareras i en Applet och skall ha en skalfaktor, x- och y-värden för dess position samt ett Graphics - objekt som parametrar: void ritafigur (int skala, int xpos, int ypos, Graphics g) { // Här finns de satser som ritar figuren. I vilket av följande alternativ görs ett korrekt anrop av metoden ritafigur? Vi antar i samtliga fall att g är definierad där anropet sker och refererar till ett Graphics-objekt. Metodanropen görs i paint-metoden i den Applet där ritafigur är deklarerad. A) B) C) D) g.ritafigur(20, 100, 200); int skala = 30; int xpos = 250; int ypos = 100; ritafigur(g); for (int x = 100; x <= 800; x +=50) ritafigur(40, x, 200, g) for (int x = 100; x <= 800; x +=50) ritafigur(g, 40, x, 200) 13. Följande programavsnitt beräknar och skriver ut en rad med tal. Vilken? int n=7; int talet = 1; System.out.print(talet + " "); for (int k=1; k<=n; k++) { talet = talet*(n-k+1)/k; System.out.print(talet + " "); System.out.println(); A) 1 7 49 343 2401 16807 117649 823543 B) 1 7 21 63 189 567 1701 C)172135352171 D)11111111 5

14. I en Applet skall ett antal fyllda cirklar med varierande storlek ritas längs en (tänkt) linje diagonalt över appletfönstret från övre vänstra till nedre högra hörnet. Cirklarna ska ritas med samma värden på positionen i x-led och y-led. Positionerna för cirklarna anges i vektorn pos och radierna för cirklarna i vektorn radie. Metoden filloval i klassen Graphics skall användas. Metoden har samma parametrar som drawoval. Någon av dessa har ni använt för att rita linserna i lab1. Vilken paintmetod ritar de begärda cirklarna? Obs! Inga instansvariabler utöver vektorerna pos och radie är deklarerade i klassen. A) B) C) D) int[] pos = {50, 100, 200, 250; int[] radie = {5, 8, 10, 25; g.filloval(pos[x], pos[y], 2*radie[i], 2*radie[i]); g.filloval(pos, radie); filloval(g, xpos[i], ypos[i], radie, radie); g.filloval(pos[i], pos[i], 2*radie[i], 2*radie[i]) 15. Antag att programmet i föregående uppgift skall utvidgas så att det inuti varje cirkel dessutom ritas en röd cirkel med halva radien. Vilka delar av programmet måste ändras? A) Endast definitionerna av vektorerna pos och radie. B) Definitionerna av vektorerna pos och radie samt paint-metoden. C) Endast paint-metoden. D) Något annat är vektorerna och paint-metoden måste ändras för att lösa uppgiften. 6