PROGRAMMERING-Java TENTAMINA



Relevanta dokument
PROGRAMMERING-JAVA TENTAMINA

PROGRAMMERING-Java Omtentamina

Chapter 3: Using Classes and Objects

TENTAMEN OOP

Tentamen , Introduktion till Java, dtaa98, dtea53

Laboration 13, Arrayer och objekt

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

Tentamen OOP

OOP Tentamen

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

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Chapter 4: Writing Classes/ Att skriva egna klasser.

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

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

Föreläsning 3-4 Innehåll

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.

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

TENTAMEN OOP

OOP Objekt-orienterad programmering

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

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

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 Algoritmer & Datastrukturer i Java

TENTAMEN OOP

Malmö högskola 2008/2009 CTS

Tentamen i Grundläggande Programvaruutveckling, TDA548

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

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

Modelsvar för Tentamen för Objektorienterad programvaruutveckling, TDA545

Tentamen FYTA11 Javaprogrammering

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

Lösningsförslag, tentamen FYTA11 Javaprogrammering

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

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.

Lösningsförslag till tentamen

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

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

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

Tentamen i Grundläggande programmering STS, åk 1 lördag

Tentamen i Grundläggande Programvaruutveckling, TDA548

TDDC77 Objektorienterad Programmering

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

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

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Föreläsning 5-6 Innehåll

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

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

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

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

Iteration while-satsen

Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 25 maj 2009

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

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

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

Lösningar för tenta 3 DAT043,

Tentamen i Programmeringsteknik I

Del A (obligatorisk för alla)

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

Tentamen FYTA11 Javaprogrammering

Del A (obligatorisk för alla)

Föreläsning 3. Iteration while-satsen

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

Tentamen, EDAA10 Programmering i Java

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

OOP Tenta

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

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

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

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

Tentamen, EDA501 Programmering M L TM W K V

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

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.

Föreläsning 2, vecka 8: Repetition

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. Diskutera. Metod. Programexempel med metod

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

Föreläsning 3. Iteration. while-satsen for-satsen do-satsen

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

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014

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

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

Tentamen i Programmeringsteknik I, ES,

OOP Objekt-orienterad programmering

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

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I

Tentamen i Programmering

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 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

Tentamen i Programmeringsteknik I,, KandMa/Fy,

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

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

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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]

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Tentamen. Lösningsförslag

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

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

Transkript:

PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För att få betyget 3, 4 eller 5 krävs: 20,28,36 poäng. Redovisning I varje uppgift står det vad som skall göras för att få angivet antal poäng. Redovisa koden i den ordning den efterfrågats i texten med så mycket implementerat som möjligt. Tänk på att vara noggrann och strukturerad. Det är Du som skall visa vad Du kan! Hjälpmedel Finns hos tentavakten. Lycka till!

Uppgift 1 - Enkla program med variabler, metoder, val och repetition satser (4p+4p+4p+4p+4p+4p) a) När man skall försäkrar en bil är det vanligt att man väljer s.k. helförsäkring eller halvförsäkring beroende på bilens ålder. Skriv ett program som föreslår vilken typ av försäkring du skall välja. Programmet skall som indata får aktuellt år samt bilens årsmodell. Utdata skall vara Välj helförsäkring om bilen är yngre än 8 år, Välj halvförsäkring om bilen är mellan 8 och 15 år gammal, samt Köp bättre bil om bilen är äldre än 15 år. b) Skriv ett program som från användaren läser in ett namn (med förnamn och efternamn). Därefter skall programmet skapa en ny sträng bestående av första bokstaven i förnamnet följt av de första 4 i efternamnet samt ett slumpgenererat tal mellan 10 och 99. Den typen av algoritm kan system använda för att automatisk generera ett tillfälligt användarnamn för ett datorsystem. T.ex. För Nicolina Månsson skall stängen bli NMåns45. Några av följande metoder från klassen String kan vara till hjälp. int length() Returns the length of this string. int indexof(string str) Returns the index within this string of the first occurrence of the specified substring. String substring(int beginindex, int endindex) Returns a new string that is a substring of this string. char charat(int index) Returns the char value at the specified index.

