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

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll."

Transkript

1 EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod hp Mer information finns på kursens webbsida samt på det utdelade kursprogrammet. Vad du ska lära dig: Programmering Lösa problem med hjälp av dator Grundläggande programmering Grundläggande objektorientering och programspråket Java Databaser Lagra data i relationsdatabaser Använda SQL för att hämta data från databaser EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Om att lära sig programmera Föreläsning 1-2 Innehåll Programmering är kul! Programmering tar tid (fundera ut lösningar, hitta fel ). Man lär sig programmera genom att träna. Skriv program, testa, hitta på egna program, experimentera Men inte bara - glöm inte bort teorin. Starten är viktig. Häng med från början! Det man lär sig kommer att byggas på och användas genom hela kursen. De olika undervisningsmomenten (övningar, labbar, föreläsningar ) finns av en anledning och kompletterar varandra. Introduktion till programmering Introduktion vad är programmering? Praktisk information om kursen Skriva små program i programspråket Java Skriva program som använder färdiga klasser Undervisningsmoment: föreläsning 1-2 övning 1 laboration 1-2 Avsnitt i läroboken: 1-3.2, 4 EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

2 Algoritm Exempel på en algoritm Definition En följd av instruktioner som beskriver hur man ska göra för att lösa ett problem. Exempel: matrecept program Problem: Beräkna summan av talen 12.5 och 0.7 och skriv ut summan. Algoritm: Tal nr 1 är 12.5 Tal nr 2 är 0.7 Summan = tal nr 1 + tal nr 2 Skriv ut summan EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Exempel på programkod Program Problem: Beräkna summan av talen 12.5 och 0.7 och skriv ut summan. Programkod: double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; System.out.println("Summan av talen är " + sum); Definition Stegvisa instruktioner till datorn som beskriver hur ett problem ska lösas. I instruktionerna manipuleras information (data) Instruktionerna skrivs i ett programspråk, t ex Java. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

