DA7351 Programmering 1 Fält och objekt Tvådimensionella fält Sortera fält Föreläsning 13.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
OOP Objekt-orienterad programmering
Polymorfism.
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Programkodens uppbyggnad
Att programmera i språket Java
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
i olika programmeringsspråk
Föreläsning 13 Polymorfism, Paket och JAR-filer. Polymorfism Ordet härstammar från grekiskan Poly – många Morf – form Polymorf – många former Någonting.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
PROCESSPROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Pekare och speciell programstruktur i inbyggda system
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
1 ITK:P1 Föreläsning 7 Algoritmer och datastrukturer DSV Marie Olsson.
Vektorer (klassen Vector) Sortering
Föreläsning 10 Minnesbilder. Minnesbilder steg 1 char ch; int[] vek; Bil bilen; Bil int[] char ch vek bilen.
Programmeringsteknik för Media1 & K1
OOP F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 10 Stränghantering.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Föreläsning 4 Klasser Och Objekt.
INTRODUKTION TILL PROGRAMMERING
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och Datastrukturer -- Kap 21,14 Prioritets Köer (Priority Queues ), Graph.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 14.
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 7 Metoder Parametrar Klassmetod.
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng while-loop do-loop continue, break PROJEKT Föreläsning 5.
1 Föreläsning 9 Object cast Klassen Vector Skillnad mellan Arrayer och Vector.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde Sortera fält Söka i fält Tvådimensionella fält Fält och spelplan Föreläsning.
Malmö högskola Rolf Axelsson 2004/2005 DA7350, 10 poäng Fält - Vektor - Array Deklarera, skapa och använda Fält som parameter Föreläsning 9.
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Referensvariabel Klass och konstruktorer Klass med set- och get-metoder Klass och fält Fler metoder.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Arv, abstrakta klasser och gränssnitt
Malmö högskola Rolf Axelsson 2003/2004 DA7231, 4 poäng Fält - Vektor - Array Deklarera, skapa och använda Fält som parameter Föreläsning 9.
OOP&M - teori1 OOPM del II – Föreläsning vecka Abstrakta klasser/metoder igen Gränssnitt/Interface klasser igen tillämpat.
Malmö högskola Rolf Axelsson 2004/2005 DA7350, 10 poäng char Klassen String Klass och attribut Klass och metoder Föreläsning 30/
Föreläsning 8: Exempel och problemlösning
Mer om repetionssatser och arrayer
Presentationens avskrift:

DA7351 Programmering 1 Fält och objekt Tvådimensionella fält Sortera fält Föreläsning 13

DA7351 Programmering 1 Ett program med fält Skriv ett program vilket: Skapar ett fält med 10 heltal (int) Fyller fältet med 10 slumptal, samtliga i intervallet Inget slumptal får förekomma två gånger i fältet. Ev kan en metod, public boolean finns(int tal, int[] fält) vara användbar. Skriver ut innehållet i fältet ArrayEx.java

DA7351 Programmering 1 Fält - Vektorer - Arrays En fält-variabel (referensvariabel) deklareras så här: int[] slumptal; Antalet element i fältet bestäms när fältet skapas: slumptal = new int[1000]; double[] längd = new double[120]; String[] ord = new String[10]; Man kan bestämma innehåll (och därmed storlek) genom initiering: char[] vokaler = {’a’,’e’,’i’,’o’,’u’,’y’,’å’,’ä’,’ö’}; Man kommer åt elementen i fältet genom att ange index: slumptal[7] = (int)(Math.random()*100); längd[0] = 183.4;//Första index är alltid 0 System.out.println(”Tredje vokalen: ”+vokaler[2]); antalTecken = ord[5].length(); Antalet element som fältet rymmer finner man med length. length har man ofta användning av i for-loopar. antalElement = slumptal.length; // antalTecken = 1000; for(int i=0; i<ord.length; i++) { System.out.println(ord[i]); } Slumpfalt.java TestSlumpfalt.java

DA7351 Programmering 1 Ett fält kan innehålla objekt Om man ska lagra information om de anställda i ett företag kan ett fält med objekt vara lösningen. Information om en anställd lagras i objekt av typen Anstalld: Anstalld (namn, lön) – klassen har attributen namn och lön Anstalld[] arbetstagare = new Anstalld[200]; Fältet arbetstagare kan hålla information om maximalt 200 anställda. För varje anställd som ska lagras krävs att ett objekt av typen Anstalld skapas. Referensen till objektet lagras i fältet. arbetstagare[3] = new Anstalld(”Bertil”,17200); arbetstagare -> namn = ”Bertil” lön =

DA7351 Programmering 1 Objekten i fältet fungerar som vanligt Det går bra att komma åt publica attribut och metoder i objektet. Varje element i fältet fungerar som en referens till ett Anstalld-objekt. Anstalld[] arbetstagare = new Anstalld[200]; String namnAnstalld; arbetstagare[3] = new Anstalld(”Bertil”,17200); arbetstagare[5] = new Anstalld(); namnAnstalld = arbetstagare[3].getNamn(); System.out.println(arbetstagare[3].toString()); arbetstagare[5].setNamn(”Anna”); Anstalld.java AnstalldEx.java Anstalld - namn:String - lön:double + Anstalld + Anstalld(String,double) + setNamn(String); + getNamn():String + setLön(double) + getLön():double + toString():String

DA7351 Programmering 1 Tvådimensionella fält Ett fält kan ha flera dimensioner. I detta fall kommer man åt elementen genom flera index-angivelser. Exempel: Tvådimensionellt fält Deklaration av fält med 2 rader, 5 kolumner int[ ][ ] nederbörd = {{1,4,3,2,5},// 2 rader {7,3,3,2,1}};// 5 kolumner double[ ][ ] temperatur = new double[2][5]; Cirkel[ ][ ] cirklar = new Cirkel[2][5]; FlerDim.java

DA7351 Programmering 1 Sortering av fält - klassen Arrays Det finns ett flertal algoritmer för att sortera ett fält, t.ex. Selectionsort, Bublesort och Quicksort. De två första är enklast att implementera men ej så effektiva om fältet är stort (>1000 element). I klassen Arrays finns metoder för sortering av fält med enkla variabler (int, long, double,…). Implementeringen är av typen Quicksort. Man måste importera klassen Arrays från paketet java.util: import java.util.Arrays;// eller import java.util.*; Sedan anropar man metoden sort(ett fält): Arrays.sort(fältnamn); Sorteringen blir alltid växande. Sortering.java

DA7351 Programmering 1 Selectionsort Strategi vid Selectionsort (växande): Titta på elementen i positionerna 0-(fält.length-1) och skifta det minsta elementet med elementet i position 0. Titta på elementen i positionerna 1-(fält.length-1) och skifta det minsta elementet med elementet i position 1. Titta på elementen i positionerna 2-(fält.length-1) och skifta det minsta elementet med elementet i position 2. : Titta på elementen i positionerna (fält.length-2) -(fält.length-1) och skifta det minsta elementet med elementet i position (fält.length-2).

DA7351 Programmering 1 Klassmetod – metoden sort i Selectionsort SelectionSort.java Sortering2.java

DA7351 Programmering 1 Sortera fält med objekt StringSort1.java Person.java PersonSort.java

DA7351 Programmering 1 Comparable - sortera fält med objekt Adress.java AdressSort.java

DA7351 Programmering 1 Comparator - sortera fält med objekt

DA7351 Programmering 1 Comparator - sortera fält med objekt PersonSort2.java AdressSort2.java StringSort2.java