Laboration D, Nätverkskommunikation

Storlek: px
Starta visningen från sidan:

Download "Laboration D, Nätverkskommunikation"

Transkript

1 Laboration D, Nätverkskommunikation Avsikten med laborationen är att du ska få stifta bekantskap med kommunikation mellan datorer via internet. Java erbjuder ett flertal tekniker för kommunikation via nätverk, bl.a. Klassen URL med vars hjälp man kan hämta den fil som URLen refererar till. Olika datorer kan kommunicera med hjälp av datagram (UDP/IP). Datorerna är inte uppkopplade mot varandra. Kommunikationen sker genom paket vilka innehåller adress och portnummer hos mottagaren. Olika datorer kan kommunicera med hjälp av uppkopplad förbindelse (TCP/IP). Kommunikationen sker genom strömmar, en i vardera riktningen. Uppgift 1 UDP, Exempel 1 Man kan kommunicera med Datagram över nätverk. Men denna kommunikation garanterar ej att innehållet är oförändrat när det kommer fram. datagrammet når mottagaren. datagram kommer fram i samma ordning som de sänts. En dator skickar ett paket, vilket innehåller avsändaradress, mottagaradress och någon form av data. Datorn med mottagaradressen tar emot paketet. Kommunikationen sker över bestämda portnummer. Portnummer får vara Både avsändare och mottagare av ett paket behöver ett objekt av typen DatagramSocket och ett objekt av typen DatagramPacket. Med send-metoden skickar avsändaren paketet och med receive-metoden tar mottagaren emot paketet. För att hantera adresser på internet används klassen InetAddress. Med klassmetoden public static InetAddress getbyname( String ip ) skapar man ett InetAddress-objekt. Den data ett DatagramPacket innehåller är på formen byte-array. En byte kan hålla ett värde i intervallet Enklast är att göra en byte-array från en sträng. Det gör man genom att anropa metoden getbytes(): String str = "Hej"; byte[] data = str.getbytes(); Nu kommer arrayen data vara av storleken 3 och innehålla värdena: 72, 101, 106 Detta är heltalskod för tecken 'H', 'e' och 'j' Uppgift 1 innehåller två metoder: 1. UDPSenderA.send( String ip, int port, String[] messages) vilken skickar strängarna i messages till en vis ip-adress och port på nätet. En sträng i taget skickas och strängarna skickas med 3 sekunders mellanrum. 2. UDPReceiverA.receive( int port ) vilken lyssnar efter strängar och skriver ut de som kommer i output-fönstret. Lyssnandet sker på den port som anges vid anropet. DA129A Programmering 1 1

2 1. UDPSenderA.send( String ip, int port, String[] messages ) Metoden ska skicka meddelanden över ett nätverk till en bestämd mottagare-dator. Argument (parameterlistan) till metoden är ( String ip, int port, String[] messages): adressen, ip (dvs ip-nummer), till datorn som meddelandena ska skickas till. Ip-numret är en sträng. den port som mottagande datorn lyssnar på. Porten är ett heltal (int). messages, de meddelanden som ska skickas. Dessa lagras i en String-array. För att skicka ett meddelande krävs: 1. En DatagramSocket: DatagramSocket socket = new DatagramSocket(); 2. En InetAddress: InetAddress receiver = InetAddress.getByName( ip ); 3. Ett paket som innehåller InetAdress, port och meddelande: byte[] data = messages[ i ].getbytes(); // En sträng görs om till bytes DatagramPacket packet = new DatagramPacket( data, data.length, receiver, port ); 4. Ett anrop till send-metoden: socket.send( packet ); Punkterna 1, 2 och 4 ovan kan kasta IOException (eller subklasser till IOException). Därför måste de vara i en try-sats. Om vi skapar klassen UDPSenderA och skriver in ovanstående får vi följande: public class UDPSenderA { public static void send( String ip, int port, String[] messages ) { InetAddress receiver = InetAddress.getByName( ip ); DatagramSocket socket = new DatagramSocket(); DatagramPacket packet; byte[] data; for( int i = 0; i < messages.length; i++ ) { // Skicka sträng för sträng data = messages[ i ].getbytes(); packet = new DatagramPacket( data, data.length, receiver, port ); socket.send( packet ); catch( IOException e1 ) { System.out.println( e1 ); Nu skickas strängarna i snabb takt efter varandra. För att de ska skickas med tre sekunders mellanrum måste programmet pausa efter varje anrop till send-metoden. En 3 sekunder lång paus gör man genom att anropa metoden Thread.sleep med argumentet 3000: Thread.sleep( 3000 ); Metoden kan kasta ett InterruptedException vilket måste fångas. Därför lägger vi till en catch där även InteruptedException hanteras: catch( InterruptedException e2 ) { System.out.println( e2 ); Med dessa rader tillagda blir slutresultatet så här: 2