c) Skriv ett program som beräknar och skriver ut tiden som krävs att resa mellan två städer. Programmet ska läsa in avståndet i km och hastigheten i km/h från användaren. Programmet skall beräkna och skriva ut tiden som krävs för resan. Utskriften skall vara i format som vi vanligtvis anger tid, t ex 1h 10 min 3sec. Ledning! Tiden beräknas med formeln tid= avstånd/hastighet. Värdet du får är tiden i decimal form vilket inte är tillräckligt bra. För att få full poäng skall du konvertera tiden till läsbart format. ( Omvandla allt tillsekunder (multiplicera med 3600). Genom repeterade divisionen med 60 kommer du att räkna ut antalet timmar, minuter och sekunder. Använd % ( moduls) operator som effektiv beräknar resten) d) Skriv en metod arearektangel( ) som argument tar längden och bredden av en rektangel och returnerar area. Area räknas med formeln: A = längd * bredd e) Uppskattningsvis så blir en m 3 snö 100 liter vatten. Skriv ett program som från användaren läser in längd och bredd (för en trädgård) samt höjden på snölagret. Därefter skall programmet skriva ut hur många lite vatten det blir kommer att bli när snön smälter. Ledning! Volym beräknas med formel: längd * bredd * höjd. Du använda det redan implementerade arearektangel() metod som du multiplicerar med höjden. Detta ger dig volymen. f) Förklara vad följande metod gör. public class TentaMetoder public static String förvirra( String text) String nytext=""; for(int i=text.length()-1; i>=0;i--) nytext=nytext+text.charat(i); return nytext;

Uppgift 2 Egna klasser ( 6p+6p ) a) Programmet TestSquare fungerar inte riktigt som det är tänkt: Varför? Gör nödvändiga ändringar (minst 3) i klassen Square och/eller TestSquare så att programmet fungerar. Motivera dina ändringar public class Square private double side; public Square(int s) side=s; public void getarea() return side*side; public String tostring() System.out.println( Square: + side); public class TestSquare public static void main(string [] args) Square sq=new Square(3.5); System.out.println(sq.getArea()); System.out.println(sq.toString());

b) I en skyttetävling skjuter ett antal tävlande var och en ett visst antal skott på en 10-ringad tavla. Varje enskilt skott kan alltså ha ett resultat från 0 till 10. Följande klass beskriver en tävlande i en skyttetävling. Läs och förstå vad varje metod gör. public class Tävlande private String namn; private int antal_skott; private int summa_poäng; public Tävlande( String inamn) namn=inamn; antal_skott=0; summa_poäng=0; public void skjut( int poäng) antal_skott++; summa_poäng=summa_poäng+poäng; public int getsummapoäng() return summa_poäng; public int getantalskott() return antal_skott; public String getnamn() return namn;

Skriv ett program som använder klassen Tävlande och som gör följande: 1. Skapar två Tävlande-objekt kalla dem tvl1 och tvl2. 2. Båda tävlande ska skjuta två skott. Antalet poäng som den tävlande får ska slumpas Max antal poäng som man kan få för ett skott är 10. 3. Programmet ska skriva ut namnet på den tävlande som har fått flest antal poäng. Om de har samma antal poäng ska de tävlande skjuta en gång till. Programmet skall avslutas med att skriva ut namnet på vinaren eller båda namnen om de Tävlande fortfarande har samma antal poäng. Random () Creates a new random number generator. int nextint(int n) Returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator's sequence. Uppgift 3 - Arrayer (6p) I nedanstående program finns det deklarerad och skapad en tom array kallad lotto_rad. Du skall komplettera programmet och simulera ett lottospel på följande sätt. 1) Men hjälp av en loop låter användaren mata in 7 lotto nummer. 2) Med hjälp av en annan loop slumpa 20 olika nummer i intervallet 1-35. För varje slumpat nummer skall programmet söka i arrayen (lotto_rad) efter respektive värde. Om den hittas skall variabel antal_rätt uppdateras. 3) Programmet skall i slutet skriva ut antalet rätt spelaren hade.

import java.util.*; public class LottoGame public static void main(string [] ar) System.out.println (" SpelaLotto Simulator"); Random generator=new Random(); Scanner scan=new Scanner(System.in); int antal_rätt=0; int [] lotto_rad=new int[7]; // din kod