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

Relevanta dokument
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

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

2D1339 Programkonstruktion för F1, ht 2003

2D1339 Programkonstruktion för F1, ht 2003

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

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

DD1342 Programkonstruktion för F1,

2D1339 Programkonstruktion för F1, ht 2004

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

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

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

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

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

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

2D1342 Programkonstruktion för F1, ht 2006

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

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

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]

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

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

Föreläsning 5-6 Innehåll

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

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

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

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

Objektorienterad programmering i Java

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Föreläsning REPETITION & EXTENTA

TENTAMEN OOP

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

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

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

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.

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

JAVA Mer om klasser och objektorientering

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

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

Tentamen i Programmeringsteknik I

Föreläsning 3-4 Innehåll

Enkla variabler kontra referensvariabel

Java, klasser, objekt (Skansholm: Kapitel 2)

Tentamen OOP

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

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

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

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.

(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 PROGRAMVARUUTVECKLING

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

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

DD1342 Programkonstruktion för F1, ht 2007

Lösningsförslag övning 2.

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

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

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 )

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

PROGRAMMERINGSTEKNIK TIN212

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

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

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

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 13 Innehåll

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

Del A (obligatorisk för alla)

Instuderingsfrågor, del D

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

Idag ska vi gå igenom. Programmeringsteknik för S, 2004 Grupp IV. Vad är en klass? Klasser och instanser

SMD 134 Objektorienterad programmering

Tentamen i Programmeringsteknik I

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Laboration 1 - Grunderna för OOP i Java

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

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

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

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

Del A (obligatorisk för alla)

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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.

Tentamen i Programmering

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

Överlagring, static, testning, formella metoder och undantag! Förelasning 13!! TDA540 Objektorienterad Programmering!

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

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

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

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

TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Hur ser ett Java-program ut?

Laboration 3, uppgift En klass för en räknare

"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde

Tentamen i Programmeringsteknik I,, KandMa/Fy,

JAVAUTVECKLING LEKTION 11

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

Lägg uppgifterna i ordning. Skriv uppgiftsnummer och din kod överst i högra hörnet på alla papper.

Transkript:

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 riktiga provet tar 45 minuter (en lektionstimme) och det är tillåtet med skriftliga hjälpmedel, dvs böcker, anteckningar m.m. Tänk på att om man måste leta i sitt material efter alla svar så hinner man inte med så många frågor! 1. Vilket värde har variabeln x efter exekvering av följande satser? int x = 5; x = x*x; Svar:... (1p) 2. Vilken typ ska variabeln svar ha för att if-satsen skall gå att kompilera utan fel? if (svar == 'J') : a) boolean b) char c) String Svar:... (1p) 3. Skillnaden mellan typerna int och long är att a) I variabler av typ long kan man lagra tal med decimaler (flyttal), i int-variabler kan man bara lagra heltal b) I long kan man lagra både heltal och flyttal och det kan man inte i int c) I long kan man lagra större heltal än i int d) Inget av svaren a) b) eller c) är rätt Svar:... (1p) 4. Satsen String test = "1234" + "2121"; är a) inte tillåten då man inte kan addera uttryck av typ String b) tillåten och gör att test får värdet "3355" c) tillåten och gör att test får värdet "12342121" Svar:... (1p) 1

5. Vad händer om man stavar fel i ett Javaprogram och skriver doble i stället för double vid deklaration av en flyttalsvarabel? doble yta = 0; a) Det går bra eftersom doble är väldigt likt double. b) Det går att kompilera och köra programmet så länge man inte använder variabeln yta. c) Programmet går att kompilera men inte att exekvera (köra) d) Programmet går inte att kompilera, och därmed inte att köra. Svar:... (1p) 6. Studera följande kodavsnitt och ange vilket av påståendena nedanför som är korrekt. int x = 0; while (x < 10) x++; System.out.println(x); a) 10 olika värden på x kommer att skrivas ut b) 10 likadana värden på x kommer att skrivas ut c) Ett värde på x kommer att skrivas ut d) Inga värden på x kommer att skrivas ut e) Koden kommer att resultera i en oändlig repetition och programmet måste avbrytas med Ctrl-C Svar:... (2p) 7. Antag att variabeln n ikodavsnitten nedan är deklarerad och har ett värde >0, t.ex. 5. Vilket av följande kodavsnitt gör att ett korrekt värde på n!, dvs 1Λ2Λ3Λ:::Λn beräknas och läggs i variabeln f? a) int f = 0; for (int k=1; k<=n; k++) f = f*k; b) int f = 1; for (int k=1; k<=n; k++) f = f*k; c) int f = 1; for (int k=1; k==n;) f = f*k; d) int f = 1; for (int k=1; k<n; k++) f = f*k; 2

Svar:... (2p) 3

8. Ett uttryck i Java av typen yyy.xxx() måste vara a) en deklaration b) en uppmaning att klassen xxx skall ärva från klassen yyy c) ett metodanrop d) en indentering Svar:... (1p) 9. Vilka värden har variablerna x och y efter nedanstående kodavsnitt? int x = 0, y = 0; if (x > 0) else x = 1; y = 1; x = 1; x = -1; y = -1; a) x=0, y=0 b) x=1, y=-1 c) x=-1, y=1 d) x=-1, y=-1 Svar:... (2p) 10. Vilken/vilka av följande sorters variabler och parametrar kan vara möjliga att använda inuti en metod? Obs! Mer än ett svar kan vara rätt här! a) klassvariabler b) instansvariabler c) lokala variabler d) formella parametrar Svar:... (2p) 11. Metoden kub deklareras int kub(int x) return x*x*x; I vilken/vilka av satserna nedan anropas metoden korrekt? (Alla saterna finns i metoder i samma klass som kub är definierad) Obs! Flera svar kan vara rätt här. a) int y = kub(5); //för att få 5 3 b) kub(7, 11); // för att få både 7 3 och 11 3 c) int z = kub(kub(4)); //för att få (4 3 ) 3 d) int x = 13; kub(); // för att få 13 3 e) System.out.println("Värdet av kuben är " + kub); Svar:... (2p) 4

