Inhalte der Vorlesung. 4. Der Scanner-Generator lex. 4. Der Scanner-Generator lex. 4.1 lex: Grundlagen

Größe: px
Ab Seite anzeigen:

Download "Inhalte der Vorlesung. 4. Der Scanner-Generator lex. 4. Der Scanner-Generator lex. 4.1 lex: Grundlagen"

Transkript

1 Inhalte der Vorlesung 4. Der Scanner-Generator lex 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc (3 T.) 6.Syntaxgesteuerte Übersetzung 7.Kontextanalyse 8.Transformation und Code-Erzeugung (?) 9.Übersetzungssteuerung mit make Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 2 4. Der Scanner-Generator lex 4.1 Grundlagen 4.2 Fortgeschrittenes 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 3 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 4

2 4.2 lex: Fortgeschrittenes Wiederholung und Festigung Scanner-Zustände, Grundlagen Umlenken der Ein- und Ausgabe Reguläre Ausdrücke, Fortgeschrittenes Scanner-Zustände, Fortgeschrittenes Mehrere Lexer in einem Programm Aufruf und Datei-Optionen von flex flex und andere Lexer Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 5 Lexikalische Analyse position := initial + rate * 60 position := initial + rate * 60 Bezeichner := (Zuweisungssymbol) Bezeichner + Bezeichner * (Addit.- Symbol) (Mult.- Symbol) Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 6 Zahl position initial rate 60 Gruppierung der Eingabezeichen in Lexeme Leerzeichen werden entfernt Zuordnung Lexem Symbol Symbole (Token): Bezeichner, :=, +, *, Zahl,... Symbol hat z.t. Wert als Attribut Varianten von lex lex von AT&T (das Original) diverse kommerzielle Versionen POSIX-Standard für lex flex des Gnu-Projekts fast vollständig POSIX-kompatibel Obermenge von lex/at&t für viele Plattformen 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 7 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 8

