Omdirigering. Omdirigering

Relevanta dokument
Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

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

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Funktioner. Programmering. Egendefinierade funktioner i Java. En Java-funktions anatomi. hh.se/db2004. Statiska metoder. Funktioner. resultatvärde.

Datatyper. Programmering. Att definiera datatyper i Java. Laddade partiklar. (x,y) (Rx,Ry) hh.se/db2004

Input. Programmering. Andra källor

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

Tentamen i Objektorienterad programmering

Att utvidga klasser. Programmering. Att utvidga klasser. Förvirring. hh.se/db2004

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Redovisning av inlämningsuppgifter

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Mattias Enervall (Övningsassistent) Examination. 1 Skriftlig tentamen (betyg)

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Daniel Petersson (Labassistent) Examination. 1 Skriftlig tentamen (betyg)

Chapter 3: Using Classes and Objects

Modern Programmering (2546) Tentamen lördag

Editering, Kompilering och Exekvering av Javaprogram

Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: Tid: (OBS 3 tim) Rum: V

Grundläggande programmering med C# 7,5 högskolepoäng

Bareko Pantone Matching System Color Chart (PMS färger)

Programmering. hh.se/db2004. SuperKarel, Nedbrytning & Styrsatser. Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering

Tentamen , Grundläggande programmering i Java

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 bänken.

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Tentamen OOP

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Rita med ritstift. Raka banor Klicka med Ristiftet vid varje hörn.

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

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

Tentaupplägg denna gång

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Föreläsning 10. ADT:er och datastrukturer

SMD 134 Objektorienterad programmering

Föreläsning 1 & 2 INTRODUKTION

Tentamen, EDA501 Programmering M L TM W K V

DELPROV 1 I DATAVETENSKAP

Tentamen i Grundläggande programmering STS, åk 1 lördag

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Malmö högskola 2012/2013 Teknik och samhälle

Ballonger Pappersflaggor Cocktailflaggor Vimpelspel Applådstavar. Candab. est. 1947

Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

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

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

6.5 Spelserien Gissa tal

OOP Objekt-orienterad programmering

Tentamen, EDAA20/EDA501 Programmering

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer

OOP Objekt-orienterad programmering

Dugga i Grundläggande programmering STS, åk

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Parallellism, återblick

Louvre - färger av studiekvalitet

Skillnader mellan Python och Java

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Tips och tricks 1 Cadcorp SIS

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Programmeringsuppgifter 1

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

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

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 11

Objektorienterad programmering D2

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Tentamen. Lösningsförslag

OOP Omtenta

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Chapter 4: Writing Classes/ Att skriva egna klasser.

Grafisk Manual. Version

TDDC77 Objektorienterad Programmering

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Institutionen för datavetenskap 2014/15

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

Exempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer

Övningar Dag 2 En första klass

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

ID1004 Laboration 3, 5-6 November 2012

Malmö högskola 2008/2009 CTS

OOP Objekt-orienterad programmering

2D1339 Programkonstruktion för F1, ht 2004

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

IT för personligt arbete F6

Western Riders Association of Sweden

Dessa komponenter plus några motstånd, klockkrets, kondensatorer och annat smått och gott har åstadkommit ett fungerande POV-hjul.

JAVA Mer om klasser och objektorientering

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Transkript:

Programmering hh.se/db2004 Föreläsning 6: Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Omdirigering I unix kan man dirigera om standard input på samma sätt som man kunde dirigera om standard output. Medelvärdet av slumptal Vi har 2 program: en som genererar slumptal till standard output och en som räknar medelvärdet av värden inmatade via standard input. Center for Research on Embedded Systems IDE-sektionen 1 / 1 2 / 1 Medelvärdet av slumptal public static void main(string[] cmdln){ int n = Integer.parseInt(cmdLn[0]); for(int i = 0; i<n; i++){ System.out.println(Math.random()); public static void main(string[] cmdln) { double sum = 0; int count = 0; while(!stdin.isempty()){ sum = sum + StdIn.readDouble(); count = count + 1; System.out.println(sum/count); 3 / 1 Omdirigering > och < Vi kan kombinera dem genom stray.hh.se% java RandomNumbers 10000 > manynumbers stray.hh.se% java Average < manynumbers Pipe Man behöver inte filen: stray.hh.se% java RandomNumbers 10000 java Average Program i olika språk Man har tillgång till alla program som använder standard input och standard output! 4 / 1

Grafisk output Standard Draw Vi skall titta på ett bibliotek för att få program att producera grafisk output. StdDraw För att ha tillgång till biblioteket måste man ladda ner filen StdDraw till arbetskatalogen. Att använda StdDraw är ganska enkelt. Man skall föreställa sig en abstrakt ritanordning som kan rita linjer och punkter på en 2D duk. Anordningen kan svara på kommandon som våra program utfärdar genom att anropa metoder i StdDraw. Till exempel StdDraw.point(x,y); StdDraw.line(x0,y0,x1,y1); 5 / 1 6 / 1 APIn för StdDraw - del 1 APIn för StdDraw - del 2 7 / 1 8 / 1

50 linjer Kommandon till StdDraw Många linjer public class Lines{ public static void main(string[] cmdln){ int n = Integer.parseInt(cmdLn[0]); StdDraw.setXscale(0,n); StdDraw.setYscale(0,n); for(int i = 1; i<=n; i++){ StdDraw.line(i,0,0,n-i); Observera Man bestämmer själv skalan för X och Y. I programmet är bägge 0... N. 9 / 1 10 / 1 Visualisering Visualisering Man kan använda grafik för att visualisera stora mängder data. Koordinater för städer Man kan samla information om koordinater, till exempel: 1097038.8890 245552.7780 1103961.1110 247133.3330 1104677.7780 247205.5560 1108586.1110 249238.8890 1109713.8890 250111.1110 1110072.2230 254475.0000 1110088.8890 254683.3330 1110572.2230 254950.0000... Man kan använda koordinaterna för att rita punkter. För att bestämma X- och Y-skalan måste man ta reda på de yttersta koordinaterna. Koordinater för städer Vi kan skriva ett program som läser koordinater från standard input (som vi sedan omdirigerar att komma från en fil!). Vi kommer att använda filer där man redan har tagit reda på de yttersta punkterna och dessa finns som de första 4 talen i filen. 11 / 1 12 / 1

Visualisering Kartan Kartan public static void main(string[] cmdln){ double x0 = StdIn.readDouble(); double y0 = StdIn.readDouble(); double x1 = StdIn.readDouble(); double y1 = StdIn.readDouble(); double x, y; StdDraw.setXscale(x0, x1); StdDraw.setYscale(y0, y1); while (!StdIn.isEmpty()) { x = StdIn.readDouble(); y = StdIn.readDouble(); StdDraw.point(x, y); 13 / 1 14 / 1 Leka med slump Lek med slumpen, efter några drag Spela på en liksidig triangel med hörn R, G och B. 1 Börja vid R 2 Gör N gånger: 1 Välj ett slumpmässigt hörn 2 Förflytta halvvägs från nuvarande punkt till hörnan 3 Rita en punkt i hörnans färg. 15 / 1 16 / 1

Lek med slumpen Chaos 100? public class Chaos { public static void main(string[] cmdln) { int T = Integer.parseInt(cmdLn[0]); double[] cx = 0.000, 1.000, 0.500 ; double[] cy = 0.000, 0.000, 0.866 ; double x = 0.0, y = 0.0; int r; for (int t = 0; t < T; t++) { r = (int) (Math.random() * 3); x = (x + cx[r]) / 2.0; y = (y + cy[r]) / 2.0; StdDraw.point(x, y); 17 / 1 18 / 1 Pennan Pennan Färger Man kan bestämma färg med StdDraw.setPenColor. Här är några exempel: StdDraw.setPenColor(StdDraw.RED); StdDraw.setPenColor(StdDraw.GREEN); StdDraw.setPenColor(StdDraw.BLUE); Följande färger finns: BLACK, BLUE, CYAN, DARK GRAY, GRAY, GREEN, LIGHT GRAY, MAGENTA, ORANGE, PINK, RED, WHITE, YELLOW. Storlek Man kan bestäma hur tjockt pennan skriver med StdDraw.setPenRadius. Här är några exempel: StdDraw.setPenRadius(0.5); StdDraw.setPenRadius(0.002); 0.002 är default. 19 / 1 20 / 1

Chaos 100? Chaos 10000? 21 / 1 22 / 1 Animeringar Animerings loop Rensa skärmen. Flytta föremålet. Rita föremålet. Visa och pausa ett litet tag. En Studsboll Bollen finns på (rx,ry) och har hastighet (vx,vy). Om man uptäcker att den krockar mot en vägg skall bollen ändra hastigheten. 23 / 1