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.

Slides:



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

Formulär Tänkte nu gå igenom vad ett formulär är och hur man kan skapa dem i Access.
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.
Algoritmer och data strukturer -Länkade listor
Sökning och sortering Linda Mannila
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
Metoder i java Det finns två typer av metoder i java
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
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
Föreläsning 5 Python: argument från kommando-tolken
Algoritm analys och rekursiva metoder kap 5,7
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.
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.
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
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.
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 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Frekvenstabell Frekvenstabell Skriv ett program som slumpar ett tärningskast n gånger. Programmet skall därefter skriva ut en frekvenstabell över observationerna.
Datastrukturer och algoritmer
Föreläsning 4 Klasser Och Objekt.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
För utveckling av verksamhet, produkter och livskvalitet. Algoritmer och datastrukturer Sorterings algoritmer.
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
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 Övning6 Läsning från fil till java objekt Sökning Sortering.
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.
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.
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 2004/2005 DA7350, 10 poäng Fält - Vektor - Array Deklarera, skapa och använda Fält som parameter Föreläsning 9.
DA7351 Programmering 1 Fält och objekt Tvådimensionella fält Sortera fält Föreläsning 13.
Föreläsning 3 Algoritm Grundstrukturer i en algoritm Sekvens Selektion Iteration Selektion - if-sats Selektion - if-else-sats Selektion - switch-sats jämförelseoperatorer.
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.
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.
Malmö högskola Rolf Axelsson 2001/2002 DA7010 Objektorienterad programmering 1, 5 poäng Indentering är viktigt! Efter startparentes, {, ska du indentera.
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 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Föreläsning 8: Exempel och problemlösning
Föreläsning 12: Exempel och problemlösning
Mer om repetionssatser och arrayer
Repetitionsföreläsning 1: Lite rekursion & problemlösning
Presentationens avskrift:

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 10

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng 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 static boolean finns(int tal, int[] fält) vara användbar. Skriver ut innehållet i fältet F9.java

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält - Vektorer - Arrays En fält-variabel (referensvariabel) deklareras så här: int[] slumptal; Antalet element i fältet bestäms med new-operatorn: slumptal = new int[1000]; double[] längd = new double[120]; String[] ord = new String[10]; Man kan bestämma fältets storlek och innehåll genom initiering: char[] vokaler = {’a’,’e’,’i’,’o’,’u’,’y’,’å’,’ä’,’ö’}; Man kommer åt de olika 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: ”+char[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

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Fält som returvärde FaltEx3.java

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng 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. 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(klassmetod): Arrays.sort(fältnamn); Sortering.java

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng 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).

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Selectionsort SelectionSort.java Sortering2.java

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Sökning i fält - klassen Arrays Om ett fält är osorterat får man söka fältet linjärt, dvs. från början till slut. Om man hittar det sökta elementet så kan man avbryta sökningen. for(int i=0; i<fält.length; i++) if(fält[i]==söktVärde) return i; return -1; Om ett fält är sorterat kan man göra en binär sökning. Man börjar med mittenelementet. Är det mindre än det sökta elementet gör man en ny sökning i den övre halvan och annars i den nedre halvan. På detta viset halverar man antalet element att söka bland vid varje sökning. I klassen Arrays finns metoden binarySearch vilken kan användas vid sökning. GissaTal.java Search.java

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng 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 Dubbelkast.java

Malmö högskola Rolf Axelsson 2003/2004 DA7235, 4 poäng Tre i rad SPELPLAN OCH FÄLT Hur lagrar man ställningen? Hur ritar man spelplanen? Hur flyttar man en pjäs? HÄNDELSEHANTERING Hur registrerar man klick? Hur vet man var klicket skedde? TreIRad.java