17. Rekursion 2. Bau eines Taschenrechners, Formale Grammatiken, Ströme, Backus Naur Form (BNF), Parsen
|
|
- Katrin Waldfogel
- vor 6 Jahren
- Abrufe
Transkript
1 Rekursion 2 Bau eines Taschenrechners, Formale Grammatiken, Ströme, Backus Naur Form (BNF), Parsen
2 Taschenrechner 508 Beispiel Eingabe: Ausgabe: 8 Binäre Operatoren +, -, *, / und Zahlen
3 Taschenrechner 508 Beispiel Eingabe: 3 / 5 Ausgabe: 0.6 Binäre Operatoren +, -, *, / und Zahlen Fliesskommaarithmetik
4 Taschenrechner 508 Beispiel Eingabe: * 20 Ausgabe: 103 Binäre Operatoren +, -, *, / und Zahlen Fliesskommaarithmetik Präzedenzen und Assoziativitäten wie in C++
5 Taschenrechner 508 Beispiel Eingabe: (3 + 5) * 20 Ausgabe: 160 Binäre Operatoren +, -, *, / und Zahlen Fliesskommaarithmetik Präzedenzen und Assoziativitäten wie in C++ Klammerung
6 Taschenrechner 508 Beispiel Eingabe: -(3 + 5) + 20 Ausgabe: 12 Binäre Operatoren +, -, *, / und Zahlen Fliesskommaarithmetik Präzedenzen und Assoziativitäten wie in C++ Klammerung Unärer Operator -
7 Naiver Versuch (ohne Klammern) double lval; std::cin >> lval; char op; while (std::cin >> op && op!= = ) { double rval; std::cin >> rval; if (op == + ) lval += rval; else if (op == ) lval = rval; else... } std::cout << "Ergebnis " << lval << "\n"; 509
8 Scheint zu klappen... double lval; std::cin >> lval; char op; while (std::cin >> op && op!= = ) { double rval; std::cin >> rval; if (op == + ) lval += rval; else if (op == ) lval = rval; else... Eingabe 1 * 2 * 3 * 4 = Ergebnis 24 } std::cout << "Ergebnis " << lval << "\n"; 509
9 Oops, Strich- vor Punktrechnung... double lval; std::cin >> lval; char op; while (std::cin >> op && op!= = ) { double rval; std::cin >> rval; if (op == + ) lval += rval; else if (op == ) lval = rval; else... Eingabe * 3 = Ergebnis 15 } std::cout << "Ergebnis " << lval << "\n"; 509
10 Analyse des Problems 510 Beispiel Eingabe:
11 Analyse des Problems 510 Beispiel Eingabe:
12 Analyse des Problems 510 Beispiel Eingabe: (15...
13 Analyse des Problems 510 Beispiel Eingabe: (
14 Analyse des Problems 510 Beispiel Eingabe: (15 7 3) = Muss gespeichert bleiben, damit jetzt ausgewertet werden kann!
15 Analyse des Problems 510 Beispiel Ergebnis: (15 21)
16 Analyse des Problems 510 Beispiel Ergebnis: 13+4 ( 6)
17 Analyse des Problems 510 Beispiel Ergebnis: 13 + ( 24)
18 Analyse des Problems 510 Beispiel Ergebnis: 11
19 Analyse des Problems 510 Beispiel Ausdruck: (15 7 3) Das Verstehen eines Ausdrucks erfordert Vorausschau auf kommende Symbole!
20 Analyse des Problems 510 Beispiel Ausdruck: (15 7 3) Das Verstehen eines Ausdrucks erfordert Vorausschau auf kommende Symbole! Beispiel Diese
21 Analyse des Problems 510 Beispiel Ausdruck: (15 7 3) Das Verstehen eines Ausdrucks erfordert Vorausschau auf kommende Symbole! Beispiel Diese Vorlesung
22 Analyse des Problems 510 Beispiel Ausdruck: (15 7 3) Das Verstehen eines Ausdrucks erfordert Vorausschau auf kommende Symbole! Beispiel Diese Vorlesung ist
23 Analyse des Problems 510 Beispiel Ausdruck: (15 7 3) Das Verstehen eines Ausdrucks erfordert Vorausschau auf kommende Symbole! Beispiel Diese Vorlesung ist insgesamt
24 Analyse des Problems 510 Beispiel Ausdruck: (15 7 3) Das Verstehen eines Ausdrucks erfordert Vorausschau auf kommende Symbole! Beispiel Diese Vorlesung ist insgesamt recht
25 Analyse des Problems 510 Beispiel Ausdruck: (15 7 3) Das Verstehen eines Ausdrucks erfordert Vorausschau auf kommende Symbole! Beispiel Diese Vorlesung ist insgesamt recht rekursiv.
26 Formale Grammatiken 511 Alphabet: endliche Menge von Symbolen Σ Sätze: endlichen Folgen von Symbolen Σ
27 Formale Grammatiken 511 Alphabet: endliche Menge von Symbolen Σ Sätze: endlichen Folgen von Symbolen Σ Eine formale Grammatik definiert, welche Sätze gültig sind.
28 Berge 512 Alphabet: {/, \} Berge: M {/, \} (gültige Sätze) m = //\/\\ /\/\ / \
29 Berge 512 Alphabet: {/, \} Berge: M {/, \} (gültige Sätze) m = //\\///\\\ /\ /\ / \ / \/ \
30 Falsche Berge 513 Alphabet: {/, \} Berge: M {/, \} (gültige Sätze) m = //\\\ /\ / \ \
31 Falsche Berge Alphabet: {/, \} Berge: M {/, \} (gültige Sätze) m = //\\\ / M /\ / \ \ Beide Seiten müssen gleiche Starthöhe haben. 513
32 Falsche Berge 513 Alphabet: {/, \} Berge: M {/, \} (gültige Sätze) m = /\\//\ /\ /\ \/
33 Falsche Berge 513 Alphabet: {/, \} Berge: M {/, \} (gültige Sätze) m = /\\//\ / M /\ /\ \/ Ein Berg darf nicht unter seine Starthöhe fallen.
34 Berge in Backus-Naur-Form (BNF) 514 berg = "/\" "/" berg "\" berg berg.
35 Berge in Backus-Naur-Form (BNF) 514 Mögliche Berge berg = "/\" "/" berg "\" berg berg.
36 Berge in Backus-Naur-Form (BNF) 514 Mögliche Berge 1 /\ berg = "/\" "/" berg "\" berg berg.
37 Berge in Backus-Naur-Form (BNF) 514 Mögliche Berge 1 /\ 2 berg = "/\" "/" berg "\" berg berg. /\/\ /\/\ / \ / \ / \
38 Berge in Backus-Naur-Form (BNF) 514 Mögliche Berge 1 /\ 2 3 berg = "/\" "/" berg "\" berg berg. /\/\ /\/\ / \ / \ / \ /\/\ / \ /\ /\ /\ / \ /\/\ /\ / \ / \/ \ / \/ \/ \
39 Berge in Backus-Naur-Form (BNF) 514 berg = "/\" "/" berg "\" berg berg. Regel Alternativen
40 Berge in Backus-Naur-Form (BNF) 514 berg = "/\" "/" berg "\" berg berg. Nichtterminal Terminal
41 Ströme 515 Ein Programm verarbeitet Eingaben von einem konzeptuell unbegrenzten Eingabestrom.
42 Ströme 515 Ein Programm verarbeitet Eingaben von einem konzeptuell unbegrenzten Eingabestrom. Bisher: Eingabestrom der Kommandozeile std::cin while (std::cin >> op && op!= = ) {... } Konsumiere op von std::cin, Leseposition schreitet fort.
43 Ströme 515 Ein Programm verarbeitet Eingaben von einem konzeptuell unbegrenzten Eingabestrom. Bisher: Eingabestrom der Kommandozeile std::cin while (std::cin >> op && op!= = ) {... } Konsumiere op von std::cin, Leseposition schreitet fort. Wir wollen zukünftig aber auch von Dateien lesen können!
44 Beispiel: BSD 16-bit Checksum 516 #include <iostream> int main () { } char c; int checksum = 0; while (std::cin >> c) { checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } std::cout << "checksum = " << std::hex << checksum << "\n";
45 Beispiel: BSD 16-bit Checksum #include <iostream> int main () { } Eingabe: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. char c; Erfordert in der Konsole manuelles Ende der Eingabe int checksum = 0; while (std::cin >> c) { checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } std::cout << "checksum = " << std::hex << checksum << "\n";
46 Beispiel: BSD 16-bit Checksum 516 #include <iostream> int main () { } char c; int checksum = 0; while (std::cin >> c) { Eingabe: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Ausgabe: 67fd checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } std::cout << "checksum = " << std::hex << checksum << "\n";
47 Beispiel: BSD 16-bit Checksum mit Datei 517 #include <iostream> #include <fstream> int main () { std::ifstream filestream ("loremispum.txt"); char c; int checksum = 0; while (filestream >> c) { checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } std::cout << "checksum = " << std::hex << checksum << "\n"; }
48 Beispiel: BSD 16-bit Checksum mit Datei #include <iostream> #include <fstream> int main () { std::ifstream filestream ("loremispum.txt"); } char c; int checksum = 0; while (filestream >> c) { Gibt am Dateiende false zurück. checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } std::cout << "checksum = " << std::hex << checksum << "\n";
49 Beispiel: BSD 16-bit Checksum mit Datei 517 #include <iostream> #include <fstream> int main () { std::ifstream filestream ("loremispum.txt"); } char c; int checksum = 0; while (filestream >> c) { Ausgabe: 67fd Gibt am Dateiende false zurück. checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } std::cout << "checksum = " << std::hex << checksum << "\n";
50 Beispiel: BSD 16-bit Checksum 518 Wiederverwendung gemeinsam genutzter Funktionalität?
51 Beispiel: BSD 16-bit Checksum 518 Wiederverwendung gemeinsam genutzter Funktionalität? Richtig: mit einer Funktion. Aber wie?
52 Beispiel: BSD 16-bit Checksum generisch! 519 #include <iostream> #include <fstream> int checksum (std::istream& is) { char c; int checksum = 0; while (is >> c) { checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } return checksum; }
53 Beispiel: BSD 16-bit Checksum generisch! 519 #include <iostream> #include <fstream> Referenz nötig: wir verändern den Strom! int checksum (std::istream& is) { char c; int checksum = 0; while (is >> c) { checksum = checksum / 2 + checksum % 2 0x c; checksum %= 0x10000; } return checksum; }
54 Gleiches Recht für alle! 520 #include <iostream> #include <fstream> int checksum (std::istream& is) {... } int main () { std::ifstream filestream("loremipsum.txt"); } if (checksum (filestream) == checksum (std::cin)) std::cout << "checksums match.\n"; else std::cout << "checksums differ.\n";
55 Gleiches Recht für alle! #include <iostream> #include <fstream> int checksum (std::istream& is) {... } int main () { std::ifstream filestream("loremipsum.txt"); } Eingabe: Lorem Yps mit Gimmick if (checksum (filestream) == checksum (std::cin)) std::cout << "checksums match.\n"; else std::cout << "checksums differ.\n";
56 Gleiches Recht für alle! 520 #include <iostream> #include <fstream> int checksum (std::istream& is) {... } int main () { std::ifstream filestream("loremipsum.txt"); } Eingabe: Lorem Yps mit Gimmick Ausgabe: checksums differ if (checksum (filestream) == checksum (std::cin)) std::cout << "checksums match.\n"; else std::cout << "checksums differ.\n";
57 Warum geht das? 521 std::cin ist eine Variable vom Typ std::istream. Sie repräsentiert einen Eingabestrom.
58 Warum geht das? 521 std::cin ist eine Variable vom Typ std::istream. Sie repräsentiert einen Eingabestrom. Unsere Variable filestream ist vom Typ std::ifstream. Sie repräsentiert einen Eingabestrom auf einer Datei.
59 Warum geht das? 521 std::cin ist eine Variable vom Typ std::istream. Sie repräsentiert einen Eingabestrom. Unsere Variable filestream ist vom Typ std::ifstream. Sie repräsentiert einen Eingabestrom auf einer Datei. Ein std::ifstream ist auch ein std::istream, kann nur etwas mehr.
60 Warum geht das? 521 std::cin ist eine Variable vom Typ std::istream. Sie repräsentiert einen Eingabestrom. Unsere Variable filestream ist vom Typ std::ifstream. Sie repräsentiert einen Eingabestrom auf einer Datei. Ein std::ifstream ist auch ein std::istream, kann nur etwas mehr. Somit kann filestream überall dort verwendet werden, wo ein std::istream verlangt ist.
61 Nochmal gleiches Recht für alle! #include <iostream> #include <fstream> #include <sstream> int checksum (std::istream& is) {... } int main () { std::ifstream filestream ("loremipsum.txt"); std::stringstream stringstream ("Lorem Yps mit Gimmick"); } if (checksum (filestream) == checksum (stringstream)) std::cout << "checksums match.\n"; else std::cout << "checksums differ.\n"; 522
62 Nochmal gleiches Recht für alle! #include <iostream> #include <fstream> #include <sstream> int checksum (std::istream& is) {... } int main () { std::ifstream filestream ("loremipsum.txt"); std::stringstream stringstream ("Lorem Yps mit Gimmick"); } Eingabe aus stringstream if (checksum (filestream) == checksum (stringstream)) std::cout << "checksums match.\n"; else std::cout << "checksums differ.\n";
63 Nochmal gleiches Recht für alle! #include <iostream> #include <fstream> #include <sstream> int checksum (std::istream& is) {... } Eingabe aus stringstream Ausgabe: checksums differ int main () { std::ifstream filestream ("loremipsum.txt"); std::stringstream stringstream ("Lorem Yps mit Gimmick"); } if (checksum (filestream) == checksum (stringstream)) std::cout << "checksums match.\n"; else std::cout << "checksums differ.\n"; 522
64 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF?
65 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl
66 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? )
67 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? )
68 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? )? *?,? *? /?,...
69 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? )? *?,? *? /?,...? -?,? +?,...
70 Ausdrücke Punktrechnung 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? )? *?,? *? /?,...? -?,? +?,... Faktor
71 Ausdrücke Punktrechnung 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? ) Faktor * Faktor, Faktor * Faktor / Faktor,...? -?,? +?,... Faktor
72 Ausdrücke Strichrechnung 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? ) Faktor * Faktor, Faktor * Faktor / Faktor,...? -?,? +?,... Faktor Term
73 Ausdrücke Strichrechnung 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? ) Faktor * Faktor, Faktor Faktor * Faktor / Faktor,...? -?,? +?,... Faktor Term
74 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? ) Faktor * Faktor, Faktor Faktor * Faktor / Faktor,... Term + Term, Term - Term,... Faktor Term
75 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? ) Faktor * Faktor, Faktor Faktor * Faktor / Faktor,... Term + Term, Term - Term,... Faktor Term Ausdruck
76 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, (? ) -Zahl, -(? ) Faktor * Faktor, Faktor Faktor * Faktor / Faktor,... Term + Term, Term Term - Term,... Faktor Term Ausdruck
77 Ausdrücke 523 -(3-(4-5))*(3+4*5)/6 Was benötigen wir in einer BNF? Zahl, ( Ausdruck ) -Zahl, -( Ausdruck ) Faktor * Faktor, Faktor Faktor * Faktor / Faktor,... Term + Term, Term Term - Term,... Faktor Term Ausdruck
78 Die BNF für Ausdrücke 524 factor = unsigned_number "(" expression ")" " " factor.
79 Die BNF für Ausdrücke 524 factor = unsigned_number "(" expression ")" " " factor. term = factor factor " " term factor "/" term.
80 Die BNF für Ausdrücke 524 factor = unsigned_number "(" expression ")" " " factor. term = factor factor " " term factor "/" term. expression = term term "+" expression term " " expression.
81 Parsen 525 Parsen: Feststellen, ob ein Satz nach der BNF gültig ist.
82 Parsen 525 Parsen: Feststellen, ob ein Satz nach der BNF gültig ist. Parser: Programm zum Parsen
83 Parsen 525 Parsen: Feststellen, ob ein Satz nach der BNF gültig ist. Parser: Programm zum Parsen Praktisch: Aus der BNF kann (fast) automatisch ein Parser generiert werden: Regeln werden zu Funktionen Alternativen werden zu if Anweisungen Nichtterminale Symbole auf der rechten Seite werden zu Funktionsaufrufen
84 Regeln factor term = unsigned_number "(" expression ")" " " factor. = factor factor " " term factor "/" term. expression = term term "+" expression term " " expression. 526
85 Funktionen (Parser) 526 Ausdruck wird aus einem Eingabestrom gelesen. // POST: returns true if and only if is = factor... // and in this case extracts factor from is bool factor (std::istream& is); // POST: returns true if and only if is = term..., // and in this case extracts all factors from is bool term (std::istream& is); // POST: returns true if and only if is = expression..., // and in this case extracts all terms from is bool expression (std::istream& is);
86 Funktionen (Parser mit Auswertung) 526 Ausdruck wird aus einem Eingabestrom gelesen. // POST: extracts a factor from is // and returns its value double factor (std::istream& is); // POST: extracts a term from is // and returns its value double term (std::istream& is); // POST: extracts an expression from is // and returns its value double expression (std::istream& is);
87 527 Vorausschau von einem Zeichen um jeweils die richtige Alternative zu finden. // POST: leading whitespace characters are extracted // from is, and the first non whitespace character // is returned (0 if there is no such character) char lookahead (std:: istream& is) { if ( is. eof ()) return 0; is >> std :: ws; // skip whitespaces if ( is. eof ()) return 0; // end of stream return is.peek(); // next character in is }
88 Rosinenpickerei 528 // POST: if ch matches the next lookahead then consume it // and return true. return false otherwise bool consume (std::istream& is, char ch) { if (lookahead(is) == ch){ is >> ch; return true; } return false ; }
89 529 Faktoren auswerten double factor (std::istream& is) { double v; if (consume(is, ( )){ v = expression (is); assert(consume(is, ) ));} else if (consume(is, )) v = factor (is); else if (lookahead(is)!= 0) } is >> v; return v; factor = "(" expression ")" " " factor unsigned_number.
90 Terme auswerten 530 double term (std::istream& is) { double v = factor(is); if (consume(is, )) v = term (is); else if (consume(is, / )) v /= term (is); return v; } term = factor factor " " term factor "/" term.
91 Ausdrücke auswerten 531 double expression (std::istream& is) { double v = term(is); if (consume(is, + )) v += expression(is); else if (consume(is, )) v = expression(is); return v; } expression = term term "+" expression term " " expression.
92 Rekursion! Factor Term Expression
93 Rekursion! Factor Term Expression
94 Rekursion! Factor Term Expression
95 Rekursion! Factor Term Expression
96 Rekursion! Factor Term Expression
97 Rekursion! 532 Factor Term Expression
98 Wir testen 533 Eingabe: -(3-(4-5))*(3+4*5)/6 Ausgabe:
99 Wir testen 533 Eingabe: -(3-(4-5))*(3+4*5)/6 Ausgabe:
100 Wir testen 533 Eingabe: -(3-(4-5))*(3+4*5)/6 Ausgabe:
101 Wir testen 533 Eingabe: Ausgabe:
102 Wir testen 533 Eingabe: Ausgabe: 4
103 Wir testen 533 Eingabe: Ausgabe: 4
104 Wir testen 534 Ist die BNF falsch?
105 Wir testen 534 Ist die BNF falsch? expression = term term "+" expression term " " expression.
106 Wir testen 534 Ist die BNF falsch? expression = term term "+" expression term " " expression. Nein, denn sie spricht nur über die Gültigkeit von Ausdrücken, nicht über deren Werte!
107 Wir testen 534 Ist die BNF falsch? expression = term term "+" expression term " " expression. Nein, denn sie spricht nur über die Gültigkeit von Ausdrücken, nicht über deren Werte! Die Auswertung haben wir naiv obendrauf gesetzt.
108 Dem Problem auf den Grund gehen 535 Reduktion auf den kritischen Fall (Fast) minimale BNF: sum = val val " " sum val "+" sum
109 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; } " "... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // 4
110 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; 3 - "4-5" } " "... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // 4
111 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; }... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // "5" 3 - "4-5" " "
112 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; }... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // "5" 3 - "4-5" " "
113 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; }... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // "5" 3 - "4-5" " "
114 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; }... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // "5" 3 - "4-5" " " -1
115 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; }... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // "5" 3 - "4-5" " " -1 4
116 536 Dem Problem auf den Grund gehen double sum (std::istream& is){ double v = val (is); if (consume(is, + )) v += sum (is); else if (consume (is, )) v -= sum (is); return v; }... std::stringstream input ("3 4 5"); std::cout << sum (input) << "\n"; // "5" 3 - "4-5" " "
117 Was ist denn falsch gelaufen? 537 Die BNF spricht offiziell zwar nicht über Werte,
118 Was ist denn falsch gelaufen? 537 Die BNF spricht offiziell zwar nicht über Werte, legt uns aber trotzdem die falsche Klammerung (von rechts nach links) nahe.
119 Was ist denn falsch gelaufen? 537 Die BNF spricht offiziell zwar nicht über Werte, legt uns aber trotzdem die falsche Klammerung (von rechts nach links) nahe. sum = val " " sum führt sehr natürlich zu = 3 (4 5)
120 Der richtige Wert einer Summe v ± s 538 Bisher (Auswertung von rechts nach links): Summe(v±s) = { v ± v, falls s = v v ± Summe(s), sonst
121 Der richtige Wert einer Summe v ± s 538 Bisher (Auswertung von rechts nach links): Summe(v±s) = { v ± v, falls s = v v ± Summe(s), Neu (Auswertung von links nach rechts): Summe(v±s) = sonst v ± v, falls s = v
122 Der richtige Wert einer Summe v ± s 538 Bisher (Auswertung von rechts nach links): Summe(v±s) = { v ± v, falls s = v v ± Summe(s), Neu (Auswertung von links nach rechts): Summe(v±s) = sonst v ± v, falls s = v Summe((v ± v )±s ), falls s = v +s Summe((v ± v ) s ), falls s = v s
123 Summe(v±s) double sum (double v, char sign, std :: istream& s){ if (sign == + ) v += val (s); else if (sign == ) v = val (s); if (consume(is, + )) return sum (v, +, s ); else if (consume(is, )) return sum (v,, s ); else return v; 0, +," " }... std :: stringstream input ("3 4 5"); std :: cout << sum (0, +, input) << "\n"; // 6... in C++
124 Summe(v±s) double sum (double v, char sign, std :: istream& s){ if (sign == + ) v += val (s); else if (sign == ) v = val (s); if (consume(is, + )) return sum (v, +, s ); else if (consume(is, )) return sum (v,, s ); else return v; 3, -,"4-5", 0, +," " }... std :: stringstream input ("3 4 5"); std :: cout << sum (0, +, input) << "\n"; // 6... in C++
125 Summe(v±s) double sum (double v, char sign, std :: istream& s){ if (sign == + ) v += val (s); else if (sign == ) v = val (s); if (consume(is, + )) return sum (v, +, s ); -1, -, "5" else if (consume(is, )) return sum (v,, s ); else return v; 3, -,"4-5", 0, +," " }... std :: stringstream input ("3 4 5"); std :: cout << sum (0, +, input) << "\n"; // 6... in C++
126 Summe(v±s) double sum (double v, char sign, std :: istream& s){ if (sign == + ) v += val (s); else if (sign == ) v = val (s); if (consume(is, + )) return sum (v, +, s ); -1, -, "5" -6 else if (consume(is, )) return sum (v,, s ); else return v; 3, -,"4-5", 0, +," " }... std :: stringstream input ("3 4 5"); std :: cout << sum (0, +, input) << "\n"; // 6... in C++
127 Summe(v±s) double sum (double v, char sign, std :: istream& s){ if (sign == + ) v += val (s); else if (sign == ) v = val (s); if (consume(is, + )) return sum (v, +, s ); -1, -, "5" -6 else if (consume(is, )) return sum (v,, s ); else return v; 3, -,"4-5", 0, +," " }... std :: stringstream input ("3 4 5"); std :: cout << sum (0, +, input) << "\n"; // in C++
128 Summe(v±s) double sum (double v, char sign, std :: istream& s){ if (sign == + ) v += val (s); else if (sign == ) v = val (s); if (consume(is, + )) return sum (v, +, s ); -1, -, "5" -6 else if (consume(is, )) return sum (v,, s ); else return v; 3, -,"4-5", 0, +," " }... std :: stringstream input ("3 4 5"); std :: cout << sum (0, +, input) << "\n"; // in C++ 539
129 Zurück zur Vollversion 540 double expression (double v, char sign, std :: istream& is) { if (sign == + ) v += term (0, x,is ); else if (sign == ) v = term (0, x,is ); else v = term(0, x, is ); if (consume(is, + )) return expression(v, +, is ); } else if (consume(is, )) return expression(v,, is ); return v; expression = term term "+" expression term " " expression.
130 Das gleiche für Terme 541 double term (double v, char sign, std :: istream& is) { if (sign == ) v = factor ( is ); else if (sign == / ) v /= factor ( is ); else v = factor( is ); if (consume(is, )) return term(v,, is ); else if (consume(is, / )) return term(v, /, is ); return v; term = factor } factor " " term factor "/" term.
131 Faktoren (fast) unverändert fertig. 542 double factor (std :: istream& is) { double v; if (consume(is, ( )){ v = expression (0, x, is ); assert (consume(is, ) ));} else if (consume(is, )) v = factor (is ); else if (lookahead(is)!= 0) is >> v; return v; } factor = "(" expression ")" " " factor unsigned_number.
15. Rekursion 2. Bau eines Taschenrechners, Ströme, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken
426 15. Rekursion 2 Bau eines Taschenrechners, Ströme, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken Motivation: Taschenrechner 427 Beispiel Eingabe: 3 + 5 Ausgabe: 8 Binäre
Mehr17. Rekursion 2. Bau eines Taschenrechners, Ströme, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken
564 17. Rekursion 2 Bau eines Taschenrechners, Ströme, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken Motivation: Taschenrechner 565 Beispiel Eingabe: 3 + 5 Ausgabe: 8 Binäre
Mehr15. Rekursion. Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen
453 15. Rekursion Rekursive Funktionen, Korrektheit, Terminierung, Aufrufstapel, Bau eines Taschenrechners, BNF, Parsen Mathematische Rekursion 454 Viele mathematische Funktionen sind sehr natürlich rekursiv
MehrTypo & Layout CHRISTOPH RAUSCHER
Typo & Layout CHRISTOPH RAUSCHER Typo & Layout CHRISTOPH RAUSCHER Interface Design, Berlin www.christowski.de mail@christowski.de ? WORUM ES HEUTE GEHT Schrift & Buchstaben Texte & Inhalte Layout & Grundwissen
Mehr15. Rekursion 2. Motivation: Taschenrechner. Naiver Versuch (ohne Klammern) Analyse des Problems (15 7 3) = Eingabe * 3 = Ergebnis 15
Motivation: Taschenrechner 15. Rekursion 2 Bau eines Taschenrechners, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken Ziel: Bau eines Kommandozeilenrechners Beispiel Eingabe:
MehrSind E-Books eigentlich innovativ?
Sind E-Books eigentlich innovativ? Strategische Innovation im Spannungsfeld von Geschäftsmodell und kulturellem Anspruch Ingrid Goldstein Knowledge Architectures Jana Steinmetz Universität St. Gallen 8.
MehrVon Likes wird keiner reich! von der Krux die PR Arbeit wirtschaftlich zu messen
Miracles come in moments. Be ready and willing Wayne Dyer Von Likes wird keiner reich! von der Krux die PR Arbeit wirtschaftlich zu messen 1 Thomas Leitner PR Arbeit = Earned Media Earned Media ist die
Mehrkleine Designhilfe Logo Schrift Farbe Das Facettenkreuz als grafisches Element Anwendungen
kleine Designhilfe Logo Schrift Farbe Das Facettenkreuz als grafisches Element Anwendungen Das Erscheinungsbild der Evangelischen Kirche in Hessen und Nassau 1 (Matth. 6,22) Kirche darf sich nicht verstecken,
MehrNeue Mailing-Produkte
Neue Mailing-Produkte Frank Bitterlich Leiter IT Günter Schmidt GmbH 1 Themen Jahresspendenmailing Neue periodische Mailingprodukte Newsletter Geburtstags- und Jubiläumsaktionen Response-Aktionen 2 Themen
MehrSchuldrecht I (Vertragsschuldverhältnisse) 41 - Klausurvorbereitung
Schuldrecht I (Vertragsschuldverhältnisse) 41 - Klausurvorbereitung Prof. Dr. Michael Beurskens, LL.M. (Gew. Rechtsschutz), LL.M. (University of Chicago), Attorney at Law (New York) Was behandeln wir heute?
MehrS e m i n a r a r b e i t im Wissenschaftspropädeutischen Seminar Pseudo Latin Languages
Lorem-Ipsum-Test-Gymnasium Abiturjahrgang 2014 Qualifikationsphase S e m i n a r a r b e i t im Wissenschaftspropädeutischen Seminar Pseudo Latin Languages Lorem Ipsum Verfasser: Leitfach: Seminarleiter:
MehrMobile UX Konzepte: Wie man vermeidet, vom User gehasst zu werden. Johannes Fahrenkrug @jfahrenkrug springenwerk.com
Mobile UX Konzepte: Wie man vermeidet, vom User gehasst zu werden Johannes Fahrenkrug @jfahrenkrug springenwerk.com : t, u Johannes Fahrenkrug @jfahrenkrug springenwerk.com Was User hassen 10 Wege, nicht
Mehrmittelstand Der Handel & HORIZONT Das Magazin von der Handel und Horizont Jetzt gezielt die Hidden Champions von Ihrem Angebot überzeugen!
Der Handel & HORIZONT PRÄSENTIEREN m 2 marketing im mittelstand Jetzt gezielt die Hidden Champions von Ihrem Angebot überzeugen! Das Magazin von der Handel und Horizont Marketing im Mittelstand. Ein Magazin
MehrHORIZONT 7PRÄSENTIERT. Das Magazin: Das Wissen der Vergangenheit gestaltet die Zukunft. Die dfv Mediengruppe feiert Jubiläum.
HORIZONT 7PRÄSENTIERT Das Magazin: Das Wissen der Vergangenheit gestaltet die Zukunft. Die dfv Mediengruppe feiert Jubiläum. 70 jahre dfv mediengruppe das magazin zum jubiläum 2 Die dfv Mediengruppe. Die
MehrHORIZONT 7PRÄSENTIERT. Das Magazin: Das Wissen der Vergangenheit gestaltet die Zukunft. Die dfv Mediengruppe feiert Jubiläum.
HORIZONT 7PRÄSENTIERT Das Magazin: Das Wissen der Vergangenheit gestaltet die Zukunft. Die dfv Mediengruppe feiert Jubiläum. 70 jahre dfv mediengruppe das magazin zum jubiläum 2 Die dfv Mediengruppe. Die
MehrPascal Schärli
Informatik I - Übung 8 Pascal Schärli pascscha@student.ethz.ch 12.04.2019 1 Was gibts heute? Best-Of Vorlesung: Prefix / Infix EBNF Vorbesprechung Problem of the Week 2 Vorlesung 3. 1 Prefix Notation Infix
MehrInformationszentrum für Touristen oder Gäste
11. 01. 2016 09:36:28 Allgemeines Titel der Umfrage Informationszentrum für Touristen oder Gäste Autor Richard Žižka Sprache der Umfrage Deutsch Öffentliche Web-Adresse der Umfrage (URL) http://www.survio.com/survey/d/x2d7w9l8e4f8u4i5j
MehrThe Future of Energy is Here
PHOTOVOLTAIK-ANLAGEN FÜR DAS HAUS FÜR FIRMEN INVESTITIONEN time for solar energy is now The Future of Energy is Here Das Unternehmen REMOR Solar beschäftigt sich seit 2007 mit der Herstellung der Befestigungssysteme
MehrHier steht die Headline. Hier steht die Subline.
www.idenko.de info@idenko.de Hier steht die Headline. Hier steht die Subline. www.clariant.com Clariant International AG Rothausstrasse 61 4132 Muttenz 1 Schweiz 14. Juli 2006 Clariant International AG
MehrProgrammier-Befehle - Woche 08
Datentypen Vektoren (mehrdim.) eines bestimmten Typs Erfordert: #include Wichtige Befehle: Definition: std::vector my vec (n rows, std::vector(n cols, init value)) Zugriff:
MehrProgrammier-Befehle - Woche 10
Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten
Mehr+ Bildsprache. + Persönlichkeit
1 Einkaufen in Gothas Innenstadt Unser Lösungsansatz: Ein Einkaufsführer darf sich nicht auf eine stupide tabellarische Auflistung der hiesigen Händlerschaft begrenzen. Um einen wirkungsvollen Einkaufsführer
MehrTitel der Arbeit. Untertitel (auch über mehrere Zeilen) Diplomarbeit
Titel der Arbeit Untertitel (auch über mehrere Zeilen) Diplomarbeit zur Erlangung des akademischen Grades eines Magisters / einer Magistra der Sozial- und Wirtschaftswissenschaften eingereicht bei Herrn
MehrHypertext Markup Language (HTML) Stefan Rothe, Thomas Jampen
Hypertext Markup Language (HTML) Stefan Rothe, Thomas Jampen 2013 09 13 Rechtliche Hinweise Dieses Werk von Stefan Rothe steht unter einer Attribution-NonCommercial-ShareAlike 3.0 License. Zudem verzichtet
MehrVO Sprachtechnologien. Informations- und Wissensmanagement. Bartholomäus Wloka. Zentrum für Translationswissenschaft
, Informations- und Wissensmanagement Zentrum für Translationswissenschaft Umgang mit Textdaten Speichern von Texten in digitaler Form text.txt text.doc text.docx text.html text.xml text.pdf text.zip
MehrDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
ADC 106 W 29 th St, New York, NY United States of America ADC Awards Saison 2015 is offiziell eröffnet! Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor Diese incididunt
MehrFünf-Minuten <div> Anlage mit KompoZer
Fünf-Minuten Anlage mit KompoZer Fabien Cazenave (Kazé), KompoZer entwickler. Warum statt ? Ertes Layout «from scratch» Neue Seite erstellen 5. 6. 7. 8. Menü-Listen einfügen Erstes
MehrMolla Mills. MACH MAL MASCHE Häkle dein Zuhause bunt
Molla Mills MACH MAL MASCHE Häkle dein Zuhause bunt Titel der finnischen Originalausgabe: Virk Kuri Copyright Molla Mills 2013 Erstveröffentlichung in Finnland durch Kustannusosakeyhtiö Nemo Laivanvarustajankatu
MehrWeb-basierte Anwendungssysteme XHTML- CSS
Web-basierte Anwendungssysteme XHTML- CSS Prof. Dr. Sergej Alekseev (alekseev@fb2.fra-uas.de) Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen
Mehrmittelstand Der Handel & HORIZONT Das Magazin von der Handel und Horizont Jetzt gezielt die Hidden Champions von Ihrem Angebot überzeugen!
Der Handel & HORIZONT PRÄSENTIEREN m 2 marketing im mittelstand Jetzt gezielt die Hidden Champions von Ihrem Angebot überzeugen! Das Magazin von der Handel und Horizont Marketing im Mittelstand. Ein Magazin
MehrUnternehmergeist braucht das Land Konjunkturforum RLB Kärnten Februar 2016 MEDIA LAUNCH
Unternehmergeist braucht das Land Konjunkturforum RLB Kärnten Februar 2016 MEDIA LAUNCH Unternehmerdefinition Person, die eine berufliche oder gewerbliche Tätigkeit selbständig ausübt. Übernimmt das Risiko
MehrERP Systeme. Vorlesungsteil 6 2015S 27.04.2015. Siegfried Zeilinger. INSO - Industrial Software
ERP Systeme Vorlesungsteil 6 2015S 27.04.2015 Siegfried Zeilinger INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Bild: http://www.ebusiness-lotse-dresden.de/uploads/rtemagicc_erp-begriffswolke.jpg.jpg
MehrMedienkompetenz, Grafik und DTP
VO 340381 Informationsdesign; Medienkompetenz, Grafik und DTP Zentrum für Translationswissenschaften Outline Wahrnehmung Aufbau Wahrnehmung Wahrnehmung: Sinnesorgane Wahrnehmung = selektive Auswahl, Organisation
MehrCANNES. Horizont rollt den roten Teppich aus:
CANNES KREATIVFESTIVAL 2017 DAS MAGAZIN 1 Horizont rollt den roten Teppich aus: 2017 CANNES Das Magazin zum größten Kreativfestival der Welt. Ihr Lookbook zu den Cannes Lions. Mit Ihrer Kommunikation.
MehrLektura. A modern blackletter typeface for headlines and copytext. Available in two weights and classic style lettersets.
Lektura A modern blackletter typeface for headlines and copytext. Available in two weights and classic style lettersets. Moderne Fraktur Kekse aus der Dose gibt es in der Kantine nebenan. Klassiker: Der
MehrLorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua!
Social Buttons Menü und Logo sind sticky, bleiben beim Scrollen sichtbar, Logo wird beim Scrollen kleiner MANIFFEST SHOOTING MARTINA KLEIN STyLING BERATUNG FREEBIE xy ausklappbare Submenüs Blogartikel-
MehrXSL-FO Formatting/Flow Objects
Aufbauend auf XLST und CSS XSL-FO Formatting/Flow Objects Julian Raschke 1 Motivation Wir haben strukturierte XML-Daten Wir sollen diese ansehnlich drucken! Und: Consider that a single
MehrTITEL DES ENTWURFS PROJEKTTITEL
PROJEKTTITEL TITEL DES ENTWURFS Vorname Nachname Matrikelnumme gewünschte Modul-Nr Dozent: Vorname Nachname Fachgebiet Architekturtheorie und Entwerfen/ Prof. Philipp Oswalt Universität Kassel - Wintersemester
MehrGestaltungsgesetze finden
Technische Dokumentation Grundlagen der visuellen Arbeit Gesetze der Gestaltung Von Lutz Dieffenbach Die Gestaltungsgesetze erklären, wie die bewusste und unbewusste Wahrnehmung von Menschen abläuft. Wie
MehrTill Brandenburger Vadim Kamkalov
Till Brandenburger Vadim Kamkalov Regional Sales Manager FACT Account Manager DACH/CEE Wien, 8. Mai 2014 Bureau van Dijk / FACT Gründungsjahr 1971 Zertifiziert nach ISO-Normen seit 1998 Zwei Geschäftsbereiche:
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
Mehr1. Tragen Sie in die freien Felder Ihre Überschriften, Adresse bzw. Text ein.
Sie benötigen: DIN A4-Qualitätspapier oder -karton Anleitung: 1. Tragen Sie in die freien Felder Ihre Überschriften, Adresse bzw. Text ein. Bei Verwendung von DIN A4-Kartonpapier legen Sie dieses in das
MehrGrundlagen 3. L A TEX-Kurs der Unix-AG. Klemens Schmitt
Grundlagen 3 L A TEX-Kurs der Unix-AG Klemens Schmitt 18.05.2016 Gleitobjekte Tabellen Weiteres zu Grafiken Zusammenfassung und Ausblick 2 / 32 Gleitobjekte Was sind Gleitobjekte? Positionierung Beschriftungen
MehrLeitfaden Adobe Premiere export - Pro Tools import
LOREM IPSUM Leitfaden Adobe Premiere export - Pro Tools import DOMINIK DI ROSA KAPITEL 1 Adobe Premier export Man kann alle aktiven Audiospuren aus einer gesamten Sequenz von Premiere Pro in eine OMF-Datei
MehrLeutasch. Sonntag, den 19. Juni Sonntag: 19. Juni 2016
Leutasch Sonntag, den 19. Juni 2016 Sonntag: 19. Juni 2016 Heute ganzer Tag Regenfall. Lesen viel und machen am Nachmittag einen Spaziergang über die obere Wiese am Leutascherbach entlang bis zum Alpenbad
MehrThermePlus. Tief durchatmen
ThermePlus Das ist neu in BadBevensen: Übernachten Sie in einem unserer Partnerhotels, so ist der Eintritt in die Jod-Sple- Therme gleich inbegriffen. Consectetuer adipiscing elit, sed diam nonummy nibh
MehrCANNES. Horizont rollt den roten Teppich aus:
CANNES KREATIVFESTIVAL 2016 DAS MAGAZIN 1 Horizont rollt den roten Teppich aus: 2016 CANNES Das Magazin zum größten Kreativfestival der Welt. Ihr Lookbook zu den Cannes Lions. Mit Ihrer Kommunikation.
MehrKontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht
Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante
Mehr2018
2018 MLRP@stmelf.bayern.de Seite 2 von 20 vor der Zeichenfarbe-Wiederherstellung [complementary of #5E273 = #FA1D8C] nach der Zeichenfarbe-Wiederherstellung (und vor Textfarbe-Wiederherstellung) [white]
MehrNatürlich. ilex. Ilex crenata Dark Green Ilex crenata Blondie
Natürlich ilex Ilex crenata Dark Green Ilex crenata Blondie L Inhalt orem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
MehrLeutasch. Sunday, June 19th Sonntag: 19. Juni 2016
Leutasch Sunday, June 19th 2016 Sonntag: 19. Juni 2016 Heute ganzer Tag Regenfall. Lesen viel und machen am Nachmittag einen Spaziergang über die obere Wiese am Leutascherbach entlang bis zum Alpenbad
Mehrwerbung treiber. Das jährliche Magazin von HORIZONT mit den Top-Themen der OWM! NOVEMBER 2017 DAS MAGAZIN treiber PeoPle, Trends, Cases
werbung. treiber. Das jährliche Magazin von HORIZONT mit den Top-Themen der OWM! NOVEMBER 2017 DAS MAGAZIN werbung treiber PeoPle, Trends, Cases werbung. treiber. Das Magazin mit den Top-Themen der OWM
MehrM U S T E R G M B H, R O S E N W E G 2, 00000 IR G E N D W O. Gläubiger-Identifikationsnummer DE99ZZZ05678901234 Mandatsreferenz 66443
M U S T E R G M B H, R O S E N W E G 2, 00000 IR G E N D W O Mandatsreferenz 66443 SEPA-Lastschriftmandat Ich ermächtige die Muster GmbH, E INM ALIG EINE ZAHLUNG von meinem Konto mittels Lastschrift einzuziehen.
Mehr2 SEPA-Lastschriftmandat als separates Formular
2 SEPA-Lastschriftmandat als separates Formular 2.1 Standardfall einer wiederkehrenden Lastschrift M U S T E R G M B H, R O S E N W E G 2, 0 0 0 0 0 I R G E N D W O Mandatsreferenz 987 543 CB2 SEPA-Lastschriftmandat
MehrGymnsaium Salvatorkolleg Bad Wurzach Freie Studien Klasse 10a Schuljahr 2012/13 Die Bibel ein Buch für heute! Thema: Bibel und Dialog
Gymnsaium Salvatorkolleg Bad Wurzach Freie Studien Klasse 10a Schuljahr 2012/13 Die Bibel ein Buch für heute! Thema: Bibel und Dialog vorgelegt von: Max Mustermann Musterstr. 123 12345 Musterdorf Bad Wurzach,
Mehrmittelstand Der Handel & HORIZONT Das Magazin von der Handel und Horizont Jetzt gezielt die Hidden Champions von Ihrem Angebot überzeugen!
Der Handel & HORIZONT PRÄSENTIEREN m 2 marketing im mittelstand Jetzt gezielt die Hidden Champions von Ihrem Angebot überzeugen! Das Magazin von der Handel und Horizont 05 2018 Marketing im Mittelstand.
MehrDesign macht sichtbar..designbüro14 Print. Web. Präsentationen
Design macht sichtbar..designbüro14 Print. Web. Präsentationen konzeption + design kompetenz + qualität Um die Qualität eines Produkts zu erkennen, muss man es erst einmal wahrnehmen. Ganz klar - Ihr Produkt
Mehr1.1 SEPA-Lastschriftmandat als separates Formular
Seite 4 von 13 1.1 SEPA-Lastschriftmandat als separates Formular 1.1.1 Standardfall einer wiederkehrenden Lastschrift Mandatsreferenz 987543CB2 SEPA-Lastschriftmandat Ich ermächtige die Muster GmbH, Zahlungen
MehrWestfälische Wilhelms-Universität Münster Zentrum für Islamische Theologie. Titel der Arbeit
Westfälische Wilhelms-Universität Münster Zentrum für Islamische Theologie Titel der Arbeit Hausarbeit/Projektarbeit/Bachelorarbeit/Masterarbeit 1 im Studiengang Islamische Religionslehre/Islamische Theologie
MehrStreams, Kodierung und Funktionen. C++ Übung am 12. Mai 2016
Streams, Kodierung und Funktionen C++ Übung am 12. Mai 2016 Wiederholung: Streams #include // Input-Output-Stream std::cout std::cin std::cerr // Standardausgabe // Standardeingabe // Standardfehlerausgabe
MehrTextvergleich-Gutachten
Textvergleich-Gutachten Der 60tools Textvergleich hat zwei Texte auf ihre Ähnlichkeit miteinander verglichen. Dabei wurde auftragsgemäß ermittelt, wie und worin sich die Texte unterscheiden. Für die ermittelten
MehrHeben Sie Ihren Vertrieb auf ein neues Level und begeistern Sie Ihre Kunden!
Heben Sie Ihren Vertrieb auf ein neues Level und begeistern Sie Ihre Kunden! F F Firma Home Produkte Über UnsK ontakt aáé=` çéó=ï ~êåí É=Ç~ë=_äáåÇí ñí ÅÜÉåI É= Ç~I ï= ç =ëáé=üéêâžãé=ï ŽêÉ=ëáÉK _ r lq kq
MehrSoftware EMEA Performance Tour 2013. 17.-19 Juni, Berlin
Software EMEA Performance Tour 2013 17.-19 Juni, Berlin Effektives Projekt und Portfolio Management Copyright 2012 Hewlett-Packard Development Company, L.P. The information contained herein is subject
MehrBeispielschreiben zur Umstellung auf das SEPA-Basis- Lastschriftverfahren
Quelle der nachstehenden Inhalte: Die Deutsche Kreditwirtschaft Beispiel-Formulare für das SEPA-Lastschriftmandat und das Kombimandat sowie Beispielschreiben zur Umstellung auf das SEPA-Basis- Lastschriftverfahren
Mehrwerbung. treiber. Das jährliche Magazin von HORIZONT mit den Top-Themen der OWM! NOVEMBER 2017 DAS MAGAZIN wer trei bung ber PeoPle, Trends, Cases
werbung. treiber. Das jährliche Magazin von HORIZONT mit den Top-Themen der OWM! NOVEMBER 2017 DAS MAGAZIN wer trei bung ber PeoPle, Trends, Cases werbung. treiber. Das Magazin mit den Top-Themen der OWM
MehrRichtlinie zur Markenidentität 2015
Richtlinie zur Markenidentität 2015 DE Bild: David Lliff EVP-Fraktion im Europäischen Parlament Rue Wiertz 60 1047 Brüssel, Belgien Redakteur Inhaltsverzeichnis Einleitung... 2 Grafische Kohärenz... 2
MehrKunden Forum 2007. Headline. TÜV SÜD Management Service GmbH
Bereich Headline Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
MehrTitel der Arbeit. Name Matrikelnummer:
Titel der Arbeit Art der Arbeit von Name Matrikelnummer: An der Fakultät für Wirtschaftswissenschaften Institut für Angewandte Informatik und Formale Beschreibungsverfahren Gutachter: Betreuende Mitarbeiter:
Mehr16. Structs und Klassen I. Rationale Zahlen, Struct-Definition, Operator-Überladung, Datenkapselung, Klassen-Typen
491 16. Structs und Klassen I Rationale Zahlen, Struct-Definition, Operator-Überladung, Datenkapselung, Klassen-Typen Rechnen mit rationalen Zahlen 492 Rationale Zahlen (Q) sind von der Form n d mit n
MehrTipps und Tricks. für die PDF-Präsentation
Tipps und Tricks für die PDF-Präsentation Um die Wirkung der einzelnen Punkte sehen zu können, muss die Präsentation zuerst heruntergeladen und dann mit folgenden Einstellungen im Adobe Acrobat Reader
MehrSpielplan SaiSon 09/10
Spielplan 1. BundeS liga SaiSon 09/10 Liebe Fußballfreunde und freundinnen! Eine neue Saison der FußballBundesliga steht bevor. Sicher können auch Sie es kaum erwarten, bis in den Stadien wieder der Ball
MehrLorem ip#um dolor #it amet, con#ectetur adipi#ici elit, #ed. Duis autem vel eum iriure dolor in hendrerit in vulputate
Ihr kompetenter und zuverlässiger Partner bei der Erforschung, Darstellung und Vermittlung von Geschichte Lorem ip#um dolor #it amet, con#ectetur adipi#ici elit, #ed eiu#mod tempor incidunt ut labore et
MehrÜber mich. Ulrike Holtzem Lebenskraft-Gestaltung Am Eschbichl München Fon Mobil
Als Gestalterin, Artdirektorin und Werbefachfrau bin ich seit über 25 Jahren in der Werbebranche tätig, führte einige Jahre meine eigene Werbeagentur und habe Erfahrung sowohl mit Weltkonzernen sowie kleinen
MehrLindenmayer-Systeme: Fraktale rekursiv zeichnen
Lindenmayer-Systeme: Fraktale rekursiv zeichnen Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) Lindenmayer-Systeme: Definition o Alphabet Σ ( Beispiel: {F, +, -} ) o Σ * = Menge aller
MehrBrigitte Lampert. DIN15, Brigitte Lampert, Dienerstrasse 15, 8004 Zürich, +41 44 291 61 85
2010 Brigitte Lampert Brigitte Lampert Brigitte Lampert, 1972, MA Communication Design; Kantonale Schule für Gestaltung St.Gallen, 4-jährige Ausbildung zur Grafikerin bei Hans-Peter Gassner in Vaduz; halbjähriges
Mehr2. Ganze Zahlen int unsigned int
99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrMEDIADATEN Gültig ab
MEDIADATEN 2018 - Gültig ab 01.01.2018 natur Leser sind bewusste Konsumenten mit hoher Bio- und Fairtrade-Affinität 2 Titelporträt natur-leser natur ist das Magazin für Natur, Umwelt und besseres Leben
MehrInhaltsverzeichnis. 6 Plakate. Das Erscheinungsbild des Freistaates Sachsen
6 Inhaltsverzeichnis 6 6 01 Grundformat A3 6 01. 01 Grundformat A3 Vermaßung 6 01. 02 Grundformat A3 Platzierung von Zweitlogos 6 02. 01 Aushang Grundformat A2 6 02. 02 Aushang Grundformat A2 Vermaßung
MehrIdeen Visualisierung Realisation
Ideen Visualisierung Realisation Am Anfang steht das Wort Austausch und Dialog Lorem ipsum dolor sit amet, consectetuer Interesse elit, sed diam Planung nibh euismod tincidunt ut laoreet dolore magna aliquam
MehrName der Projektarbeit
Auf dieser Seite Bilder einfügen und schön gestalten. Name der Projektarbeit Autor: Pauline Musterfrau Klasse: 9g Projektmitglieder: Paul, Peter, Pauline Betreuer: Herr Müller Projektarbeit GGemS Pönitz
MehrVORSPRUNG DURCH WISSEN
SEMINARPROGRAMM 2010 VORSPRUNG DURCH WISSEN ZERTIFIZIERTER SENSOMOTORIK- THERAPEUT SPRINGER DIN EN ISO 13485 Institut für Qualitätssicherung und Zertifizierung in der Orthopädie-Technik 41 Fortbildungspunkte
MehrBeispiel-Formulare für das SEPA-Firmenlastschrift-Mandat Grundlage: SEPA-Firmenlastschrift, Regelwerk Version 1.2
Z E N T R A L E R K R E D I T A U S S C H U S S MITGLIEDER: BUNDESVERBAND DER DEUTSCHEN VOLKSBANKEN UND RAIFFEISENBANKEN E.V. BERLIN BUNDESVERBAND DEUTSCHER BANKEN E.V. BERLIN BUNDESVERBAND ÖFFENTLICHER
MehrDataforce Analytics Öko-Studie Beispielanalyse
Dataforce Analytics Öko-Studie 2016 Beispielanalyse Übersicht Zustimmung zu vorgelegten Aussagen Die zu bewertenden Aussagen lauten wie folgt: Der geringe CO 2 -Ausstoß des Fahrzeugs spielt bei der Auswahl
Mehr6. Kontrollanweisungen II
Sichtbarkeit 6. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. int
MehrSelbständige Projektarbeit 2008. Drogensucht. Kurzes Glück, langes Leiden. Anja Neuhaus Oberstufenzentrum Stockhorn Konolfingen. März 2008, Klasse s9b
Selbständige Projektarbeit 2008 Drogensucht Kurzes Glück, langes Leiden Anja Neuhaus Oberstufenzentrum Stockhorn Konolfingen März 2008, Klasse s9b Drogensucht Selbständige Projektarbeit im Rahmen des Abschlussprojektes
MehrGrunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken
Typkonversion, Überprüfen und Auswerten von Ausdrücken Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-12-13/infoeinf WS12/13 Grunddatentypen
Mehr5. Kontrollanweisungen II
Sichtbarkeit 5. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. int
Mehr2. Ganze Zahlen. Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int
74 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit 75 // Program: fahrenheit.cpp
MehrZ E N T R A L E R K R E D I T A U S S C H U S S
Z E N T R A L E R K R E D I T A U S S C H U S S MITGLIEDER: BUNDESVERBAND DER DEUTSCHEN VOLKSBANKEN UND RAIFFEISENBANKEN E.V. BERLIN BUNDESVERBAND DEUTSCHER BANKEN E.V. BERLIN BUNDESVERBAND ÖFFENTLICHER
MehrGrunddatentypen, Ausdrücke und Variablen Typkonversion, Überprüfen und Auswerten von Ausdrücken
1 Typkonversion, Überprüfen und Auswerten von Ausdrücken Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/
Mehr1. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32
1. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 1 Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrKapitel 1 2 14. Februar 2010
1 14. Februar 2010 Kapitel 1 2 14. Februar 2010 E-BusinessMarketing KPI MarketingOnline KPI Marketing Web Web Assessment Usability Benchmarking Controlling Controlling Benchmarking Usability E-Business
MehrInformationen für Autorinnen und Autoren Stand: Frühling 2012
Informationen für Autorinnen und Autoren Stand: Frühling 2012 Folgende Informationen stellen eine allgemeine Format-Anleitung für Artikel dar, die bei der»zeitschrift für junge Religionswissenschaft«eingereicht
MehrSeite 2 von 13. Inhalt
Beispiel-Formulare für das SEPA-Lastschriftmandat und das Kombimandat sowie Beispielschreiben zur Umstellung auf das SEPA-Basis-Lastschriftverfahren Grundlage: Regelwerk für die SEPA-Basis-Lastschrift
MehrGrundlagen der Informatik 5. Kontrollstrukturen II
5. Kontrollstrukturen II Schleifen Sprünge Grundlagen der Informatik (Alex Rempel) 1 Schleifen Schleifen allgemein und in C++ Schleifen (Loops) ermöglichen die Realisierung sich wiederholender Aufgaben
Mehr