EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
|
|
- Anna-Karin Lund
- för 9 år sedan
- Visningar:
Transkript
1 EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod hp anna.aelsson@cs.lth.se 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 / 48 EDAA20 (F1-2 programmering) HT / 48 Föreläsning 1-2 Innehåll Checklista 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 Eempel på vad du ska kunna Förklara begreppen: algoritm, program, kompilering, eekvering. 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 eekvera program. Avsnitt i läroboken: 1-3.2, 4 EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
2 Algoritm Eempel på en algoritm Definition En följd av instruktioner som beskriver hur man ska göra för att lösa ett problem. Eempel: 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 / 48 EDAA20 (F1-2 programmering) HT / 48 Eempel 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; Sstem.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 e Java. EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
3 Eempel på ett Javaprogram Editera - kompilera - eekvera programmets namn public class Calculator { public static void main(string[] args) { double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; Sstem.out.println("Summan av talen är " + sum); satser som utförs vid eekveringen 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 brter mot språkets grammatik) översätts den till btekod. Btekoden lagras i en fil vars namn har tillägget.class. Eekvera Programmet körs, dvs. btekodsinstruktionerna i programmet utförs. EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48 Editera - kompilera - eekvera 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 Eekvera Rätta kompileringsfel Rätta eekveringsfel, 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. Eempel på språk: Simula (1967), Smalltalk, C++, Java etc. EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
4 Eempel 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.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 e hårddisk där man lagrar program och data när de inte används. In- och utenheter, t e 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 / 48 EDAA20 (F1-2 programmering) HT / 48 Variabel Tilldelningssats Variabler används för att lagra värden som programmet måste komma ihåg. Variablerna måste deklareras. Variabler har en datatp och ett namn. Namnet representerar ett värde i minnet. Vi använder namnet istället för värdet. Ientilldelningssatsgermanenvariabelettnttvärde. Eempel: double nbr1 = 12.5; double nbr2 = 0.7; double sum = nbr1 + nbr2; variabel uttrck nbr1 nbr2 sum tp namn Eempel: double nbr1; nbr1 Variabeln och uttrcket måste ha samma tp (några undantag finns) EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
5 Variabler i datorns minne Övning Tilldelningssatser 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 Vilka värden har variablerna när följande satser eekverats: int u,,, z; = 10; = 2 * + 1; z = ( + ) + ( - ); = + 1; u z EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48 Programmet Calculator Förbättrad version Inläsning från tangentbordet import java.util.scanner; public class Calculator { public static void main(string[] args) { Sstem.out.println("Skriv två tal"); Scanner scan = new Scanner(Sstem.in); double nbr1 = scan.netdouble(); double nbr2 = scan.netdouble(); double sum = nbr1 + nbr2; Sstem.out.println("Summan av talen är " + sum); Skapa först en Scanner-objekt som ska användas för att läsa från tangentbordet: Scanner scan = new Scanner(Sstem.in); Med scan.netdouble() läser man nästa tal (av tpen double) som skrivs på tangentordet: nbr1 = scan.netdouble(); nbr2 = scan.netdouble(); EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
6 Import-sats Utskrift i konsolfönstret 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 eemplet importeras klassen Scanner som används för inläsning från tangenbordet. Utskrift av en teckensträng (omges av citationstecken): Sstem.out.println("Skriv två tal"); Utskrift av en variabels värde (OBS! inga citationstecken): Sstem.out.println(sum); Flera saker kan skrivas ut i samma println-sats (med + mellan). Sstem.out.println("Summan av talen är " + sum); EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48 Alternativ Eempel Alternativ Mönster if (villkor) { satser; // utförs om villkoret är uppfllt Scanner scan = new Scanner(Sstem.in); double nbr1 = scan.netdouble(); int nbr2 = scan.netint(); if (nbr2!= 0) { Sstem.out.println("Kvoten mellan talen är " + (nbr1 / nbr2)); else { Sstem.out.println("Du försökte dividera med 0."); EDAA20 (F1-2 programmering) HT / 48 if (villkor) { satser; // utförs om villkoret är uppfllt else { satser; // utförs annars if (villkor 1) { satser; // utförs om villkor 1 är uppfllt else if (villkor 2) { satser; // utförs annars om villkor 2 är uppfllt else { satser; // utförs annars EDAA20 (F1-2 programmering) HT / 48
7 Repetition ett bestämt antal gånger Eempel Repetition ett okänt antal gånger Eempel Scanner scan = new Scanner(Sstem.in); int sum = 0; for (int i = 1; i <= 5; i++) { sum = sum + scan.netint(); Sstem.out.println(sum); Scanner scan = new Scanner(Sstem.in); int sum = 0; while (scan.hasnetint()) { sum = sum + scan.netint(); Sstem.out.println(sum); EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48 Repetition Mönster ett bestämt antal gånger: for (int i = start; i <= slut; i++) { satser; // utförs för i-värdena start, start+1, // start+2,, slut. så länge ett villkor är uppfllt: while (villkor) { satser; Övning Repetition Skriv satser för att beräkna och skriva ut summan Skriv satser för att beräkna och skriva ut summan EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
8 Eempel 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.draw(w); Objekt motsvarar verkliga eller tänkta saker. E: kvadrater, fönster, bankkonton, Ett objekt har attribut. E: 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. E: fltta en kvadrat, sätta in pengar på ett bankkonto,... EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48 Eempel: kvadratobjekt Tilldelningssatser Klass Attribut: läge, sidlängd side 20 Objekt av samma tp beskrivs i en klass. Till eempel kan man skriva en klass Square som beskriver kvadrater. Metoder: fltta move beräkna arean getarea rita draw side 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 / 48 EDAA20 (F1-2 programmering) HT / 48
9 Skapa objekt Objekt i datorns minne I programmet skapar man objekt genom att skriva new Klassnamn(lista med aktuella parametrar) Eempel: Skapa en kvadrat med läget 20,10 och sidlängden 40: new Square(20, 10, 40) Skapa ett ritfönster med bredden 600 pilar, höjden 600 pilar och med rubriken Square: new SimpleWindow(600, 600, "Square") När ett objekt skapas reserveras det plats för objektets attribut i datorns minne. Eempel på hur ett kvadratobjekt lagras i minnet: side Numren på minnescellerna (adresserna) är bara eempel och ingenting vi normalt behöver tänka på. EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48 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. Eempel: 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. Eempel på hur variabeln sq och det kvadratobjekt sq refererar till kan lagras i minnet. sq side sq side EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
10 Deklarera referensvariabler Referenstilldelning Alla variabler måste deklareras innan man använder dem och få en tp och ett namn. Variabeln sq kan tilldelas en referens till ett kvadratobjekt: En referensvariabel har en klass som tp. Tpen bestämmer vilka slags objekt variabeln får referera till. Eempel: En variabel av tpen Square får referera till ett Square-objekt: sq side tp 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 / 48 EDAA20 (F1-2 programmering) HT / 48 Anropa metoder på objekt Referenstilldelning Värdet null Man kan be ett objekt att utföra något genom att anropa en metod. Eempel: fltta kvadraten 30 piels i -led och 10 piels i -led. En referensvariabel kan även tilldelas värdet null och refererar då inte till något objekt: sq = null; sq null side Om referensvariablen har värdet null kan man inte anropa en metod på den. sq EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
11 Referenstilldelning Övning Fll i värden på variabler och attribut när följande satser eekverats: 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 / 48 side 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 returtp. metodens namn. de formella parametrarna och deras tper. Eempel: /** Flttar kvadraten avståndet d i -led, d i -led. */ void move(int d, int d); EDAA20 (F1-2 programmering) HT / 48 Specifikation Square /** Skapar en kvadrat med övre vänstra hörnet i, och med sidlängden side. */ Square(int, int, int side); /** Ritar kvadraten i fönstret w. */ void draw(simplewindow w); /** Flttar kvadraten avståndet d i -led, d i -led. */ void move(int d, int d); /** Tar reda på -koordinaten för kvadratens läge. */ int getx(); /** Tar reda på -koordinaten för kvadratens läge. */ int gety(); /** Tar reda på kvadratens area. */ int getarea(); EDAA20 (F1-2 programmering) HT / 48 Metoder Konstruktor /** Skapar en kvadrat med övre vänstra hörnet i, och med sidlängden side. */ Square(int, int, int side); konstruktorns namn samma som klassen formella parametrar tp och namn Konstruktorn används när man skapar ett na objekt med new Eempel: 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 / 48
12 Metoder returtp - void betder att metoden inte returnerar något /** Ritar kvadraten i fönstret w. */ void draw(simplewindow w); /** Flttar kvadraten avståndet d i -led, d i -led. */ void move(int d, int d); metodens namn formella parametrar tp och namn Eempel på användning: EDAA20 (F1-2 programmering) HT / 48 Metoder Metoder som returnerar värden returtp - tp på det värde som returneras **/ Tar reda på -koordinaten för kvadratens läge. */ int getx(); /** Tar reda på -koordinaten för kvadratens läge. */ int gety(); /** Tar reda på kvadratens area. */ int getarea(); Eempel på användning: Sstem.out.println("Kvadratens area: " + sq.getarea()); int a = sq.getarea(); EDAA20 (F1-2 programmering) HT / 48 Anropa metoder Sammanfattning Övning Hitta fel När vi anropar en metod använder vi punktnotation: referens.metodnamn(lista med aktuella parametrar); Eempel: Square sq = new Square(20, 10, 40); 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.draw(w); Sstem.out.println("Arean: " + w.getarea()); De värden som skickas in till metoden kallas aktuella parametrar eller argument. EDAA20 (F1-2 programmering) HT / 48 EDAA20 (F1-2 programmering) HT / 48
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.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser
Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
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[]
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
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
Föreläsning 1-2 innehåll
Föreläsning 1-2 innehåll Om kursen Kursens mål och innehåll Praktisk information om kursen Programmering program, algoritmer variabler, datatyper och tilldelningssatser läsa in värden från tangentbordet,
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
Föreläsning 13 Innehåll
Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?
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
Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER
Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Logiska uttryck datatypen boolean Logiska uttryck kan ha två möjliga värden, true eller false. Variabler av typen boolean kan tilldelas
Föreläsning 9-10 Innehåll
Föreläsning 9-10 Innehåll Inläsning från textfil, utskrift från textfil Vektorer med objekt Matriser Datavetenskap (LTH) Föreläsning 9-10 HT 2018 1 / 41 Klassen Scanner Läsa från System.in Vi har tidigare
Föreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Föreläsning Innehåll. Hantera många element. Exempel: polygon Godtyckligt antal element. Exempel: polygon forts
Föreläsning 11-12 Innehåll Hantera många element Tidigare har vi använt vektorer för att lagra många element av samma tp. Eempel: Klassen ArraList Inläsning från tetfil, utskrift på tetfil int[] nbrs
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
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
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/
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
Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER
Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Från laboration 3 till 4 I laboration 3 har du implementerat klasser implementerat metoder i klasserna I laboration 4 kommer du att implementera
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
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
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
public och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
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
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
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
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
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
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det riktiga provet tar 45 minuter (en lektionstimme) och det
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
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
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
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å
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
Ö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
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)
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)
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
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:
Lab5 för prgmedcl04 Grafik
Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna
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
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
JAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
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
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
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
"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
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
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
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
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
(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
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
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Ö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
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
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
Enkla variabler kontra referensvariabel
Enkla variabler kontra referensvariabel En variabel är ett namngivet minnesutrymme i datorns primärminne. En variabel som används för att representera en primitiv datatyp kallas för enkel variabel. Deklarationssatsen
Föreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga
1 Repetition av viktiga begrepp inom objektorienterad programmering
Repetition av viktiga begrepp inom objektorienterad programmering 3 1 Repetition av viktiga begrepp inom objektorienterad programmering Tema: Arv, parameteröverföring, statiska attribut och metoder. Litteratur:
Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
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
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
Repetition av viktiga begrepp inom objektorienterad programmering
Repetition av viktiga begrepp inom objektorienterad programmering Tema: Arv, parameteröverföring, statiska attribut och metoder. Arv U 1. Betrakta följande klasser: public class Person { protected String
Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )
(26 januari 2018 F3 1 ) Dagens föreläsning Arrayer och klasser Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 2 ) Arrayer En array är en datatyp
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
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
Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
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
Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.
Tentamen Programmeringsteknik I 2013-06-14 med lösningar 1. Svara kortfattat på följande: a) Vad är en instansvariabel? Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och
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 2018-03-16 Skrivtid: 8:00 13:00 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
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
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
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
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
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
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
Föreläsning 7-8 Innehåll
Föreläsning 7-8 Innehåll Mer om att skriva egna klasser Fel och felsökning Klasserna String och StringBuilder Datavetenskap (LTH) Föreläsning 7-8 HT 2017 1 / 42 Objekt som argument Antag att vi har lagt
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-06-11 Skrivtid: 08:00 13:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
2 Eclipse en handledning
2 Eclipse en handledning Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: http://www.eclipse.org http://help.eclipse.org http://www.eclipse.org/downloads/
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
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/
Programmering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
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
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
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-03-19 Skrivtid: 14:00 19:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
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 2017-03-16 Skrivtid: 0800 1300 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
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
Objekt som argument. Föreläsning 7-8 Innehåll. Hur komma åt den andra kvadratens attribut? Anropa metod på objektet självt
Föreläsning 7-8 Innehåll Objekt som argument Antag att vi har lagt till följande metod i klassen Square (från lab 4). Mer om att skriva egna klasser Fel och felsökning Klasserna String och StringBuilder
Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Föreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se
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
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)
Föreläsning 6: Metoder och fält (arrays)
TDA 545: Objektorienterad programmering Föreläsning 6: Metoder och fält (arrays) Magnus Myréen Chalmers, läsperiod 1, 2015-2016 I (föregående och) denna föreläsning Läsanvisning: kap 2 & 13 meddelanden
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
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder
Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305 Klass Object, instans av klass public/private Klassvariabler och klassmetoder 1 Array och ArrayList Arrayer och ArrayList är till för att innehålla
Föreläsnings 9 - Exceptions, I/O
Föreläsnings 9 - Exceptions, I/O Josef Svenningsson Tisdag 6/11 Undantag - Exceptions Kommer ni ihåg det här programmet? Det var ett av de första ni såg i första föreläsningen. import javax.swing.*; public
Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:
Omtentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-08-30, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar:
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
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