Technische Informatik II (TI II) (6) Synchronisation. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems

Größe: px
Ab Seite anzeigen:

Download "Technische Informatik II (TI II) (6) Synchronisation. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems"

Transkript

1 Jun-Prof Dr Sebastian Zug Technische Informatik II (TI II) (6) Synchronisation Sebastian Zug Arbeitsgruppe: Embedded Smart Systems

2 Jun-Prof Dr Sebastian Zug Fragen an die Veranstaltung Beschreiben Sie Beispiele, die eine Synchronisation nebenläufiger Prozesse erfordern Erklären Sie die Notwendigkeit für zwei Kontrollvariablen im Algorithmus von Dekker Beschreiben Sie die Vorgänge beim Livelock, Deadlock, beim Verhungern eines Prozesses und beim Blockieren Fassen Sie die Nachteile der intuitiven Lösungen, wie sie beim Einführungsbeispiel und bei der Diskussion zum Schutz der kritischen Abschnitte genannt wurden, zusammen Welche Anforderungen werden an eine Test&Set-Methode gestellt, die helfen soll, einen kritischen Abschnitt zu schützen Welche Nachteile gehen mit der notwendigen Einführung kritischer Abschnitte einher?

3 Jun-Prof Dr Sebastian Zug Literatur Bücher Operating Systems Internals and Design Principles, Seventh Edition, William Stallings Modern Operating Systems (3rd Edition), Andrew Tanenbaum Webseiten Dr David Sabel (Goethe-Universität, Frankfurt am Main)

4 Jun-Prof Dr Sebastian Zug Who will buy the milk? Einführendes Beispiel (WG-Szenario): Alice und Bob teilen sich einen Kühlschrank Sie wollen, dass stets genug Milch im Kühlschrank ist Es gilt aber auch zu viele Milchflaschen im Kühlschrank zu vermeiden Kooperativer Ansatz: Wer bemerkt, dass keine Milch mehr da ist, macht sich auf den Weg in den Supermarkt Zeit Alice Bob 17:00 Kommt nach Hause 17:05 Bemerkt fehlende Milch 17:10 Geht zum Einkaufsmarkt 17:15 Kommt nach Hause 17:20 Bemerkt fehlende Milch 17:25 Geht zum Einkaufsmarkt

5 Jun-Prof Dr Sebastian Zug Who will buy the milk? Lösungskonzept: Alice und Bob stimmen sich über Notizen am Kühlschrank ab Annahmen: nicht nur eine Person darf einkaufen gehen Alice und Bob können sich nicht sehen, dh sie kommunizieren nur über die Notizen

6 Jun-Prof Dr Sebastian Zug 1 Lösungsversuch Algorithmus: Wenn keine Notiz am Kühlschrank und keine Milch im Kühlschrank ist, dann schreibe Notiz an den Kühlschrank, gehe Milch kaufen, stelle die Milch in den Kühlschrank und entferne danach die Notiz Problem: Ergebnis: A1 A2 B1 B2 zu viel Milch

7 Jun-Prof Dr Sebastian Zug 2 Lösungsversuch Algorithmus: Hinterlasse als erstes eine Notiz am Kühlschrank, dann prüfe ob eine Notiz des anderen vorhanden ist Nur wenn keine weitere Notiz vorhanden ist, prüfe ob Milch vorhanden ist und gehe Milch kaufen, wenn keine Milch vorhanden ist Danach entferne die Notiz Problem: Ergebnis: A1 B1 A2 B2 Blockieren (Livelock) Möglicherweise wird keine Milch gekauft

8 Jun-Prof Dr Sebastian Zug 3 Lösungsversuch Alice: Schreibe Notiz, wenn keine Notiz von Bob, prüfe ob Milch vorhanden und gehe Milch kaufen Entferne Notiz Bob: Schreibe Notiz, warte bis keine Notiz von Alice am Kühlschrank hängt, dann prüfe, ob Milch leer ist, gehe Milch kaufen, entferne eigene Notiz Problem: Ergebnis: A1 - B1 - B2 - A2 - A5 - A1 - B2 beliebig oft Möglicherweise wird keine Milch gekauft A B Milchholer X Alice dc Bob dc = dont care

9 Jun-Prof Dr Sebastian Zug Korrekte Lösung Algorithmus: Zweite Variable, die jeweils kreuzweise geschrieben und gelesen wird

