2D1339 Programkonstruktion för F1, ht 2004



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

DD1342 Programkonstruktion för F1, ht 2007

2D1339 Programkonstruktion för F1, ht 2003

2D1342 Programkonstruktion för F1, ht 2006

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

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

Föreläsning 3-4 Innehåll

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,

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

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.

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

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.

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

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

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

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

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

Tentamen OOP

F4. programmeringsteknik och Matlab

OOP Omtenta

Lab5 för prgmedcl04 Grafik

TENTAMEN OOP

Lite logik. Kap 6: Sid 2

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

Dugga i Grundläggande programmering STS, åk

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

Instuderingsfrågor, del D

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

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

PROGRAMMERINGSTEKNIK TIN212

Tentamen FYTA11 Javaprogrammering

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

Tentamen i Grundläggande Programvaruutveckling, TDA548

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

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

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OOP Tenta

ID1004 Laboration 3, 5-6 November 2012

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.

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 REPETITION & EXTENTA

Objektorienterad programmering i Java

Tentamen ID1004 Objektorienterad programmering May 29, 2012

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

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

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

Applets med komponenter

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

(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

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

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

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

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

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

TENTAMEN OOP

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.

Del A (obligatorisk för alla)

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

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

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

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

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

SMD 134 Objektorienterad programmering

Tentamen i Programmering

Laboration 1 - Grunderna för OOP i Java

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

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

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

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

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

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Typkonvertering. Java versus C

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

Föreläsning 2, vecka 8: Repetition

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Tentamen. Lösningsförslag

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

Tentamen i Objektorienterad programmering

Chapter 4: Writing Classes/ Att skriva egna klasser.

TDDC77 Objektorienterad Programmering

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

Programmeringsteknik I

Föreläsning 3. Iteration while-satsen

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

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

OOP Objekt-orienterad 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 2 Objektorienterad programmering DD1332. Typomvandling

TDIU01 - Programmering i C++, grundkurs

Transkript:

2D1339 Programkonstruktion för F1, ht 2004 Kontrollskrivning 1 Onsdag 24/11 2004 kl 11.15 12.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. Vilken av följande datatyper bör användas för variabler som skall innehålla människors längder uttryckta i meter? A) char B) double C) int D) long 2. Vad blir utskriften från följande programavsnitt om x ges värdet 1, dvs första satsen är int x = 1;? int x =...; if (x > 10) { System.out.print("ETT "); else if (x > 0) { System.out.print("TU "); System.out.print("TRE "); System.out.println(); A) TU TRE B) ETT TU C) ETT TU TRE D) TRE 3. Vad blir utskriften från programavsnittet i föregående uppgift om x ges värdet 0 från början, dvs första satsen är int x = 0;? A) Det blir ingen utskrift B) ETT TU C) TRE D) TU TRE 4. Vilket värde har variabeln y efter nedanstående kodavsnitt är exekverat? int y = 1; int n = 5; while (n > 0) { y = y*2; n = n-1; A) y=1 B) y=2 C) y=32 D) y=64 1

5. Hur många gånger anropas metoden doit i kodavsnittet nedan? for (int k = 1; k<10; k=k+3) { doit(); A) 0 B) 2 C) 3 D) 9 6. Följande kodavsnitt exekveras i en main-metod. Utskriften består av asterisker men vilket mönster bildar asteriskerna? int[] b = {7,1,1,4,1,1,7; for (int i=0; i<b.length; i++) { for (int j=1; j<=b[i]; j++) System.out.print("*"); System.out.println(); A) En regelbunden 7-hörning B) En rektangel C) Bokstaven F D) Bokstaven E 7. Vilket påstående om programmet nedan är riktigt? class Funk { public static void main (String[] x) { System.out.println(funk(funk(funk(0)))); static int funk (int n) { return 3*n + 1; A) Raden med System.out.println(...) genererar felmeddelande från kompilatorn. B) Programmet går att kompilera och köra men ger ingen utskrift C) Programmet går att kompilera och köra och ger utskriften 1 D) Programmet går att kompilera och köra och ger utskriften 13 8. Vilket av följande påståenden om metoder i Java är sant? A) I en metoddeklaration står det alltid void eller int före metodnamnet. B) Alla metoder måste innehålla en return -sats C) En metod kan deklareras (definieras) inuti en annan metod. D) En metod måste deklareras (definieras) inuti en klass. 2