3 Exempel på ett Javaprogram Editera - kompilera - exekvera programmets namn public class Calculator { public static void main(string[] args) { double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; System.out.println("Summan av talen är " + sum); satser som utförs vid exekveringen Detta är ett litet, men fullständigt program, som beräknar summan av två tal och skriver ut det i konsolfönstret datorns skärm. Editera Skriv in programkoden och spara i en fil vars namn har tillägget.java. Kompilera Programkoden kontrolleras. Om koden är korrekt (dvs. inte bryter mot språkets grammatik) översätts den till bytekod. Bytekoden lagras i en fil vars namn har tillägget.class. Exekvera Programmet körs, dvs. bytekodsinstruktionerna i programmet utförs. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Editera - kompilera - exekvera Objektorientering Editera Större datorprogram måste delas upp i hanterliga delar. Man kan inte hålla tusentals programrader i huvudet samtidigt! Calculator.java Kompilera Calculator.class Exekvera Rätta kompileringsfel Rätta exekveringsfel, logiska fel, ändra Objektorientering är ett sätt att göra detta. Man utgår från de data programmet ska arbeta med, alltså de verkliga saker (objekt) som finns i problemet. I programmet skriver man klasser som innehåller programkod som beskriver dessa objekt. Objektorientering har varit populärt sedan slutet av 80-talet. Exempel på språk: Simula (1967), Smalltalk, C++, Java etc. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

4 Exempel på program med objekt Datorns delar public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600, 600, "Square"); Square sq = new Square(20, 10, 40); sq.draw(w); sq.move(30, 10); sq.draw(w); Vad händer när man kör programmet? Processor eller CPU (central processing unit) den enhet i datorn som utför instruktioner. Primärminne används för att lagra program och dess data när programmen används. Sekundärminne, t ex hårddisk där man lagrar program och data när de inte används. In- och utenheter, t ex skärm, tangentbord, mus för att kommunicera med människor. Kommunikationskanaler för att kommunicera med andra datorer eller apparater. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Variabel Datatyper Variabler används för att lagra värden som programmet måste komma ihåg. Variablerna måste deklareras. Variabler har en datatyp och ett namn. Namnet representerar ett värde i minnet. Vi använder namnet istället för värdet. typ namn Exempel: double nbr1; nbr1 De data som behandlas i ett program är av olika typer, t.ex. heltal, reella tal, tecken, referenser Typ int double boolean char Referens (Klass) Kan innehålla heltal reellt tal (tal med decimaldel) logiska värden (true eller false) tecken referens till objekt EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

5 Tilldelningssats Variabler i datorns minne Ientilldelningssatsgermanenvariabelettnyttvärde. Exempel: double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; variabel uttryck nbr1 nbr2 sum Variablernas värden lagras i datorns primärminne. Minnet är uppdelat i olika minnesceller. Vid deklarationen av en variabel reserveras det plats för variabeln i minnet. Vid tilldelning läggs variabelns värde i motsvarande minnescell/er. nbr nbr2 0.7 sum Variabeln och uttrycket måste ha samma typ (några undantag finns) När en variabel används hämtas dess värde från minnet. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Övning Tilldelningssatser Programmet Calculator Förbättrad version Vilka värden har variablerna när följande satser exekverats: int u, x, y, z; x = 10; y = 2 * x + 1; z = (y + x) + (y - x); x = x + 1; u x y z import java.util.scanner; public class Calculator { public static void main(string[] args) { System.out.println("Skriv två tal"); Scanner scan = new Scanner(System.in); double nbr1 = scan.nextdouble(); double nbr2 = scan.nextdouble(); double sum = nbr1 + nbr2; System.out.println("Summan av talen är " + sum); EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

6 Inläsning från tangentbordet Import-sats Skapa först en Scanner-objekt som ska användas för att läsa från tangentbordet: Scanner scan = new Scanner(System.in); Med scan.nextdouble() läser man nästa tal (av typen double) som skrivs på tangentordet: nbr1 = scan.nextdouble(); nbr2 = scan.nextdouble(); Genom att skriva en import-sats först i filen talar vi om att vi kommer att använda en klass från ett klasspaket (en samling redan färdiga klasser). import java.util.scanner; I det här exemplet importeras klassen Scanner som används för inläsning från tangenbordet. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Utskrift i konsolfönstret Alternativ if Exempel Utskrift av en teckensträng (omges av citationstecken): System.out.println("Skriv två tal"); Utskrift av en variabels värde (OBS! inga citationstecken): System.out.println(sum); Flera saker kan skrivas ut i samma println-sats (med + mellan). System.out.println("Summan av talen är " + sum); Scanner scan = new Scanner(System.in); double nbr1 = scan.nextdouble(); int nbr2 = scan.nextint(); if (nbr2!= 0) { System.out.println("Kvoten mellan talen är " + (nbr1 / nbr2)); else { System.out.println("Du försökte dividera med 0."); EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

7 Alternativ if Mönster if (villkor) { satser; // utförs om villkoret är uppfyllt Övning if-sats Skriv satser för att läsa in ett heltal och sedan skriva ut om det inlästa talet är positivt, har värdet 0 eller är negativt. if (villkor) { satser; else { satser; // utförs om villkoret är uppfyllt // utförs annars if (villkor 1) { satser; // utförs om villkor 1 är uppfyllt else if (villkor 2) { satser; // utförs annars om villkor 2 är uppfyllt else { satser; // utförs annars EDAA20 (F1-2 programmering) HT / 54 Repetition ett bestämt antal gånger for Exempel EDAA20 (F1-2 programmering) HT / 54 Repetition ett bestämt antal gånger for Mönster Scanner scan = new Scanner(System.in); int sum = 0; for (int i = 1; i <= 5; i++) { sum = sum + scan.nextint(); System.out.println(sum); Utförs för i-värdena start, start+1, start+2,, slut. for (int i = start; i <= slut; i++) { satser; EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

8 Övning for-sats Repetition ett okänt antal gånger while Exempel Skriv satser för att beräkna och skriva ut summan Skriv satser för att beräkna och skriva ut summan Scanner scan = new Scanner(System.in); int sum = 0; while (scan.hasnextint()) { sum = sum + scan.nextint(); System.out.println(sum); EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Repetition ett okänt antal gånger while Mönster Övning while-sats Skriv satser som läser heltal och summerar dem. En 0:a markerar att talen är slut. Summan ska skrivas ut. Ex: Indata: ger utskriften 42. Utförs så länge ett villkor är uppfyllt: while (villkor) { satser; EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

9 Exempel på program med objekt Repris Objekt Vi ska se närmare på vad som händer i detta program där vi skapar och använder objekt: public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600, 600, "Square"); Square sq = new Square(20, 10, 40); sq.draw(w); sq.move(30, 10); sq.draw(w); Objekt motsvarar verkliga eller tänkta saker. Ex: kvadrater, fönster, bankkonton, Ett objekt har attribut. Ex: En kvadrat har en sidlängd och ett läge, ett fönster har bredd och höjd, ett bankkonto har ett kontonummer och ett saldo, Man kan utföra metoder på objekt. Ex: flytta en kvadrat, sätta in pengar på ett bankkonto,... EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Exempel: kvadratobjekt Klass Attribut: läge x, y sidlängd side side 40 Attributen är variabler som håller reda på objektets data. Metoder: flytta move beräkna arean getarea rita draw Metoder innehåller programkod för att göra något med objektet. x y Objekt av samma typ beskrivs i en klass. Till exempel kan man skriva en klass Square som beskriver kvadrater. Klassen innehåller programkod för att deklarera attributen och för vad som ska hända i de olika metoderna. Till att börja med använder vi färdigskrivna klasser. Senare ska vi se hur man skriver egna klasser. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

10 Skapa objekt Objekt i datorns minne I programmet skapar man objekt genom att skriva new Klassnamn(lista med aktuella parametrar) Exempel: Skapa en kvadrat med läget 20,10 och sidlängden 40: new Square(20, 10, 40) Skapa ett ritfönster med bredden 600 pixlar, höjden 600 pixlar och med rubriken Square: new SimpleWindow(600, 600, "Square") När ett objekt skapas reserveras det plats för objektets attribut i datorns minne. Exempel på hur ett kvadratobjekt lagras i minnet: x 20 y 10 side Numren på minnescellerna (adresserna) är bara exempel och ingenting vi normalt behöver tänka på. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Referensvariabel Referensvariabel och objekt i datorns minne Vi behöver ett namn på objektet. Därför kopplar vi en referensvariabel till objektet. En referensvariabel kan innehålla en referens till ett objekt. Exempel: Variabeln sq refererar till ett kvadratobjekt: Det som egentligen lagras i en referensvariabel är ett heltal adressen till det objekt referensvariabeln refererar till. Pilen vi ritat i föregående bild är motsvarar denna adress. Exempel på hur variabeln sq och det kvadratobjekt sq refererar till kan lagras i minnet. sq x y side sq x 20 y 10 side EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

11 Deklarera referensvariabler Referenstilldelning Alla variabler måste deklareras innan man använder dem och få en typ och ett namn. Variabeln sq kan tilldelas en referens till ett kvadratobjekt: En referensvariabel har en klass som typ. Typen bestämmer vilka slags objekt variabeln får referera till. Exempel: En variabel av typen Square får referera till ett Square-objekt: sq x y side typ namn Square sq; sq Ofta gör man deklarationen och tilldelningen i samma sats: Square sq = new Square(20, 10, 40); EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54 Anropa metoder på objekt Referenstilldelning Värdet null Man kan be ett objekt att utföra något genom att anropa en metod. Exempel: flytta kvadraten 30 pixels i x-led och 10 pixels i y-led. sq.move(30, 10); En referensvariabel kan även tilldelas värdet null och refererar då inte till något objekt: sq = null; sq null x y side Om referensvariablen har värdet null kan man inte anropa en metod på den. sq.move(30, 10); sq EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

12 Referenstilldelning Övning Fyll i värden på variabler och attribut när följande satser exekverats: Square sq1 = new Square(25, 25, 50); Square sq2 = new Square(10, 10, 20); sq1 = sq2; sq1.move(50, 50); sq1 sq2 EDAA20 (F1-2 programmering) HT / 54 x y side x y side Specifikation För att kunna skapa och använda objekt av en klass måste vi få information om klassen; vilka metoder som finns och vilka parametrar som ska skickas med. En specifikation är en beskrivning av klassens metoder med en kort beskrivning av vad metoden gör. metodens returtyp. metodens namn. de formella parametrarna och deras typer. Exempel: /** Flyttar kvadraten avståndet dx i x-led, dy i y-led. */ void move(int dx, int dy); EDAA20 (F1-2 programmering) HT / 54 Specifikation Square /** Skapar en kvadrat med övre vänstra hörnet i x,y och med sidlängden side. */ Square(int x, int y, int side); /** Ritar kvadraten i fönstret w. */ void draw(simplewindow w); /** Flyttar kvadraten avståndet dx i x-led, dy i y-led. */ void move(int dx, int dy); /** Tar reda på x-koordinaten för kvadratens läge. */ int getx(); /** Tar reda på y-koordinaten för kvadratens läge. */ int gety(); /** Tar reda på kvadratens area. */ int getarea(); EDAA20 (F1-2 programmering) HT / 54 Metoder Konstruktor /** Skapar en kvadrat med övre vänstra hörnet i x,y och med sidlängden side. */ Square(int x, int y, int side); konstruktorns namn samma som klassen formella parametrar typ och namn Konstruktorn används när man skapar ett nya objekt med new Exempel: Square sq = new Square(20, 10, 40); En klass kan ha flera konstruktorer (som skiljer sig åt när det gäller parametrarna). EDAA20 (F1-2 programmering) HT / 54

13 Metoder returtyp - void betyder att metoden inte returnerar något /** Ritar kvadraten i fönstret w. */ void draw(simplewindow w); /** Flyttar kvadraten avståndet dx i x-led, dy i y-led. */ void move(int dx, int dy); metodens namn formella parametrar typ och namn Exempel på användning: sq.move(30, 10); EDAA20 (F1-2 programmering) HT / 54 Metoder Metoder som returnerar värden returtyp - typ på det värde som returneras **/ Tar reda på x-koordinaten för kvadratens läge. */ int getx(); /** Tar reda på y-koordinaten för kvadratens läge. */ int gety(); /** Tar reda på kvadratens area. */ int getarea(); Exempel på användning: System.out.println("Kvadratens area: " + sq.getarea()); int a = sq.getarea(); EDAA20 (F1-2 programmering) HT / 54 Anropa metoder Sammanfattning Övning Hitta fel När vi anropar en metod använder vi punktnotation: referens.metodnamn(lista med aktuella parametrar); Exempel: Square sq = new Square(20, 10, 40); sq.move(30, 10); int a = sq.getarea(); Observera att parenteserna ska vara med även om inga aktuella parametrar ska skickas med. OBS! I nedanstående kod finns några fel: Rätta till felen: Square sq = new Square(20, 10); sq.draw(w); SimpleWindow w = new SimpleWindow(600, 600, "Square"); sq.move(30, 10); sq.draw(w); System.out.println("Arean: " + w.getarea()); De värden som skickas in till metoden kallas aktuella parametrar eller argument. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

14 Kontrollera koden Checklista När man anropar en metod kan man kontrollera att man anropar metoden på rätt typ av objekt. Vilken typ har objektuttrycket före punkten? Finns metoden tillgänglig idenklassen? objektuttrycket före punkten har ett värde skilt från null. antal aktuella parametrar (argument) stämmer. argumentens typer stämmer. Exempel på vad du ska kunna Förklara begreppen: algoritm, program, kompilering, exekvering. Skriva enkla program som använder färdiga klasser. deklarera variabler och tilldela dem värden skapa och använda objekt använda if-, for- och while-satser läsa in värden från tangentbordet, skriva ut på skärmen Editera, kompilera och exekvera program. EDAA20 (F1-2 programmering) HT / 54 EDAA20 (F1-2 programmering) HT / 54

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

Föreläsning 5-6 Innehåll

Föreläsning 5-6 Innehåll Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]

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

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

Exempel på program med objekt Klass med main-metod. Föreläsning 3-4 Innehåll. Övning Viktiga begrepp

Exempel på program med objekt Klass med main-metod. Föreläsning 3-4 Innehåll. Övning Viktiga begrepp Föreläsning 3-4 Innehåll Eempel på program med objekt Klass med main-metod Klasser Implementera (skriva programkod för) egna klasser Datatper Undervisningsmoment: föreläsning 3-4 övning 2 laboration 3-5

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

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

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet

Läs mer

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

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer

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 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

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

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

"if"-satsen. Inledande programmering med C# (1DV402)

if-satsen. Inledande programmering med C# (1DV402) "if"-satsen Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket if-satsen

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

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

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

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

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

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

1 Egna klasser. 1.1 En punkt-klass

1 Egna klasser. 1.1 En punkt-klass 1 Egna klasser Vi har bekantat oss med klasser genom att se hur vi kan använda olika klasser. I synnerhet klassen Scanner och klassen Math. För scannerklassen skapade vi en instans för att sedan utnyttja

Läs mer

Objektorienterad programmering (OOP) Föreläsning 15 & 16. Klasser för olika slags fordon. Klasser och objekt

Objektorienterad programmering (OOP) Föreläsning 15 & 16. Klasser för olika slags fordon. Klasser och objekt Föreläsning 15 & 16 ARV Objektorienterad programmering (OOP) Idé: vi ser ett program som en modell av verkligheten Ursprung: Simula-67, Norsk regnesentral, 1960-talet Smalltalk-80: Xerox PARC, 1970-talet

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

Datastrukturer. Föreläsning Innehåll. Program med vektor Exempel. Deklarera vektorer

Datastrukturer. Föreläsning Innehåll. Program med vektor Exempel. Deklarera vektorer Föreläsning 1-12 Innehåll Vektorer Registrering (räkna element av olika slag) Sökning Matriser Klasserna String och StringBuilder Repetition inför delmålskontroll 2 Undervisningsmoment: föreläsning 1-12

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

Programmering för språkteknologer I, VT2012. Rum

Programmering för språkteknologer I, VT2012. Rum Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska

Läs mer

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random

Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random Kasta tärning tills etta Skriv ett program som låter en användare spela detta tärningsspel: Spelaren gör första tärningsslaget och får samma poäng som tärningen visar. Sedan fortsätter spelet enligt följande

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

Objektorienterad programmering i Java

Objektorienterad programmering i Java bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det

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

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng

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

Objekt-orientering. Java är ett objekt-orienterat programmeringsspråk

Objekt-orientering. Java är ett objekt-orienterat programmeringsspråk Repetition EDAA10 Objekt-orientering Java är ett objekt-orienterat programmeringsspråk Program byggs upp av klasser och objekt Objekt instantieras från klasser Klasser och objekt innehåller attribut och

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

Grundläggande programmering

Grundläggande programmering LUNDS TEKNISKA HÖGSKOLA Programmeringsteknik för D/C Institutionen för datavetenskap 2014/15 Grundläggande programmering 1 Inledning Övningarna i Programmeringsteknik under vecka 1 3 av läsperiod ht1 är

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

Läs mer

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

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)

Läs mer

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

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

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

JAVAUTVECKLING LEKTION 4

JAVAUTVECKLING LEKTION 4 JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet

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

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

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

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

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

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

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

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

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 Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor i Java Först följer frågor av flervalstyp. Frågorna är inte ordnade efter svårighetsgrad. 1. Skillnaden mellan typerna int och

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första

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

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 programmering i Java

Objektorienterad programmering i Java bild 1 Objektorienterad programmering i Java Föreläsning 2 Till och med kapitel 4 (och 5) i kursboken Java Software Solutions bild 2 Läsanvisningar Den här föreläsningen är i huvudsak uppbyggd kring ett

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

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4: (22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard

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

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

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

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 Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

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

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

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

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

Algoritmexempel. Föreläsning 5-7 Innehåll. Summering Mönster. Summering Exempel: alternerande harmoniska serien

Algoritmexempel. Föreläsning 5-7 Innehåll. Summering Mönster. Summering Exempel: alternerande harmoniska serien Föreläsning 5-7 Innehåll Algoritm för summering Aritmetiska uttryck Logiska uttryck Algoritm för att beräkna max och min Repetition inför delmålskontroll 1 Teckenuttryck Slumptal Undervisningsmoment: föreläsning

Läs mer

Övningar Dag 2 En första klass

Övningar Dag 2 En första klass Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt

Läs mer

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram? Programmeringsteknik och Matlab Övning 2 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

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Hur vi jobbar med ett program. 1. Vad vi skriver (med hjälp av redigeringsprogrammet Emacs) på datorn: // Fig. 2.1: Welcome1.java // A first program in

Läs mer

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

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

Eclipse en handledning

Eclipse en handledning LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap VT 2015 Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas

Läs mer

2D1342 Programkonstruktion för F1, ht 2006

2D1342 Programkonstruktion för F1, ht 2006 2D1342 Programkonstruktion för F1, ht 2006 Lappskrivning 1 Tisdag 7/11 2006 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

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: Bilaga C Eclipse 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: www.eclipse.org help.eclipse.org www.eclipse.org/downloads/

Läs mer

Editering, Kompilering och Exekvering av Javaprogram

Editering, Kompilering och Exekvering av Javaprogram UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)

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

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

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser. (16 februari 2016 F5.1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (16 februari 2016 F5.2 ) Pokertärningar

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

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

Tentamen, EDAA20/EDA501 Programmering

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

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt Föreläsning 4 Klasser Och Objekt Klass Beskrivning av en objekttyp Beskriver egenskaper och beteende (fält och metoder) Klassen fungerar som en ritning Objekt skapas från klassbeskrivningen - instansieras

Läs mer

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av

Läs mer

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

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 Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

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

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

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar

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

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (

Läs mer

[] Arrayer = Indexerad variabel

[] Arrayer = Indexerad variabel [] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Arrayer Metoder Räckvidd (Scope) Eclipse

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

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

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Föreläsning 3. Iteration while-satsen

Föreläsning 3. Iteration while-satsen Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har

Läs mer

Laboration 1. Objektorienterad programmering, Z1. Syfte

Laboration 1. Objektorienterad programmering, Z1. Syfte Syfte Laboration 1. Objektorienterad programmering, Z1 Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i

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

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

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

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22 Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering

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

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