Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
|
|
- Sylvia Ziegler
- vor 8 Jahren
- Abrufe
Transkript
1 Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg li $v0,4 syscall jr $ra 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 1
2 Inhalt 1. Literatur 2. Compiler III 3. Lexikalische Analyse 4. Symboltabellen 5. Zwischencodegenerierung 6. Zusammenfassung der Phasen der Übersetzung 7. Ausgewählte Probleme 8. Lex und Yacc 9. Zusammenfassung und Ausblick 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 2
3 Literatur [ALSU08] Aho, Alfred V., Monica S. Lam, Ravi Sethi und Jeffrey D. Ullmann: Compiler - Prinzipien, Techniken und Werkzeuge. Pearson, [BO10] Bryant, Randal E. und David R. O Hallaron: Computer Systems - A Programmer s Perspective. Prentice Hall, Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 3
4 Compiler III Wiederholung Grammatiken zur Syntaxbeschreibung Syntaxanalyse Parse-Bäume Im Folgenden Lexikalische Analyse Symboltabellen Zwischencodegenerierung Zusammenfassung der Phasen der Übersetzung Ausgewählte Probleme Lex und Yacc 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 4
5 Lexikalische Analyse I Modell des Compiler-Front-Ends Abbildung: Quelle: [ALSU08, S. 51] Lexikalische Analyse gruppiert Eingabezeichen zu Tokenobjekten 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 5
6 Lexikalische Analyse II Lexikalische Analyse gruppiert Eingabezeichen zu Tokenobjekten Neben einem Terminal, das für Parsing-Entscheidungen verwendet wird, enthalten Tokenobjekte zusätzliche Informationen in der Form von Attributwerten Bisher keine Unterscheidung zwischen den Begriffen Token und Terminal Token ist ein Terminal mit zusätzlichen Symbolen Erinnerung: Die Sequenz von Eingabezeichen, die ein einzelnes Token bildet, wird als Lexem bezeichnet Aufgaben der lexikalischen Analyse sind außerdem: Entfernen von Leerzeichen und Kommentaren 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 6
7 Lexikalische Analyse III Viele Sprachen lassen beliebig viele Leerzeichen zu werden bei der Analyse ignoriert Auch Kommentare können ignoriert werden Wenn z. B. Leerzeichen vom lexikalischen Scanner elimniert werden, muss der Parser sich keine Gedanken machen Pseudoalgorithmus for ( ; ; peek = nächstes Eingabezeichen) { if (peek ist leer oder Tabulatorsprung) tue nichts; else if (peek ist Zeilenumbruchzeichen) line = line + 1; else break; } Zeilennummern sind für Fehlermeldungen nützlich line zählt die Anzahl der Zeilenumbruchzeichen 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 7
8 Lexikalische Analyse IV Vorausschauendes Lesen: Ein lexikalischer Scanner muss gegebenfalls einige Zeichen im Voraus lesen, um feststellen zu können, welches Token an den Parser zurückgegeben werden muss Ein lexikalischer Scanner (z. B. für C) muss Zeichen vom Voraus lesen, nachdem er das Zeichen > gefunden hat Ist das folgende Zeichen das Gleichheitszeichen =, dass ist > Teil der Zeichensequenz >= >= Lexem des Tokens für den Operator größer oder gleich Andernfalls stellt > den Operator größer als dar Scanner hat ein Zeichen zu viel gelesen Realisierung eines Eingabepuffers effizienter, Zeichenblöcke zu verarbeiten Es gibt aber auch Operatoren z. B. * die ohne Vorauslesen identifiziert werden 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 8
9 Lexikalische Analyse V Erkennen von Schlüsselwörtern und Bezeichnern: Die meisten Sprachen verwenden feste Zeichenketten (z. B. for, do und if) zur Identifizierung von Konstrukten Zeichenkette wird als Schlüsselwort bezeichnet Zeichenketten werden als Bezeichner für Variablen, Arrayzugriffe, Funktionen usw. verwendet Grammatiken behandeln Bezeichner als Terminale, um den Parser zu vereinfachen Der Parser erwartet dann, wenn ein Bezeichner Teil der Eingabe ist, das gleiche Terminal, z. B. id Eingabe von count = count + increment; Der Parser arbeitet dann den Terminalstream id = id + id ab. Token id hat ein Attribut, das das Lexem speichert <id, count > <=> <id, count > <+> <id, increment > <;> 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 9
10 Lexikalische Analyse VI Da Schlüsselwörter den Regeln zur Erstellung von Bezeichnern entsprechen, muss ein Mechanismus gefunden werden, anhand dessen festgelegt werden kann, wann ein Lexem ein Schlüsselwort ist und wann es einen Bezeichner bildet Problem ist einfacher zu lösen, wenn Schlüsselwörter reserviert sind dürfen dann nicht als Bezeichner verwendet werden In ABAP können identische Zeichenketten für Bezeichner und Schlüsselworte verwendet werden (außerdem ist + nicht gleich + ) Zeichenketten können nur dann Bezeichner sein, wenn sie kein Schlüsselwort sind Scanner kann in einer Tabelle auf die reservierten Wörter zugreifen und einfach unterscheiden, ist es ein Bezeichner oder Schlüsselwort Pseudocode, weitere Erläuterungen [ALSU08, S. 98 f.] 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 10
11 Symboltabellen I Bei Symboltabellen handelt es sich um Datenstrukturen, die von Compilern zur Speicherung von Informationen über Quellprogrammkonstrukte verwendet werden. Die Informationen (= Symboltabelleneinträge) werden schrittweise während der Analysephase des Compilers gesammelt und in der Synthesephase verwendet, um den Zielcode zu erstellen Einträge in der Symboltabelle enthalten Informationen über einen Bezeichner (z. B. Zeichenstring), seinen Typ, seinen Speicherplatz Symboltabellen müssen normalerweise mehrere Deklarationen des gleichen Bezeichners in einem Programm unterstützen können Gültigkeitsbereich einer Deklaration ist der Teil eines Programms, für das die Deklaration zutrifft Für jeden Gültigkeitsbereich wird eine separate Symboltabelle eingerichtet 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 11
12 Symboltabellen II Pseudocode: Indizes werden verwendet, um zwischen verschiedenen Deklarationen des gleichen Bezeichners zu unterscheiden 1) {int x1; int y1; 2) {int w2; bool y2; int z2; 3)...w2...;...x1...;...y2...;...z2...; 4) } 5)...w0...;...x1...;...y1...; 6) } Achtung: Index ist nicht Teil des Bezeichners 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 12
13 Symboltabellen III Das Vorkommen von y in Zeile 3 befindet sich im Gültigkeitsbereich von y in Zeile 2, da y innerhalb eines inneren Blocks neu deklariert wird Das Vorkommen von y in Zeile 5 liegt jedoch im Gültigkeitsbereich der Deklaration von y in Zeile 1 Das Vorkommen von w in Zeile 5 liegt wahrscheinlich innerhalb des Gültigkeitsbereichs einer Deklaration von w außerhalb dieses Codefragments mit Index 0 wird eine Deklaration angegeben, die entweder global ist oder außerhalb dieses Blocks liegt Deklaration von z kann nur innerhalb des verschachtelten Blocks verwendet werden. 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 13
14 Symboltabellen IV Symboltabellen werden miteinander verkettet Abbildung: Quelle: [ALSU08, S. 108] 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 14
15 Zwischencodegenerierung I Zwischencodegenerierung, zwei Möglichkeiten Bäume, Parse-Bäume und abstrakte Syntaxbäume Lineare Darstellung Drei-Adress-Code Das Compiler-Front-End erstellt aber nicht nur eine Zwischendarstellung, sondern überprüpft auch, ob das Quellprogramm den syntaktischen und semantischen Regeln der Quellsprache folgt Diese Prüfung wird auch als statische Überprüfung 1 bezeichnet Ableitung des Drei-Adress-Codes aus Syntaxbaum 1 dynamische Überprüfung z. B. in Java 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 15
16 Zwischencodegenerierung II Drei-Adress-Befehle Bei Drei-Adress-Code handelt es sich um Befehl im Format x = y op z x, y und z sind Namen, Konstanten oder temporäre Werte Arrayzugriff kann durch folgende Befehlsvariante realisiert werden x [y] = z x = y[z] Drei-Adress-Befehle werden nacheinander ausgeführt, Ausnahme bedingte oder unbedingte Sprünge if False x goto L if True A goto L goto L Kopieren von Werten x = y 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 16
17 Zwischencodegenerierung III Syntaxbaum Teil eines Syntaxbaums Abbildung: Quelle: [ALSU08, S. 118] 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 17
18 Zwischencodegenerierung IV Übersetzung von Ausdrücken Aufgabe: Übersetzen einfacher Ausdrücke: i - j + k Für jeden Operatorknoten im Syntaxbaum eines Ausdrucks wird nun ein Drei-Adress-Befehl generiert Dazu werden auch temporäre Namen verwegen Obiges Konstrukt wird zu t1 = i - j t2 = t1 + k Arrayzugriff: a[i] = 2 * a[j-k] Übersetzung aus Syntaxbaum zu: t3 = j - k t2 = a[t3] t1 = 2 * t2 a[i] = t1 Pseudocode vgl. [ALSU08, S. 125 ff.] 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 18
19 Zusammenfassung: Phasen der Übersetzung I Abbildung: Quelle: [ALSU08, S. 130] 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 19
20 Zusammenfassung: Phasen der Übersetzung II Ausgangspunkt bei einem syntaxgerichteten Übersetzer ist eine Grammatik für die Quellsprache Mit der Grammatik wird die hierarchische Struktur von Programmen beschrieben Grammatik wird mit grundlegenden Symbolen (Terminale) und variablen Symbolen (Nichtterminale) definiert Symbole stellen Sprachkonstrukte dar Die Regeln der Grammatik werden als Produktionen bezeichnet Produktionen bestehen aus Nichtermial (oder Kopf, linke Seite) und einer Sequenz von Terminalen und Nichtterminalen Rechte Seite ist der Rumpf der Produktion Ein Nichtermial wird als Startsymbol festgelegt 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 20
21 Zusammenfassung: Phasen der Übersetzung III Bei der Spezifikation eines Übersetzers ist es hilfreich, Programmierkonstrukten Attribute hinzuzufügen Konstrukte werden durch Grammatiksymbole dargestellt Attributkonzept wird auf Grammatiksymbole ausgeweitet Beispiel für Attribute: ein mit einem Terminal num verknüpfter Integerwert 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 21
22 Zusammenfassung: Phasen der Übersetzung IV Ein lexikalischer Scanner liest bei der Eingabe einzelne Zeichen und erstellt einen Tokenstream als Ausgabe, wobei ein Token aus einem Terminalsymbol mit zusätzlichen Informationen in der Form von Attributwerten besteht. Schreibweise der Token z. B. als Tupel und in < > eingeschlossen Beispiel: Token (id, peek ) besteht aus dem Terminal id und einem Zeiger auf den Symboltabelleneintrag, der den String peek enthält. Der Übersetzer verwendet die Tabelle, um reservierte Wörter und Bezeichner, die bereits aufgetreten sind, zu verfolgen 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 22
23 Zusammenfassung: Phasen der Übersetzung V Die Syntaxanalyse (Parsing) wird dazu verwendet, beginnend mit dem Startsymbol einer Grammatik einen String mit Terminalen abzuleiten, indem ein Nichtterminal durch den Rumpf einer seiner Produktionen ersetzt wird Der Parser erstellt einen Parse-Baum, in dem die Wurzel mit dem Startsymbol bezeichnet wird, jeder interne Knoten einer Produktion entspricht und jedes Blatt mit einem Terminal oder dem leeren String ɛ gekennzeichnet wird. Die syntaxgerichtete Übersetzung erfolgt, indem den Produktionen in einer Grammatik entweder Regeln oder Programmfragmente hinzugefügt werden. Eingebettete Programmfragmente werden auch semantische Aktionen genannt Das Ergebnis der Syntaxanalyse wird als Zwischencode bezeichnet abstrakter Syntaxbaum, Drei-Adress-Code 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 23
24 Zusammenfassung: Phasen der Übersetzung VI Symboltabellen sind Datenstrukturen, in denen Informationen über Bezeichner gespeichert werden. Diese Informationen werden der Tabelle hinzugefügt, wenn die Deklaration eines Bezeichners analysiert wird Eine semantische Aktion ruft Informationen aus der Symboltabelle ab Ausführliche (wenn auch nicht immer ganz einfach verständliche) Informationen mit Beispiel im Pseudocode sind in [ALSU08] dargestellt 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 24
25 Ausgewählte Probleme I Registervergabe Für die Programmierung in Assembler ist eine Übersicht der Register wichtig Programmiermodell für die IA32-Architektur Abbildung: Quelle: [BO10, S. 202] Abbildung der Zwischencodes (in dem potentiell sehr viele Variablen benutzt werden können) auf eine Maschine mit 8 Registern 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 25
26 Ausgewählte Probleme II Registervergabe Ein wesentliches Problem bei der Codeerzeugung ist die Entscheidung, welche Werte in welchen Registern abgelegt werden sollen Erinnerung: Speicherhierarchie (langsamer Hauptspeicher, schneller Registerspeicher) Bei der Codeerzeugung muss darauf geachtet werden, eine optimale Zuweisung von Registern zu Variablen zu finden Und das ist selbst bei Maschinen mit nur einem Register ggf. schwierig Mathematisch gesehen ist das Problem NP-vollständig Komplexität wird dadurch gesteigert, dass Prozessoren evt. bestimmte Konventionen für die Registernutzung haben Im Prinzip kann man Register für die Aufnahme von Werten für die Dauer eines Blocks zuweisen 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 26
27 Ausgewählte Probleme III Registervergabe Globale Registervergabe kann z. B. für eine feste Anzahl von Registern für die aktivsten Werten jeder Schleife vorgenommen werden In frühen C-Compilern konnte der Programmierer einen Teil der Register explizit vergeben Datentyp register Überlegte Einsatz von Registern beschleunigte viele Programme Aber: Programmierer musste ein Profil der Programme erstellen, um die entscheidenden Programmstellen zu ermitteln Reminder: Schlüsselwort register immernoch vorhanden, Analyse hat aber gezeigt, das es ignoriert wird Verwendungszähler, Registervergabe durch Graphfärbung (vgl. [ALSU08, S. 679]) 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 27
28 Ausgewählte Probleme IV Peephole-Optimierung Eine Möglichkeit der Verbesserung des Zielcodes ist die Peephole 2 -Optimierung (vgl. [ALSU08, S. 670]) Das Guckloch ist ein kleines verschiebares Fenster zu einem Programm Charakteristische Beispiele für Programmtransformationen Beseitigung redundanter Befehle Optimierung des Kontrollflusses Algebraische Vereinfachung 2 Guckloch 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 28
29 Ausgewählte Probleme V Peephole-Optimierung Entfernen redundanter Lade- und Speicherbefehle Zielprogramm hat folgenden Code LD R0,a ST a,r0 Speicherbefehl nicht notwendig 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 29
30 Ausgewählte Probleme VI Peephole-Optimierung Entfernen von unerreichbaren Codes Ein Befehl ohne Sprungmarke direkt hinter einem unbedingten Sprung kann gelöscht werden Weiteres Beispiel if debug == 1 goto L1 goto L2 L1: print debugging information L2:... Optimierung durch Beseitigung von Sprüngen if debug!= 1 goto L2 print debugging information L2: Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 30
31 Ausgewählte Probleme VII Peephole-Optimierung Optimierung des Kontrollflusses goto L1... L1: goto L2 Wird durch folgende Konstruktion ersetzt goto L2... L1: goto L2 Weitere Optimierungen: Gibt es keine Sprünge mehr zu L1, kann die Anweisung L1: goto L2 gelöscht werden Vorausgesetzt, davor steht ein unbedingter Sprung 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 31
32 Ausgewählte Probleme VII Peephole-Optimierung Algebraische Vereinfachung und Kostenreduzierung Oder x = x + 0 x = x * 1 Reminder: Multiplikation und Division 2 wird durch Shift-Befehle realisiert Für die Gleichung d = a b a c werden 2 Multiplikationen und eine Subtraktion benötigt. Die Gleichung kann umgeformt werden: d = a b a c d = a (b c) Außerdem: Common Subexpression Elimination, Zusammenfassen von Ausdrücken 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 32
33 Lex und Yacc Im Prinzip ist der Entwurf von Compilern für eine Sprache sehr reguläres Problem Für eine Sprache liegt eine Grammatik vor Warum nicht automatisierte Generierung für lexikalische Scanner? Tool: Lex bzw. Flex ist ein solcher Scanner (vgl. [ALSU08, S. 170 ff.]) Eingabesprache wird als Lex-Sprache bezeichnet, das Tool selbst als Lex-Compiler Struktur eines Lex-Programms Deklaration %% Übersetzungsregeln %% Hilfsfunktionen 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 33
34 Lex und Yacc Yacc ist ein Parsergenerator (vgl. [ALSU08, S. 343 ff.]) Erleichterung beim Bau eines Compiler-Front-Ends Deklaration %% Übersetzungsregeln %% Unterstützende C-Routinen 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 34
35 C2H Compiler Compiler: Sprachübersetzer Quellsprache C, Zielsprache HDL 3 Wird verwendet für Designspezifikation (auf unterschiedlichen Ebenen), Simulation, Verifikation und Dokumentation Aber auch Synthese für Zielarchitekturen (ASIC bzw. FPGA) C2H Compiler übersetzt C-Quellcode in eine Hardwarebeschreibungssprache Welchen Sinn macht das? Problem: Sequentielle Beschreibung Zielarchitektur arbeitet parallel 3 Hardware Description Language 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 35
36 Weiterführende Veranstaltung und Forschung am Fachbereich Informatik FG Eingebettete Systeme und ihre Anwendungen Prof. Dr. A. Koch Vorlesung: Optimierende Compiler im Sommersemester 2011 Grundkenntnisse Algorithmen und Datenstrukturen Java Rechnerarchitektur (erworben z. B. durch Technische Grundlagen der Informatik) Praktikum: Compiler für Java-artige Sprache und MIPS Forschung: Entwurf adaptiver Rechensysteme 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 36
37 Zusammenfassung und Ausblick Compiler III Nächste Vorlesung behandelt Betriebssysteme I 19. Januar 2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 37
2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrKapitel 4. Einführung in den Scannergenerator Flex. Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9
Kapitel 4 Einführung in den Scannergenerator Flex Einführung in den Scannergenerator Flex Wintersemester 2008/09 1 / 9 Generatoren für die lexikalische Analyse Scannergeneratoren werden eingesetzt um die
MehrWas ist ein Compiler?
Was ist ein Compiler? Was ist ein Compiler und worum geht es? Wie ist ein Compiler aufgebaut? Warum beschäftigen wir uns mit Compilerbau? Wie ist die Veranstaltung organisiert? Was interessiert Sie besonders?
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrFachseminar WS 2008/09
Fachseminar WS 2008/09 Fachgebiet: Compilerbau Thema: Lexikalische Analyse (Scanner) Referent: Ali Sediq Betreuer: Prof. Dr. Helmut Weber 1 Inhaltsverzeichnis Lexikalische Analyse 1.0 Grundprobleme der
MehrEinfü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
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrPraktikum Compilerbau
Implementation eines s 20. April 2005 Vorlesungen Vorlesungen, die nützliche für das Praktikum liefern: Automaten, Formale Sprachen und Berechenbarkeit bau Abstrakte Maschinen Programm-Optimierung Fertigkeiten
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
Mehr1. Formale Sprachen 1.2 Grammatiken formaler Sprachen
1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit
MehrFormale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrTheoretische Informatik I
Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften
Mehr1 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.
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrVisual Basic Express Debugging
Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrIT-Basics 2. DI Gerhard Fließ
IT-Basics 2 DI Gerhard Fließ Wer bin ich? DI Gerhard Fließ Telematik Studium an der TU Graz Softwareentwickler XiTrust www.xitrust.com www.tugraz.at Worum geht es? Objektorientierte Programmierung Konzepte
MehrPraktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben
Technische Universität Kaiserslautern Prof Dr Sven O Krumke Dr Sabine Büttner MSc Marco Natale Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben Aufgabe 1 (Konvertieren
Mehr10 Erweiterung und Portierung
10.1 Überblick In vielen Fällen werden Compiler nicht vollständig neu geschrieben, sondern von einem Rechnersystem auf ein anderes portiert. Das spart viel Arbeit, ist aber immer noch eine sehr anspruchsvolle
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrAlgorithmen mit Python
Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrÜbersetzergenerierung mit lex und yacc
Übersetzergenerierung mit lex und yacc 0. Überblick und Organisatorisches Jan Bredereke SoSe 2004, Universität Bremen otivation Übersetzer: Grundlegende Werkzeuge welche Fehler kann er finden? Konstrukt
Mehr1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern
1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten
MehrErweiterung 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
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrDie Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Sprachen und Übersetzer Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 4. Juni 2015 Sprachen vs. Übersetzer Sprache C11 Übersetzer GNU C
MehrKapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen
reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung
MehrDownloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler
Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5
Mehr4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrZahlensysteme: Oktal- und Hexadezimalsystem
20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen
MehrMotivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de
MehrMediator 9 - Lernprogramm
Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop
MehrTheoretische Informatik I
Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken
Mehr1 Dokumentenmanagement
1 Dokumentenmanagement Das Dokumentenmanagement des GV Büro-System ist ein äußerst leistungsfähiges und mächtiges Tool. Es ist in der Lage, nahezu sämtliche Arten von Dokumenten auf einfache Art und Weise
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrEmpfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1
Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann, 2005. 1 Starten der CD Nach dem Einlegen der CD in Ihr CD-Laufwerk müsste die CD von selbst
MehrDiplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008
Konzeption und Implementierung einer automatisierten Testumgebung, 10. Dezember 2008 1 Gliederung Einleitung Softwaretests Beispiel Konzeption Zusammenfassung 2 Einleitung Komplexität von Softwaresystemen
MehrÜbung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie
Übung zur Vorlesung Einführung in die Computerlinguistik und Sprachtechnologie Wintersemester 2009/10, Prof. Dr. Udo Hahn, Erik Fäßler Übungsblatt 3 vom 19.11.2009 Abgabe bis 26.11.2009, 14:30 Uhr; per
MehrAnlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt
Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt AMPEL-Steuerung(en) Die Beschreibung und Programmierung der Ampel (vor allem Ampel_5) können sehr kompliziert
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrFestplatte defragmentieren Internetspuren und temporäre Dateien löschen
Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Wer viel mit dem Computer arbeitet kennt das Gefühl, dass die Maschine immer langsamer arbeitet und immer mehr Zeit braucht um aufzustarten.
MehrExcel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
MehrSecond Steps in eport 2.0 So ordern Sie Credits und Berichte
Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun
MehrKostenstellen verwalten. Tipps & Tricks
Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4
Mehrtrivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005
trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005 2 Inhalt 1. Anleitung zum Einbinden eines über RS232 zu steuernden Devices...3 1.2 Konfiguration
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrInformatik I Tutorial
ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr
MehrEinführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition
In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrTutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe
Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003
MehrSEP 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
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrKapiteltests 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
MehrHandbuch zur Anlage von Turnieren auf der NÖEV-Homepage
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei
MehrBinäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
MehrInformatik 1 Tutorial
ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrIn diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.
Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrC/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)
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrSie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?
Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
MehrLocal Control Network Technische Dokumentation
Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrLehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup
Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme
Mehr3 ORDNER UND DATEIEN. 3.1 Ordner
Ordner und Dateien PC-EINSTEIGER 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie
Mehr1 ÜBERSETZER. Compilerbau 1
1 ÜBERSETZER 1 A.V.Aho, J.D.Ullmann: Principles of Compiler Design, Addison Wesley (1977) J.Amsterdam: Building a computer in Software, BYTE (Okt. 1985) Programming Project: A SIMPL Compiler, BYTE (Dez.
MehrÜbersicht... 2 Dateiupload... 3 Administratorfunktionen... 4
Inhalt Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4 Benutzer hinzufügen... 4 Benutzerverwaltung... 5 Ordner anlegen... 6 Rechteverwaltung... 7 Verlag für neue Medien Seite 1 Übersicht Mit
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrInhalt. 1. Einführung in die Informatik. 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele.
1. Einführung in die Informatik Inhalt 2. Algorithmen Definition, Eigenschaften, Entwurf Darstellung von Algorithmen Beispiele Peter Sobe 1 Darstellung von Algorithmen Aus den Einführungsbeispielen und
MehrBedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof
Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung
MehrAufklappelemente anlegen
Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie
MehrI Serverkalender in Thunderbird einrichten
I Serverkalender in Thunderbird einrichten Damit Sie den Kalender auf dem SC-IT-Server nutzen können, schreiben Sie bitte zuerst eine Mail mit Ihrer Absicht an das SC-IT (hilfe@servicecenter-khs.de). Dann
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrOPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
MehrAnleitung zur Verwendung der VVW-Word-Vorlagen
Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Feb-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte
Mehriloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013
iloq Privus Schließanlagen Programmierung Version 1 - Copyright 2013 Kurth Electronic GmbH Kommunikations- & Sicherheitssysteme / Im Scherbental 5 / 72800 Eningen u. A. Tel: +49-7121-9755-0 / Fax: +49-7121-9755-56
MehrZur drittletzten Zeile scrollen
1 Fragen und Antworten zur Computerbedienung Thema : Zur drittletzten Zeile scrollen Thema Stichwort Programm Letzte Anpassung Zur drittletzten Zeile scrollen Scrollen VBA Excel 1.02.2014 Kurzbeschreibung:
MehrAnleitung: Einrichtung der Fritz!Box 7272 mit VoIP Telefonanschluss
Schließen Sie die AVM Fritz!Box, wie auf dem der Fritz!Box beiliegenden Schaubild beschrieben, an. Starten Sie den Internet Explorer oder einen beliebigen Browser (Mozilla Firefox, Google Chrome, Safari)
Mehr