9. Vilket av följande programavsnitt hittar det minsta värdet i den indicerade variabeln (vektorn) v samt dess index i vektorn utan att ändra något i v?efter programavsnittet är exekverat skall det minsta värdet ligga i variabeln min och indexet till minsta värdet ska finnas i variabeln k. A) for (int i=1; i< v.length; i++) { int min = v[0]; int k = 0; if (v[i] < min) { else { v[i] = min; B) int min = v[0]; int k = 0; for (int i=1; i< v.length; i++) { if (v[i] < min) { k = i; else { min = v[0]; k = 0; C) int min = v[0]; int k = 0; for (int i=1; i< v.length; i++) { if (v[i] < min) { k = i; D) int min = v[0]; int k = 0; for (int i=1; i< v.length; i++) { if (v < min) { else { k = i; 3

10. Metoden fa skall kunna anropas så som följande två exempel visar. Vilken av metoddefinitionerna nedan stämmer med anropsexemplen? Ex1: double koktemp = fa(100); Ex2: System.out.println(fa(39.9) + " grader Fahrenheit är hög feber för en vuxen"); A) void fa (double x) { return 9*x/5 + 32; B) double fa (double c) { return 9*c/5 + 32; C) void fa (double c, double f) { f = 9*c/5 + 32 D) double fa (double c) { koktemp = 9*c/5 + 32 11. Metoden calc har följande metodhuvud: void calc (double x, double y, int n) I vilket av alternativen nedan anropas metoden felaktigt A) double y = calc (0.3, 0.4, 5) B) calc (0.1, 0.5, 10); C) calc (Math.sin(0.78), 3, (int) Math.PI) D) double z = Math.sin(0.78); double t = 3; int u = (int)math.pi; calc (z, t, u); 4

12. Följande programavsnitt beräknar och skriver ut en rad med tal. Vilken? int m=6; int t = m, tal = 1; System.out.print(tal + " "); for (int n=1; n<=m; n++) { tal = tal*t/n; System.out.print(tal + " "); t = t-1; System.out.println(); A) 1 6 15 20 15 6 1 B) 1 6 30 120 360 720 720 C)1111111 D)1621000 13. I en Applet skall ett antal koncentriska (med samma mittpunkt) cirklar med varierande radie ritas. Metoden drawoval i klassen Graphics skall användas. I appleten deklareras instansvariablerna radie som innehåller alla radierna samt x0 och y0 som är mittpunkt för alla cirklarna. Endast en av paintmetoderna nedan ritar de begärda cirklarna. Vilken? int[] radie = {10, 20, 50, 80, 95; int x0 = 150, y0 = 150; A) public void paint (Graphics g) { for (int i = 0; i< radie.length; i++) { int r = radie[i]; int xco = x0-r; int yco = y0-r; drawoval(g, xco, yco, 2*r, 2*r); B) public void paint (Graphics g) { for (int i = 0; i< radie.length; i++) drawoval(g, x0-radie[i], y0-radie[i], radie[i], radie[i]); C) public void paint (Graphics g) { for (int i = 0; i< radie.length; i++) { int r = radie[i]; g.drawoval(x0-r, y0-r, 2*r, 2*r); D) public void paint (Graphics g) { for (int i = 0; i< radie.length; i++) g.drawoval(2*radie[i], 2*radie[i], x0, y0); 5

14. Vilket av följande påståenden om Java-metoders parametrar är sant? Aktuell parameter är samma sak som anropsparameter. A) Varje metod måste ha minst en parameter. B) En formell parameter till en metod kan vara ett uttryck. C) En aktuell parameter till en metod kan vara ett uttryck. D) Om en metod har en formell parameter som heter x så måste motsvarande aktuella parameter också heta x. 15. Appleten nedan är tänkt att rita en tjusig stjärnhimmel som består av en svart bakgrund med små vita cirklar i slumpmässiga positioner och storlekar. Programmet går att kompilera utan fel men appletfönstret blir enfärgat, utan små stjärnor. Vad är det för fel? import java.awt.*; import java.applet.*; public class Stars extends Applet { int N = 700; public void paint (Graphics myg) { myg.setcolor(color.black); myg.fillrect(0,0,600,600); myg.setcolor(color.white); for (int i=0; i<n; i++) { int xpos = (int) Math.random()*600; int ypos = (int) Math.random()*600; int diam = (int) Math.random()*5; myg.filloval(xpos, ypos, diam, diam); A) Graphics-parametern till paintmetoden måste heta g. Med namnet myg blir det en helt annat paint-metod som inte kan anropas av Java-systemet. B) Färgen måste sättas till Color.white direkt före varje anrop av ritmetoden filloval annars gäller standardfärgen svart och vi får svarta prickar på svart bakgrund. Det räcker inte att göra myg.setcolor(color.white) före for-slingan. C) Eftersom alla ritmetoder i klassen Graphics, t.ex. filloval skall ha koordinater angivna i meter kommer stjärnorna att ritas långt utanför det synliga fönstret, koordinatvärdena kan ju vara upp till 599 meter. D) Alla värden på xpos, ypos och diam blir 0 inuti for-satsen p.g.a att uttrycket (int) Math.random() är 0. Ovaler med diameter 0 (i position 0,0) syns inte. 6