12. Metoden Math.sin som beräknar värdet av sinusfunktionen är en a) Klassmetod b) Instansmetod c) Callback-metod Svar:... (1p) Klassen X deklareras så här: class X public static void y ()... public void z ()... private void w ()... // fler metoder I en main-metod som inte ligger i klassen X finns satsen X minx = new X(); 13. Hur ser ett korrekt anrop av metoden y från denna main-metod ut? a) y() b) X.y() c) minx.y() d) Det går ej att anropa y därifrån Svar:... (1p) 14. Hur ser ett korrekt anrop av metoden z från denna main-metod ut? a) z() b) X.z() c) minx.z() d) Det går ej att anropa z därifrån Svar:... (1p) 15. Hur ser ett korrekt anrop av metoden w från denna main-metod ut? a) w() b) X.w() c) minx.w() d) Det går ej att anropa w därifrån Svar:... (1p) 16. Nu vill vi använda klassen X i ett annat program där vi inte har skapat någon instans av X. Vilket av följande metodanrop är korrekt här? a) X.y(); b) X.z(); c) X.w(); Svar:...(1p) 5

17. Vilket av följande påståenden om konstruktormetoder är sant? a) Konstruktormetoden anropas varje gång ett objekt (en instans) av en klass skapas, dvs en gång per objekt. b) Konstruktormetoden anropas endast första gången en klass används i ett program, dvs högst en gång per program och klass. c) Konstruktormetoden anropas varje gång man ändrar i ett objekt. Svar:... (1p) 18. Med hjälp av ordet new skapas i Java a) en ny klass b) ett nytt objekt c) en ny textfil d) en ny typ e) en ny metod Svar:... (1p) Följande klass är tänkt att användas i en tillämpning där man räknar förekomsten av olika ord i en text. class Ord private String ordet; private int antal; Ord (String io) ordet = io; antal = 1; public void räkna () antal = antal +1; public String tostring () return ordet + " har förekommit " + antal + " gånger"; 19. Vad heter instansmetoderna hos klassen Ord? Svar:... (1p) 20. Hur många parametrar har konstruktorn i klassen Ord? Svar:... (1p) 6

21. Vilket/vilka av följande alternativ är korrekt(a) om man vill skapa en instans av klassen Ord? Obs! Flera svar kan vara riktiga. a) Ord t = new Ord("vårdagjämning"); b) Ord u = new Ord("fullmåne", 2) c) String w = "tupp"; Ord x = new Ord(w); d) Ord v = new Ord(); Svar:... (2p) 22. Deklarationen och initieringen int[] resultat = new int[10]; reserverar plats i minnet för a) en referensvariabel och 10 heltalsvariabler b) endast 10 heltalsvariabler c) endast en referensvariabel d) 11 referensvariabler e) Nej, det sker inte någon minnesreservation! Svar:... (2p) Några variabler deklareras och ges värden så här: String [] frukt, annanfrukt; frukt = new String [3]; frukt[0] = "Äpple"; frukt[1] = "Kiwi"; frukt[2] = "Päron"; annanfrukt = frukt; 23. Vilket påstående är sant om satsen frukt[5] = "Mango"; i anslutning till satserna ovan? a) Den satsen fungerar bra därför att vektorn frukt från början har standardstorleken 10. b) Satsen fungerar bra därför att vektorn frukt, som från början har tre platser, utvidgas vid behov med de platser som behövs. c) Satsen fungerar inte, vektorn har en fast storlek. Svar:... (1p) 24. Vad vet man om värdet av annanfrukt[1]? a) Värdet är odefinierat b) Värdet är "Äpple" c) Värdet är "Kiwi" d) Värdet är "Päron" Svar:... (1p) 7

I ett spelprogram representeras en orm som rör sig och växer i ett grafiskt fönster som en instans av ArrayList (eller Vector) där de ingående elementen är instanser av klassen Segment: Ormen skapas från början med ArrayList ormen = new ArrayList(); Därefter läggs 5 st instanser av Segment till ormen och detta är ormens tillstånd då spelet börjar. 25. Vilket eller vilka av följande alternativ är korrekta för att lägga ytterligare ett segment till ormen. Vi antar att klassen Segment har en parameterlös konstruktor. Obs! Flera svar kan vara riktiga. a) ormen[5] = new Segment() b) ormen[6] = new Segment() c) ormen.add(segment()); d) ormen.add(segment); e) ormen.add(new Segment()); f) Segment nästa = new Segment(); ormen.add(nästa); Svar:... (2p) 26. I spelet ingår att hela ormen ibland ändrar färg. I klassen Segment finns metoden bytfärgtill som har en parameter, den nya färgen. Vilket av följande kodavsnitt ändrar färg på hela ormen? a) b) c) for (int i=0; i<ormen.size(); i++) ormen[i].bytfärgtill(color.red); for (int i=0; i<ormen.size(); i++) ormen.bytfärgtill(color.red); for (int i=0; i<ormen.size(); i++) d) Segment s = (Segment) ormen.get(i); s.bytfärgtill(color.red); for (int i=0; i<ormen.size(); i++) Segment s = ormen[i]; s.bytfärgtill(color.red); Svar:... (2p) 8