10 The computer science and engineering research study, MIT Press, 1980 Technische Informatik II Jun-Prof Dr Sebastian Zug Konsequenzen für ein Rechnersystem Prozessinteraktion funktionale Aspekte wie findet der Informationsaustausch statt? - Nachrichtenorientiert - gemeinsamer Speicher zeitliche, ablaufspezifische Aspekte wie wird der Informationsaustausch synchronisiert? wie werden generell nebenläufige Aktivitäten synchronisiert? Kommunikation + Koordination = Kooperation Designing correct routines for controlling concurrent activities proved to be one of the most difficult aspects of systems programming The ad hoc techniques used by programmers [ ] were always vulnerable to subtle programming errors whose effects could be observed only when certain relatively rare sequences of actions occurred

11 Jun-Prof Dr Sebastian Zug pthreads_without_mutualexclusionc #include<stdioh> #include<stringh> #include<pthreadh> #include<stdlibh> #include<unistdh> pthread_t tid[2]; int counter; int maxcount= ; int value; void* dosomething(void *arg){ unsigned long i = 0; counter += 1; printf("job %d started\n", counter); for(i=0; i<(maxcount);i++){ value++; printf("job %d finished\n", counter); return NULL; int main(void){ int i = 0; int err; while(i < 2) { err = pthread_create(&(tid[i]), NULL, &dosomething, NULL); if (err!= 0) printf("%s", strerror(err)); i++; pthread_join(tid[0], NULL); pthread_join(tid[1], NULL); printf("\n Value of value \n"); printf (intended %d): %d\n", i*maxcount, value); return 0;

12 Jun-Prof Dr Sebastian Zug Ergebnis gcc -o pthreads_without_mutualexclusion pthreads_without_mutualexclusionc -lpthread /pthreads_without_mutualexclusion Job 1 started Job 2 started Job 2 finished Job 2 finished Resulting value of value (intended ): Problem: Nebenläufigkeit + Nutzung gemeinsamer Daten, dh die Prozesse interagieren miteinander-> Asynchronität durch mehrere Prozessoren oder durch systembezogene Unterbrechungen Gefordertes Verhalten: Die Ergebnisse eines Prozesses müssen unabhängig von der eigenen Ausführungsgeschwindigkeit und der anderer nebenläufiger Prozesse sein Mechanismus: Synchronisation

13 Serialisierung der Ausführung Intuitiver Gedanke: Der Bereich des Programmes, der für den Zugriff auf die Ressource globale Variable verantwortlich ist, wird koordiniert Lediglich ein Programm darf zeitgleich Lese- oder Schreiboperationen ausführen Wechselseitiger Ausschluss (Mutual Exclusion) #include<stdioh> #include<stringh> #include<pthreadh> #include<stdlibh> #include<unistdh> Jun-Prof Dr Sebastian Zug pthreads_without_mutualexclusionc pthread_t tid[2]; int counter; int maxcount= ; int value; void* dosomething(void *arg){ unsigned long i = 0; counter += 1; printf("job %d started\n", counter); for(i=0; i<(maxcount);i++){ value++; printf("job %d finished\n", counter); return NULL;

14 Jun-Prof Dr Sebastian Zug Resultierende Herausforderungen Blockieren Prozess P 1 belegt ein Betriebsmittel, ein zweiter Prozess P 2 benötigt dasselbe Betriebsmittel und blockiert P 1 Verhungern (Starvation) Ein Prozess ist rechenbereit, gelangt aber nicht zur Ausführung, andere Prozesse werden aber vorgezogen (höherer Priorität) Deadlock Zwei oder mehr Prozesse halten Ressourcen belegt und versuchen weitere zu erlangen Liegt ein Zyklus von Abhängigkeiten vor, so kommt das System zum Stillstand

15 Jun-Prof Dr Sebastian Zug Interaktionsformen

16 Jun-Prof Dr Sebastian Zug Datenkohärenz (Bindungen) Buchführungsprogramm: Verhältnis zwischen a und b soll aufrecht erhalten werden Ausführungsreihenfolgen: P1: a = a + 1 b = b + 1 P2: b = 2 * b a = 2 * a a = a + 1 b = b + 1 b = 2 * b a = 2 * a b = 2 * b a = 2 * a b = b + 1 a = a + 1 a = a + 1 b = 2 * b b = b + 1 a = 2 * a Für jede Variable wird der wechselseitige Ausschluss befolgt Trotzdem entspricht das Ergebnis keinem Ergebnis, das ohne Nebenläufigkeit erzielt werden kann!