3 Aufbau einer lex-datei Definitionen Regeln Unterprogramme optional Einsetzen des Benutzernamens Eingabe soll zur Ausgabe kopiert werden aber: <username> aktueller Benutzername Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 9 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 10 Einsetzen des Benutzernamens: Lösung username.l: %{ #include <stdio.h> #include <stdlib.h> % %option main "<username>" printf("%s", getenv("user")); Einfacher Aufruf von flex flex username.l Default-Ausgabedatei: lex.yy.c Option -t : Ausgabe nach StdOut Tipp: make <progname> ohne Makefile erzeugt Executable Regel: vorne Muster, hinten Aktion Default-Regel: druckt aktuelles Zeichen Definitionen: C-Definitionen in %{,% lex-option hinter %option Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 11 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 12

4 wie in C: Kommentare im Regelteil /* bla bla bla bla */ aber: muß eingerückt sein! lex-regeln: niemals eingerückt Aktion muß auf gleicher Zeile beginnen im Definitions- und Unterprogrammteil nicht nötig 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 13 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 14 Reguläre Ausdrücke von lex wichtigste Unterschiede zu sed/grep: while : Literale können/sollten in stehen \n Newline: (fast) normales Zeichen [^abc] paßt auch auf Newline ggf. Abhilfe: [^abc\n]. (Punkt) paßt nicht auf Newline kein Backslash vor +,?, {,, (, ) kein \<, \> kein \1, \2,... Aufbau einer Aktion Stück C-Code 1. einzelne C-Anweisung (mit Semikolon) 2. C-Block (in geschweiften Klammern) dann auch über mehrere Zeilen Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 15 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 16

5 Die main()-funktion generiert Beispiel oben %option main im Definitionsteil eigene im Unterprogrammteil wcount.l Wort-Zählprogramm %{ #include <stdio.h> int num_lines = 0, num_chars = 0; % %option noyywrap "\n" { num_lines++; num_chars++;. { num_chars++; int main() { yylex(); printf("%d Zeilen, %d Buchstaben\n", num_lines, num_chars); Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 17 make wcount./wcount < wcount.l zum Vergleich: wc < wcount.l Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen lex: Grundlagen Scanner für eine Pascal-artige Sprache Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen liest Pascal-artiges Programm druckt, was es an Token findet bearbeitet: Strings Zahlen meldet lexikalische Fehler Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 19 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 20

6 Scanner für eine Pascal-artige Sprache: Eingabedatei pcount.txt: procedure foo function bar begin bar = end begin tmp = bar end { Beginn des Hauptprogramms: begin foo; zahl = end Scanner für eine Pascal-artige Sprache: Lösung pcount.l: %{ #include <math.h> #include <stdio.h> % %option main %option noyywrap DIGIT [0-9] ID [a-za-z][a-za-z0-9_]* {DIGIT+ { printf("eine Ganz-Zahl: '%s' (%d)\n", yytext, atoi(yytext)); {DIGIT+"."{DIGIT* { printf("eine Fliesskomma-Zahl: '%s' (%g)\n", yytext, atof(yytext)); "if" "then" "begin" "end" "procedure" "function" "=" ";" { printf("ein Schluesselwort: '%s'\n", yytext); {ID { printf("ein Bezeichner: '%s'\n", yytext); "+" "-" "*" "/" { printf("ein Operator: '%s'\n", yytext); "{"[^\n]*"" /* ueberspringe einzeilige Kommentare */ [ \t\n]+ /* ueberspringe White-Space */. { printf("unbekanntes Zeichen: '%s'\n", yytext); Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 21 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 22 Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Abkürzungen für reguläre Ausdrücke im Definitionsteil definieren Benutzung: in geschweiften Klammern mehrere Ausdrücke für eine Aktion anstelle einer Aktion Variable yytext aktuelles Token Makro ECHO druckt yytext Eingaben: Fließkommazahl nnnn.nnnn oder nnnn +, -, *, /, C ein Akkumulator Eingabe in Infix, ohne Prioritäten Operator: merken Zahl: Akku Op Zahl Akku Operator C bei Ausführung: Zahl Akku Ausgabe: neuer Akku Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 23 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 24

7 4.1 lex: Grundlagen Einführung Aufbau einer lex-datei Einfacher Aufruf von flex Basiskonstrukte Weitere nützliche Konstrukte Übung: Einfacher Taschenrechner Der Match-Algorithmus Kommunikation mit einem Parser Übung: Konversion römischer Zahlen Der Match-Algorithmus 1. Suche Muster, das auf Präfix der Eingabe paßt mehrere passen: 1) längstes Muster (longest match) 2) erstes Muster (first match) 2. setze yytext auf Text, yyleng auf Länge 3. führe Aktion aus 4. gehe zu 1. Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 25 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 26 Der Match-Algorithmus (2) kein Muster paßt: Default-Regel ein Zeichen paßt das Zeichen wird gedruckt einfachstes flex-programm: %option main Einfachstes flex-programm make trivial./trivial < pcount.txt Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 27 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 28

8 Kommunikation mit einem Parser Unterbrechung der Scan-Schleife: return n; Nummer des Symbols in n weitere Informationen in globalen Variablen (yytext,...) Fortsetzung der Scan-Schleife: yylex(); Symbolnummern in gemeinsamer Header-Datei Kommunikation mit einem Parser: Lösung Pascal -Scanner Pascal -Übersetzergerüst Scanner und Parser(-Gerüst) Parser akzeptiert jede Folge von Token pcomp-scan.l pcomp-parse.c pcomp.tab.h make -f pcomp.mk Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 29 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 30 Kommunikation mit einem Parser: Lösung (2) pcomp-scan.l: %{ #include <math.h> #include <stdio.h> #include "pcomp.tab.h" int yylval_i; double yylval_d; char *yylval_s; % %option noyywrap DIGIT [0-9] ID [a-za-z][a-za-z0-9_]* {DIGIT+ { yylval_i = atoi(yytext); return TOK_INT; {DIGIT+"."{DIGIT* { yylval_d = atof(yytext); return TOK_DOUBLE; "if" return TOK_IF; "then" return TOK_THEN; "begin" return TOK_BEGIN; "end" return TOK_END; "procedure" return TOK_PROCEDURE; "function" return TOK_FUNCTION; "=" return TOK_EQUAL; ";" return TOK_SEMICOLON; {ID { yylval_s = yytext; return TOK_ID; "+" return TOK_PLUS; "-" return TOK_MINUS; "*" return TOK_TIMES; "/" return TOK_DIV; "{"[^\n]*"" /* ueberspringe einzeilige Kommentare */ [ \t\n]+ /* ueberspringe White-Space */. { printf("unbekanntes Zeichen: '%s'\n", yytext); Kommunikation mit einem Parser: Lösung (3) pcomp-parse.c: #include <stdio.h> #include "pcomp.tab.h" extern int yylval_i; extern double yylval_d; extern char *yylval_s; int main() { int tok; /* Dieser (ziemlich sinnlose) Parser akzeptiert *jede* Folge von Token. */ while (tok=yylex()) { switch (tok) { case TOK_INT: printf("eine Ganz-Zahl: %d\n", yylval_i); break; case TOK_DOUBLE: printf("eine Fliesskomma-Zahl: %g\n", yylval_d); break; case TOK_IF: case TOK_THEN: case TOK_BEGIN: case TOK_END: case TOK_PROCEDURE: case TOK_FUNCTION: case TOK_EQUAL: case TOK_SEMICOLON: printf("ein Schluesselwort.\n"); break; case TOK_ID: printf("ein Bezeichner: '%s'\n", yylval_s); break; case TOK_PLUS: case TOK_MINUS: case TOK_TIMES: case TOK_DIV: printf("ein Operator.\n"); break; default: printf("interner Fehler: Unbekanntes Token %d!\n", tok); exit(1); return 0; Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 31 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 32

9 Kommunikation mit einem Parser: Lösung (4) pcomp.tab.h: #define TOK_INT 1 #define TOK_DOUBLE 2 #define TOK_IF 3 #define TOK_THEN 4 #define TOK_BEGIN 5 #define TOK_END 6 #define TOK_PROCEDURE 7 #define TOK_FUNCTION 8 #define TOK_EQUAL 9 #define TOK_SEMICOLON 10 #define TOK_ID 11 #define TOK_PLUS 12 #define TOK_MINUS 13 #define TOK_TIMES 14 #define TOK_DIV 15 Übung: Konversion römischer Zahlen römische Zahlen arabische Zahlen andere Zeichen unverändert römische Zahlen: I, II, III 1, 2, 3 IV 4, V 5 IX 9, X 10, XX 20, XXX 30 XL 40, L 50 XC 90, C 100, CC 200, CCC 300 CD 400, D 500 CM 900, M 1000, MM 2000,... Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 33 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 34 Übung: Konversion römischer Zahlen (2) Übung: Konversion römischer Zahlen (3) Annahmen: nur Großbuchstaben sind römische Zahlen anderer Text nur in Kleinbuchstaben alle römischen Ziffern sind korrekt angeordnet Vorgehen: addiere römische Ziffern zu Akku anderes Zeichen: drucke (ggf.) Akku, 0 Akku CCC soll als ein Lexem erkannt werden, Wert ist yyleng * 100 analog III, XXX und MMMMM Zusatzaufgabe: alle illegalen Folgen von römischen Ziffern sollen zu einer Fehlermeldung führen Ziffern in absteigender Reihenfolge sortiert nie mehr als 3 gleiche Ziffern hintereinander, außer M Hinweise: Fehlerbehandlungsregeln nach normalen Regeln: first match macht das Leben einfacher nach X, XX, XXX oder XL darf keine Ziffer folgen, die den Wert von X oder höher hat nach L darf keine Ziffer folgen, die den Wert von L oder höher hat, und auch nicht XL oder XC Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 35 Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 36

10 4. Der Scanner-Generator lex 4.1 Grundlagen 4.2 Fortgeschrittenes Übersetzergenerierung der Scanner-Generator lex Jan Bredereke, Universität Bremen 37

Inhalte der Vorlesung. 6. Syntaxgesteuerte Übersetzung. 6. Syntaxgesteuerte Übersetzung. Attributierter Syntaxbaum

Inhalte der Vorlesung. 6. Syntaxgesteuerte Übersetzung. 6. Syntaxgesteuerte Übersetzung. Attributierter Syntaxbaum Inhalte der Vorlesung 6. Syntaxgesteuerte Übersetzung 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc

Mehr

4.2 lex: Fortgeschrittenes. 4.2 lex: Fortgeschrittenes. Aufbau einer lex-datei Definitionen %% Regeln %% Unterprogramme } optional

4.2 lex: Fortgeschrittenes. 4.2 lex: Fortgeschrittenes. Aufbau einer lex-datei Definitionen %% Regeln %% Unterprogramme } optional 4.2 lex: Fortgeschrittenes 4.2 lex: Fortgeschrittenes 4.2.1 Wiederholung und Festigung 4.2.2 Scanner-Zustände, Grundlagen 4.2.3 Umlenken der Ein- und Ausgabe 4.2.4 Reguläre Ausdrücke, Fortgeschrittenes

Mehr

Inhalte der Vorlesung. 3. Der Textstrom-Editor sed. 3. Der Textstrom-Editor sed. Grundprinzip eines Textstrom-Editors

Inhalte der Vorlesung. 3. Der Textstrom-Editor sed. 3. Der Textstrom-Editor sed. Grundprinzip eines Textstrom-Editors Inhalte der Vorlesung 3. Der Textstrom-Editor sed 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc (3

Mehr

yacc - eine Einführung

yacc - eine Einführung yacc - eine Einführung Axel Kohnert 18th May 2005 Abstract yacc ist ein Unixprogramm, welches die Erstellung einer Programmiersprache unterstützt. Der Benutzer gibt die definierende Grammatik an, und das

Mehr

4 Lexikalische Analyse und Parsing

4 Lexikalische Analyse und Parsing 4 Lexikalische Analyse und Parsing Lexikalische Analyse und Parsing sind die wichtigsten Bereiche des Compilerbaus. Prinzipien und Techniken des Compilerbaus beschränken sich nicht auf die Erstellung von

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

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

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

2. Programmierung in C

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

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen

Mehr

Übungen zu C++ Kapitel 1

Ü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

Mehr

FLEX - Einleitung. Ausführbares Programm lexer. C-Programm lex.yy.c. flex-programm tiger.lex. WS 02/03 Übung Compilerbau Seifert, A.

FLEX - Einleitung. Ausführbares Programm lexer. C-Programm lex.yy.c. flex-programm tiger.lex. WS 02/03 Übung Compilerbau Seifert, A. FLEX - Einleitung flex ist ein Programmgenerator, welches ein C oder C++ Programm erzeugt, dass die lexikalische Analyse eines Eingabestroms durchführt Vorgehensweise: Spezifikation reg. Ausdrücke und

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Compilerbau. Übung 2. Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber. 18. Mai 2016

Compilerbau. Übung 2. Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber. 18. Mai 2016 2 Prof. Johann-Christoph Freytag Dr. Klaus Ahrens Jörg Bachmann Fabian Fier Dorian Weber 18. Mai 2016 Inhalt Wiederholung Compilertechnologie Lexer Flex 2 / 24 Wiederholung Compilertechnologie Architekturschema

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Fachseminar WS 2008/09

Fachseminar 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

Mehr

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

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

Mehr

Einführung in die Programmierung

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

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 14. Modularisierung und Automatisierung Was heißt Modularisierung? Seite 2 bisher Programm komplett in einer Datei längere

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel 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

Mehr

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

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

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Datenaustausch@IC RL

Datenaustausch@IC RL Datenaustausch@IC RL SAP cfolders Erste Schritte Erstes Login: Ihre Initial-Zugangsdaten zu SAP cfolders finden Sie im ProjektPortal nach Klick auf den Reiter Projekt SAP cfolders, im Channel SAP cfolders

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultä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 **

Mehr

DLLs (dynamic loaded libraries) mit MingW erstellen

DLLs (dynamic loaded libraries) mit MingW erstellen DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:

Mehr

Benutzerkonto unter Windows 2000

Benutzerkonto unter Windows 2000 Jeder Benutzer, der an einem Windows 2000 PC arbeiten möchte, braucht dazu ein Benutzerkonto. Je nach Organisation des Netzwerkes, existiert dieses Benutzerkonto auf der lokalen Workstation oder im Active

Mehr

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

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

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C

Felder, Rückblick Mehrdimensionale Felder. Programmieren in C Übersicht Felder, Rückblick Mehrdimensionale Felder Rückblick Vereinbarung von Feldern: typ name [anzahl]; typ name = {e1, e2, e3,..., en} Die Adressierung von Feldelementen beginnt bei 0 Die korrekte

Mehr

Grammatiken in Prolog

Grammatiken in Prolog 12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

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

Mehr

Analysis I für Studierende der Ingenieurwissenschaften

Analysis I für Studierende der Ingenieurwissenschaften Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen

Mehr

Bedienungsanleitung. 1. Eine direkte (1 1) Verbindung muss mit einem gekreuzten (Crossover) Netzwerkkabel hergestellt werden.

Bedienungsanleitung. 1. Eine direkte (1 1) Verbindung muss mit einem gekreuzten (Crossover) Netzwerkkabel hergestellt werden. Bedienungsanleitung Backup/Restore Aufnahmen für die PVR-Set-Top-Box Diese Anleitung beschreibt die mögliche Sicherung für Film, Musik und Bilddateien welche sich auf der Harddisk Ihrer WWZ PVR-Set-Top-Box

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen 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

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter

Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und

Mehr

Anmeldung eines Tiptel IP-Telefons an einer FritzBox

Anmeldung eines Tiptel IP-Telefons an einer FritzBox Anmeldung eines Tiptel IP-Telefons an einer FritzBox tiptel IP 386 tiptel IP 286 tiptel IP 284 tiptel IP 282 tiptel IP 280 tiptel IP 28 XS Aktuelle Informationen und Treiber zu unseren Produkten finden

Mehr

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

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

Mehr

Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen

Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen Praktikum Funktionale Programmierung Teil 1: Lexen und Parsen Professur für Künstliche Intelligenz und Softwaretechnologie Sommersemester 2009 Überblick Teil 1: Lexen und Parsen Die Sprache LFP +C Professur

Mehr

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik

Hochschule München, FK 03 FA SS 2012. Ingenieurinformatik Hochschule München, FK 03 FA SS 2012 Ingenieurinformatik Zulassung geprüft vom Aufgabensteller: Teil 1/Aufgabe 1: 30 Minuten ohne Unterlagen, Teil 2/Aufgaben 2-4: 60 Minuten, beliebige eigene Unterlagen

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Ü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

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22. Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22. Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC... Neuer Releasestand Finanzbuchhaltung DAM-EDV E.1.22 Inhaltsverzeichnis 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC... 2 1a. Programm 257: Auflösen Vorschlag Telebanking... 2 1b. Programm 254:

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg. Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert

Mehr

Hinweise zur E-Mail-Nutzung für Studierende

Hinweise zur E-Mail-Nutzung für Studierende Hinweise zur E-Mail-Nutzung für Studierende Änderung des E-Mail-Passworts 1. Öffnen Sie die Internetseite https://studmail.uni-speyer.de/owa und melden Sie sich mit Ihrem Benutzernamen, das heißt Ihrer

Mehr

Prüfung Computation, Programming

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

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Übungsblatt 3: Algorithmen in Java & Grammatiken

Ü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

Mehr

Erstellen eines Formulars

Erstellen eines Formulars Seite 1 von 5 Word > Erstellen bestimmter Dokumente > Formen Erstellen von Formularen, die in Word ausgefüllt werden können Basierend auf einer Vorlage können Sie dieser Inhaltssteuerelemente und Hinweistext

Mehr

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig

Mehr

Versand Etiketten / Endlosdruck

Versand Etiketten / Endlosdruck Versand Etiketten / Endlosdruck Dieser Etikettendruck ist nur der Druck mit einem Matrix-Druckern möglich. Bei dem Drucker muss der automatische Zeilenvorschub ausgeschaltet sein (siehe Druckerhandbuch).

Mehr

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik Wurzeln als Potenzen mit gebrochenen Exponenten Zur Einstimmung Wir haben die Formel benutzt x m n = x m n nach der eine Exponentialzahl potenziert wird, indem man die Exponenten multipliziert. Dann sollte

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

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

Mehr

Inhalte der Vorlesung. 6. Syntaxgesteuerte Übersetzung. Attributierter Syntaxbaum. 6. Syntaxgesteuerte Übersetzung

Inhalte der Vorlesung. 6. Syntaxgesteuerte Übersetzung. Attributierter Syntaxbaum. 6. Syntaxgesteuerte Übersetzung Inhalte der Vorlesung 6. Syntaxgesteuerte Übersetzung 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex 5.Syntaxanalyse und der Parser-Generator yacc 6.Syntaxgesteuerte

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch 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

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es 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

Mehr

188.154 Einführung in die Programmierung für Wirtschaftsinformatik

188.154 Einführung in die Programmierung für Wirtschaftsinformatik Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

lex - Eine Einführung

lex - Eine Einführung lex - Eine Einführung Axel Kohnert 9th May 2005 Abstract lex ist ein Unixprogramm, welches die Erstellung eines C-programms für die lexikalische Analyse unterstützt. Dazu kann man Aktionen definieren,

Mehr

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam

FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==

Mehr

Webseitenintegration. Dokumentation. v1.0

Webseitenintegration. Dokumentation. v1.0 Webseitenintegration Dokumentation v1.0 bookingkit Webseitenintegration Einleitung bookingkit ermöglicht es einfach eigene Freizeiterlebnisse und Gutscheine einfach online zu verkaufen. Dazu müssen nur

Mehr

Praktikum Compilerbau

Praktikum 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

Mehr

nessbase Projekte Über Projekte I

nessbase Projekte Über Projekte I nessbase Projekte Über Projekte I nessbase Projekte ist eine Erweiterung für nessbase, die es ermöglicht, eine Projekt Verwaltung zu führen. Diese Erweiterung besteht aus der Formular Datei und Externals,

Mehr

HowTo: Einrichtung & Management von APs mittels des DWC-1000

HowTo: Einrichtung & Management von APs mittels des DWC-1000 HowTo: Einrichtung & Management von APs mittels des DWC-1000 [Voraussetzungen] 1. DWC-1000 mit Firmware Version: 4.1.0.2 und höher 2. Kompatibler AP mit aktueller Firmware 4.1.0.8 und höher (DWL-8600AP,

Mehr

Übungskomplex Felder (1) Eindimensionale Felder Mehrdimensionale Felder

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

Mehr

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr. ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder

Mehr

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung - 1 - Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung 1. Die Tabelle mit den Werten und Gewichten der Gegenstände, sowie die Spalte mit der Anzahl ist vorgegeben und braucht nur eingegeben zu werden

Mehr

POP Email-Konto auf iphone mit ios 6 einrichten

POP Email-Konto auf iphone mit ios 6 einrichten POP Email-Konto auf iphone mit ios 6 einrichten Dokumenten-Name POP Email Konto Einrichten auf iphone.doc Version/Datum: Version 1.0, 01.02.2013 Klassifizierung Ersteller Für green.ch AG Kunden Stephan

Mehr

Berufsakademie Stuttgart, Außenstelle Horb, MI2002

Berufsakademie Stuttgart, Außenstelle Horb, MI2002 Übungsblatt 1, Scanner für Mini-HTML Ergänzen Sie die JLex-Spezifikation aus der Vorlesung so, dass folgende HTML Lexemklassen , , , , , , , , ,

Mehr

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))?

Fragen. f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Fragen f [ ] = [ ] f (x : y : ys) = x y : f ys f (x : xs) = f (x : x : xs) Wozu evaluiert f [1, 2, 3] (Abkürzung für f (1 : 2 : 3 : [ ]))? Wozu evaluiert [f [ ], f [ ]]? Weiteres Beispiel: f [ ] y = [

Mehr

Mathe-Übersicht INHALTSVERZEICHNIS

Mathe-Übersicht INHALTSVERZEICHNIS S. 1/13 Mathe-Übersicht V. 1.1 2004-2012 by Klaus-G. Coracino, Nachhilfe in Berlin, www.coracino.de Hallo, Mathe-Übersicht Diese Datei enthält verschiedene Themen, deren Überschriften im INHALTSVERZEICHNIS

Mehr

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis

Mehr

E-Banking Kurzanleitung

E-Banking Kurzanleitung Diese Kurzanleitung macht Sie auf einfache Weise mit dem E-Banking der Zuger Kantonalbank vertraut. Loginseite öffnen Starten Sie den Internet-Browser und geben Sie www.zugerkb.ch ein. Klicken Sie rechts

Mehr

Java Kurs für Anfänger Einheit 5 Methoden

Java 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

Mehr

Aufklappelemente anlegen

Aufklappelemente 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

Mehr

Anlegen eines DLRG Accounts

Anlegen eines DLRG Accounts Anlegen eines DLRG Accounts Seite 1 von 6 Auf der Startseite des Internet Service Centers (https:\\dlrg.de) führt der Link DLRG-Account anlegen zu einer Eingabemaske, mit der sich jedes DLRG-Mitglied genau

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

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

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

Mehr

Simplex-Umformung für Dummies

Simplex-Umformung für Dummies Simplex-Umformung für Dummies Enthält die Zielfunktion einen negativen Koeffizienten? NEIN Optimale Lösung bereits gefunden JA Finde die Optimale Lösung mit dem Simplex-Verfahren! Wähle die Spalte mit

Mehr

Schumacher, Chris Druckdatum 01.06.2012 11:11:00

Schumacher, Chris Druckdatum 01.06.2012 11:11:00 Dokumentenverwaltung Autor Schumacher, Chris Druckdatum 01.06.2012 11:11:00 SMS Login Aktivierung Sie müssen beim ersten Login zwingend einen PIN und eine Secret Answer setzen. Den PIN benötigen Sie bei

Mehr

Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung

Stand: 28.11.2012. Adressnummern ändern Modulbeschreibung Seite 1 Inhalt Allgemein...3 Installation...3 manuelle Eingabe von alten und neuen Adressnummern...4 Vorbereiten von Adressnummern-Änderungen in Tabellen...5 Seite 2 Allgemein Das INKS-Modul ermöglicht

Mehr

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

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 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

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

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

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr