tentaplugg.nu av studenter för studenter

Relevanta dokument
tentaplugg.nu av studenter för studenter

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

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

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

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

TENTAMEN OOP

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

TENTAMEN OOP

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

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

Tentamen. Lösningsförslag

Laboration 1 - Grunderna för OOP i Java

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

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Tentamen OOP

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.

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 )

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

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

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

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, STS 1, VT Sven Sandberg. Föreläsning 14

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.

Objektorienterad programmering i Java

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

Laboration A Objektsamlingar

OOP Objekt-orienterad programmering

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

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

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

Objektsamlingar i Java

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

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.

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

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

Föreläsning 3: Booleans, if, switch

Lösningsförslag övning 2.

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.

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

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

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

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

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

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

Objektorienterad Programmering (TDDC77)

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

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.

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-17, TDA540. Dag: , Tid:

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

Användarhandledning Version 1.2

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

Typkonvertering. Java versus C

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Tentamen i Programmering

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

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

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

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

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

PROGRAMMERING-Java TENTAMINA

Chapter 4: Writing Classes/ Att skriva egna klasser.

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

Föreläsning 3-4 Innehåll

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

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

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

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Lösningsförslag tentamen FYTA11 Java

PROGRAMMERING-JAVA TENTAMINA

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

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

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

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 Grundläggande programmering

Föreläsning 2, vecka 8: Repetition

TDDC77 Objektorienterad Programmering

Del A (obligatorisk för alla)

JAVA Mer om klasser och objektorientering

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

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

TUTORIAL: KLASSER & OBJEKT

Tentamen ID1004 Objektorienterad programmering December 15, 2012

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

Outline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

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

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

F4. programmeringsteknik och Matlab

Lösningsförslag till exempeltenta 2

Metoder (funktioner) Murach s: kap Winstrand Development

Skillnader mellan Python och 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

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Transkript:

tentaplugg.nu av studenter för studenter Kurskod Kursnamn UU-76062 Inledande programmering i Java Datum Sommaren 2014 Material Provtentamen Kursexaminator Betygsgränser Tentamenspoäng Övrig kommentar

Provtenta UPPGIFT 1 int a = -3; int b = a + 1; int c = a + b - 1; if(b > a) { a ++; if(c > b) { b ++; if(a > c) { c ++; if(a == b && b == c && c == a) { c = b * c; else { a = a * c; Variablerna a, b och c har alla samma värde vid minst ett tillfälle. Falskt Variabeln a har samma värde genom hela koden. Falskt Variabeln c ändrar värde vid minst två tillfällen i koden. Falskt Variabeln b har genom hela koden ett större värde än variabeln c. Sant Summan av variablerna a, b och c är genom hela koden mindre än 0. Falskt UPPGIFT 2 import greenfoot.*; /** * A drum that can play. */ public class Drum extends Instrument { private Sound[] sounds; /** Constructs a drum with the given sounds * @param sounds the sounds for the drum */ public Drum(Sound[] sounds) { this.sounds = sounds; @Override public void act() { //Kod visas ej /* Play the drum */ private void play(int sound) { Greenfoot.playSound(sounds[sound]); Alla parametrar och returvärden är kommenterade och kommentarerna är korrekt formaterade. Falskt sounds är både en array och en instansvariabel. Sant sound är en parameter. Sant Instrument är en klass. Sant

Vi kan ta bort all användning av this i koden utan att det påverkar någon funktionalitet. Falskt UPPGIFT 3 int a = 3; int b = a * 2; int c = b + a; while(a + b >= c) { if(a + b > c) { a ++; b ++; c = b * a; else { a = b / 2; b = a * 2; c = a - b; Variabel a kommer genom hela koden ha ett lägre värde än variabel b. Sant Variabel a kommer genom hela koden ha ett lägre värde än variabel c. Falskt Vid minst ett tillfälle har variablerna a och c samma värde. Falskt Vid minst ett tillfälle har variablerna a och b samma värde. Falskt Både if- och else-satsen kommer att utföras minst en gång i koden. Sant UPPGIFT 4 import greenfoot.*; /** * Fairy Dust with magical powers * * @author Birger Drake * @version 2014-06- 18 */ public class FairyDust extends Actor { private Magic magicpower; private static int magicdone; private final static int maxmagic = 50; /** * Constructs Fairy Dust with the given magic power. * * @param magic the magic for this fairy dust */ public FairyDust(Magic magic) { this.magicpower = magic; /** * Use the Fairy Dust */ public void use() { magicdone ++; if(magicdone < maxmagic) { getworld().addobject(magicpower.use(), getx(), gety()); Alla parametrar och returvärden är kommenterade och kommentarerna är korrekt formaterade. Sant magicdone är en klassvariabel som har samma värde hos alla objekt av typen FairyDust. Sant

magic är en lokal variabel. Falskt Vi kan ändra värdet på variabeln maxmagic i alla objekt av typen FairyDust. Falskt use är en publik metod i båda klasserna FairyDust och i Magic. Sant UPPGIFT 5 int a = 2; int b = 1 + a; int c = b - a; if(a + b > c) { while(b > c a > c) { a = b; b --; else { while(c % 2 == 1) { c = a + c; Båda while-looparna kommer att köras minst en gång. Falskt Variabeln a har vi minst ett tillfälle högre värde än både b och c. Sant Variabeln b kommer att ha värdena 3, 2, 1 och 0 i koden. Sant Variabeln c kommer att byta värde vid minst ett tillfälle i koden. Falskt Efter koden har variabeln c värdet 1. Sant UPPGIFT 6 import greenfoot.*; import java.util.*; /** * A Swedish beaver * * @author Birger Drake * @version 2014-06-18 */ public class Beaver extends Actor { private List offspring; private List family; private int generation; /** * Constructs a Beaver * * @param family all family members; cousins or closer related * @param generation the generation of this beaver */ public Beaver(List family, int generation) { this.family = family; this.generation = generation; offspring = new ArrayList(); @Override public void act() { //Kod visas ej /** * The beaver grows a year. */ public void grow() { offspring.add(new Beaver(this.family, generation ++)); /** * Updates the the beavers family */ public void updatefamily() { for(int i = 0; i < family.size(); i ++) { Beaver b = (Beaver)family.get(i); for(int j = 0; j <

b.offspring.size(); j ++) { Beaver b1 = (Beaver)b.offspring.get(j); if(!family.contains(b1) && generation + 1 == b1.generation) { family.add(b1); Alla parametrar och returvärden är kommenterade och kommentarerna är korrekt formaterade. Sant Enligt kommentarer och kod föder varje bäver en ny bäver varje år. Sant b är en lokal variabel. Sant family är både en instansvariabel och en parameter. Sant offspring är en parameter. Falskt UPPGIFT 7 String text = new String("I like mornings in the evenings"); String newtext = new String(""); for(int i = 0; i < text.length(); i ++) { char c = text.charat(i); if(c == ' ' c!= 'i') { newtext += c; if-satsen kommer att köras minst en gång i koden. Sant Efter koden kommer newtext innehålla texten " i i i i". Falskt Efter koden kommer text att innehålla texten " i i i i". Falskt text och newtext kommer efter koden att innehålla samma text. Falskt newtext.length() kommer efter koden att returnera 19. Falskt 8 int[] numbers = new int[4]; for(int i = 0; i < numbers.length; i ++) { int number = 6; if(i * i > 2) { numbers[i] = number - i; else { numbers[i] = i * i;

Efter koden kommer numbers innehålla [0, 1, 4, 3]. Sant If- och else-satsen kommer båda utföras minst en gång vardera. Sant numbers.length kommer att ha värdet 4 i hela for-loopen. Sant Variabeln i kommer aldrig ha ett större värde än variabeln number i forloopen. Sant Innan for-loopen innehåller numbers [0, 0, 0, 0]. Sant