3 public class UDPSenderA { public static void send( String ip, int port, String[] messages ) { InetAddress receiver = InetAddress.getByName( ip ); DatagramSocket socket = new DatagramSocket(); DatagramPacket packet; byte[] data; for( int i = 0; i < messages.length; i++ ) { // Skicka sträng för sträng data = messages[ i ].getbytes(); packet = new DatagramPacket( data, data.length, receiver, port ); socket.send( packet ); Thread.sleep( 3000 ); catch( IOException e1 ) { System.out.println( e1 ); catch( InterruptedException e2 ) { System.out.println( e2 ); 2. UDPReceiverA.receive( int port ) Metoden ska lyssna efter meddelanden på en angiven port. För att ta emot ett meddelande krävs: 1. En DatagramSocket: DatagramSocket socket = new DatagramSocket( port ); 2. Ett paket för att ta emot meddelandet: byte[] data = new byte[ 256 ]; // max 256 bytes i meddelandet DatagramPacket packet = new DatagramPacket( data, data.length ); 3. Ett anrop till receive-metoden: socket.receive( packet ); // Här väntar programmet tills paket kommer 4. Göra om innehållet i paketet till ett String-objekt. För detta ändamål finns det en passande konstruktor i klassen String. String message = new String( packet.getdata(), 0, packet.getlength() ); Även i den här metoden sätter vi en try-sats runt koden. public class UDPReceiverA { public static void receive( int port ) { DatagramSocket socket = new DatagramSocket( port ); DatagramPacket packet; String message; byte[] data = new byte[ 256 ]; while( true ) { packet = new DatagramPacket( data, data.length ); socket.receive( packet ); message = new String( packet.getdata(), 0, packet.getlength() ); System.out.println( message ); // Skriver ut meddelandet catch(ioexception e) { Nu återstår det att testa send- respektive receive-metoden. 3

4 Test av UDPSenderA.send respektive UDPReceiverA.receive 1. Test på den egna datorn Skriv följande main-metod i klassen UDPReceiverA: UDPReceiverA.receive( 4444 ); receive-metoden kommer att lyssna på port nr Skriv följande main-metod i klassen UDPServerA: String[] meddelanden = { "Veni, vidi, vici", "Jag kom, jag såg, jag segrade", "Alea iacta est", "Tärningen är kastad", "Et tu Brute", "Även du, min käre Brutus" ; Thread.sleep( 5000 ); // vänta 5 sek med att starta sändningen catch ( InterruptedException e ) { UDPSenderA.send( " ", 4444, meddelanden ); Ip-adressem är reserverad som adress till den egna datorn. Starta först main-metoden i UDPSenderA och sedan main-metoden i UDPReceiverA. Efter några sekunder så börjar meddelanden skrivas i Output-fönstret till UDPReceiverA. När samtliga meddelanden är överförda så avslutas main-tråden i UDPServerA. Men main-tråden i UDPReceiverA avslutas inte. Du får handgripligen avbryta programmet genom att välja Build Stop Build/Run. 2. Test mellan två datorer Ta reda på mottagnde dators ip-nummer genom att köra IP.java. I nedanstående exempel tänker vi oss att mottagande dator har ip: Ändra ip-numret i anropet till send-metoden till mottagande datorns ip-nummer: UDPSenderA.send( " ", 4444, meddelanden ); Starta UDPReceiverA på den ena datorn och UDPSenderA på den andra datorn. UDPReceiverA måste avslutas på samma sätt som i föregående exempel. 4

5 Uppgift 2 UDP, Exempel 2 Vid anropet till UDPReceiver.receive-metoden så är det main-tråden som används för att vänta på att meddelanden kommer. Det innebär att programmet blir upptaget med att lyssna, och detta är som regel inte önskvärt. I stället ska man låta en separat tråd ta hand om lyssnandet. För att lösa problemet låter vi klassen UDPReceiver implementera Runnable och skriver en run-metod med samma innehåll som receive-metoden. Vi måste dessutom tala om vilken port som ska lyssnas på. Detta gör vi i konstruktorn och lagrar portens nrummer i en instansvariabel. import javax.swing.*; public class UDPReceiverB implements Runnable { private int port; public UDPReceiverB( int port ) { this.port = port; public void run() { DatagramSocket socket = new DatagramSocket( port ); DatagramPacket packet; String message; byte[] data = new byte[256]; while( true ) { packet = new DatagramPacket(data,data.length); socket.receive(packet); message = new String(packet.getData(),0,packet.getLength()); System.out.println( message ); catch(ioexception e) { Nu är det dags att skriva en ny version av receive-metoden. Den ska: 1. Skapa ett objekt av typen UDPReceiverB. UDPReceiverB receiver = new UDPReceiverB( port ); 2. Skapa en tråd med objektet som argument Thread thread = new Thread( receiver ); 3. Starta tråden (varvid run-metoden exekveras) thread.start(); Vi skriver den nya versionen av receive-metoden i klassen UDPReceiverB (metoden kan placeras i vilken klass som helst). public static void receive( int port ) { UDPReceiverB receiver = new UDPReceiverB( port ); Thread thread = new Thread( receiver ); thread.start(); Vi lägger också till en main-metod liknanden den i Uppgift1: 5

6 UDPReceiverB.receive( 4444 ); Så här ser den färdiga klassen ut: import javax.swing.*; public class UDPReceiverB implements Runnable { private int port; public UDPReceiverB( int port ) { this.port = port; public void run() { DatagramSocket socket = new DatagramSocket( port ); DatagramPacket packet; String message; byte[] data = new byte[256]; while( true ) { packet = new DatagramPacket(data,data.length); socket.receive(packet); message = new String(packet.getData(),0,packet.getLength()); System.out.println( message ); catch(ioexception e) { public static void receive( int port ) { UDPReceiverB receiver = new UDPReceiverB( port ); Thread thread = new Thread( receiver ); thread.start(); UDPReceiverB.receive( 4444 ); Nu kan du starta UDPSenderA och UDPReceiverB på samma sätt som i föregående Uppgift. 6

7 Uppgift 3 TCP, Exempel 1 Om man har behov av ökad säkerhet i kommunikationen mellan datorer kan man använda klasserna ServerSocket och Socket. ServerSocket-objektet är till för att låta andra datorer koppla upp sig till servern och Socket-objektet är till för att kommunicera med den andra datorn. I denna form av kommunikation är alltid en av datorerna server medan övriga datorer utgör klienter. Servern har ett ServerSocket-objekt och desutom ett Socket-objekt för varje klient. Varje klient har ett Socket-objekt. Kommunikationen sker genom en ström i vardera riktningen, dvs. genom ett InputStreamobjekt och ett OutputStream-objekt. Genom input-strömmen får man information från den andra datorn och genom output-strömmen överför man information till den andra datorn. Om man ska överföra enkla datatyper + strängar så kan man koppla strömmarna till objekt av typen DataInputStream respektive DataOutputStream. Om man ska överföra objekt så kan man koppla strömmarna till objekt av typen ObjectInputStream respektive ObjectOutputStream. Då det även går att överföra enkla datatyper och strängar med dessa strömmar så använder vi dem i Uppgift 3 och Uppgift 4. Uppgift 3 innehåller två metoder: 1. TCPServerC.send( int port, String[] messages) vilken låter en klient ansluta på viss port. Till den anslutna klienten överförs strängarna i messages. En sträng i taget skickas och strängarna skickas med 3 sekunders mellanrum. 2. TCPClientA.receive(String serverip, int serverport ) vilken kopplar upp mot en server och därefter tar emot strängar vilka skrivs ut i outputfönstret. 1. TCPServerC.send( int port, String[] messages ) Metoden ska skicka meddelanden över ett nätverk till den dator som kopplar upp sig. Argument (parameterlistan) till metoden är ( int port, String[] messages): den port som klienten kopplar upp sig mot. Porten är ett heltal (int). messages, de meddelanden som ska skickas. Dessa lagras i en String-array. För att en klient ska kunna koppla upp sig mot en server krävs: 1. En ServerSocket: ServerSocket serversocket = new ServerSocket( port ); 2. Ett anrop till accept-metoden: Socket socket = serversocket.accept(); // Här väntar tråden När en klient ansluter sig så skapas ett Socket-objekt. Från detta Socket-objekt får man strömmarna som man använder vid kommunikation med den andra datorn. För att servern ska kunna överföra informationen krävs 3. En output-ström av typen ObjectOutputStream (det går även bra med en DataOutputStream i det här exemplet): ObjektOutputStream output = new ObjectOutputStream( socket.getoutputstream() ); Om servern skulle ta emot information från klienten skulle även en input-ström behövas: ObjectInputStream input = new ObjectInputStream( socket.getinputstream() ); 7

8 4. Ett anrop till metoden writeutf följt av anrop till flush: output.writeutf( messages[ i ] ); output.flush(); Punkterna 1-4 ovan kan kasta IOException (eller subklasser till IOException). Därför sätter vi en try-sats runt dem. Eftersom vi också pausar tråden 3 sekunder så måste vi fånga InterruptedException. Genom att fånga Exception hanteras båda undantagen. Om vi skapar klassen TCPServerC och skriver in ovanstående + en paus får vi följande: import javax.swing.*; public class TCPServerC { public static void send( int port, String[] messages ) { ServerSocket serversocket = null; Socket socket = null; ObjectOutputStream output; serversocket = new ServerSocket( port ); socket = serversocket.accept(); output = new ObjectOutputStream( socket.getoutputstream() ); for( int i = 0; i < messages.length; i++ ) { output.writeutf( messages[ i ] ); output.flush(); Thread.sleep( 3000 ); // paus 3 sekunder catch( Exception e1 ) { // IOException eller InterruptedException System.out.println( e1 ); socket.close(); serversocket.close(); catch( Exception e ) { String[] meddelanden = { "Veni, vidi, vici", "Jag kom, jag såg, jag segrade", "Alea iacta est", "Tärningen är kastad", "Et tu Brute", "Även du, min käre Brutus" ; TCPServerC.send( 5555, meddelanden ); 2. TCPClientC.receive( String serverip, int serverport ) Metoden ska koppla upp sig mot en server med angiven ip och på angiven port. Sedan ska klienten ta emot strängar från servern. Dessa skrivs ut i output-fönstret. För att koppla upp sig mot datorn krävs att ett Socket-objekt konstrueras. Det finns en speciell konstruktor för ändamålet: InetAddress address = InetAddress.getByName( serverip ); Socket socket = new Socket( address, serverport ); Som argument till konstruktorn ger man ett InetAdress-objekt och porten på vilken servern lyssnar efter en klient som vill ansluta sig. Sedan skapar man strömmar för kommunikation. I detta exempel behövs endast input-ström eftersom klienten enbart ska ta emot data från servern. ObjectInputStream input = new ObjectInputStream( socket.getinputstream() ); Om klienten ska föra över information till servern krävs även en output-ström: ObjectOutputStream output = new ObjectOutputStream( socket.getoutputstream() ); 8

9 Nu är klienten bered att ta emot strängar genom anrop till readutf-metoden. message = input.readutf(); På samma sätt som tidigare kan vissa metoder kasta IOException. Därför är det en try-sats runt all kod. Sammantaget ser TCPClientC ut så här: import javax.swing.*; public class TCPClientC { public static void receive( String serverip, int serverport ) { Socket socket = null; InetAddress adress = InetAddress.getByName( serverip ); socket = new Socket( adress, serverport ); // koppla upp ObjectInputStream input = new ObjectInputStream( socket.getinputstream() ); String message; while( true ) { message = input.readutf(); // här väntar tråden System.out.println( message ); catch(ioexception e) { socket.close(); // avsluta Socket-objektet catch( Exception e ) { TCPClientC.receive( " ", 5555 ); Nu kan du testa programmen på den egna datorn. Du ska alltid starta servern först. Och därefter klienten. När en uppkopplad förbindelse bryts genereras ett IOException. Servern bryter förbindelsen genom att stänga Socket-objektet. Då genereras IOException i klienten varvid inläsnings-loopen avbryts. För att testa programmet mellan två datorer ska du ersätta det första argumentet i anropet till receive med severns ip-nummer. Starta server-programmet först och därefter klientprogrammet. Uppgift 4 TCP, Exempel 2 (Extra) Det är vissa brister i Uppgift 3: 1. I servern används main-tråden för att lyssna efter klient som vill koppla upp. Detta är som regel inte önskvärt utan en separat tråd ska sköta detta. 2. I servern hanteras kommunikationen med klienten med main-tråden. Inte heller detta är önskvärt utan en separat tråd ska sköta denna kommunikation. 3. I klienten hanteras kommunikationen med servern med main-tråden. Detta är som regel inte önskvärt utan en separat tråd ska sköta detta. 9

10 Servern - TCPServerD I denna lösning används inre klasser. För att bekvämt arbeta med inre klasser så startas servern genom att ett objekt av typen TCPServerD skapas. Argument till konsruktorn är port som klienter ska kunna ansluta på och array med strängar vilka ska överföras till klienten som kopplat upp sig. I servern ska det vara en tråd som lyssnar efter klienter som vill ansluta sig. En inre klass som implementerar Runnable är lämplig. Den ges namnet Connect. I run-metoden ska koden som har med uppkoppling mot servern ligga. Dessutom är accept-metoden placerad i en whileloop för att erbjuda upprepade/flera uppkopplingar. public class TCPServerD { private int port; private String[] messages; public TCPServerD( int port, String[] messages ) { this.port = port; this.messages = messages; Thread connectthread = new Thread( new Connect() ); connectthread.start(); // starta tråd som lyssnar på klienter som vill ansluta sig private class Connect implements Runnable { public void run() { ServerSocket serversocket = null; Socket socket; Thread clientthread; serversocket = new ServerSocket( port ); while( true ) { socket = serversocket.accept(); // Här ska kommunikationen med klienten startas catch( IOException e1 ) { System.out.println( e1 ); serversocket.close(); catch( Exception e ) { String[] meddelanden = { "Veni, vidi, vici", "Jag kom, jag såg, jag segrade", "Alea iacta est", "Tärningen är kastad", "Et tu Brute", "Även du, min käre Brutus" ; new TCPServerD( 5555, meddelanden ); I ovanstående kod är även main-metoden, vilken ska starta servern, medtagen. 10

11 I servern ska det också vara en tråd som sköter kommunikationen med klienten. Även i detta fallet är en inre klass som implementerar Runnable lämplig, Den får namnet TalkToClient. All kod fr.o.m. att output-strömmen skapas (se TCPServerC) ska vara i run-metoden. public class TCPServerD { // koden ovan private class TalkToClient implements Runnable { private Socket socket; public TalkToClient( Socket socket ) { this.socket = socket; public void run() { ObjectOutputStream oos = new ObjectOutputStream( socket.getoutputstream() ); for( int i = 0; i < messages.length; i++ ) { oos.writeutf( messages[ i ] ); oos.flush(); Thread.sleep( 3000 ); catch(exception e1 ) { System.out.println( e1 ); socket.close(); catch( IOException e ) { Det måste vara en tråd som exekverar run-metoden i klassen TalkToClient. Denna tråd skapas och startas direkt efter det att en klient kopplat upp sig (i klassen Connect): socket = serversocket.accept(); clientthread = new Thread( new TalkToClient( socket ) ); clientthread.start(); Ovanstående rader innebär att så fort en klient kopplar upp sig så startas en separat tråd för att sköta kommunikationen mot klienten. Sedan anropas accept-metoden på nytt varvid en ny klient kan ansluta sig. På detta sättet kan denna server hantera många klienter samtidgt. Klienten - TCPClientD Det är dags att skriva klienten så att kommunikationen med servern sköts av en speciell tråd. Det är ganska små ändringaar som ska göras. Klienten startas genom att ett objekt av klassen TCPClientD skapas. Argument till konstruktorn är serverns ip-adress och den port där servern ligger och lyssnar efter klienter som önskar ansluta sig. I konstruktorn skapas en tråd. Tråden startas varvid run-metoden i den inre klassen ConnectAndListenToServer exekveras. run-metoden innehåller all kod för kommunikation med servern. 11

12 public class TCPClientD { private String serverip; private int serverport; public TCPClientD( String serverip, int serverport ) { this.serverip = serverip; this.serverport = serverport; Thread thread = new Thread( new ConnectAndListenToServer() ); thread.start(); private class ConnectAndListenToServer implements Runnable { public void run() { Socket socket = new Socket( InetAddress.getByName(serverIP), serverport ); ObjectInputStream input = new ObjectInputStream( socket.getinputstream() ); String message; while( true ) { message = input.readutf(); System.out.println( message ); catch(ioexception e) { new TCPClientD( " ", 5555 ); Nu är det dags att testköra klasserna i Uppgift 4. main-metoden i TCPClientD är skriven för test på den egna datorn. Starta servern först och sedan en eller flera klienter. Varje klient får ett eget output-fönster i vilket strängarna skrivs. På det sättet ser du att servern hanterar flera klienter. När servern är färdig med en klient stängs Socket-objektet som hållt uppkopplingen mot klienten. Därigenom kastas ett IOException i klienten och klientens tråd avslutas. Eftersom accept-metoden i servern är i en oändlig loop kommer inte servern att avslutas av sig själv. Du får handgripligen avsluta servern med Build Stop Build/Run. För att testa kommunikation mellan olika datorer så ska du ta reda på ip-adressen på den maskin där servern ska köras. Sedan ändrar du i TCPClientD main så att serverns ip skickas med vid konstruktion. Sedan kan du exekvera TCPServerD på server-datorn och TCPClientD på några andra datorer. 12

Introduktion till nätverksprogrammering i Java. Nätverksprogrammering i Java är lätt och roligt

Introduktion till nätverksprogrammering i Java. Nätverksprogrammering i Java är lätt och roligt Introduktion till nätverksprogrammering i Java Java och nätverk Läsanvisningar Skansholm (med Swing) kapitel 18 Budd kapitel 22 Nätverksprogrammering i Java är lätt och roligt Paketet java.net innehåller

Läs mer

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP F9 Meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Transport Layer Transport Layer Bygger vidare på på "Internet Internet Layer" Layer / IP. / IP. Applikationsprogram

Läs mer

Distribuerade system. CORBA eller RMI

Distribuerade system. CORBA eller RMI Distribuerade system Java XII - 1 CORBA eller RMI Java XII - 2 Några motiv till distribuerade system kan vara att: Utjämna belastningen mellan olika maskiner i ett nätverk Utnyttja kapaciteten i en större

Läs mer

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013

Tung bakgrundsaktivitet t.ex. Aktiva objekt t.ex. Animering, simulering. DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013 DD2385 Programutvecklingsteknik Några bilder till föreläsning 9 6/5 2013 Innehåll Trådar i Java swing- klassen Timer Klient-Server-program Trådar Tråd = enkel process Ett program kan ha flera trådar, flera

Läs mer

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

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:

Läs mer

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java

Javas Exceptions. DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/ Kort om Javas Exceptions Trådar i Java DD2385 Programutvecklingsteknik Fler bilder till föreläsning 7 23/4 2014 Innehåll Kort om Javas Exceptions Trådar i Java swing- klassen Timer Klient-Server-program Javas Exceptions Checked måste hanteras,

Läs mer

Du ska nu skapa ett litet program som skriver ut Hello World.

Du ska nu skapa ett litet program som skriver ut Hello World. Tidigare har vi gjort all programmering av ActionScript 3.0 i tidslinjen i Flash. Från och med nu kommer vi dock att ha minst två olika filer för kommande övningar, minst en AS-fil och en FLA-fil. AS Denna

Läs mer

Klasser och objekt i C#

Klasser och objekt i C# Klasser och objekt i C# Från klassdiagram till C#-klass till objekt initierat av en konstruktor. Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med

Läs mer

Datakommunikation och Internet

Datakommunikation och Internet Datakommunikation och Internet Socketprogrammering Peter Sundqvist Socket-programmering Klient/server ansatsen TCP/IP protokollgrafen Java-programering UDP TCP Korta tips om Strömmar Script Trådar (föreläsning

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

Gissa det hemliga talet

Gissa det hemliga talet Laborationsanvisning Gissa det hemliga talet Steg 1, laborationsuppgift 1 Författare: Mats Loock Kurs: ASP.NET MVC Kurskod:1DV409 Innehåll Problem 4 Modell 4 Den uppräkningsbara typen Outcome 5 Strukturen

Läs mer

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13

Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13 LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2004 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095 - FED) 2004-05-25, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande

Läs mer

Hjälp för digital röst. Mikro Værkstedet A/S

Hjälp för digital röst. Mikro Værkstedet A/S Hjälp för digital röst Mikro Værkstedet A/S Hjälp för digital röst : Mikro Værkstedet A/S Revision 1.7,26. februar 2008 Innehållsförteckning Förord... v 1. Vilka program kan användas tillsammans med en

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck

Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck Föreläsnings 10 - Överlagring, Konstruerare, Arv, Mer Exceptions, Reguljära Uttryck Josef Svenningsson Tisdag 13/1 Överlagring Ur klassen Math: public static max(int a, int b) public static max(double

Läs mer

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

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java. Laboration 1 Avsikt Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java. Del 1 Ta fram dokumentet NetBeans5_5.pdf från kurssidan och arbeta med

Läs mer

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

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

Läs mer

Programmera en NXT Robot

Programmera en NXT Robot KUNGLIGA TEKNISKA HÖGSKOLAN Programmera en NXT Robot Med hjälp utav NXC Peyman Torabi 2012-09-03 E-post: peymant@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Uppgiften var att analysera

Läs mer

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson

DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson DI-institutionen Sid 1 av 5 Hans-Edy Mårtensson Sten Sundin Micael Karlsson Lösningar till TENTAMEN I IXC003 SYSTEMUTVECKLING MED INTERNET/INTRANET, del 1 (5p) för IT3 och INTERNETPROGRAMMERING MED JAVA

Läs mer

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

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :

Läs mer

Laboration 10 - NetBeans

Laboration 10 - NetBeans Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass

Läs mer

Tentamen OOP 2015-03-14

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

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F12:1 OOP Objekt-orienterad programmering Föreläsning 12 Mer om JOptionPane Undantagshantering Vad är det? try catch Kasta egna undantag Filhantering spara objekt mellan körningar Användardialog via

Läs mer

DOP-matematik Copyright Tord Persson. Bråktal -3-2 -1 0 1 2 3. Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr 10 -3-2 -1 0 1 2 3

DOP-matematik Copyright Tord Persson. Bråktal -3-2 -1 0 1 2 3. Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr 10 -3-2 -1 0 1 2 3 Bråktal Uppgift nr En limpa delas i 4 lika stora delar. Hur stor del av limpan blir varje del? Uppgift nr 2 Hur många tiondelar behövs för att det skall räcka till en hel? Uppgift nr Hur läser man ut bråket

Läs mer

Klasser som datastrukturer

Klasser som datastrukturer Klasser som datastrukturer Ex: du vill skicka ett meddelande som består av text (String), avsändarnamn (String), klockslag (två int). Du kan förstås skicka alla dessa efter varandra. Bättre är att bygga

Läs mer

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar:

Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar: EXYPLUS OFFICE manual Välkommen till ExyPlus Office! Efter att du har installerat ExyPlus Office med tillhörande kartpaket börjar du med att göra följande inställningar: Hämta fordon Hämta alla fordonsenheter

Läs mer

4-3 Vinklar Namn: Inledning. Vad är en vinkel?

4-3 Vinklar Namn: Inledning. Vad är en vinkel? 4-3 Vinklar Namn: Inledning I det här kapitlet skall du lära dig allt om vinklar: spetsiga, trubbiga och räta vinklar. Och inte minst hur man mäter vinklar. Att mäta vinklar och sträckor är grundläggande

Läs mer

F9 Meddelandesändning med UDP

F9 Meddelandesändning med UDP F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret

Läs mer

Hur du arbetar med VFU-portfölj i Mondo. en lathund för student

Hur du arbetar med VFU-portfölj i Mondo. en lathund för student Hur du arbetar med VFU-portfölj i Mondo en lathund för student Du skapar din VFU-portfölj På ingångssidan mondo.su.se ligger i högerspalten, innan du loggar in, en länk till en manual för hur du skapar

Läs mer

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00 Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del

Läs mer

Modul 6: Integraler och tillämpningar

Modul 6: Integraler och tillämpningar Institutionen för Matematik SF65 Envariabelanalys Läsåret 5/6 Modul 6: Integraler och tillämpningar Denna modul omfattar kapitel 6. och 6.5 samt kapitel 7 i kursboken Calculus av Adams och Essex och undervisas

Läs mer

PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC

PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC lektion 1 PROGRAMMERING A VB6 UTVECKLINGSVERKTYGET VISUAL BASIC VB är ett applikationsutvecklingsverktyg med programmeringsspråket är basic, gränssnittet är grafiskt och man arbetar hela tiden med grafiska

Läs mer

Administration Excelimport

Administration Excelimport Administration Excelimport För att importera medlemmar till registret så laddar man först ner mallen för importfil, fyller i uppgifterna och laddar sedan upp filen genom att klicka på + Importera fil.

Läs mer

Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel

Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel Sidan 1 av 9 Instruktioner för beställning och kontoadministration för abonnenter av inlästa läromedel Version 2.0 Sidan 2 av 9 Innehåll Hur man beställer inlästa läromedel för abonnemangskunder... 3 Logga

Läs mer

Snabbslumpade uppgifter från flera moment.

Snabbslumpade uppgifter från flera moment. Snabbslumpade uppgifter från flera moment. Uppgift nr Ställ upp och dividera utan hjälp av miniräknare talet 48 med 2 Uppgift nr 2 Skriv talet 3 8 00 med hjälp av decimalkomma. Uppgift nr 3 Uppgift nr

Läs mer

Java-programmering. GUI-exempel. WindowTest.java. Händelsestyrt. WindowTestGUI.java (forts) WindowTestGUI.java. GUI UDP TCP Trådar Laboration 2 Tips

Java-programmering. GUI-exempel. WindowTest.java. Händelsestyrt. WindowTestGUI.java (forts) WindowTestGUI.java. GUI UDP TCP Trådar Laboration 2 Tips Java-programmering GUI-exempel GUI UDP Trådar Laboration 2 Tips main Skapa GUI Rita på skärmen Sätt vem som ska lyssnas på 2/11-00 Datakommunikation - Jonny Pettersson, UmU 1 2/11-00 Datakommunikation

Läs mer

Välkommen till ikanobank.se

Välkommen till ikanobank.se Välkommen till ikanobank.se Hej, här kan du läsa om hur du loggar in och använder vår internetbank. Vi går igenom överföringar, transaktioner, månadssparande m.m. Internetbanken har öppet varje dag, året

Läs mer

Introduktion. Den objektorienterade modellen Grundläggande begrepp Klass Klassen som abstraktion

Introduktion. Den objektorienterade modellen Grundläggande begrepp Klass Klassen som abstraktion Introduktion Den objektorienterade modellen Grundläggande begrepp en som abstraktion er -objekt-attribut - metoder er Vad är ett objekt? Relationer mellan objekt/klasser Arv Arv (- är en) Multipelt arv

Läs mer

Åtkomst och användarhandledning

Åtkomst och användarhandledning Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...

Läs mer

Objektorienterad programmering i Java

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

Läs mer

Här kan du läsa om vilka funktioner som finns tillgängliga i Switch King samt vilka möjligheter som finns för att sätta upp systemet (skalbarhet).

Här kan du läsa om vilka funktioner som finns tillgängliga i Switch King samt vilka möjligheter som finns för att sätta upp systemet (skalbarhet). Här kan du läsa om vilka funktioner som finns tillgängliga i Switch King samt vilka möjligheter som finns för att sätta upp systemet (skalbarhet). Funktioner Switch King stödjer både Telldus TellStick

Läs mer

Utveckla arbetsmiljö och verksamhet genom samverkan

Utveckla arbetsmiljö och verksamhet genom samverkan DEL 1: Utveckla arbetsmiljö och verksamhet genom samverkan Modulen inleds med det övergripande målet för modul 6 och en innehållsförteckning över utbildningens olika delar. Börja med att sätta ramarna

Läs mer

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

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

Läs mer

Webb-bidrag. Sök bidrag på webben www.solvesborg.se. Gäller från 2015-01-01

Webb-bidrag. Sök bidrag på webben www.solvesborg.se. Gäller från 2015-01-01 Sök bidrag på webben www.solvesborg.se Gäller från 2015-01-01 Innehåll Kontaktperson Fritids- och turismkontoret Sölvesborg kommun Inledning Följande bidrag går att söka på webben Logga in Dokumenthantering

Läs mer

Idag: Dataabstraktion

Idag: Dataabstraktion Idag: Dataabstraktion Hur använder vi det vi hittills kan om Scheme för att realisera (implementera) sammansatta data? Hur separerar man datastrukturen från resten av ett program så att ändringar i datastrukturen

Läs mer

Säkerhet. De onda. Vilka är farorna?

Säkerhet. De onda. Vilka är farorna? Information source Information destination Normal flow Interruption Säkerhet Interception Modification Fabrication 267 268 Vilka är farorna? Sabotage (virus, trojaner, spionprogram) Intrång ( inbrott eller

Läs mer

F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering

F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Nätverksprogrammering Java I/O Strömmar och filer F2 Java I/O - strömmar Meddelandesändning med TCP EDA095 Roger Henriksson Datavetenskap Lunds universitet Ström (eng. Stream) En ström är en sekvensiell följd av bytes (tecken).

Läs mer

F1 Nätverk och meddelandesändning

F1 Nätverk och meddelandesändning F1 Nätverk och meddelandesändning med UDP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Nätverksprogrammering Tekniker för att skriva program som kommunicerar med varandra

Läs mer

Administrera utskick på utbildningstillfälle

Administrera utskick på utbildningstillfälle Administrera utskick på utbildningstillfälle Man kan administrera utskick för ett utbildningstillfälle på följand tre sätt: Via knappen Skapa utskick till markerade i under fliken Deltagare Vi länken Skicka

Läs mer

Dash and Dot. Svårighetsgraden bestämmer du själv genom att välja någon av av de 5 appar som är kopplade till Dash & Dot.

Dash and Dot. Svårighetsgraden bestämmer du själv genom att välja någon av av de 5 appar som är kopplade till Dash & Dot. Robotar Dash and Dot Dash & Dot är robotar som kan utföra en mängd olika saker. Alla kommandon programmeras på en läsplatta och överförs sedan till robotarna via Bluetooth. Svårighetsgraden bestämmer du

Läs mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

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å

Läs mer

4 p o r t s 1 0 / 1 0 0 m b p s

4 p o r t s 1 0 / 1 0 0 m b p s b r o a d B A N d r o u t e r 4 p o r t s 1 0 / 1 0 0 m b p s B R U K S A N V I S N I N G N I - 7 0 7 5 3 2 s u o m i b r o a d b a n d r o u t e r 4 p o r t s 1 0 / 1 0 0 m b p s Först och främst; tack

Läs mer

Föreningen Nordens lokala hemsidor

Föreningen Nordens lokala hemsidor Guide till Föreningen Nordens lokala hemsidor 2016-01-11 1 Innehåll Hjälpfilm... 3 Logga in... 3 Nytt inlägg... 4 Lägg till bild... 8 Lägga till bildgalleri... 11 Publicera... 13 Kalendarium... 14 Ta bort

Läs mer

Föreläsning 5: Rekursion

Föreläsning 5: Rekursion Föreläsning 5: Rekursion Vi har tidigare sett att man kan dela upp problem i mindre bitar med hjälp av underprogram, vilket är ett utmärkt sätt att lösa problem. Detta är ganska lätt att rita upp för sig

Läs mer

Fördjupad Java. Undantagshantering. Fel

Fördjupad Java. Undantagshantering. Fel Fördjupad Java 1 Undantagshantering Ett undantag (Exception) är ett objekt som påtalar en ovanlig eller felaktig situation i ett program. Undantag kastas av programmet och kan fångas och hanteras. Java

Läs mer

Lathund, procent med bråk, åk 8

Lathund, procent med bråk, åk 8 Lathund, procent med bråk, åk 8 Procent betyder hundradel, men man kan också säga en av hundra. Ni ska kunna omvandla mellan bråkform, decimalform och procentform. Nedan kan ni se några omvandlingar. Bråkform

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

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

Läs mer

Mera om generik. Innehåll. Generik och arv Wildcards Vektorer och generik Generiska metoder. EDA690 (Mera om generik) HT 2013 1 / 24

Mera om generik. Innehåll. Generik och arv Wildcards Vektorer och generik Generiska metoder. EDA690 (Mera om generik) HT 2013 1 / 24 Mera om generik Innehåll Generik och arv Wildcards Vektorer och generik Generiska metoder EDA690 (Mera om generik) HT 2013 1 / 24 Begreppet subtyp/supertyp i Java Supertyper för en viss klass C är alla

Läs mer

Ha det kul med att förmedla och utveckla ett knepigt område!

Ha det kul med att förmedla och utveckla ett knepigt område! Kul med pizzabitar Första gången eleverna får materialet i handen bör dem få sin egen tid till att undersöka det på det viset blir dem bekanta med dess olika delar. Det kan också vara en god idé att låta

Läs mer

myabilia En introduktion 2016-08-31

myabilia En introduktion 2016-08-31 myabilia En introduktion 2016-08-31 Vad är myabilia? En webbtjänst för dig som använder Handi5, HandiKalender eller MEMOplanner Medium Handi5 HandiKalender MEMOplanner Medium Vad kan man göra med myabilia?

Läs mer

Datorövning 2 Statistik med Excel (Office 2007, svenska)

Datorövning 2 Statistik med Excel (Office 2007, svenska) Datorövning 2 Statistik med Excel (Office 2007, svenska) Denna datorövning fokuserar på att upptäcka samband mellan två variabler. Det görs genom att rita spridningsdiagram och beräkna korrelationskoefficienter

Läs mer

Praktisk programmering

Praktisk programmering KUNGLIGA TEKNISKA HÖGSKOLAN Praktisk programmering Daniel Workinn [2012-09-07] workinn@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Rapporten sammanfattas enklast med ett par substantiv.

Läs mer

Lathund för överföring av rapporter och ljudfiler

Lathund för överföring av rapporter och ljudfiler Lathund för överföring av rapporter och ljudfiler För handledare I den här lathunden finns detaljerade instruktioner om hur du gör för att ladda ner rapporter och ljudfiler från dina studenter. Först kommer

Läs mer

Partnerskapsförord. giftorättsgods görs till enskild egendom 1, 2. Parter 3. Partnerskapsförordets innehåll: 4

Partnerskapsförord. giftorättsgods görs till enskild egendom 1, 2. Parter 3. Partnerskapsförordets innehåll: 4 Partnerskapsförord giftorättsgods görs till enskild egendom 1, 2 Parter 3 Namn Telefon Adress Namn Telefon Adress Partnerskapsförordets innehåll: 4 Vi skall ingå registrerat partnerskap har ingått registrerat

Läs mer

Concurrency Saker händer samtidigt. Process En instans av ett program

Concurrency Saker händer samtidigt. Process En instans av ett program Concurrency Saker händer samtidigt Hur gör vi flera saker samtidigt på en dator? - Dela på en CPU - Flera CPU Flera processer på en dator. Operativsystemet (OS) tilldelar dem körtid (time slices, prioritet)

Läs mer

Instruktioner - Mybring Innehåll

Instruktioner - Mybring Innehåll Instruktioner - Mybring Innehåll Vad är Mybring?... 2 Funktioner i Mybring... 2 Registrera dig i Mybring... 3 Skapa och skriv ut fraktetiketter... 4 Boka upphämtning... 9 Se din orderhistorik.... 10 Skapa

Läs mer

Vi skall skriva uppsats

Vi skall skriva uppsats Vi skall skriva uppsats E n vacker dag får du höra att du skall skriva uppsats. I den här texten får du veta vad en uppsats är, vad den skall innehålla och hur den bör se ut. En uppsats är en text som

Läs mer

Individuellt Mjukvaruutvecklingsprojekt

Individuellt Mjukvaruutvecklingsprojekt Individuellt Mjukvaruutvecklingsprojekt RPG-spel med JavaScript Författare Robin Bertram Datum 2013 06 10 1 Abstrakt Den här rapporten är en post mortem -rapport som handlar om utvecklandet av ett RPG-spel

Läs mer

Programexempel: tärningsspel

Programexempel: tärningsspel Programexempel: tärningsspel 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

Läs mer

Java M1 V2 L2 K2 TM W. Tentamen i Programmering 2004-04-17, kl 08.00-13.00. LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap.

Java M1 V2 L2 K2 TM W. Tentamen i Programmering 2004-04-17, kl 08.00-13.00. LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap. LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap 1(5) M1 V2 L2 K2 TM W Java Tentamen i Programmering 2004-04-17, kl 08.00-13.00 Anvisningar Tillåtna hjälpmedel: Holm, Objektorienterad programmering

Läs mer

Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare.

Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare. Att koda en magnetremsa i plastkortskrivare med inbyggd magnetkodare. I plastkortsskrivaren kan man via drivrutinerna både läsa av och koda en magnetremsa. Man kan också göra en kortdesign i emedia där

Läs mer

Manual Milestone 112. Iris Hjälpmedel AB Juni 2011 Ver: 1.01

Manual Milestone 112. Iris Hjälpmedel AB Juni 2011 Ver: 1.01 Iris Hjälpmedel AB Innehållsförteckning Manual Milestone 112 Knappbeskrivning 3 Bild och knappbeskrivning. 3 Ovansidan 3 Övre kortsidan 3 Nederkant 3 Allmänt 4 Ladda batteriet 4 Knapplås på/av 4 Väcka/Slå

Läs mer

Tack för att du köpt vår digitala MP3-spelare. Innan du använder spelaren, läs igenom den här användarhandboken så att du vet hur spelaren fungerar.

Tack för att du köpt vår digitala MP3-spelare. Innan du använder spelaren, läs igenom den här användarhandboken så att du vet hur spelaren fungerar. Tack för att du köpt vår digitala MP3-spelare. Innan du använder spelaren, läs igenom den här användarhandboken så att du vet hur spelaren fungerar. A. Varning 1) Stäng av strömmen när du inte använder

Läs mer

Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight

Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight Handledning för digitala verktyg Talsyntes och rättstavningsprogram Vital, StavaRex och SpellRight Elevens namn:.. Skola: Datum:.. Varför behövs en handledning? Denna handledning är tänkt att användas

Läs mer

Programvaruuppdateringar Användarhandbok

Programvaruuppdateringar Användarhandbok Programvaruuppdateringar Användarhandbok Copyright 2007 Hewlett-Packard Development Company, L.P. Windows är ett USA-registrerat varumärke som tillhör Microsoft Corporation. Informationen häri kan ändras

Läs mer

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

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

Läs mer

Malmö högskola 2008/2009 CTS

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

Läs mer

Uppdrag: Huset. Fundera på: Vilka delar i ditt hus samverkar för att elen ska fungera?

Uppdrag: Huset. Fundera på: Vilka delar i ditt hus samverkar för att elen ska fungera? Uppdrag: Huset Praktiskt arbete: (Krav) Göra en skiss över ditt hus. Bygga en modell av ett hus i en kartong med minst två rum. Koppla minst tre lampor och två strömbrytare till ditt hus. Visa både parallellkoppling

Läs mer

Till exempel en array av heltal(int) skapas på följande sätt:

Till exempel en array av heltal(int) skapas på följande sätt: Chapter 7-8: Arrays I dessa uppgifter kommer du att lära dig om hur man arbetar med arrays, dvs samling av data av samma typ. Arrays är objekt i java och skapas med ordet new. Till exempel en array av

Läs mer

Laboration 1 - Grunderna för OOP i Java

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

Läs mer

Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6.

Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6. Boken om Teknik Boken om Teknik är en grundbok i Teknik för åk 4 6. PROVLEKTION: Teknikens arbetssätt att göra på riktigt Följande provlektion är ett utdrag ur Boken om Teknik. Uppslaget som är hämtat

Läs mer

Manual för BPSD registret. Version 6 / 2013 06 17

Manual för BPSD registret. Version 6 / 2013 06 17 Manual för BPSD registret Version 6 / 2013 06 17 Logga in Logga in till registret överst till höger på hemsidan. (Observera att du hittar testdatabasen längre ner på hemsidan) Fyll i ditt personliga användarnamn

Läs mer

Malmö högskola 2007/2008 Teknik och samhälle

Malmö högskola 2007/2008 Teknik och samhälle Laboration Gui Avsikten med denna laboration är att du ska träna på att bygga grafiska användargränssnitt. Spara dina resultat i paketet laborationgui. Längst bak i laborationen finns fullständiga lösningar

Läs mer

Design by. Manual Jossan.exe. Manual. till programmet. Jossan.exe. E-post: petter@sarkijarvi.se

Design by. Manual Jossan.exe. Manual. till programmet. Jossan.exe. E-post: petter@sarkijarvi.se Manual till programmet 1 Inledning Programmet är döpt efter Josefine Mattsson och har utvecklats av Josefines pappa Petter Särkijärvi i Pajala. Man kan köra/styra programmet med antingen mus, tangentbord,

Läs mer

Visma Proceedo. Beställa IT-produkter - beställare. Version 2.0 / 160202

Visma Proceedo. Beställa IT-produkter - beställare. Version 2.0 / 160202 Visma Proceedo Beställa IT-produkter - beställare 1 Innehållsförteckning FÖRORD... 3 VANLIG BESTÄLLARE LÄGGER EN BESTÄLLNING FRÅN IT OCH TELE-AVTALET... 4 Syfte och leveransadress... 7 Kontering... 7 Flödet...

Läs mer

ANVÄNDARHANDLEDNING FÖR

ANVÄNDARHANDLEDNING FÖR ANVÄNDARHANDLEDNING FÖR TILLSÄTTARE/LAGLEDARE OCH DOMARE Cleverservice ett smart sätt att hantera matcher, domartillsättningar, samt utbetalningar av arvoden 2015 ANVÄNDARHANDLEDNING - CLEVERSERVICE Cleverservice

Läs mer

FRÅN A TILL Ö LäraMera Ab / www.laramera.se och Allemansdata Ab / www.allemansdata.se FRÅN A TILL Ö

FRÅN A TILL Ö LäraMera Ab / www.laramera.se och Allemansdata Ab / www.allemansdata.se FRÅN A TILL Ö I programmet finns 11 olika aktiviteter för att träna varje bokstav och på att känna igen ord. För varje bokstav kan olika övningsblad skrivas ut: Inledningsvis väljer du vilken bokstav du vill öva på.

Läs mer

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag

Föreläsning 12. Föreläsning 12. Rörliga figurer Klassen Timer Undantag Något om applets. Rörliga appletsfigurer Klassen Timer Undantag Föreläsning 12 Föreläsning 12 Rörliga figurer Klassen Timer Undantag Något om applets Rörliga appletsfigurer Klassen Timer Undantag Något om applets Klassen javax.swing.timer I Swing finns en klass Timer

Läs mer

Kundservicerapport Luleå kommun 2015

Kundservicerapport Luleå kommun 2015 LULEÅ KOMMUN SKRIVELSE Dnr 1 (5) 2016-01-21 Maria Norgren Kundservicerapport Luleå kommun 2015 Kommunstyrelsen har den 12 augusti 2013 fastställt riktlinjer för kundservice Luleå Direkt. Luleå kommun ska

Läs mer

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl

Läs mer

MANUAL TILL AVTALSMALL FÖR KIST- OCH URNTRANSPORTER

MANUAL TILL AVTALSMALL FÖR KIST- OCH URNTRANSPORTER 1 MANUAL TILL AVTALSMALL FÖR KIST- OCH URNTRANSPORTER 1. RAMAVTAL 1.1 Upphandling av en transportör på ett ramavtal För arbeten av återkommande karaktär såsom transporter av avlidna mellan kyrkor, förvaringslokaler

Läs mer

Uppdragsbeskrivning. Digital Skyltning. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Uppdragsbeskrivning. Digital Skyltning. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info. Version 1.0 Distributionslista Befattning Bolag/en het Student KaU Anton Odén Student KaU Olle Pejstrup Konsult/handledare Sogeti Konsultchef Sogeti Åsa Maspers Projektledare Sogeti vakant Namn Åtgärd

Läs mer

Skriva B gammalt nationellt prov

Skriva B gammalt nationellt prov Skriva B gammalt nationellt prov Skriva B.wma Då fortsätter vi skrivträningen. Detta avsnitt handlar om att anpassa sin text till en särskild situation, en speciell texttyp och särskilda läsare. Nu ska

Läs mer

Laboration 24 Databasen MySQL och java

Laboration 24 Databasen MySQL och java Laboration 24 Databasen MySQL och java Avsikten med denna laboration är att du ska hämta information ur en eller flera tabeller och visa resultatet i en JTable-komponent. Du ska ändra innehållet i tabellen

Läs mer

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

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. 1 (11) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt namn och personnummer på varje blad

Läs mer

Upplägg och genomförande - kurs D

Upplägg och genomförande - kurs D Upplägg och genomförande - kurs D Provet består av fyra delprov: Läsa A och B Höra Skriva Tala Läsförståelse Hörförståelse Skriftlig produktion Muntlig produktion och interaktion Tid på respektive provdel

Läs mer

Distribuerade Informationssystem VT-04

Distribuerade Informationssystem VT-04 Distribuerade Informationssystem VT-04 2 Projekt Kassasystem DS är ett stort varuhus som består av ett flertal fristående butiker. Varje butik i DS säljer sina egna varor samt varor som är specifika för

Läs mer

Handbok Ämnesprov 2016 Lärarinmatning I Dexter Åk 3. Uppdaterad: 2016-02-15/HL Version: 2016.1. IST AB

Handbok Ämnesprov 2016 Lärarinmatning I Dexter Åk 3. Uppdaterad: 2016-02-15/HL Version: 2016.1. IST AB Handbok Ämnesprov 2016 Lärarinmatning I Dexter Åk 3 Uppdaterad: 2016-02-15/HL Version: 2016.1 1 Innehåll REGISTRERING AV ÄMNESPROV... 3 Ämnesprovsgrupper... 3 MATEMATIK... 4 Fälten i resultatsinmatningen...

Läs mer

OPTIMIZING THE LINE. CAB Group AB Stortorget 11, SE-702 11 Örebro, Sweden Phone: +46 19 15 86 00

OPTIMIZING THE LINE. CAB Group AB Stortorget 11, SE-702 11 Örebro, Sweden Phone: +46 19 15 86 00 Innehåll CABAS och maskinskador... 2 Nyheter... 2 Nya funktioner, som kostar att använda... 2 Instruktion, steg för steg... 4 Ny kalkyl... 4 Välj modell... 4 Fliken: Ägare/Fordon... 5 Fliken Skada... 5

Läs mer

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. 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

Läs mer