Instuderingsfrågor, del E

Relevanta dokument
Instuderingsfrågor, del D

Instuderingsfrågor - del 1 identifierare, primära datatyper, tilldelningssatsen, klassen Math, konstanter

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

Lösningsförslag: Instuderingsfrågor, del D

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

Del A (obligatorisk för alla)

Saker du ska kunna Föreläsning 13 & 14

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

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

Föreläsning REPETITION & EXTENTA

Institutionen för TENTAMEN CTH VT-15 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

Föreläsning 6: Metoder och fält (arrays)

Tentamen. Lösningsförslag

OOP Objekt-orienterad programmering

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

Objektorienterad programmering i Java

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

Arrayer. results

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

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

Föreläsning 3-4 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.

Lösningsförslag till tentamen

Tentamen i Objektorienterad programmering E

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Instuderingsfrågor, del A

Typkonvertering. Java versus C

Lösningsförslag: Instuderingsfrågor, del A

Föreläsning 2, vecka 8: Repetition

JAVAUTVECKLING LEKTION 8

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

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

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

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

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

Föreläsning 8. Klassen String Mer om fält Klassen ArrayList

Del A (obligatorisk för alla)

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

Tentamen OOP

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

I ett program hantera man ofta samlingar av objekt av samma typ.

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

Föreläsning 7. for-satsen Fält

Föreläsning 8: Exempel och problemlösning

TENTAMEN OOP

OOP Objekt-orienterad programmering

Institutionen för TENTAMEN CTH HT-14 Datavetenskap TDA540. 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?

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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.

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

Föreläsning 9-10 Innehåll

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

for-satsen Fält for-satsen Föreläsning 8 (OH-bilder 7) for-satsen for-sats är en styrsats för iterationer. for-sats har följande generella utseende:

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

Lösningsförslag till tentamen

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

TENTAMEN OOP

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

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

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer

Sammanfattning och repetition utgående från typiska tentamensuppgifter

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

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander

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

Instuderingsfrågor, del B

TENTAMEN OOP

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

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

Metoder - en funktion: medel

JAVAUTVECKLING LEKTION 4

TDDC77 Objektorienterad Programmering

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

Laboration A Objektsamlingar

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

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

Objektorienterad programmering

Objektorienterad Programmering (TDDC77)

Laboration 4: Digitala bilder

