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

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

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

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

Klasser & klassvariabler Metodanrop och lokala variabler Objekt och instansvariabler

Metodanrop, parametrar och

2 b) class Mat Haj mumsbit = new Haj(70); int tid = 200; double sälta = 0.7; if (färdig(mumsbit, tid, sälta)) System.out.println("Dags att äta hajen!"

2D1310, 2D1311 Programmeringsteknik Tentamen (1p) 3 maj 2001, kl

Tentamen. Lösningsförslag

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

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 3-4 Innehåll

Föreläsning 5-6 Innehåll

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

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

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

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.

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

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

Malmö högskola 2008/2009 CTS

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

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

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

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

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

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

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 tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

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

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.

DD1342 Programkonstruktion för F1,

Java, klasser, objekt (Skansholm: Kapitel 2)

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Tentamen i Grundläggande programmering STS, åk

Tentamen OOP

TENTAMEN OOP

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

Tentamen i Programmeringsteknik I

Tentamen i Programmeringsteknik I, ES,

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

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

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

2D1310 Programmeringsteknik Tentamen (1p) lördag 29 april 2000 kl 14-17

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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 tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

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

OOP Objekt-orienterad programmering

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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

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

Laboration 1 - Grunderna för OOP i Java

TENTAMEN OOP

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

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

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 programmering STS, åk

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

PROGRAMMERINGSTEKNIK TIN212

Föreläsning REPETITION & EXTENTA

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

Tentamen, EDAA20/EDA501 Programmering

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

TENTAMEN OOP

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

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

tentaplugg.nu av studenter för studenter

JAVA Mer om klasser och objektorientering

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

Objektorienterad programmering i Java

OOP Tentamen

Polymorfi. Objektorienterad och komponentbaserad programmering

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

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

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

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

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

DAT043 Objektorienterad Programmering

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

Objekt och referenser

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

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

Transkript:

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för I1, K2, L1, M1, Media1 och T1. Tentamen (1p) 6 april 2002, kl 14.00 17.00 Hjälpmedel: En javabok(det blå javahäftet som ingår i kursbunten räknas som en javabok). Förklarande anteckningar får göras i boken, men inga lösningar till tentor får antecknas eller medföras. För betyget godkänt krävs att a- eller b-delen av varje fråga(uppgift 1-5) är rätt besvarad. Ett mindre fel som inte har med frågan att göra kan accepteras. Vi reserverar oss för eventuella lättnader av dessa krav. Skriv linje och årskurs (t ex M-01) på omslaget. Skriv svaren i ramarna i detta häfte. Glöm inte att skriva namn och personnummer på varje blad! Lycka till! Uppgift 1: Parametrar a) Vad blir utskriften från följande program? public class ParameterStrul Köttfärs[] k = new Köttfärs[2]; k[0] = new Köttfärs("Blandfärs", 15); k[1] = new Köttfärs("Kycklingfärs", 10); double vikt = 0.125; int energi = 3000; förvirra(k, vikt, energi); System.out.println(k[1].fetthalt + " " + vikt + " " + energi); public static void förvirra(köttfärs[] kv, double d, int i) kv[1].fetthalt = 5; d = d * 2; System.out.println(kv[1].fetthalt + " " + d + " " + i); class Köttfärs public String namn; public int fetthalt; public Köttfärs(String namn, int fetthalt) this.namn = namn; this.fetthalt = fetthalt; Utskrift i metoden förvirra(): Utskrift i metoden main():

2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpeppar",0.5); // namn och mängd i gram kryddor[1] = new Krydda("Chili",5); int n = 2; System.out.println(titel + kryddor[1].mängd + n); kryddamaten(titel, kryddor, n); System.out.println(titel + kryddor[1].mängd + n); public static void kryddamaten(string titel, Krydda[] kryddor, int n) // Klassen Krydda med innehåll. Ange om utskriften av följande kan ha ändrats efter anropet till metoden kryddamaten(): Variabel Kan ha Motivering ändrats (j/n) titel kryddor[1].mängd n

