Einführung in das parallele Programmieren mit MPI und Java
|
|
- Dörte Richter
- vor 8 Jahren
- Abrufe
Transkript
1 Einführung in das parallele Programmieren mit und Java Seite 1
2 Übersicht Parallele Prozesse und Erste Schritte mit Kollektive Kommunikation Weitere Möglichkeiten Seite 2
3 Literatur (1) Homepage des 2-Forums -Spezifikations-Dokumente (auch zum Nachschlagen gut geeignet) Als html- und Postscript-Datei Seite 3
4 Literatur (2) mpijava Home Page Spezifikation von mpijava Seite 4
5 Literatur (3) Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker, Jack Dongarra:. The Complete Reference Vol. 1: The core. Second edition. 350 Seiten - MIT Press Von den Autoren des -Standards. Lehnt sich stark an das Spezifikations-Dokument an (teilweise wortgleich, teilweise ausführlicher). Die 1. Auflage gibt es auch als html- oder Postscript-Datei. Seite 5
6 Literatur (4) William Gropp, Ewing Lusk, Anthony Skjellum: Using The MIT Press, Cambridge, London 1999 William Gropp, Ewing Lusk, Rajeev Thakur Using -2 The MIT Press Cambridge, London 2000 Seite 6
7 Literatur (5) Peter S. Pacheco A User s Guide to 51 Seiten Seite 7
8 Literatur (6) Eine erweiterte Version dieses Dokuments gibt es auch als Buch. Peter Pacheco: Parallel Programming With 440 Seiten - Morgan Kaufmann Publishers Seite 8
9 Literatur (7) Parallele Programmierung mit - ein Praktikum Thomas Worsch/Peter Sanders 152 Seiten, 1997 Preis: 17,90 EUR ISBN Seite 9
10 Parallele Prozesse und Seite 10
11 Gemeinsamer Speicher P 1 gemeinsamer P 2 Speicher a=4 c=3+a a Seite 11
12 Explizite Kommunikation P 1 lokaler P 2 Speicher a empfangen c=3+a a=4 a senden a a Seite 12
13 Message Passing Datenaustausch bei gemeinsamem Speicher (shared memory): Standard: OpenMP Datenaustausch bei lokalem Speicher (distributed memory) und expliziter Kommunikation (message passing) Standard: Seite 13
14 (Message Passing Interface) ist eine Bibliothek (C, Fortran, C++), mit der die explizite Kommunikation abgewickelt werden kann. (Genauer: definiert einen Standard für solche Bibliotheken.) Es gibt auch eine inofizielle Java-Version. Vorteile bei Einsatz von : hohe Übertragungsleistung durch optimierte Implementierungen alternativ: frei verfügbare Implementierungen Portabilität auch bei gemeinsamem Speicher möglich viele -basierte Bibliotheken verfügbar Seite 14
15 -Versionen -Versionen: Befehle: Version 1.0 (1994): Unterstützung von Fortran77 und C. Version 1.1 (1995): Berichtigungen und Klarstellungen, kleine Änderungen. Version 1.2 (1997): Weitere Berichtigungen und Klarstellungen. Version 2.0 (1997): Wesentliche Erweiterungen: Einseitige Kommunikation, -IO, dynamische Generierung von Tasks, Unterstützung von Fortran 90 und C++ Mächtig und komplex Seite 15
16 Lernaufwand ist einfach: viele -Programme nutzen nur Befehle. Zum einfachen Arbeiten mit sind 6 Befehle ausreichend. Mit 4 weiteren kann man schon ziemlich viel machen Inhalt dieses Kurses: Start-Paket, wesentliche Konzepte einige Hinweise auf weitere -Funktionalität Seite 16
17 Erste Schritte mit in Java Seite 17
18 Hello, world import mpi.*; public class _HelloWorld { public static void main(string[] args) { System.out.println("Hello, world"); } } Programm javac _HelloWorld.java prunjava 4 _HelloWorld Eingabe Hello, world Hello, world Hello, world Hello, world Ausgabe Seite 18
19 Zweck der -Befehle Programm wird 4 mal gestartet und produziert 4 mal das gleiche Ergebnis Es fehlt noch: Die Prozesse müssen miteinander kommunizieren. Sie müssen sich gegenseitig identifizieren können. Sich müssen sich untereinander synchronisieren. Befehle Seite 19
20 Theorie: Was ist ein Kommunikator? Ein -Kommunikator ist eine Datenstruktur (Objekt), über die die Kommunikation zwischen den Prozessen abgewickelt wird. umfasst Gruppe von Prozessen Alle diese Prozesse besitzen eine Kopie dieses Kommunikators Markierung (tag) Jede Nachricht gehört zu einem bestimmten Kommunikator In Java und C++: Methoden zum Senden und Empfangen. Seite 20
21 Klassen für Kommunikatoren Comm Intercomm Intracomm Graphcomm Cartcomm Keine Unterscheidung innerhalb des Kurses Vordefinierte Kommunikatoren:.COMM_WORLD.COMM_SELF Umfasst alle gestarteten Prozesse Umfasst nur den Prozess selbst Seite 21
22 10 grundlegende Befehle.Init,.Finalize Initialisieren/ Deinitialisieren <Comm>.Size, <Comm>.Rank <Comm>.Send, <Comm>.Recv Identifikation Senden und Empfangen (point to point communication) <Intracomm>.Scatter, <Intracomm>.Gather, <Intracomm>.Bcast, <Intracomm>.Reduce Kollektive Kommunikation Seite 22
23 import mpi.*; public static void main(string[] args) throws Exception { int size; int my_rank; Erstes Beispielprogramm.Init(args); size =.COMM_WORLD.Size(); rank =.COMM_WORLD.Rank(); System.out.println("I am process "+rank+" out of "+ size); }.Finalize(); Seite 23
24 Ausgabe SUNOS:sunc00:mpi_kurs[19]$ prunjava 4 1 I am process 2 out of 4I am process 0 out of 4 I am process 1 out of 4 I am process 3 out of 4 SUNOS:sunc00:mpi_kurs[20]$ prunjava 4 1 I am process 3 out of 4I am process 2 out of 4 I am process 1 out of 4 I am process 0 out of 4 SUNOS:sunc00:mpi_kurs[22]$ mprun -np 4 hw.out I am process I am process 01 out of 4<CR> I am process 2 out of 4I am process out of 4<CR> <CR> 3 out of 4<CR> Seite 24
25 Beispiel 2: Senden und Empfangen Master-Prozess: rank 0 Worker-Prozesse: rank 1.. (size-1) Jeder Worker-Prozess sendet count Messages mit den Zahlen 1.. count an den Master-Prozess. Der Master-Prozess empfängt alle Messages und gibt sie auf dem Bildschirm aus Seite 25
26 Ausgabe SUNOS:sunc00:mpi_kurs[51]$ prunjava 3 2 1: Received 1. Message from Process 1 2: Received 1. Message from Process 3 3: Received 2. Message from Process 1 4: Received 1. Message from Process 2 5: Received 2. Message from Process 3 6: Received 3. Message from Process 1 7: Received 2. Message from Process 2 8: Received 3. Message from Process 3 9: Received 3. Message from Process 2 Seite 26
27 Source-Code (1) import mpi.*; public static void main(string[] args) throws Exception { int size, my_rank; int count = 3;.Init(args); size =.COMM_WORLD.Size(); my_rank =.COMM_WORLD.Rank(); Seite 27
28 } if (my_rank!=0) { //Worker int[] sbuf = new int[1]; for (sbuf[0]=1; sbuf[0]<=count; sbuf[0]++) { } Seite 28.COMM_WORLD.Send(sbuf, 0, 1,.INT, 0, 0); } else { } int[] rbuf = new int[1]; for (int i=1; i<=count*(size-1); i++) { } Status st =.COMM_WORLD.Recv(rbuf, 0, 1,.INT,.ANY_SOURCE,.ANY_TAG); System.out.println(my_rank+": Received "+rbuf[0]+.finalize(); Source-Code (2) ". message from process "+st.source);
29 Grundtypen C -Typ (C-Typ) _CHAR (signed char) _SHORT (signed short int) _INT (signed int) _LONG (signed long int) _UNSIGNED_CHAR (unsigned char) _UNSIGNED_SHORT (unsigned short int) _UNSIGNED (unsigned int) _UNSIGNED_LONG (unsigned long int) _FLOAT (float) _DOUBLE (double) _LONG_DOUBLE (long double) _BYTE _PACKED Java -Typ (Java-Typ).BYTE (byte).char (char).short (short).boolean (boolean).int (int).long (long).float (float).double (double).object (Object).PACKED Seite 29
30 Deadlock Send Receive P 2 Send Send Receive Receive P 1 P 3 Send Send P 0 P 4 Receive Receive Send P 7 P 5 Send Receive Receive P 6 Send Receive Seite 30
31 Serialisierung Send Receive P 2 Send Send Receive Receive P 1 P 3 Send Receive P 0 P 4 Receive Send Send P 7 P 5 Send Receive Receive P 6 Send Receive Seite 31
32 Kollektive Kommunikation Seite 32
33 _Barrier <Intracomm>.Barrier(): Prozesse dürfen erst dann weitermachen, wenn alle Prozesse des Kommunikators diese Stelle erreicht haben. Wird normalerweise nicht gebraucht. Sämtliche Synchronisation sollte automatisch mit den Befehlen zur Datenkommunikation erledigt werden. Seite 33
34 _Bcast <Intracomm>.Bcast: Verteilt einen einzigen Datensatz auf alle Prozesse (einschließlich des eigenen). a Broadcast a a a Seite 34
35 _Scatter und _Gather <Intracomm>.Scatter: Verteilt ein Feld von Datensätzen auf alle Prozesse, etwa wie beim Austeilen von Karten. a c b Scatter Gather a b c <Intracomm>.Gather: Die Umkehrung von Scatter. Sammelt die Daten (in der richtigen Reihenfolge) wieder ein. Seite 35
36 _Reduce <Intracomm>.Reduce: Die Daten werden wie bei _Gather gesammelt, jedoch nicht in einem Feld abgelegt, sondern zu einem einzigen Datensatz verknüpft. Seite 36
37 Reduzierungs-Operationen Bei <Intracomm>.Reduce sind verschiedene Reduzierungs- Operationen möglich (+selbstdefinierte):.max,.min,.sum,.prod,.land (logical and),.band (bitwise and),.lor,.bor,.lxor,.bxor,.maxloc,.minloc (liefert Maximum/Minimum und den Rank des entsprechenden Prozesses). Seite 37
38 _Reduce mit _SUM <Intracomm>.Reduce mit op=.sum würde einem <Intracomm>.Gather mit anschließender Aufsummierung der Feldelemente entsprechen. a Reduce a a+b+c b b c c Seite 38
39 Andere kollektive Operationen Es gibt noch andere kollektive Operationen, in denen die Daten von vielen Prozessen an viele Prozesse verteilt werden. (<Intracomm>.Allgather, <Intracomm>.Alltoall, <Intracomm>.Reduce_scatter) Seite 39
40 Weitere Möglichkeiten Übertragung komplexer Datentypen (Strings, Objekte) Übertragung nichtkontinuierlicher Elemente eines Felds Seite 40
41 Weitere Möglichkeiten Ordnen der Prozesse in einer Topologie (0,0) (0,1) (0,2) (1,0) (1,1) (1,2) (2,0) (2,1) (2,2) Seite 41
42 Möglichkeiten aus 2 Dynamisches Starten von neuen Prozessen Einseitige Kommunikation (Programmierung fast wie bei gemeinsamem Speicher). Parallele I/O mit C++ Seite 42
Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrSichere E-Mail Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere E-Mail. der
Sichere E-Mail der Nutzung von Zertifikaten / Schlüsseln zur sicheren Kommunikation per E-Mail mit der Sparkasse Germersheim-Kandel Inhalt: 1. Voraussetzungen... 2 2. Registrierungsprozess... 2 3. Empfang
MehrMassenversand Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.
Massenversand Massenversand Seite 1 Massenversand Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. STAMMDATEN FÜR DEN MASSENVERSAND 4 2.1 ALLGEMEINE STAMMDATEN 4 2.2
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrEinfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
Mehrteamsync Kurzanleitung
1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier
MehrLehrer: Einschreibemethoden
Lehrer: Einschreibemethoden Einschreibemethoden Für die Einschreibung in Ihren Kurs gibt es unterschiedliche Methoden. Sie können die Schüler über die Liste eingeschriebene Nutzer Ihrem Kurs zuweisen oder
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
MehrRemote Method Invocation
Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrKursangebot gesammelt einlesen
Kursangebot gesammelt einlesen Übersicht Datenverwaltung Eine weitere Möglichkeit, Kursinformationen auf der Steirischen Weiterbildungsdatenbank zu veröffentlichen, stellt das Einlesen über eine Excel-Datei
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung
Grundlagen der Programmierung Prof. H. Mössenböck 14. Schrittweise Verfeinerung Entwurfsmethode für Algorithmen Wie kommt man von der Aufgabenstellung zum Programm? Beispiel geg.: Text aus Wörtern ges.:
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrStudentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
MehrAnleitung für die Formularbearbeitung
1 Allgemeines Anleitung für die Formularbearbeitung Die hier hinterlegten Formulare sind mit der Version Adobe Acrobat 7.0 erstellt worden und im Adobe-PDF Format angelegt. Damit alle hinterlegten Funktionen
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
Mehr2A Basistechniken: Weitere Aufgaben
2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen
MehrBedienungsanleitung Anlassteilnehmer (Vereinslisten)
Bedienungsanleitung Anlassteilnehmer Dieses Programm ist speziell für Vereine entworfen. Es ist lizenzfrei verwendbar und gratis. Das Programm ist mit Excel 2010 erstellt worden und enthält VBA Programmierungen,
MehrEinführung in das parallele Programmieren mit MPI
Einführung in das parallele Programmieren mit Seite 1 Skript Skript Seite Seite 3 -Versionen -Versionen: Befehle: Version 1.0 (1994): Unterstützung von Fortran77 und C. Version 1.1 (1995): Berichtigungen
MehrSynchronisations- Assistent
TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent
MehrMicrosoft Outlook 2010 Handbuch
2015 Microsoft Outlook 2010 Handbuch Autor: Sascha Schnydrig kurspc10 LBVO 27.04.2015 Handbuch Ü bersicht 1. email-funktion 2. Kalender 3. Kontakte 4. Aufgaben 5. Notizen 6. Tastenkombinationen 1. email-funktion
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrNODELOCKED LIZENZ generieren (ab ST4)
NODELOCKED LIZENZ generieren () Besuchen Sie folgende Webseite support.ugs.com/global/de ( ohne www oder http:// ) Klicken Sie auf Lizenz Verwaltung und dann auf aktuelle Lizenz 1 1. Geben Sie Ihren Webkey
MehrLieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.
Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
MehrAngaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7
Tutorial: Wie kann ich Kontakte erfassen In myfactory können Sie Kontakte erfassen. Unter einem Kontakt versteht man einen Datensatz, der sich auf eine Tätigkeit im Zusammenhang mit einer Adresse bezieht.
MehrSMS/ MMS Multimedia Center
SMS/ MMS Multimedia Center der BEYOND THE NET GmbH BEYOND THE NET GmbH Seite 1 Unser Multimedia Center ist eine WEB basierende Anwendung, die es ermöglicht von einer Zentrale aus, viele Mitarbeiter zu
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrGITS Steckbriefe 1.9 - Tutorial
Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein
MehrWindows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
MehrExkurs: Paralleles Rechnen
Münster Exkurs: Paralleles Rechnen Münster Exkurs: Paralleles Rechnen 2 /21 Konzepte für Parallelrechner P P P C C C Gemeinsamer Speicher Verteilter Speicher Verbindungsnetzwerk Speicher M, Münster Exkurs:
MehrZusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten:
Zusammenführen mehrerer Dokumente zu einem PDF In drei Abschnitten erstellen Sie ein Dokument aus mehreren Einzeldokumenten: 1. Das erste Dokument drucken 2. Weitere Dokumente hinzufügen 3. Alle Dokumente
MehrKontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.
Kontakte Kontakte Seite 1 Kontakte Seite 2 Inhaltsverzeichnis 1. ALLGEMEINE INFORMATIONEN ZU DEN KONTAKTEN 4 2. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 3. STAMMDATEN FÜR DIE KONTAKTE 4 4. ARBEITEN
Mehr1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.
Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten
MehrStundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten
Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe
MehrPraktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife
Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Eclipse-Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrHistorical Viewer. zu ETC5000 Benutzerhandbuch 312/15
Historical Viewer zu ETC5000 Benutzerhandbuch 312/15 Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Dokumentation...3 2 Installation... 3 3 Exportieren der Logdatei aus dem ETC 5000... 3 4 Anlegen eines
Mehr620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgabe (1/1) Lösung Aufgabe
MehrJederzeit Ordnung halten
Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das
MehrHandbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager
Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager Dateiname: ecdl2_03_05_documentation Speicherdatum: 22.11.2004 ECDL 2003 Modul 2 Computermanagement und Dateiverwaltung
MehrEinstellen der Makrosicherheit in Microsoft Word
Einstellen der Makrosicherheit in Microsoft Word Stand: Word 2016 Inhalt Inhalt... 2 Allgemeine Anmerkungen... 3 Microsoft Word 2013/2016... 5 Microsoft Word 2010... 10 Microsoft Word 2007... 16 Microsoft
MehrStandard XPersonenstand - Version 1.4.3 - Verbindliche Handlungsanweisungen
Standard XPersonenstand - Version 1.4.3 - Verbindliche Handlungsanweisungen Stand: 19. September 2013 1 Mit diesem Dokument werden verbindliche Handlungsanweisungen für die Implementierung des Standards
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrC-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)
C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07) 1. Aufgabe 6 Punkte Geben Sie Definitionen an für: float var; 1 a) eine float-variable var: b) einen Zeiger pvar, der float *pvar = &var; 1 auf die
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
MehrSchnellanleitung: Verbuchung von Studien- und Prüfungsleistungen
Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen Die folgenden Schritte sind für die Verbuchung von Studien- bzw. Prüfungsleistungen notwendig. Eine Online-Anleitung mit vielen weiterführenden
MehrAdvoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank
Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen
MehrSpeicher in der Cloud
Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG
MehrAnleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15
Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15 1 Bitte melden Sie sich über das Campusmanagementportal campus.studium.kit.edu
MehrBrainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
MehrDELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach 34 70 17 28339 Bremen. Friedrich-Mißler-Straße 42 28211 Bremen
Grontmij GmbH Postfach 34 70 17 28339 Bremen Friedrich-Mißler-Straße 42 28211 Bremen T +49 421 2032-6 F +49 421 2032-747 E info@grontmij.de W www.grontmij.de DELFI Benutzeranleitung Dateiversand für unsere
MehrWir machen neue Politik für Baden-Württemberg
Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrLeseprobe. Bruno Augustoni. Professionell präsentieren. ISBN (Buch): 978-3-446-44285-6. ISBN (E-Book): 978-3-446-44335-8
Leseprobe Bruno Augustoni Professionell präsentieren ISBN (Buch): 978-3-446-44285-6 ISBN (E-Book): 978-3-446-44335-8 Weitere Informationen oder Bestellungen unter http://wwwhanser-fachbuchde/978-3-446-44285-6
MehrErstellen einer E-Mail in OWA (Outlook Web App)
Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrGSD-Radionik iradionics Android-App
Neue Daten erfassen Daten speichern Daten löschen Suchen nach bereits erfassten ST = Stammdaten zum Erfassen der Daten. Vorname und Nachname sind Pflichtfelder, alles andere ist optional. Bei Tieren erfassen
MehrErfahrungen mit Hartz IV- Empfängern
Erfahrungen mit Hartz IV- Empfängern Ausgewählte Ergebnisse einer Befragung von Unternehmen aus den Branchen Gastronomie, Pflege und Handwerk Pressegespräch der Bundesagentur für Arbeit am 12. November
MehrMSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003
Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrVerteilte Systeme CS5001
Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,
MehrGlaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln
Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln Regeln ja Regeln nein Kenntnis Regeln ja Kenntnis Regeln nein 0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % Glauben Sie, dass
MehrProgrammieren einer Lüftungsanlage mit DDC-Suite Vorlagen Arbeiten mit dem Fupla
Programmieren einer Lüftungsanlage mit DDC-Suite Vorlagen Arbeiten mit dem Fupla 1 Workshop PG5 HLK Syntax und Hinweise für Aktionen im Workshop Bitte folgen Sie den Vorgaben des Dozenten. Bitte benutzen
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrThemen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
MehrBeispiel(unten ist der Spielfeldrand):
Anleitung Side by Side ist ein Puzzle mit einfachen Regeln, das in einem 6x6 (oder größerem) Gitter gespielt wird. Ziel des Spieles ist es, die leeren Kästchen mit den Zahlen 1, 2, 3, 4 oder einem X zu
MehrAnleitung zur Einrichtung der VR-NetWorld Card basic in der VR-NetWorld Software
Anleitung zur Einrichtung der VR-NetWorld Card basic in der VR-NetWorld Software Bevor Sie mit der Einrichtung beginnen, sollten Sie folgende Punkte beachten: Die VR-NetWorld Software ist in der aktuellsten
Mehr