if (n==null) { return null; } else { return new Node(n.data, copy(n.next));

Tentamen, EDAA20/EDA501 Programmering

OOP Objekt-orienterad programmering

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

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 för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-16, TDA540. Dag: , Tid:

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 DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Föreläsning Innehåll. Hantera många element. Exempel: polygon Godtyckligt antal element. Exempel: polygon forts

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

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

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

Tentamen i Objektorienterad programmering

TDDD78 Viktiga begrepp, del 2

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

Lösningsförslag till tentamen

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 1. Abstrakta datatyper, listor och effektivitet

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

Transkript:

Uppgift 1. Instuderingsfrågor, del E Objektorienterad programmering, Z1 Skriv en en deklaration som skapar ett 2-dimensionellt heltalsfält med följande utseende: 1 3 6 10 2 5 9 13 4 8 12 15 7 11 14 16 Uppgift 2. Deklarera ett fält för att lagra en avståndstabell mellan 10 orter. Uppgift 3. Nedanstående deklarationssatser resulterar i kompileringsfel. Varför? a) double[][] matris = new double(5)(4); b) int[][] temp= new double[3][9]; c) int[][] speed = {{1.0, 3.0, 5.0, {7.0, 9.0; Uppgift 4. Följande deklaration har gjorts char[][] letter = {{'a', 'b', 'c', 'd', {'x', 'y', 'z'; Vilket värde har a) letter[0][1] b) letter[1][2] c) letter[0] Uppgift 5. Antag att du i ett program har följande deklarationer int[][] vekt ={{3, 5, 8, {2, 4, 9, 6, 3, {9, 5, {2, 4, 8, 2; Vad blir utskriften när nedanstående programsekvens exekveras? System.out.println(vekt.length); System.out.println(vekt[0].length); System.out.println(vekt[1].length); System.out.println(vekt[2].length); Uppgift 6. Betrakta nedanstående kodsegment int[][] mat = new int[3][4]; for (int row = 0; row < mat.length; row++) { for (int col; col < mat[row].length; col++) { if (row < col) mat[row][col] = 1; else if (row == col) mat[row][col] = 2; else mat[row][col] = 3; Vilket innehåll har fältet mat när ovanstående satser har exekverats? Instuderingsfrågor, del E 1 (7) Z1 Objektorienterad programmering

Uppgift 7. Vad blir utskriften av nedanstående programsatser? import java.util.arrays; public class Test { public static void main(string[] args) { int[] oldarray = {1, 2, 3, 4, 5, 6, 7, 8, 9; int[][] newarray = new int[3][3]; int row = 0; int col = 0; for (int index = 0; index < oldarray.length; index = index + 1) { newarray[row][col] = oldarray[index]; row = row + 1; if ((row % 3) == 0) { col = col + 1; row = 0; for (int i = 0; i < newarray.length; i = i + 1) System.out.println(Arrays.toString(newArray[i])); //main //Test Uppgift 8. Vad blir utskriften av nedanstående kodsegment? int a2d[][] = {{10, 20, 30, 40, 50, {90, 80, 70, 60, 50, {60, 10, 90, 70, 30; for (int i = 0; i <= 4; i = i+1) { int tmp = a2d[0][i]; for (int j = 1; j <= 2; j = j+1) { if (a2d[j][i] > tmp) { System.out.println(j); tmp = a2d[j][i]; System.out.println(tmp); Uppgift 9. Betrakta nedanstående metod som tar ett två-dimensionellt fält med reella tal matrix och returnerar värdet av det största elementen i matrix: public static double max(double[][] matrix) { double max = matrix[0][0];; for (int row = 0; row < matrix.length; row = row + 1) { for (int col = 0; col < matrix[row].length; col = col + 1) { if (matrix[row][col] > max) max = matrix[row][col]; return max; //average Skriv ner förvillkoren för metoden, dvs vad måste gälla för parametern matrix för att metoden skall kunna utföra sin avsedda uppgift på ett korrekt sätt. Vad blir konsekvensen om förvilkoren inte följs när metoden anropas? Instuderingsfrågor, del E 2 (7) Z1 Objektorienterad programmering

Uppgift 10. Betrakta nedanstående metod som tar ett två-dimensionellt fält med reella tal matrix och returnerar medelvärdet av elementen: public static double average(double[][] matrix) { double sum = 0; for (int row = 0; row < matrix.length; row = row + 1) { for (int col = 0; col < matrix[0].length; col = col + 1) { sum = sum + matrix[row][col]; return sum / (matrix.length * matrix[0].length); //average Skriv ner förvillkoren för metoden, dvs vad måste gälla för parametern matrix för att metoden skall kunna utföra sin avsedda uppgift på ett korrekt sätt. Vad blir konsekvensen om förvilkoren inte följs när metoden anropas? Uppgift 11. public static boolean exist(int[][] m) Uppgift 12. som tar ett 2-dimensionellt heltalsfält m och returnerar värdet false om fältet m inte existerar (dvs har värdet null) eller innehåller 0 rader, annars returneras värdet true. public static int longestrow(int[][] m) som tar ett 2-dimensionellt heltalsfält m och returnerar längden av den längsta raden i fältet m. Du får anta att fältet m existerar, dvs inte är null. int[][] matrix = {{2, 2, {4, 4, 4, 4, {3, 3, 3; Ett anrop av longestrow(matrix) returnerar värdet 4. Uppgift 13. public static int min(int[][] m) som tar ett heltalsfält m och returnerar värdet av det minsta element i m. Uppgift 14. En enhetsmatris eller identitetsmatris är en matris vars element är 1 i diagonalen och 0 i övrigt. En enhetsmatris kan ha godtycklig storlek men är alltid kvadratisk, dvs. den har lika många kolumner som rader. Figurerna nedan visar en två enhetsmatriser av storleken 3 respektive 4. 1 0 0 0 1 0 0 0 1 Du skall skriva en metod public double[][] identitymatrix(int size); 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 som skapar och returnerar en enhetsmatris av storleken size. Instuderingsfrågor, del E 3 (7) Z1 Objektorienterad programmering

Uppgift 15. public static int largestsumofrow(int[][] m) som tar ett 2-dimensionellt heltalsfält m och returnerar den största radsumman i fältet m. Du får anta att fältet m existerar, dvs inte är null, samt att m innehåller minst en rad och att ingen rad är tom, dvs alla rader har minst ett element. int[][] matrix = {{1, 2, 3, 4, - 9, {2, 3, 1, 3, 1, {5, 5, 5, 6, 5; Ett anrop av largestsumofrow(matrix) returnerar värdet 26. Uppgift 16. public static int indexoflargestrow(int[][] m) som tar ett 2-dimensionellt heltalsfält m och returnerar index för den rad i fältet m som har störst radsumma. int[][] matrix = {{1, 2, 3, 4, - 9, {2, 3, 1, 3, 1, {5, 5, 5, 6, 5; Ett anrop av indexoflargestrow(matrix) returnerar värdet 2. Uppgift 17. public static void largestrowfirst(int[][] arr) som tar ett 2-dimensionellt heltalsfält arr och förändrar fältet arr på så sätt att den rad som har största radsumman byter plats med den första raden. int[][] matrix = {{1, 2, 3, 4, - 9, {2, 3, 1, 3, 1, {5, 5, 5, 6, 5; Ett anrop av largestrowfirst(matrix) innebär att matrix får utseendet {{5, 5, 5, 6, 5, {2, 3, 1, 3, 1, {1, 2, 3, 4, - 9 Instuderingsfrågor, del E 4 (7) Z1 Objektorienterad programmering

Uppgift 18. public static int largestsumofcolumn(int[][] m) som tar ett 2-dimensionellt heltalsfält m och returnerar den största kolumnsumman i fältet m. Du får anta att alla rader i fältet är lika långa. int[][] matrix = {{1, 2, 3, 4, - 9, {2, 3, 1, 3, 1, {5, 5, 5, 6, 5; Ett anrop av largestsumofcolumn(matrix) returnerar värdet 13. Uppgift 19. public static int indexoflargestcolumn(int[][] m) som tar ett 2-dimensionellt heltalsfält m och returnerar index för den kolumn i fältet m som har störst kolumnsumma. int[][] matrix = {{1, 2, 3, 4, - 9, {2, 3, 1, 3, 1, {5, 5, 5, 6, 5; Ett anrop av indexoflargestcolumn(matrix) returnerar värdet 3. Uppgift 20. public static void largestcolumnfirst(int[][] arr) som tar ett 2-dimensionellt heltalsfält arr och förändrar fältet arr på så sätt att den kolumn som har största kolumnsumman byter plats med den första kolumnen. int[][] matrix = {{1, 2, 3, 4, - 9, {2, 3, 1, 3, 1, {5, 5, 5, 6, 5; Ett anrop av largestcolumnfirst(matrix) innebär att matrix får utseendet {{4, 2, 3, 1, - 9, {3, 3, 1, 2, 1, {6, 5, 5, 5, 5 Uppgift 21. List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); for (String str : list) { System.out.println(str); Instuderingsfrågor, del E 5 (7) Z1 Objektorienterad programmering

Uppgift 22. ArrayList<Integer> list1 = new ArrayList<Integer>(); ArrayList<Integer> list2 = new ArrayList<Integer>(); list1.add(1); list1.add(2); list1.add(5); list2.addall(list1); list1.addall(list2); System.out.println(list1); Uppgift 23. ArrayList<String> list = new ArrayList<String>(); list.add("green"); list.add("black"); for (int i = 0; i < list.size(); i = i + 1) if (list.get(i).equals("red")) { list.remove(element); i = i - 1; System.out.println(list); Uppgift 24. ArrayList<String> list = new ArrayList<String>(); list.add("green"); list.add("black"); for (int i = 0; i < list.size(); i = i + 1) if (list.get(i).equals("red")) { list.set(i, "yellow"); i = i - 1; System.out.println(list); Uppgift 25. Betrakta nedanstående metod: public static ArrayList<Integer> mystery(int n) { ArrayList<Integer> list = new ArrayList<Integer>(); for (int i = 1; i <= n; i = i + 1) { list.add(new Integer(i * i + 3)); return list; //mystery Vad blir utskriften av nedanstående sats? planerats System.out.println(mystery(6)); Instuderingsfrågor, del E 6 (7) Z1 Objektorienterad programmering

Uppgift 26. Vad är fel med nedanstående kodsegment? a) ArrayList<int> values = new ArrayList<int>(); b) ArrayList<Integer> values = new ArrayList(); c) ArrayList<Integer> values = new ArrayList<Integer>; d) ArrayList<Integer> values = new ArrayList<Integer>(); for (int i = 1; i <= 10; i = i + 1) { values.set(i - 1, i * i); e) ArrayList<Integer> values; for (int i = 1; i <= 10; i = i + 1) { values.add(i * i); Uppgift 27. Skriv en statisk metod public static int nroftargets(arraylist<integer> list, Integer target) som tar en lista list samt ett värde target och returnerar hur många gånger värdet target förekommer i listan list. Uppgift 28. Skriv en statisk metod public static ArrayList<Integer> reverse(arraylist<integer> original) som tar en lista original och returnerar en ny lista som innehåller samma element som i lista original men där elementen har omvänd ordning, dvs. det första elementet i listan original kommer sist list i den nya listan, det andra elementet i listan original kommer näst sist list i den nya listan, osv. Uppgift 29. Vad blir utskriften av nedanstående kodavsnitt? int[] arr = {4, 2, 9, 7, 3; for (int k : arr) { System.out.print(k + " "); for (int k : arr) { k = k + 10; System.out.print(k + " "); Instuderingsfrågor, del E 7 (7) Z1 Objektorienterad programmering