Namn: Personnr: 3 Uppgift 2: Metodanrop Följande deklarationer av variabler och metoder är redan gjorda och inga andra får göras för att lösa uppgiften: public class GSM int i; Telefon t1 = new Telefon("Nokia 3330",1200); Telefon t2 = new Telefon("Siemens C45",1500); String nr = "08-7906000"; // koden i a- och b-delen hamnar här class Telefon private String modell; private int pris; private static int antaltelefoner = 0; public Telefon(String modell, int pris) // Konstruktor public int pris() // returnerar nallens pris public void ring(string nr) // Ringer upp ett nummer med denna telefon public static int antaltelefoner() // returnerar det totala antalet telefoner a) Markera vilka av följande satser (som utförs i main-metoden) som är riktiga respektive felaktiga och ange för de felaktiga varför de är fel. Om det finns fler fel i en sats behöver du bara ange ett av dessa. Sats Rätt/Fel Motivering t1.ring(); System.out.println(t1.ring(nr)); t2.ring("08-7906000"); t2.ring(112);

4 b) Skriv kod som beräknar och skriver ut antalet telefonobjekt. Använd dig av de metoder som finns beskrivna ovan. Uppgift 3: Vektorer (arrayer) och klassen Vector Följande deklarationer är redan gjorda och inga andra får göras för att lösa uppgiften: int i; Krydda k; Krydda[] kryddor = new Krydda[3]; kryddor[0] = new Krydda("Svartpeppar"); kryddor[1] = new Krydda("Basilika"); kryddor[2] = new Krydda("Timjan"); Vector v = new Vector(); a) Skriv kod som BAKLÄNGES kopierar kryddor:s innehåll till v med hjälp av en forslinga. Svartpeppar ska alltså hamna sist i v. b) Skriv kod som gör så att k refererar till det sista elementet i v.

Namn: Personnr: 5 Uppgift 4: Klasser Följande två klasser kan användas för att beskriva ett tentatillfälle: class Tenta private Tentand[] studenter; private int antal = 0; public Tenta() antal = 20; studenter = new Tentand[antal]; public void skrivutnamnpådesompluggatmest() // Skriver ut namnen på dem som pluggat mer än 20 h for(int i = 0; i < antal; i++) // koden i b-delen ska in här class Tentand private String namn; private int tid; // hur lång tid studenten pluggat inför tentan public Tentand(String namn,int nedlagdtid) // Konstruktor // koden i a-delen ska in här public String namn() // returnerar studentens namn return namn; public boolean ambitiös() // true om nedlagd tid är mer än 20 h return tid > 20; a) Skriv den kod som saknas i konstruktorn i klassen Tentand.

6 b) Skriv den kod som saknas i metoden skrivutnamnpådesompluggatmest() i klassen Tenta.

Namn: Personnr: 7 Uppgift 5: Minnesbilder Betrakta följade program: public class Akvarium Fisk f1 = new Fisk("Piraya", true); Fisk f2 = new Fisk("Muräna", true); f2.mata(); class Fisk private String art; private boolean hungrig; private static int antalfiskar = 0; public Fisk(String art, boolean hungrig) this.art = art; this.hungrig = hungrig; antalfiskar++; public void mata() // a hungrig = false; I uppgiften nedan ska du rita en bild av minnet vid ett tillfälle under exekveringen. Bilden ska innehålla samtliga klasser med tillhörande klassvariabler, samtliga metodanrop med lokala variabler och parametrar (glöm inte this) och samtliga objekt med instansvariabler. Alla variablers värden och datatyp ska framgå av bilden. Objekt som är kandidater för skräpsamling ska markeras. Metodanrop som är avslutade ska strykas, eller inte ritas ut (men effekten av anropet ska givetvis synas). a) Rita en bild av minnet vid läge (a) i programmet. Klasser och Metodanrop, parametrar och Objekt och instansvariabler klassvariabler lokala variabler

8 Betrakta följande program: public class MerMat // b class Grönsak private String namn; private boolean hackad; public Grönsak(String namn) // Konstruktor this.namn = namn; this.hackad = false; public void hackaibitar() hackad = true; b) Skriv den kod som behövs på plats (b) för att det ska se ut enligt nedan i minnet. Klasser & klassvariabler Metodanrop, parametrar och lokala variabler Objekt/instanser och instansvariabler MerMat main(...) args g1 String[]? Grönsak Grönsak objekt String namn boolean hackad false Grönsak g2 Grönsak String objekt "rödlök" Grönsak objekt namn hackad String boolean true String objekt "paprika"