17 Wechselseitiger Ausschluss (Mutual Exclusion) Jun-Prof Dr Sebastian Zug Zielstellung: Konsistenz einer Ausführung Das Ergebnis einer Ausführung von nebenläufigen, unabhängigen Prozessen ist konsistent, wenn es durch irgendeine strikt aufeinanderfolgende Ausführung der Prozesse erreicht wird Forderung: Garantieren des exklusiven Zugriffs für längere Befehlssequenzen -> Konzept des kritischen Abschnitts ist ein Codeabschnitt, der zu einer Zeit nur durch einen Prozess oder Thread durchlaufen und in dieser Zeit nicht durch andere nebenläufige Prozesse oder Threads betreten werden darf

18 Jun-Prof Dr Sebastian Zug Kritischer Abschnitt /* Programm Wechselseitiger Ausschluss */ const int n /* Anzahl der Prozesse */ void P(int i) { while (true) { entercritical (i); /* Prolog zur Steuerung der Zugangskontrolle */ /* kritischer Abschnitt */; exitcritical (i); /*Epilog zur Steuerung der Zugangskontrolle*/ / * Restliche Programmzeilen * /; void main ( ) { parbegin (P 1, P 2,, P n );

19 Jun-Prof Dr Sebastian Zug Mutual Exclusion Bedingungen und Lösungsansätze 1Nur ein Prozess darf den kritischen Bereich zu einem Zeitpunkt betreten haben 2Das Verhalten eines Prozesses im nicht-kritischen Bereich darf die anderen Prozesse nicht beeinflussen 3Es werden keine Annahmen über die relative Ausführungsgeschwindigkeit der Prozesse, ihre Anzahl oder die Anzahl der Prozessoren gemacht Lösungsansätze: Interrupts sperren Softwarekonzepte für das Setzen und Sperren kritischer Abschnitte Hardwareunterstützung durch spezielle Maschinenbefehle 4Ein Prozess bleibt nur endliche Zeit in einem KA 5Wenn sich kein anderer Prozess im KA befindet, muss der Zugang ohne Verzögerung gewährt werden

20 Jun-Prof Dr Sebastian Zug Interrupts sperren while (1){ /* non-critical section */ /* disable interrupts */ local_irq_disable(); /* critical section */ local_irq_enable() /* enable interrupts */ /* disable interrupts */ /* remainder */ Prinzip: Stoppen aller Unterbrechungen Probleme: Verpassen von Interrupts notwendige Nutzerrechte problematisch Beschränkte Effizienz des Prozessors nicht anwendbar bei Multiprozessoren

21 Jun-Prof Dr Sebastian Zug Softwarelösung Versuch 1 Globale Variable zur Kontrolle des Zuganges: int turn /* Prozess 0 */ while (turn!=0) */ do nothing*/; /* critical section */ turn = 1; /* Prozess 1 */ while (turn!=1) */ do nothing*/; /* critical section */ turn = 0; Prinzip: Freiwillige Abgabe der Kontrolle über den kritischen Abschnitt Probleme: Aktives Warten, Streng alternierend; langsamer Prozess bestimmt die Periode Bei Ausfall eines Prozesses (auch außerhalb des kritischen Abschnitts) kann der kritische Abschnitt nicht mehr betreten werden

22 Jun-Prof Dr Sebastian Zug Softwarelösung Versuch 2 Globale Variable : enum boolean {false = 0; true = 1 boolean flag[2] = {false, false /* Prozess 0 */ while (flag[1]) */ do nothing*/; flag[0]= true; /* critical section */ flag[0]= false; /* Prozess 1 */ while (flag[0]) */ do nothing*/; flag[1]= true; /* critical section */ flag[1]= false; Prinzip: selbstbestimmte Reihenfolge der Ressourcenanforderung Probleme: kein wechselseitiger Ausschluss gewährleistet!

23 Jun-Prof Dr Sebastian Zug Softwarelösung Versuch 2 /* Prozess 0/1 */ while (flag[1/0]) */ do nothing*/; flag[0/1] = true; /* critical section */; flag[0/1] = false; flag 0 flag 1 Flag des anderen Prozesses lesen und das eigene ändern geschieht nicht atomar! true false

24 Jun-Prof Dr Sebastian Zug Softwarelösung - 3 Versuch gemeinsam benutzte globale Variable: enum boolean {false = 0; true = 1 boolean flag[2] = {false, false /* Prozess 0 */ flag[0]=true; while (flag[1]) */ do nothing*/; /* critical section */ flag[0]= false; /* Prozess 1 */ flag[1]=true; while (flag[0]) */ do nothing*/; /* critical section */ flag[1]= false; Prinzip: Flag-Überprüfung innerhalb des kritischen Bereiches Probleme: Bei Ausfall innerhalb des kritischen Abschnitts: Blockade Falls beide Prozesse die Flags auf "true" setzen: Deadlock (Verklemmung)

25 Jun-Prof Dr Sebastian Zug Softwarelösung - 3 Versuch while (flag[1]) /* do nothing*/ while (flag[0]) /* do nothing*/ /* Prozess 0/1 */ flag[0/1] = true; while (flag[1/0]) */ do nothing*/; /* critical section */; flag[0/1] = false; flag 0 flag 1 true false

26 Jun-Prof Dr Sebastian Zug Softwarelösung 4 Versuch gemeinsam benutzte globale Variable: enum boolean {false = 0; true = 1 boolean flag[2] = {false, false /* Prozess 0 */ flag[0]=true; while (flag[1]) { flag[0]=false; */ delay*/; flag[0]=true; /* critical section */ flag[0]= false; /* Prozess 1 */ flag[1]=true; while (flag[0]) { flag[1]=false; */ delay*/; flag[1]=true; /* critical section */ flag[1]= false; Prinzip: Zufällige Auflösungen von Deadlocks mit Timerablauf Probleme: Bei Ausfall innerhalb des kritischen Abschnitts: Blockade Falls kein Prozesse "nachgibt": Lifelock (Dynamische Verklemmung)

27 Jun-Prof Dr Sebastian Zug Softwarelösung 4 Versuch flag 0 flag 1 /* Prozess 0/1 */ flag[0/1] = true; while (flag[1/0]) { flag[0/1] = false; /* delay */; flag[0/1] = true; /* critical section */; flag[0/1] = false; true false

28 Jun-Prof Dr Sebastian Zug Dekkers Algorithmus boolean flag [2]; int turn; void main 0 { flag [0] = false; flag [1] = false; turn = 1; parbegin (P0, Pl); void P0() { while (true) { flag [0] = true; while (flag [1]) if (turn == 1) { flag [0] = false; while (turn == 1) / * do nothing */ flag [0] = true; /* kritischer Abschnitt turn = 1; flag [0] = false; / * Restliche Programmzeilen * /; void P1() { while (true) { flag [1] = true; while (flag [0]) if (turn == 0) { flag [1] = false; while (turn == 0) / * do nothing */ flag [1] = true; / * kritischer Abschnitt turn = 0; flag [1] = false; / * Restliche Programmzeilen

29 Jun-Prof Dr Sebastian Zug Dekker's Algorithmus flag 0 flag 1 1 turn true false

30 Jun-Prof Dr Sebastian Zug Dekker's Algorithmus flag 0 flag 1 10 turn true false

31 Jun-Prof Dr Sebastian Zug Dekker's Algorithmus flag 0 flag 1 10 turn true false

32 Jun-Prof Dr Sebastian Zug Dekkers Algorithmus [Theodorus Dekker] niederländischer Mathematiker Historisch der erste Algorithmus, der eine vollständige Lösung des wechselseitigen Ausschlusses umsetzt gegenseitige Blockierung und Monopolisierung des kritischen Abschnitts durch einen Prozess wird verhindert Problem: Erweiterung auf n Prozesse Verbesserung durch den Petterson und Kessel Algorithmus Gebraucht wird ein Algorithmus wie der Peterson-Algorithmus eigentlich nur zur Realisierung von wechselseitigem Ausschluss auf einem Computersystem mit zwei Prozessoren, die keine Instruktion wie Test-andset oder Compare-and-swap haben

33 Jun-Prof Dr Sebastian Zug Hardwareunterstützung Herausforderung: static int lock_var; int main(){ while (lock_var!= 0); lock_var = 1; /* kritischer Abschnitt */ /* */ 0x4004ed <+0>: push %rbp 0x4004ee <+1>: mov %rsp,%rbp 0x4004f1 <+4>: nop 0x4004f2 <+5>: mov 0x200b44(%rip),%eax # 0x60103c <lock_var> 0x4004f8 <+11>: test %eax,%eax 0x4004fa <+13>: jne 0x4004f2 <main+5> 0x4004fc <+15>: movl $0x1,0x200b36(%rip) # 0x60103c <lock_var> 0x <+25>: pop %rbp 0x <+26>: retq Gesucht: Varianten: Möglichkeit zur Umsetzung innerhalb einer nichtunterbrechbaren Operation TAS Befehle Test & Set, Compare & Swap, Exchange (x86)

34 void main(){ flag = 0; parbegin (P(1), P(2),,P(n)); Technische Informatik II Wechselseitiger Ausschluss mit Test and Set const int n = int flag; Jun-Prof Dr Sebastian Zug /* number of processes*/ boolean testset (int *i){ if (*i==0){ *i = 1; return true; else{ return false; /* als atomar angenommen!*/ void P(int i){ while (true){ while (!testset (&flag)) /* do nothing */; /* critical section*/ flag = 0; /* remainder*/

35 Wechselseitiger Ausschluss mit Exchange xchg src, dest The xchg instruction swaps the src operand with the dest operand If one of the operands is a memory address, then the operation has an implicit LOCK prefix, that is, the exchange operation is atomic This can have a large performance penalty It's also worth noting that the common NOP (no op) instruction, 0x90, is the opcode for xchgl %eax, %eax const int n = int flag; Jun-Prof Dr Sebastian Zug /* number of processes*/ void exchange(int *register, int *memory){ int temp; temp = *memory; *memory = *register; *register = temp; /* als atomar angenommen!*/ void P(int i){ int keyi = 1; while (true){ do exchange(&keyi, &flag) while (keyi!= 0); /* critical section*/ flag = 0; /* remainder*/ void main(){ flag = 0; parbegin (P(1), P(2),,P(n));

36 Jun-Prof Dr Sebastian Zug Was wurde bisher erreicht? Ziel: Erhaltung der Konsistenz von Daten trotz nebenläufigen Zugriffs, sei es durch Multiprogramming oder Multiprocessing Zur Manipulation der Daten müssen Befehlssequenzen (und nicht nur einzelne Befehle) atomar ausgeführt werden Die Algorithmen von Dekker und Peterson bieten korrekte Lösungen Hardwareunterstützung vereinfacht und verbessert die reinen Softwarelösungen Probleme?

37 Jun-Prof Dr Sebastian Zug Probleme der bisherigen Lösungen aktives Warten vollständig auf Anwendungsebene konzipierter Mechanismus keine Garantie gegen Verhungern Verklemmungen können auftreten P 0, hohe Priorität P 0 möchte KA betreten, der von P 1 gesperrt ist P P 0 unterbricht P 0 geht in seine 1 aktive Warteschleife und verhindert, dass P 1 jemals den KA verlässt P 1, niedrige Priorität P 1 betritt kritischen Abschnitt

38 Jun-Prof Dr Sebastian Zug Weitergehende Zielstellungen Einbettung des Konzepts in das Betriebssystem oder in die Programmiersprache Allgemeiner Mechanismus für die "Kooperation sequentieller Prozesse" Kein aktives Warten mehr Leicht zu verstehen und zu handhaben Semaphore (1965, Edsger W Dijkstra, ) Monitore (1974, Sir Charles Antony Richard (CAR) Hoare, 1934)

39 Jun-Prof Dr Sebastian Zug Bis zur nächsten Woche

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

1 Vom Problem zum Programm

1 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

Mehr

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012 Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Mehr

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

Verteilte Systeme CS5001

Verteilte 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,

Mehr

Benutzerhandbuch - Elterliche Kontrolle

Benutzerhandbuch - Elterliche Kontrolle Benutzerhandbuch - Elterliche Kontrolle Verzeichnis Was ist die mymaga-startseite? 1. erste Anmeldung - Administrator 2. schnittstelle 2.1 Administrator - Hautbildschirm 2.2 Administrator - rechtes Menü

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Zählen von Objekten einer bestimmten Klasse

Zä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 --

Mehr

Kapitel 4. Monitore und wechselseitiger Ausschluss

Kapitel 4. Monitore und wechselseitiger Ausschluss Seite 1 Kapitel 4 Monitore und wechselseitiger Ausschluss Prof. Dr. Rolf Hennicker 28.05.2015 4.1 Interferenzen Seite 2 Parallel ablaufende Prozesse können sich gegenseitig (störend) beeinflussen. Beispiel

Mehr

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Einfache 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"

Mehr

Programmierkurs Java

Programmierkurs 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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Ü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:

Mehr

Es kann maximal ein Prozess die Umladestelle benutzen.

Es kann maximal ein Prozess die Umladestelle benutzen. SoSe 0 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung (Musterlösung) 0-06-0 bis 0-06-06 Aufgabe : Erzeuger/Verbraucher-Pattern Ein Getränkemarkt hat

Mehr

C++ Tutorial: Timer 1

C++ Tutorial: Timer 1 C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und

Mehr

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum

4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum 4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.

Mehr

Synchronisation in Datenbanksystemen in a nutshell

Synchronisation in Datenbanksystemen in a nutshell Synchronisation in Datenbanksystemen in a nutshell 1. Modell für nebenläufige Transaktionen und Korrektheitskriterium Transaktionsmodell: Folgen von Lese und Schreiboperationen abgeschlossen durch c=commit.

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 14. Schrittweise Verfeinerung

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

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Informatik Grundlagen, WS04, Seminar 13

Informatik Grundlagen, WS04, Seminar 13 Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt

Mehr

Kontrollstrukturen und Funktionen in C

Kontrollstrukturen und Funktionen in C Kontrollstrukturen und Funktionen in C Lernziele: Vertiefen der Kenntnisse über Operatoren, Kontrollstrukturen und die Verwendung von Funktionen. Aufgabe 1: Quickies: Datentypen in C a) Was sind die elementaren

Mehr

Screening Das Programm. zur Früherkennung von Brustkrebs

Screening Das Programm. zur Früherkennung von Brustkrebs Mammographie Screening Das Programm zur Früherkennung von Brustkrebs das Mammographie Screening Programm Wenn Sie zwischen 50 und 69 Jahre alt sind, haben Sie alle zwei Jahre Anspruch auf eine Mammographie-Untersuchung

Mehr

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Statuten in leichter Sprache

Statuten in leichter Sprache Statuten in leichter Sprache Zweck vom Verein Artikel 1: Zivil-Gesetz-Buch Es gibt einen Verein der selbstbestimmung.ch heisst. Der Verein ist so aufgebaut, wie es im Zivil-Gesetz-Buch steht. Im Zivil-Gesetz-Buch

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Whitebox-Tests: Allgemeines

Whitebox-Tests: Allgemeines -Tests: Allgemeines Andere Bezeichnungen Logic driven, Strukturelles Der Tester entwickelt Testfälle aus einer Betrachtung der Ablauflogik des Programms unter Berücksichtigung der Spezifikation Intuitiv

Mehr

Erwin Grüner 09.02.2006

Erwin Grüner 09.02.2006 FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife

Mehr

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

Mehr

Automatisches Parallelisieren

Automatisches Parallelisieren Automatisches Parallelisieren Vorlesung im Wintersemester 2010/11 Eberhard Zehendner FSU Jena Thema: Datenabhängigkeitsanalyse Eberhard Zehendner (FSU Jena) Automatisches Parallelisieren Datenabhängigkeitsanalyse

Mehr

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: 11.09.2014 Änderungen vorbehalten

Präventionsforum+ Erfahrungsaustausch. HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch. Stand: 11.09.2014 Änderungen vorbehalten Präventionsforum+ Erfahrungsaustausch HANDOUT GRUPPEN-ADMINISTRATOREN Anlage zum Endnutzer-Handbuch Stand: 11.09.2014 Änderungen vorbehalten Anlage zum Endnutzer-Handbuch Handout Gruppen-Administratoren

Mehr

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder Hinweise zur Übung Benötigter Vorlesungsstoff Ab diesem Übungskomplex wird die Kenntnis und praktische Beherrschung der Konzepte

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Die richtigen Partner finden, Ressourcen finden und zusammenführen

Die richtigen Partner finden, Ressourcen finden und zusammenführen Kongress Kinder.Stiften.Zukunft Workshop Willst Du mit mir gehen? Die richtigen Partner finden, Ressourcen finden und zusammenführen Dr. Christof Eichert Unsere Ziele: Ein gemeinsames Verständnis für die

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

C/C++ Programmierung

C/C++ Programmierung 1 C/C++ Programmierung Grundlagen: Anweisungen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Anweisungen (Statements)

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Prüfung Computation, Programming

Prüfung Computation, Programming Prüfung Computation, Programming 1. Computation: Reguläre Ausdrücke [5 Punkte] Zusammenfassung reguläre Ausdrücke a Das Zeichen a. Ein beliebiges Zeichen [abc] Ein beliebiges Zeichen aus der Menge {a,

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Menü auf zwei Module verteilt (Joomla 3.4.0)

Menü auf zwei Module verteilt (Joomla 3.4.0) Menü auf zwei Module verteilt (Joomla 3.4.0) Oft wird bei Joomla das Menü in einem Modul dargestellt, wenn Sie aber z.b. ein horizontales Hauptmenü mit einem vertikalen Untermenü machen möchten, dann finden

Mehr

WinVetpro im Betriebsmodus Laptop

WinVetpro im Betriebsmodus Laptop WinVetpro im Betriebsmodus Laptop Um Unterwegs Daten auf einem mobilen Gerät mit WinVetpro zu erfassen, ohne den Betrieb in der Praxis während dieser Zeit zu unterbrechen und ohne eine ständige Online

Mehr

Deutsches Rotes Kreuz. Kopfschmerztagebuch von:

Deutsches Rotes Kreuz. Kopfschmerztagebuch von: Deutsches Rotes Kreuz Kopfschmerztagebuch Kopfschmerztagebuch von: Hallo, heute hast Du von uns dieses Kopfschmerztagebuch bekommen. Mit dem Ausfüllen des Tagebuches kannst Du mehr über Deine Kopfschmerzen

Mehr

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

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Selbsttest Prozessmanagement

Selbsttest Prozessmanagement Selbsttest Prozessmanagement Zur Feststellung des aktuellen Status des Prozessmanagements in Ihrem Unternehmen steht Ihnen dieser kurze Test mit zehn Fragen zur Verfügung. Der Test dient Ihrer persönlichen

Mehr

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software Artologik EZ-Equip Plug-in für EZbooking version 3.2 Artologik EZbooking und EZ-Equip EZbooking, Ihre webbasierte Software zum Reservieren von Räumen und Objekten, kann nun durch die Ergänzung um ein oder

Mehr

Außerdem verwenden wir Cookies für andere Zwecke, wie zum Beispiel:

Außerdem verwenden wir Cookies für andere Zwecke, wie zum Beispiel: Version 16.01.2016 INFORMATION ZU COOKIES UND WERBUNG Besuchen Sie die Website von Smart Gourmet Spanien mit der Konfiguration Ihres Browser Cookies Annahme oder Verwendung der Geräte, mobile Anwendungen

Mehr

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum

Mehr

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer

Algorithmen und Datenstrukturen. Große Übung vom 29.10.09 Nils Schweer Algorithmen und Datenstrukturen Große Übung vom 29.10.09 Nils Schweer Diese Folien Braucht man nicht abzuschreiben Stehen im Netz unter www.ibr.cs.tu-bs.de/courses/ws0910/aud/index.html Kleine Übungen

Mehr

Elternzeit Was ist das?

Elternzeit Was ist das? Elternzeit Was ist das? Wenn Eltern sich nach der Geburt ihres Kindes ausschließlich um ihr Kind kümmern möchten, können sie bei ihrem Arbeitgeber Elternzeit beantragen. Während der Elternzeit ruht das

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Synchronisations- Assistent

Synchronisations- Assistent TimePunch Synchronisations- Assistent Benutzerhandbuch Gerhard Stephan Softwareentwicklung -und Vertrieb 25.08.2011 Dokumenten Information: Dokumenten-Name Benutzerhandbuch, Synchronisations-Assistent

Mehr

teamsync Kurzanleitung

teamsync 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

Mehr

Um Ihre Ziele durchzusetzen! Um Beziehungen zu knüpfen und zu pflegen! Um in Begegnungen mit anderen Ihre Selbstachtung zu wahren!

Um Ihre Ziele durchzusetzen! Um Beziehungen zu knüpfen und zu pflegen! Um in Begegnungen mit anderen Ihre Selbstachtung zu wahren! Handout 19 Interpersonelle Grundfertigkeiten Einführung Wozu brauchen Sie zwischenmenschliche Skills? Um Ihre Ziele durchzusetzen! Um Beziehungen zu knüpfen und zu pflegen! Um in Begegnungen mit anderen

Mehr

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse

Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12

Mehr

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf

Frankfurt am Main. Dortmund. Stuttgart. Düsseldorf Aufgabenstellung Ein Handlungsreisender will seine Produkte in den zehn größten Städten Deutschlands verkaufen. Er startet in Berlin und will seine Reise dort beenden. Die zehn einwohnerreichsten Städte

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Wir machen neue Politik für Baden-Württemberg

Wir 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

Mehr

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten bedingten Wahrscheinlichkeit. Mathematik- Unterrichts- Einheiten- Datei e. V. Klasse 9 12 04/2015 Diabetes-Test Infos: www.mued.de Blutspenden werden auf Diabetes untersucht, das mit 8 % in der Bevölkerung verbreitet ist. Dabei werden

Mehr

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland.

Programmierung 2. Übersetzer: Code-Erzeugung. Sebastian Hack. Klaas Boesche. Sommersemester 2012. hack@cs.uni-saarland.de. boesche@cs.uni-saarland. 1 Programmierung 2 Übersetzer: Code-Erzeugung Sebastian Hack hack@cs.uni-saarland.de Klaas Boesche boesche@cs.uni-saarland.de Sommersemester 2012 Bytecodes Der Java Übersetzer erzeugt keine Maschinensprache

Mehr

Alle Informationen zu Windows Server 2003 Übersicht der Produkte

Alle Informationen zu Windows Server 2003 Übersicht der Produkte Alle Informationen zu Windows Server 2003 Übersicht der Produkte Downgrade-Rechte für Microsoft Windows Server 2003 Was sind Downgrade-Rechte? Gründe für Downgrades Wichtige EULA-Anforderungen für Downgrades

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Steuerstrukturen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Steuerstrukturen Steuerstrukturen Verzweigungen Alternativen abweisende nichtabweisende

Mehr

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung? Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung? BAF ist die Abkürzung von Bundes-Aufsichtsamt für Flugsicherung. Auf der Internetseite gibt es 4 Haupt-Bereiche:

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Erfahrungen mit Hartz IV- Empfängern

Erfahrungen 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

Mehr

Installationsanleitung Sander und Doll Mobilaufmaß. Stand 22.04.2003

Installationsanleitung Sander und Doll Mobilaufmaß. Stand 22.04.2003 Installationsanleitung Sander und Doll Mobilaufmaß Stand 22.04.2003 Sander und Doll AG Installationsanleitung Sander und Doll Mobilaufmaß Inhalt 1 Voraussetzungen...1 2 ActiveSync...1 2.1 Systemanforderungen...1

Mehr

OpenMP am Beispiel der Matrizenmultiplikation

OpenMP am Beispiel der Matrizenmultiplikation OpenMP am Beispiel der Matrizenmultiplikation David J. Meder, Dr. Victor Pankratius IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe

Mehr

Leitfaden E-Books Apple. CORA E-Books im ibook Store kaufen. Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books.

Leitfaden E-Books Apple. CORA E-Books im ibook Store kaufen. Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books. CORA E-Books im ibook Store kaufen Liebe Leserinnen und Leser, vielen Dank für Ihr Interesse an unseren CORA E-Books. Wir sind sehr daran interessiert, dass Sie die CORA E-Books auf Ihre gewünschten Lesegeräte

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

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

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014 Widerrufsbelehrung der Stand: Juni 2014 www.free-linked.de www.buddy-watcher.de Inhaltsverzeichnis Widerrufsbelehrung Verträge für die Lieferung von Waren... 3 Muster-Widerrufsformular... 5 2 Widerrufsbelehrung

Mehr

Outlook Web App 2013 designed by HP Engineering - powered by Swisscom

Outlook Web App 2013 designed by HP Engineering - powered by Swisscom Outlook Web App 2013 designed by HP Engineering - powered by Swisscom Dezember 2014 Inhalt 1. Einstieg Outlook Web App... 3 2. Mails, Kalender, Kontakten und Aufgaben... 5 3. Ihre persönlichen Daten...

Mehr

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden? Forschungsfragen zu Verhütung 1 Forschungsfragen zu Verhütung Wie ist das Wissen von Jugendlichen über Verhütungsmethoden? Wie viel Information über Verhütung ist enthalten? Wie wird das Thema erklärt?

Mehr

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung

Mehr

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug) Porsche Consulting Exzellent handeln Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug) Oktober 2013 Inhalt Randdaten der Studie Untersuchungsziel der Studie Ergebnisse der

Mehr

Deutschland-Check Nr. 35

Deutschland-Check Nr. 35 Beschäftigung älterer Arbeitnehmer Ergebnisse des IW-Unternehmervotums Bericht der IW Consult GmbH Köln, 13. Dezember 2012 Institut der deutschen Wirtschaft Köln Consult GmbH Konrad-Adenauer-Ufer 21 50668

Mehr

Was ist Logische Programmierung?

Was ist Logische Programmierung? Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

5. Tutorium zu Programmieren

5. Tutorium zu Programmieren 5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting

Mehr

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL [Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL Was bedeutet Customer Service by KCS.net? Mit der Einführung von Microsoft Dynamics AX ist der erste wichtige Schritt für viele Unternehmen abgeschlossen.

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr