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.

Storlek: px
Starta visningen från sidan:

Download "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."

Transkript

1 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som kan hantera företagskunder. Data om företaget skall vara företagsnamn, adress och den utlåningsränta banken ger företaget. Vidare skall det finnas ett finansindextal som visar företagets finansiella ställning. Finansindextalet representeras av ett decimaltal mellan 1.0 och 10.0 och bestäms av bankens ekonomer. Du skall skriva klassen Company med två konstruktorer: en standardkonstruktor utan parametrar, och en överlagrad konstruktor där instansvariablerna namn, adress och finansindextal får värden genom parametrar. Vidare skall klassen ha en tostring-metod som returnerar en sträng med värden på objektets instansvariabler. Slutligen skall det finnas en metod finanscheck som bestämmer instansvariabeln utlåningsränta: utlåningsräntan skall vara 0.029, dvs 2.9% om finansindextalet är större än 5, och annars skall utlåningsräntan vara 0.032, dvs 3.2%. Skriv slutligen en main-metod i klassen eller i en egen testklass som gör följande: a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna. b) Anropar metoden finanscheck som bestämmer utlåningsräntan. c) Skriver ut information om Company-objektet m h a tostring-metoden. OBS! Inga metoder utöver de som beskrivs i uppgiften ovan får läggas till // Klassen hanterar ett företag i en bank import java.util.scanner; public class Company { private String namn=new String();; private String adress; private double ränta; private double finansindextal; public Company() { namn = "NoName"; adress = "NoAdress"; 1

2 public Company(String newname, String newadress, double newfinansindex) { namn = newname; adress = newadress; finansindextal = newfinansindex; public void finanscheck() { if (finansindextal > 5.0) ränta = 0.029; else if (finansindextal <= 5.0) ränta = 0.032; public String tostring() { String s = namn + "\n" + adress + "\n" + "Räntesats: " + ränta + "\n" + "Finansindextal: " + finansindextal; return s; public static void main(string[] arg) { Company comp = new Company("HippHurra", "Broadway 1, Uppsala", 7); comp.finanscheck(); //Man behöver inte skriva comp.tostring() System.out.println(comp); 2 Uppgift 2 Nya arbetstillfällen Ett rekryteringsföretag gör statistik på hur många jobb de förmedlat per månad under ett år. Antalet jobb lagras i en array med heltal. Ett exempel på en sådan array med värden inlagda är: 23, 34, 31, 40, 37, 58, 12, 25, 39, 42, 45, 21 I exemplet har företaget lyckats hitta 23 jobb i januari, 34 jobb i februari osv. Din uppgift är att skriva klassen Jobbfix. Klassen finns påbörjad nedan. Arrayen som innehåller antalet skapade jobb under ett år är en instansvariabel. 2

3 a) Skriv en metod matain som för varje månad frågar efter hur många jobb som skapats och låter användaren mata in värden för årets tolv månader i arrayen. b) Skriv en metod summa som summerar samtliga jobb som skapats under året och returnerar summan. c) Skriv en metod maxvarde som söker rätt på det största värdet i arrayen och returnerar detta. Du behöver inte ta hänsyn till om flera element i arrayen innehåller lika stora tal. d) Skriv slutligen en main-metod i klassen eller i en egen testklass som skapar ett objekt av typen Jobbfix och sedan testar alla metoder så att användaren kan se att metoderna fungerar. OBS! Inga metoder utöver de som beskrivs i uppgiften ovan får läggas till. import java.util.scanner; public class Jobbfix { private int[] jobb; public Jobbfix() { jobb = new int[12]; //Skriv resten av klassen här import java.util.*; public class Jobbfix { private int[] jobb; public Jobbfix() { jobb = new int[12]; 3

4 public void matain() { for (int i=0; i<12; i++) { Scanner scan = new Scanner(System.in); System.out.print("Mata in data för månad " + (i+1)+ ": "); jobb[i] = scan.nextint(); public int summa() { //variabeln sum måste nollställas först! int sum = 0; for (int i=0; i<12; i++) sum = sum + jobb[i]; return sum; public int maxvärde() { int max = 0; //Ge variablen ett rimligt startvärde: //max kan aldrig vara mindre än 0. for (int i=0; i<12; i++) { if (max < jobb[i]) max = jobb[i]; return max; public static void main(string[] arg) { Jobbfix jf = new Jobbfix(); jf.matain(); System.out.print("Sammanlagt har vi förmedlat " + jf.summa()); System.out.println(" jobb under ett år."); System.out.print("Maximalt har " + jf.maxvärde()); System.out.println(" jobb förmedlats på en månad."); 4

5 3 Uppgift 3 1. Givet följande klass 1 public class Kopp { 2 3 private int talet; 4 5 public Kopp(int n) { 6 talet = n; public int get(){ 10 return n; public void set(int i) { 14 n = i; public static void main(string[] args) { 18 Kopp[] kafferep = new Kopp[5]; 19 for (int i=1; i<=5; i++) { 20 kafferep[i].set(i); (a) Vid kompileringsförsöket fås följande felmeddelanden Kopp.java:10: cannot find symbol symbol : variable n location: class Kopp return n; ^ Kopp.java:14: cannot find symbol symbol : variable n location: class Kopp n = i; ^ Förklara vad det beror på och hur man ska lösa problemet. (2p) Svar: Felet är att man försöker använda n som inte är ett attribut i klassen utan en formell parameter i konstruktorn. Den naturliga ändringen är att byta n mot talet i get och set-metoden alternativt att byta namn på attributet talet till n men då måste bytet göras överallt dvs även i konstruktorn. Vanligt förekommande felaktiga svar: 5

6 Metoderna måste heta getn och setn för att Java skall veta vad som skall returneras eller sättas. Nej, metodernas namn har inget med saken att göra. Ur Javas synpunkt skulle get-metoden kunna heta fasteranki (men det är naturligtvis olämpligt ur mänsklig synpunkt). Det är vad metoden gör (i detta fall alltså return talet) som betyder något. set-metoden måst stå före get-metoden. Nej, i vilken ordning metoderna i en klass skrivs spelar ingen roll (i Java i andra programmeringsspråk kan det ha betydelse) Man måste lägga till n som attribut i klassen. Ja, det kan man göra men då blir det en annan klass (med två attribut) och då bör man ändra i konstruktorn och dessutom ändå ha get och set-metoder för det första attributet (talet) (b) Efter att ha rättat felen går kompileringen bra men när man försöker köra programmet får man följande utskrift Exception in thread "main" java.lang.nullpointerexception at Kopp.main(Kopp.java:20) Förklara vad det beror på och hur man ska lösa problemet. (2p) Svar: Diagnosen betyder att man på rad 20 (kafferep[i].set(i)) försöker utnyttja (följa) en objektreferens som är tom. kafferep[i] innehåller således null. På rad 18 skapar man själva arrayen men man har inte skapat några element. En lösningen är alltså att mellan rad 19 och 20 lägga in raden kafferep(i) = new Kopp(); men då måste man också definiera en parameterlös konstruktor. Den bästa lösningen är att byta rad 20 mot kafferep[i] = new Kopp(i); Vanligt förekommande felaktiga svar: Man missar element 0. Ja, det gör man visserligen men det är inget fel. Det finns inget i Java som säger att man måste börja med att behandla första elementet i en array. Iterationen går för långt - sista elementet har index 0 men loopen går till 5 Ja, det är också sant men det är inte det felet som Java klagar på (det är däremot felet i uppgift c). Felet inträffar redan vid första iterationen dvs när i är 1. (c) När även detta är åtgärdat får man följande fel. Exception in thread "main" java.lang.arrayindexoutofboundsexception: 5 at Kopp.main(Kopp.java:20) Rätta felet! (2p) Svar: Felet är att variabeln i som används som index i arrayen får värdet 5. Arrayen innehåller 5 element och dessa numreras 0, 1, 2, 3, 4. Iteratonsvillkoret i<=5 6

7 måste således ändras till i<5. (Troligen vill man också ändra undre grånsen från 1 till 0 men det kan man ju inte veta med säkerhet.) 4 Uppgift 4 Diagonalen hos ett parallellogram Du är ansvarig för att skriva en klass som utför beräkningar på parallellogram. Den längsta diagonalen hos ett parallellogram beräknas med formeln ÓÒ Ð=Ô cos«där och är sidorna på parallellogrammet och«är parallellogrammets spetsiga vinkel. Du har skapat ramen till klassen 1 och ska nu skriva en metod som beräknar längden på den längsta diagonalen. public class Parallellogram { private double a, b, alpha; public Parallellogram(double starta, double startb, double startalpha) { a = starta; b = startb; alpha = startalpha; // Metod för att beräkna den längsta diagonalen public double longdiagonal() { // Skriv klart metoden Dina uppgifter är: a) Skriv färdigt metoden longdiagonal i klassen. b) Skriv en mainmetod i klassen eller i en testklass. Du ska använda mainmetoden för att beräkna den längsta diagonalen hos parallellogrammet: = 1 5, =2,«=37 5Æ. Skriv sedan ut resultatet av beräkningen. 1 Den trubbiga vinkeln,, kan beräknas genom 180 för den. «, så vi behöver inte deklarera en instansvariabel 7

8 public class Parallellogram { // Aplha är den spetsiga vinkeln, private double a, b, alpha; // Defaultkonstruktor public Parallellogram() { a = 1; b = 1; alpha = 45; // Överlagrad konstruktor public Parallellogram(double starta, double startb, double startalpha) { a = starta; b = startb; alpha = startalpha; // Beräknar den längsta diagonalen på parallellogrammet. public double longdiagonal() { return Math.sqrt(Math.pow(a,2) + Math.pow(b,2) + 2*a*b*Math.cos(alpha)); public static void main(string[] args) { Parallellogram para = new Parallellogram(1.5, 2, 33.5); double dia = para.longdiagonal(); System.out.println(dia); 5 Uppgift 5 Snica Värst blir Ica Bäst Din avlägsne släkting Snål-Sven har precis gått bort. Något oväntat har han testamenterat sin ICA-butik till dig. När du besöker butiken upptäcker du att den går under namnet Snica Värstöch du förstår snart varför. Varorna, de få som finns, är av sämsta möjliga kvalitet men priset är ändå högt. Personalen är för liten, utar- 8

9 betad och underbetald. När du letar efter bokföringen hittar du ingen, Snål-Sven skötte allt själv för att spara pengar. Samma sak gäller affärens leverantörer, du hittar inga uppgifter om vilka de är eller hur du får kontakt med dem. Butiken är nära en konkurs. Du har nästan gett upp när du plötsligt kommer att tänka på en kurs i objektorienterad programmering som du läste för länge sedan. Hmm, undrar om det finns ett program som kan hantera varor, leverantörer och anställda?, tänker du. Öm jag hade ett sådant så skulle jag enkelt kunna styra upp verksamheten. Ett snabbt samtal till ICAs huvudkontor visar att programmet existerar med det är alldeles för dyrt. Då får jag väl skriva ett själv, hur svårt kan det vara?, tänker du. Snica Värst ska bli Ica Bäst! För att få information om hur ICAs program ser ut så stämmer du möte med Folke, en annan ICA-handlare Folke är också sparsam och vill inte avslöja för mycket om sitt dyra program. Du lyckas dock få fram följande: * ICAs program kan bl a hantera anställda, leverantörer och varor. * Det håller reda på butikens inkomster/utgifter. * Programmet har koll på hur många exemplar av olika varor som finns på lager och det går att beställa hem fler varor med det. * Det har funktioner för löneutbetalningar och andra personalrelaterade åtgärder. * Det går lätt att ta fram vilka leverantörer som levererar en vissa vara. * Det finns många funktioner för att summera och ta fram intressant data, t ex antalet sålda gurkburkar, hur mycket som köpts från en viss leverantör och medellönen hos de anställda. Du tar fram papper och penna och börjar att skissa på en objektorienterad analys av problemet. Du börjar starta på ett UML-diagram men du gör också en skriftlig förklaring til ditt diagram. Du hoppas att ha ett första utkast färdigt cirka 14:00. 9

10 Figur 1: Exempel på lösning 6 Uppgift 6 Kö vid övergångsställe Du skall bidra till utvecklingen av ett programpaket för trafiksimulering. I paketet skall det ingå klasser för att representera fordon, ljussignaler, köer, vägsträckor mm. En klass för att representera bilar är redan färdigskriven: public class Bil { private String regnr; public Bil() { regnr = "ABC" + (int)(math.random()*1000); public String tostring() { return "Bil(" + regnr + ")"; 10

11 Vidare finns en klass för att representera ljussignaler: public class Signal { private int period; private int gperiod; private int tid; public Signal(int per, int gper) { period = per; gperiod = gper; tid = 0; public void stega() { tid++; if (tid==period) tid = 0; public boolean groen() { // Returnerar true om signalen är grön return tid < gperiod; Det finns också en (ännu ej färdigskriven) klass för att representera ett med ljussignal försett övergångsställe som vi för enkelhetsskull kallar Korsning: import java.util.scanner; public class Korsning { private double intensitet; // Sannolikheten att en bil anländer vid ett tidssteg private Queue ko; // Kön med bilar private Signal sig; // Signalen public Korsning(double intens, int kstorlek, int per, int gper) { intensitet = intens; ko = new Queue(kStorlek); sig = new Signal(per, gper); public void stega() { /* Metoden skall först stega signalen. Om kön inte är tom och signalen är grön skall bilen som står först i kön tas ut. Med sannolikheten anges av intensitet skall en ny bil skapas och ställas i kön. Metoden skall också skriva ut vilka bilar som passerar, vilka som passerar samt köns längd. */ 11

12 public static void main(string [] args) { Scanner sc = new Scanner(System.in); double intens; int period = 10; int gperiod; int kstorlek = 10; int antalsteg; System.out.print("Ankomstintensitet: "); intens = sc.nextdouble(); System.out.print("Grönljusintervall: "); gperiod = sc.nextint(); System.out.print("Antal steg: "); antalsteg = sc.nextint(); Korsning k = new Korsning(intens, kstorlek, period, gperiod); for (int i=1; i<antalsteg; i++) { k.stega(); En testkörning med av main-metoden i klassen Korsning ger följande resultat: Ankomstintensitet: 0.8 Grönljusintervall: 6 Antal steg: 10 Antal bilar i kön: 0 Antal bilar i kön: 0 Bil(ABC100) anländer Antal bilar i kön: 1 Bil(ABC100) passerar Bil(ABC942) anländer Antal bilar i kön: 1 Bil(ABC942) passerar Bil(ABC150) anländer Antal bilar i kön: 1 Antal bilar i kön: 1 Bil(ABC575) anländer Antal bilar i kön: 2 Bil(ABC674) anländer Antal bilar i kön: 3 Bil(ABC84) anländer Antal bilar i kön: 4 Dina uppgifter: (a) Skriv klassen Queue som skall representera en bilkö. Bilarna i kön skall lagras i en array. Arrayens längd (dvs det maximala antalet som kan finnas i kön) skall ges som parameter till konstruktorn (se konstruktorn i Korsning). Det skall finnas metoder för att ställa en bil i respektive hämta en bil från kön. Det skall vidare finnas metoder för att se om kön är tom respektive full samt en metod som returnerar antalet bilar i kön. 12

13 (b) Skriv metoden stega i klassen Korsning. Metoden skall först stega fram ljussignalen och sedan, om kön inte är tom och signalen är grön, ta ut en bil ur kön. Metoden skall också med sannolikheten som anges av instansvariabeln intensitet skapa en ny bil och ställa den sist i kön. Metoden skall dessutom skriva ut om en bil passerar korsningen, om en bil skapas samt den aktuella längden av kön. Se körexemplet! Ledning: För att med en viss sannolikhet skapa en bil kan metoden Math.random() användas. Denna metod returnerar ett slumptal (en double) mellan 0 och 1. (a) public class Queue { private Fordon[] theq; private int maxantal; private int antal; public Queue(int max) { maxantal = max; antal = 0; theq = new Fordon[maxAntal]; public boolean tom() { return antal == 0; public boolean full() { return antal == maxantal; public int laengd() { return antal; public Fordon taut() { if ( antal==0 ) return null; else { // Ta bilen längst fram Fordon val = theq[0]; for (int i=0; i<antal-1; i++) // Flytta fram resten theq[i] = theq[i+1]; antal--; return val; // Anm: Effektivare kömekanismer finns 13

14 public void sattin(fordon f) { if (full()) System.out.println("*** Full kö ***"); else { theq[antal] = f; antal++; (b) public void stega() { sig.stega(); if (!ko.tom() && sig.groen()) System.out.println(ko.taUt() + " passerar"); if ( Math.random()<intensitet ) { Fordon f = new Fordon(); System.out.println(f + " anländer"); ko.sattin(f); System.out.println("Antal bilar i kön: " + ko.laengd()); 14

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.

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. 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som

Läs mer

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

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten? Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

Malmö högskola 2008/2009 CTS

Malmö högskola 2008/2009 CTS Laboration 8 Avsikten med laborationen är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom

Läs mer

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. Tentamen Programmeringsteknik I 2012-09-01 Skrivtid: 0900-1200 Hjälpmedel: Java-bok 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

Läs mer

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

Malmö högskola 2007/2008 Teknik och samhälle Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom

Läs mer

Tentamen OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

Läs mer

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

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

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

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet

Läs mer

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

Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus. Fält av referenser Tanken med objekt är man kan bygga ihop olika sorts objekt till nya saker. Sålunda kan man exempelvis använda Bil och Trafikljus att konstruera ett Väg-objekt. Om Bil och Trafikljus

Läs mer

Lösningsförslag övning 2.

Lösningsförslag övning 2. Objektorienterad programmering, Z1 Lösningsförslag övning 2. Uppgift 1. public class SIUnits { public static double yardspermeter = 1.093613; public static double poundperkilo = 2.204623; public static

Läs mer

Tentamen. Lösningsförslag

Tentamen. Lösningsförslag Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt

Läs mer

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Lösningsförslag, tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och

Läs mer

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

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,

Läs mer

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.

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 Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift

Läs mer

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. Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok 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

Läs mer

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

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

Läs mer

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Tentamen i Programmeringsteknik I, ES, 2010-03-18

Tentamen i Programmeringsteknik I, ES, 2010-03-18 Tentamen i Programmeringsteknik I, ES, 2010-03-18 Skriv tid: 14-17. Hjälpmedel: 1. Kurslitteratur, en av följande: Lewis & Loftus, Java Software Solutions Skansholm, Java Direkt Guzdial & Ericson, Intrododuction

Läs mer

Laboration A Objektsamlingar

Laboration A Objektsamlingar Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se

Läs mer

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

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

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

Malmö högskola 2007/2008 Teknik och samhälle Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa

Läs mer

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

Laboration 3, uppgift En klass för en räknare Laboration 3, uppgift 1 3.1 En klass för en räknare Ursprungligen skriven av Erland Holmström. Magnus Myreen har uppdaterat vissa delar. Hösten 2014 Anvisningar: Programmet skall utformas enligt de principer

Läs mer

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

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man

Läs mer

Tentamen. Grundläggande programmering i Java A 5p, DTAA32 2003-03-21

Tentamen. Grundläggande programmering i Java A 5p, DTAA32 2003-03-21 Mitthögskolan ITM Institutionen för Informationsteknologi och medier. Bertil Danielsson 060-14 86 82 Jan-Erik Jonsson 060-14 87 90 Tentamen i Java A Sida 1/6 Tentamen Grundläggande programmering i Java

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public

Läs mer

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

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte

Läs mer

Chapter 4: Writing Classes/ Att skriva egna klasser.

Chapter 4: Writing Classes/ Att skriva egna klasser. Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad

Läs mer

Laboration 1 - Grunderna för OOP i Java

Laboration 1 - Grunderna för OOP i Java Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben

Läs mer

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

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering Programmeringsteknik för I1 Övning 2 Administrativt Övningsgrupp 2 (Sal E32/D32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kontrollera att ni har fått Lab2 inrapporterad

Läs mer

Objekt och referenser

Objekt och referenser Objekt och referenser Antag att vi har följande enkla klass: public class Person { private String namn; private String adress; private String personnummer; public Person() { namn = NN ; adress = ; personnummer

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean

Läs mer

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

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering

Läs mer

(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

(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 (Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart

Läs mer

Klasshierarkier - repetition

Klasshierarkier - repetition Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet

Läs mer

Föreläsning REPETITION & EXTENTA

Föreläsning REPETITION & EXTENTA Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder

Läs mer

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

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap. Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.

Läs mer

trafiksimulering Intro OU5 trafiksimulering

trafiksimulering Intro OU5 trafiksimulering Presentation av obligatoriska uppgiften trafiksimulering Ett lite större program med flera klasser Hur man designar ett system Hur man gör simuleringar 1 Valsätr ravägen Korsningen Dag hammarsköldsväg

Läs mer

Föreläsning 2, vecka 8: Repetition

Föreläsning 2, vecka 8: Repetition TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 8: Repetition Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Metoder och terminologi Referensvärden och arrays Interface och ritning

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

Hur ser ett Java-program ut?

Hur ser ett Java-program ut? (27 augusti 2012 Repetitionsmaterial 1 ) Hur ser ett Java-program ut? // Ett första Java-program som skriver // ut ett meddelande på terminalen public class HelloWorld { public static void main(string

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter

Läs mer

Att öva på och förstå ett program med flera samverkande klasser.

Att öva på och förstå ett program med flera samverkande klasser. Inlämningsuppgift 4 klassen Kund (Customer) Att öva på och förstå ett program med flera samverkande klasser. Redovisning: Uppgiften redovisas i datasal: o Körning av programmet. o Redogöra för vad de olika

Läs mer

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

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

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.

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. Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok 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

Läs mer

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

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1310/

Läs mer

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

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

Läs mer

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

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp

Läs mer

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

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C. Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett

Läs mer

Laboration 13, Arrayer och objekt

Laboration 13, Arrayer och objekt Laboration 13, Arrayer och objekt Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration13 i ditt laborationsprojekt innan du fortsätter med laborationen. Uppgift

Läs mer

JAVAUTVECKLING LEKTION 11

JAVAUTVECKLING LEKTION 11 JAVAUTVECKLING LEKTION 11 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Mer om klasser och objekt Statiska/instans-metoder Överlagrade metoder Inkapsling Konstruktorer 1 UPPGIFT

Läs mer

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

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

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

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p) TENTAMEN I INTERNETPROGRAMMERING MED JAVA, 5p för Sy 2 2002-03-15, kl 09.00 13.00 Hjälpmedel: Endast bifogat kompendium Max: 66 poäng, för godkänt krävs 50%. Skriv tydliga och kortfattade svar 1. Grunderna

Läs mer

Redovisning av inlämningsuppgifter

Redovisning av inlämningsuppgifter Bilaga B Redovisning av inlämningsuppgifter 1 Rapportens innehåll Varje inlämningsuppgift ska redovisas med en skriftlig rapport. Rapporten ska vara häftad och försedd med ett försättsblad med uppgiftens

Läs mer

Java, klasser, objekt (Skansholm: Kapitel 2)

Java, klasser, objekt (Skansholm: Kapitel 2) Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma

Läs mer

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

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner Programmeringsteknik och Matlab Övning 3 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F4:1 OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder Metoder - subrutiner OOP F4:2 Kod som utför en viss operation. Ligger i olika klasser och anropas via operatorn.

Läs mer

2D1339 Programkonstruktion för F1, ht 2004

2D1339 Programkonstruktion för F1, ht 2004 2D1339 Programkonstruktion för F1, ht 2004 Kontrollskrivning 1 Onsdag 24/11 2004 kl 11.15 12.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga

Läs mer

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

Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540. Tentamen för TDA540 Objektorienterad programmering Institutionen för TENTAMEN CTH VT-15 Datavetenskap 2015-04-18 TDA540 Tentamen för TDA540 Objektorienterad programmering DAG: 15-04-18 TID: 14:00 18:00 Ansvarig: Joachim von Hacht och Christer Carlsson

Läs mer

Tentamen, EDA501 Programmering M L TM W K V

Tentamen, EDA501 Programmering M L TM W K V LUNDS TEKNISKA HÖGSKOLA 1(3) Institutionen för datavetenskap Tentamen, EDA501 Programmering M L TM W K V 2010 04 13, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt ger uppgifterna

Läs mer

Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel

Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden December 1, 2013 1 Innehåll OO-programmering fortsättning Skapa

Läs mer

Typkonvertering. Java versus C

Typkonvertering. Java versus C Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då

Läs mer

Kompilera och exekvera Javakod

Kompilera och exekvera Javakod Kompilera och exekvera Javakod Förberedelser För att kunna göra dessa övningar måste du ha installerat Java Development Kit, JDK, som bland annat innehåller Java kompilatorn, javac. Hur du installerar

Läs mer

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

TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G90/1 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder

Läs mer

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

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private Inkapsling tumregler Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler Tobias Wrigstad (baserat på material från Tom Smedsaas) 5 november 2010 1. Man skall

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller

Läs mer

Instuderingsfrågor, del D

Instuderingsfrågor, del D Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt

Läs mer

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye DD2310 Javaprogrammering för Pythonprogrammerare Johan Boye James Gosling pappa till Java Hej.java public class Hej { public static void main( String[] args ) { System.out.println( "Hej" ); Java basics

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

LÖSNINGSFÖRSLAG TENTAMEN

LÖSNINGSFÖRSLAG TENTAMEN LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, DAG (ITM - ÖSTERSUND) MÅNDAG 2 JUNI, 2003, KL. 8-13 TID: 5 TIMMAR ANTAL UPPGIFTER: 8 MAX POÄNG: 43 BETYGSKALA: UNDERKÄND

Läs mer

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

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

Föreläsning 10. ADT:er och datastrukturer

Föreläsning 10. ADT:er och datastrukturer Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad

Läs mer

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin) Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades

Läs mer

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

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 Outline Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vända om inlästa värden Vända om inlästa

Läs mer

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

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de

Läs mer

LÖSNINGSFÖRSLAG TENTAMEN

LÖSNINGSFÖRSLAG TENTAMEN LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, KVÄLL (ITM - ÖSTERSUND) LÖRDAG 18 JANUARI, 2003, KL. 9-14 TID: 5 TIMMAR ANTAL UPPGIFTER: 9 MAX POÄNG: 45 BETYGSKALA: UNDERKÄND

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F5:1 OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling Vi skall nu titta på ett exempel med myror. Varje myra har ett namn

Läs mer

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

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer F6 Observera att när man utvecklar program så är inte alla lösningar på vägen korrekta. Speciellt den här gången så finns många OH med program som inte fungerar eftersom det är just det vi skall se på

Läs mer

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

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Tentamen ID1004 Objektorienterad programmering April 7, 2015 Ordinarie tentamen för ID1004 Objektorienterad programmering, 7 april 2015 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av en obligatorisk del och

Läs mer

Tentamen i Grundläggande Programvaruutveckling, TDA548

Tentamen i Grundläggande Programvaruutveckling, TDA548 Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2016-12-20 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 3: 24-37 4: 38-47 5

Läs mer

Konstruktion av klasser med klasser

Konstruktion av klasser med klasser Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut

Läs mer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr

Läs mer

Klasser och objekt. Henrik Johansson. August 20, 2008

Klasser och objekt. Henrik Johansson. August 20, 2008 Föreläsning 5 Klasser och objekt Henrik Johansson August 20, 2008 Ett objekt är en modell av ett fysisikt eller ett tänkt ting. Objektet och det som vi kan göra med det beskrivs av en mall, en klass. Ett

Läs mer

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25

Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-05-25 Tentamen i Grundläggande programmering STS, åk 1 lördag 2002-0-2 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Elena Fersman besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka

Läs mer

JAVAUTVECKLING LEKTION 7

JAVAUTVECKLING LEKTION 7 JAVAUTVECKLING LEKTION 7 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Olika språkversioner (Klassen Locale) Utskrift i kommandofönster Inläsning via kommandofönster Standardklassen

Läs mer

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else Förkunskaper från tidigare föreläsningar: Objektorienterad Programmering (TDDC77) Föreläsning IX: Klasser och Objekt, Instantiering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 I STONE I Variabler,

Läs mer

Tentamen, EDAA20/EDA501 Programmering

Tentamen, EDAA20/EDA501 Programmering LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna

Läs mer

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många

Läs mer

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

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade. Sortering Den sorteringsalgoritm som vi använder oss kallas selection sort (urvalssortering) och är en av många existerande sorteringsalgoritmer. Dess funktionssätt beskrivs kanske bäst genom ett konkret

Läs mer

JAVAUTVECKLING LEKTION 8

JAVAUTVECKLING LEKTION 8 JAVAUTVECKLING LEKTION 8 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Fält (Arrayer) Att skapa och arbeta med fält Indexering Jämförelse av fält Flerdimensionella fält 1 VAD

Läs mer

OOP Omtenta 2010-03-06 10.00 15.00

OOP Omtenta 2010-03-06 10.00 15.00 Stockholms universitet 1 (6) OOP OOP Omtenta 2010-03-06 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv

Läs mer

Institutionen för TENTAMEN CTH HT-15 Datavetenskap 2015-08-27 TDA540. Tentamen för TDA540 Objektorienterad programmering

Institutionen för TENTAMEN CTH HT-15 Datavetenskap 2015-08-27 TDA540. Tentamen för TDA540 Objektorienterad programmering Institutionen för TENTAMEN CTH HT-15 Datavetenskap 215--27 TDA54 Tentamen för TDA54 Objektorienterad programmering DAG: 15--27 TID: 14: 1: Ansvarig: Joachim von Hacht och Christer Carlsson Förfrågningar:

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

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

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... } En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class

Läs mer

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

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

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

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :

Läs mer

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

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6

Läs mer