Programmeringsteknik för K och Media

Slides:



Advertisements
Liknande presentationer
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.
Advertisements

2D1311 Programmeringsteknik med PBL
Algoritmer och data strukturer -Länkade listor
Klassarv och inkapsling
Filhantering Grundprincipen för filhantering Öppna filen
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
Välkommen Vahid Mosavat
Programmeringsteknik 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 2 Datalogi för E1 2D1343
Föreläsning 5 Python: argument från kommando-tolken
Föreläsning 8 Appletprogram/fristående grafiska program Rita linjer, rektanglar mm Skriva text Byta färg Appletprogram html.
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.
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Strömmar Vid läsning och skrivning används något som kallas strömmar.
Föreläsning 5.  Idag  Kap 7 i Dawson  Filer  Felhantering med try…except.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Repetition inför slutprovet
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
OOP Objekt-orienterad programmering
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.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
Föreläsning 5, Kapitel 5 Använda Java-bibliotek för att få avancerad funktionalitet Kursbok: “Objects First with Java - A Practical Introduction using.
Föreläsning 14 ”Enkel” Filhantering.
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
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
TILLÄMPAD DATALOGI (TILDA) Övning 3
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
INTRODUKTION TILL PROGRAMMERING
Class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde; int[] fall = new int[num]; //vattenflödet i vattenfallen.
ITK:P2 F8 Strömmar och filhantering DSV Peter Mozelius.
2D1311 Programmeringsteknik med PBL Föreläsning 4 Skolan för Datavetenskap och kommunikation.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
TILLÄMPAD DATALOGI (TILDA) Övningsgrupp 2 Marcus Hjelm
TILLÄMPAD DATALOGI (TILDA) Övning 1 Marcus Hjelm
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
TILLÄMPAD DATALOGI (TILDA) Övning 2
TILLÄMPAD DATALOGI (TILDA) Övning 2
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
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.
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 9 Object cast Klassen Vector Skillnad mellan Arrayer och Vector.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 8: Exempel och problemlösning
Presentationens avskrift:

Programmeringsteknik för K och Media 1999-11-29 Föreläsning 10 Klasserna Vector (kap 6.2) StringTokenizer (kap 6.3) Inläsning och utskrift på fil SimpleTextFileReader SimpleTextFileWriter Iteration och rekursion (kap 12) Linda Kann, Nada

Vector Används som en vektor men måste importeras: Fördelar: Nackdelar import java.util.Vector; Fördelar: Längden utökas automatiskt när man lägger in ett nytt element. Lätt att stoppa in element var som helst. Nackdelar Ineffektivt. Varje element blir av klassen Object så man måste omvandla framtagna element till rätt klass.

Metoder i klassen Vector addElement(Object element) Lägger till ett element sist. removeElement(Object element) Tar bort ett visst element. elementAt(int index) Returnerar det element som finnspå plats index firstElement() och lastElement() Returnerar första resp sista elementet. size() Returnerar antal element.

Exempel Vector balls = new Vector(); Ball b; for (int i = 0; i < 22; i++) { b = new Ball(100, 100, 5); balls.addElement(b); } b = (Ball) balls.elementAt(16); stdout.println(”Antal: ” + balls.size());

StringTokenizer Kan dela upp en sträng i delar (tokens), t ex ta fram orden ur en mening. Normalt delas strängen vid mellanslag, tab och radbyte. Man kan också ange vilka tecken strängen ska delas vid. Importeras med: import java.util.StringTokenizer;

Konstruktorer StringTokenizer(String str) str är strängen som ska delas upp. StringTokenizer(String str, String skiljetecken) skiljetecken anger vilka tecken str ska delas vid. String skiljetecken, boolean rubbet) rubbet ska vara true om även skiljetecknen ska returneras.

Metoder hasMoreTokens() Returnerar true om det finns några tokens kvar att plocka fram ur strängen. nextToken() Returnerar nästa token. countTokens() Räknar ut hur många tokens det finns i strängen.

Exempel String mening; StringTokenizer orden; mening = stdin.readLine(); // Skapar en ny tokenizer orden = new StringTokenizer(mening); // Skriver ut första ordet stdout.println(orden.nextToken()); // Skriver ut andra ordet

Filer Enda sättet att spara data mellan programkörningar är att lagra dessa på fil. På kursbiblioteket finns två klasser som gör det enklare att läsa från och skriva på fil. SimpleTextFileReader SimpleTextFileWriter Om du vill använda någon av klasserna kan du kopiera den från kursbiblioteket och lägga den sist i ditt program.

SimpleTextFileReader // Öppna fil för läsning SimpleTextFileReader in = new SimpleTextFileReader(”infil.txt”); String str; // Läs in alla rader och skriv ut på skärmen while ((str = in.readLine())!= null) { System.out.println(str); } in.close();

SimpleTextFileWriter // Öpnna fil för utskrift SimpleTextFileWriter out = new SimpleTextFileWriter (”utfil.txt”); out.println(”Detta skrivs på filen!”); System.out.println(”Detta på skärmen”); // Stäng filen out.close();

Iteration Iteration betyder upprepning. Här innebär det att utföra något med hjälp av en slinga: for-slinga while-slinga Exempel: 5! = 1*2*3*4*5

Fakultet-iterativt import java.io.*; class FakultetIter { public static void main(String[] args) { System.out.println(fakultet(5)); } //Metoden main public static int fakultet(int n) { int resultat = 1; for (int i=1; i<=n; i++) { resultat = resultat*i; } return resultat; } // Metoden fakultet

Rekursion Att lösa ett problem genom att först lösa en mindre variant av samma problem. Exempel: 5! = 5*4! Man får en metod som anropar sig själv. Metoden måste veta när den ska sluta, dvs det måste finnas ett basfall, t ex 0! = 1

Fakultet - rekursivt import java.io.*; class FakultetRek { public static void main(String[] args) { System.out.println(fakultet(5)); } //Metoden main public static int fakultet(int n) { if (n==0) return 1; else return n*fakultet(n-1); } // Metoden fakultet }