Vorlesung Logische Programmierung Übung 8

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Logische Programmierung Übung 8"

Transkript

1 Institut für Informatik Wintersemester 2003/2004 Universität Zürich Vorlesung Logische Programmierung Übung 8 Dr. Norbert E. Fuchs Stefan Höfler Projekt 2. Teil: Tokeniser Das unten angehängte Programm tokeniser.pl zerlegt eine Texteingabe in ihre "Tokens", d.h. in Worte, Zahlen, Satzzeichen. 1. Rufen Sie das Programm auf?- read_atomics(line_editor, Line). und geben Sie beispielsweise : The cat sits on the mat. ein. Sie erhalten dann Line = ['The',cat,sits,on,the,mat,'.'] Versuchen Sie andere Eingaben. 2. Versuchen Sie, das Programm zu verstehen. Machen Sie ein ausführliches Tracing Ihrer Eingaben. In der Übungsstunde sollte eine Gruppe das Programm vorstellen und erklären. 3. Erweitern Sie das Programm, so dass Grossbuchstaben in Kleinbuchstaben umgewandelt werden. Diese Umwandlung ist nötig, um später Worte in einem Lexikon zu finden. Hinweis: Die nötige Erweiterung des Programms ist minimal. Das obige Beispiel lautet dann?- read_atomics(line_editor, Line). : The cat sits on the mat. Line = ['the',cat,sits,on,the,mat,'.'] 4. Erweitern Sie das Programm um einen Filter, der Kommas aus der Eingabe entfernt.?- read_atomics(line_editor, Line). : The cat sits on the mat, and it is sleepy. Line = ['the',cat,sits,on,the,mat,and,it,is,sleepy, '.']

2 5. Verbinden Sie den Tokeniser mit dem endlichen Automaten aus Aufgabe 7. Das zu entwickelnde Programm sollte einen Satz einlesen, ihn in seine Tokens zerlegen und die Liste der Tokens dem endlichen Automaten zur Akzeptanz vorlegen. Erweitern Sie das Programm, so dass ein Satz nach dem anderen eingegeben und verarbeitet werden kann, bis ein leerer Satz eingegeben wird.

3 tokeniser.pl read_atomics(+inputmedium,-atomics) reads a line of text, breaking it into a list of tokens read_atomics(inputmedium,atomics) :- read_char(inputmedium,firstc,firstt), complete_line(inputmedium,firstc,firstt,atomics) read_char(+inputmedium,-char,-type) reads a character and runs it through char_type/ read_char(inputmedium,char,type) :- get0(c), char_type(inputmedium,c,type,char) complete_line(+inputmedium,+firstc,+firstt,-atomics) given FirstC (the first character) and FirstT (its type), reads and tokenises the rest of the line into atoms and numbers complete_line(_inputmedium,_,end,[]) :- complete_line(inputmedium,_,blank,atomics) :- stop at end skip blanks

4 read_atomics(inputmedium,atomics). complete_line(inputmedium,firstc,cr,[a Atomics]) :- name(a,[firstc]), read_atomics(inputmedium,atomics). special char complete_line(inputmedium,firstc,special,[a Atomics]) :- name(a,[firstc]), read_atomics(inputmedium,atomics). special char complete_line(inputmedium,firstc,alpha,[a Atomics]) :- begin word complete_word(inputmedium,firstc,alpha,word,nextc,nextt), name_num(a,word), complete_line(inputmedium,nextc,nextt,atomics) complete_word(+inputmedium,+firstc,+firstt,-list,-follc,-follt) given FirstC (the first character) and FirstT (its type), reads the rest of a word, putting its characters into List complete_word(inputmedium,firstc,alpha,[firstc List],FollC,FollT) :- read_char(inputmedium,nextc,nextt), complete_word(inputmedium,nextc,nextt,list,follc,follt). complete_word(_inputmedium,firstc,firstt,[],firstc,firstt). where FirstT is not alpha char_type(+inputmedium,+code,?type,-newcode) given an InputMedium an ASCII code, classifies the character as 'end' (of line/file), 'blank', 'alpha'(numeric), or 'special', and changes it to a potentially different character (NewCode)

5 char_type(line_editor,10,end,10) :- UNIX end of line mark line editor. char_type(text_editor,10,blank,32) :- replace end of line mark by blank char_type(test_editor,10,cr,10) :- replace end of line mark by '\n' char_type(_inputmedium,13,end,13) :- DOS end of line mark char_type(text_editor,-1,end,-1) :- char_type(test_editor,-1,end,-1) :- get0 end of file code char_type(_inputmedium,code,blank,32) :- Code =< 32, blanks, other ctrl codes char_type(_inputmedium,code,alpha,code) :- quotes Code = 39, char_type(_inputmedium,code,alpha,code) :- dollar Code = 36, char_type(_inputmedium,code,alpha,code) :- digits 48 =< Code, Code =< 57, char_type(_inputmedium,code,alpha,code) :- upper-case letters 65 =< Code, Code =< 90, char_type(_inputmedium,code,alpha,code) :- lower-case letters 97 =< Code, Code =< 122, char_type(_inputmedium,code,special,code). all others name_num(-atomornumber,+string) used in place of name/2 in last clause of complete_line in versions of Prolog where name/2 does not recognise numbers.

6 name_num(number,string) :- nonvar(string), string_number(string,number), name_num(atom,string) :- name(atom,string) string_number(+s,-n) converts string to corresponding number, e.g. "234" to 234 fails if S does not represent a nonnegative integer string_number(s,n) :- string_number_aux(s,0,n). string_number_aux([d Digits],Total,Result) :- digit_value(d,v), NewTotal is 10*Total + V, string_number_aux(digits,newtotal,result). string_number_aux([],result,result) digit_value(+code,-value) maps ASCII code for a digit ("0"..."9") onto value (0...9) digit_value(code,value) :- 48 =< Code, Code =< 57, Value is Code

Arbeitsweise des vorgestellten Tokenizers verstehen nicht: Auswendiglernen dieses Prolog-Programms. Wissen, dass das Problem nicht ganz trivial ist

Arbeitsweise des vorgestellten Tokenizers verstehen nicht: Auswendiglernen dieses Prolog-Programms. Wissen, dass das Problem nicht ganz trivial ist Tokenizer bersicht Ziel Was macht ein Tokenizer? Zeichen klassifizieren Trivial-Version fÿr unseren Prolog-Tokenizer Zeichen-Klassifikation in Unicode Arbeitsweise des vorgestellten Tokenizers Schwierigere

Mehr

Tokenizer. Motivation. Zweck und Funktion eines Tokenizers. Ein einfacher Tokenizer. : These are words. [these, are, words,'.'] These are words.

Tokenizer. Motivation. Zweck und Funktion eines Tokenizers. Ein einfacher Tokenizer. : These are words. [these, are, words,'.'] These are words. Tokenizer Motivation bersicht Was sind Tokenizer? Der Tokenizer von Covington Aufrufdiagramm Definition und Arbeitsweise der einzelnen PrŠdikate Wort- und Satzgrenzen erkennen Tokenisieren von Dateien

Mehr

Tokenizer. Motivation. Ein einfacher Tokenizer. Zweck und Funktion eines Tokenizers. These are words. Eingabe = [these,are,words,'.'].

Tokenizer. Motivation. Ein einfacher Tokenizer. Zweck und Funktion eines Tokenizers. These are words. Eingabe = [these,are,words,'.']. Tokenizer Motivation Übersicht Was sind Tokenizer? Der Tokenizer von Covington Aufrufdiagramm Definition und Arbeitsweise der einzelnen Prädikate Programmiertechnik Look-Ahead Wort- und Satzgrenzen erkennen

Mehr

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum

Mehr

Informatik für Mathematiker und Physiker Woche 7. David Sommer

Informatik für Mathematiker und Physiker Woche 7. David Sommer Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen

Mehr

Pascal Schärli

Pascal 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

Mehr

Programmier-Befehle - Woche 10

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

Informatik für Mathematiker und Physiker Woche 2. David Sommer

Informatik für Mathematiker und Physiker Woche 2. David Sommer Informatik für Mathematiker und Physiker Woche 2 David Sommer David Sommer 25. September 2018 1 Heute: 1. Self-Assessment 2. Feedback C++ Tutorial 3. Modulo Operator 4. Exercise: Last Three Digits 5. Binary

Mehr

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind: Test 1 in Programmkonstruktion 59 / 100 Punkte 1. Multiple-Choice-Aufgaben 20 / 30 Punkte Bitte wählen Sie alle zutreffenden Antwortmöglichkeiten aus. Es können beliebig viele Antwortmöglichkeiten zutreffen,

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner

Mehr

Informatik - Übungsstunde

Informatik - Übungsstunde Informatik - Übungsstunde Jonas Lauener (jlauener@student.ethz.ch) ETH Zürich Woche 08-25.04.2018 Lernziele const: Reference const: Pointer vector: iterator using Jonas Lauener (ETH Zürich) Informatik

Mehr

DIBELS TM. German Translations of Administration Directions

DIBELS TM. German Translations of Administration Directions DIBELS TM German Translations of Administration Directions Note: These translations can be used with students having limited English proficiency and who would be able to understand the DIBELS tasks better

Mehr

Struktur des MicroJava-Compilers

Struktur des MicroJava-Compilers Struktur des MicroJava-Compilers Compiler Parser.mj Scanner Code- Generator.obj Symboltabelle UE zu Übersetzerbau Lexikalische Analyse 1 Grammatik ohne Scanner Expr = Term { "+" Term }. Term = Factor {

Mehr

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Java Tools JDK. IDEs.  Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 1 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char,. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 9 bis 31 sowie 4, 5 und

Mehr

Stream EDitor SED und Reguläre Ausdrücke

Stream EDitor SED und Reguläre Ausdrücke Stream EDitor SED und Reguläre Ausdrücke ExactCODE New Thinking Store 11. Mai 2006 Was ist SED? sed steht für Stream EDitor eine Variante des Unix Editors ed und arbeitet auf Streams keine interaktiven

Mehr

Can I use an older device with a new GSD file? It is always the best to use the latest GSD file since this is downward compatible to older versions.

Can I use an older device with a new GSD file? It is always the best to use the latest GSD file since this is downward compatible to older versions. EUCHNER GmbH + Co. KG Postfach 10 01 52 D-70745 Leinfelden-Echterdingen MGB PROFINET You will require the corresponding GSD file in GSDML format in order to integrate the MGB system: GSDML-Vx.x-EUCHNER-MGB_xxxxxx-YYYYMMDD.xml

Mehr

Programmier-Befehle - Woche 08

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

Mehr

Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/ April 2002

Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 2001/ April 2002 Vordiplom Wirtschaftswissenschaften Allgemeine Informatik I WS 200/2002 2. April 2002 Name: Vorname: Matrikelnummer: Bearbeitungszeit: 20 Minuten Aufgabe Punkte Bewertung 2 a) 2 b) 2 c) 2 d) 2 e) 4 2 0

Mehr

Electrical tests on Bosch unit injectors

Electrical tests on Bosch unit injectors Valid for Bosch unit injectors with order numbers 0 414 700 / 0 414 701 / 0 414 702 Parts Kit Magnet*: - F00H.N37.925 - F00H.N37.933 - F00H.N37.934 * For allocation to the 10-place Bosch order number,

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos

Mehr

Level 2 German, 2015

Level 2 German, 2015 91126 911260 2SUPERVISOR S Level 2 German, 2015 91126 Demonstrate understanding of a variety of written and / or visual German text(s) on familiar matters 2.00 p.m. Friday 4 December 2015 Credits: Five

Mehr

Informatik I (D-MAVT)

Informatik I (D-MAVT) Informatik I (D-MAVT) Übungsstunde 5 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übung 4 Besprechung/Vertiefung der Vorlesung Vorbesprechung Übung 5 Ablauf Nachbesprechung

Mehr

Programmiertechnik 1 FOR-SCHLEIFEN

Programmiertechnik 1 FOR-SCHLEIFEN Programmiertechnik 1 FOR-SCHLEIFEN In diesem Dokument wollen wir uns mit Kontrollstrukturen befassen. Dazu sind im Folgenden einige Übungsaufgaben zu den Themen Schleifen (FOR, WHILE, DO) und Bedingungen

Mehr

Anbindung DA-PROFINET-Geräte an S7 Connecting DA-PROFINET-Devices to S7

Anbindung DA-PROFINET-Geräte an S7 Connecting DA-PROFINET-Devices to S7 Anbindung DA-PROFINET-Geräte an S7 - Connecting DA-PROFINET-Devices to S7 Art.-Nr.: V3929 Deutschmann Automation GmbH & Co. KG Carl-Zeiss-Str. 8 D-65520 Bad Camberg Phone: +49-(0)6434-9433-0 Hotline: +49-(0)6434-9433-33

Mehr

Reguläre Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented

Mehr

1. Die rekursive Datenstruktur Liste

1. Die rekursive Datenstruktur Liste 1. Die rekursive Datenstruktur Liste 1.6 Die Datenstruktur Stapel Ein Stack, auch Stapel oder Keller genannt, ist eine Datenstruktur, bei der die Elemente nur an einem Ende der Folge eingefügt bzw. gelöscht

Mehr

Weather forecast in Accra

Weather forecast in Accra Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature in Fahrenheit Temperature in Celsius 2 Converting Celsius to Fahrenheit f = 9 5 c + 32 tempc = 21

Mehr

rot red braun brown rot red RS-8 rot red braun brown R S V~

rot red braun brown rot red RS-8 rot red braun brown R S V~ Kleiner Ring 9 /Germany Phone: 0049 4122 / 977 381 Fax: 0049 4122 / 977 382 Sample connections: Feedback module with integrated detection of occupied tracks for the RS-feedback bus (Lenz Digital plus)

Mehr

Algebraische Spezifikation von Software und Hardware II

Algebraische Spezifikation von Software und Hardware II Algebraische Spezifikation von Software und Hardware II Markus Roggenbach Mai 2008 3. Signaturen 3. Signaturen 2 Grundlegende Frage Wie lassen sich Interfaces beschreiben? Signaturen = Sammlung aller bekannten

Mehr

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Information über die Konstruktionsregeln der Umsatzsteuer-Identifikationsnummern (UID)

Information über die Konstruktionsregeln der Umsatzsteuer-Identifikationsnummern (UID) Information über die Konstruktionsregeln der Umsatzsteuer-Identifikationsnummern (UID) Folgende Konstruktionsregeln wurden vom jeweiligen Mitgliedstaat aufgrund bilateraler Vereinbarungen zur Veröffentlichung

Mehr

Kapitel 4: Syntaxdiagramme und Grammatikregeln

Kapitel 4: Syntaxdiagramme und Grammatikregeln 4. Syntaxdiagramme und Grammatikregeln 4-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 4: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 3 F. Forster, M.

Mehr

Lexikalische Programmanalyse der Scanner

Lexikalische Programmanalyse der Scanner Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung

Mehr

login: password: exit logout Strg+Alt+Backspace passwd passwd $ passwd Changing password for user (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens

Mehr

http://lec.inf.ethz.ch/itet/informatik0/2018/ 1 3. Exkursion: Monte-Carlo- Simulation 2 Zahlenraten durch Würfeln Zahl zwischen 1 und 6 durch Würfeln erraten Frage: Wie oft würfeln um mit 95% richtig zu

Mehr

Programmiertechnik 1 FOR-SCHLEIFEN

Programmiertechnik 1 FOR-SCHLEIFEN Programmiertechnik 1 FOR-SCHLEIFEN In diesem Dokument wollen wir uns mit Kontrollstrukturen befassen. Dazu sind im Folgenden einige Übungsaufgaben zu den Themen Schleifen (FOR, WHILE, DO) und Bedingungen

Mehr

Informatik 1 D- ITET. Übung 9. Christoph Zimmerli Büro: IFW D46.2 hcp://blogs.ethz.ch/infitet09/

Informatik 1 D- ITET. Übung 9. Christoph Zimmerli Büro: IFW D46.2 hcp://blogs.ethz.ch/infitet09/ Informatik 1 D- ITET Übung 9 Christoph Zimmerli Büro: IFW D46.2 zimmerli@inf.ethz.ch hcp://blogs.ethz.ch/infitet09/ 2 Heute Nachbesprechung Übung 7 Vorbesprechung Übung 9 3 Übung 7 EKG- Daten filtern.

Mehr

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101

Mehr

Informatik II Übung 7 Gruppe 7

Informatik II Übung 7 Gruppe 7 Informatik II Übung 7 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 7 Leyna Sadamori 10. April 2014 1 Administratives Nächste Übung fällt leider aus! Bitte eine andere Übung besuchen.

Mehr

Übersetzen des Quelltexts in ausführbaren Maschinen-Code Translation of source code into executable machine code

Übersetzen des Quelltexts in ausführbaren Maschinen-Code Translation of source code into executable machine code Informatik II D-BAUG Self-Assessment, 2. März 2017 Lösung Name, Vorname:............................................................. Legi-Nummer:.............................................................

Mehr

Abstrakte Syntax von Prolog (1)

Abstrakte Syntax von Prolog (1) 3. Prolog Syntax 3-1 Abstrakte Syntax von Prolog (1) Abstrakte und konkrete Syntax: Abstrakte Syntax: Nur Datenstrukturen, die der Parser anlegt (z.b. Operatorbaum). Konkrete Syntax: Zeichenketten, die

Mehr

Übungsstunde: Informatik 1 D-MAVT

Übungsstunde: Informatik 1 D-MAVT Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 21.03.2018 1 Ablauf Quiz und Recap Floating Point

Mehr

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer Allgemeines Shell Programmierung Unix Shell Scripts Unix Ein shell script ist eine Textdatei, welche eine Liste von Befehlen (Standard Unix Befehle) beinhaltet. Diese Datei kann durch Aufrufen ausgeführt

Mehr

D-BAUG Informatik I. Exercise session: week 1 HS 2018

D-BAUG Informatik I. Exercise session: week 1 HS 2018 1 D-BAUG Informatik I Exercise session: week 1 HS 2018 Java Tutorials 2 Questions? expert.ethz.ch 3 Common questions and issues. expert.ethz.ch 4 Need help with expert? Mixed expressions Type Conversions

Mehr

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 19 (27.6.2018) Dynamische Programmierung III Algorithmen und Komplexität Dynamische Programmierung DP Rekursion + Memoization Memoize:

Mehr

Exercise (Part I) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part I) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part I) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Übungspaket 12 Der Datentyp char

Übungspaket 12 Der Datentyp char Übungspaket 12 Der Datentyp char Übungsziele: Skript: 1. Umgang mit dem Datentyp char, 2. Deklarationen von char-variablen, 3. char-konstanten 4. und char-rechenoperationen. Kapitel: 29 bis 31 sowie 24,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung 252-0027 Einführung in die Programmierung 2.5 if -Anweisungen 2.6 Nochmals Schleifen: while Loops 2.Y Output Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.2 Typen und Variable Deklaration

Mehr

Übungsblatt 6. Analysis 1, HS14

Übungsblatt 6. Analysis 1, HS14 Übungsblatt 6 Analysis, HS4 Ausgabe Donnerstag, 6. Oktober. Abgabe Donnerstag, 23. Oktober. Bitte Lösungen bis spätestens 7 Uhr in den Briefkasten des jeweiligen Übungsleiters am J- oder K-Geschoss von

Mehr

Endliche Automaten. Minimierung. Karin Haenelt. Karin Haenelt, 2004, FSA-Minimierung, ( )

Endliche Automaten. Minimierung. Karin Haenelt. Karin Haenelt, 2004, FSA-Minimierung, ( ) Endliche Automaten Minimierung Karin Haenelt 1 Inhalt Vorteile eines Minimalautomaten Fälle für die Minimierung Minimierungsalgorithmus für deterministische endliche Automaten (mit totaler Übergangsfunktion)

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Vorlesungsprüfung vom 13.06.2008 Gruppe B Lösung Name: Matrikelnummer: Zuerst bitte Name und Matrikelnummer auf das Titelblatt schreiben. Es sind keine Unterlagen und keine Teamarbeit

Mehr

KTdCW Artificial Intelligence 2016/17 Practical Exercises - PART A

KTdCW Artificial Intelligence 2016/17 Practical Exercises - PART A KTdCW Artificial Intelligence 2016/17 Practical Exercises - PART A Franz Wotawa Technische Universität Graz, Institute for Software Technology, Inffeldgasse 16b/2, A-8010 Graz, Austria, wotawa@ist.tugraz.at,

Mehr

Programmierpraktikum

Programmierpraktikum TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht

Mehr

17. Rekursion 2. Bau eines Taschenrechners, Ströme, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken

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

Mehr

Einführung Leistungsmerkmale Aufbau am Beispiel FAT16. Das Filesystem FAT. Peter Schmid. Hochschule für Technik Zürich Studiengang Informatik

Einführung Leistungsmerkmale Aufbau am Beispiel FAT16. Das Filesystem FAT. Peter Schmid. Hochschule für Technik Zürich Studiengang Informatik Hochschule für Technik Zürich Studiengang Informatik 17.4.2009 Outline 1 Wieso FAT? Geschichtlicher Rückblick 2 FAT12 FAT16 FAT32 3 Partitionen Bereiche Wieso FAT? Wieso FAT? Geschichtlicher Rückblick

Mehr

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,

Mehr

Automaten und formale Sprachen. Lösungen zu den Übungsblättern

Automaten und formale Sprachen. Lösungen zu den Übungsblättern Automaten und formale Sprachen zu den Übungsblättern Übungsblatt Aufgabe. (Sipser, exercise.3) M = ({q, q2, q3, q4, q5}, {u, d}, δ, q3, {q3}) δ: u d q q q 2 q 2 q q 3 q 3 q 2 q 4 q 4 q 3 q 5 q 5 q 4 q

Mehr

Accelerating Information Technology Innovation

Accelerating Information Technology Innovation Accelerating Information Technology Innovation http://aiti.mit.edu Ghana Summer 2011 Lecture 05 Functions Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature

Mehr

Übungsstunde: Informatik 1 D-MAVT

Übungsstunde: Informatik 1 D-MAVT Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 25.04.2018 1 Ablauf Self-Assessment Pointer Iterators

Mehr

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt).

Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt). 3 Erste Programme 3.1 Übungsaufgabe Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt). 3.1.1 Aufgabe 1 Schreiben Sie ein C++ Programm, das einen String einliest und testet,

Mehr

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen. Effizientes Arbeiten mit dem Emacs Suchen und Ersetzen Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Suchmethoden Simple Search Emacs springt an das nächste Vorkommen des angegebenen

Mehr

Deutsch 1 Kapitel 6: Meine Sachen items in a house, pronouns, adjectives, prepositions. Name: Seite

Deutsch 1 Kapitel 6: Meine Sachen items in a house, pronouns, adjectives, prepositions. Name: Seite 1. Label 10 things in the room with the correct gender (die, der, das) 2. Find the nine words related to household furnishing in the puzzle below. 3. Find the missing pieces of furniture. 4. The movers

Mehr

Level 1 German, 2014

Level 1 German, 2014 90886 908860 1SUPERVISOR S Level 1 German, 2014 90886 Demonstrate understanding of a variety of German texts on areas of most immediate relevance 9.30 am Wednesday 26 November 2014 Credits: Five Achievement

Mehr

Level 1 German, 2016

Level 1 German, 2016 90886 908860 1SUPERVISOR S Level 1 German, 2016 90886 Demonstrate understanding of a variety of German texts on areas of most immediate relevance 2.00 p.m. Wednesday 23 November 2016 Credits: Five Achievement

Mehr

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen. Effizientes Arbeiten mit dem Emacs Suchen und Ersetzen Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Suchmethoden Simple Search Emacs springt an das nächste Vorkommen des angegebenen

Mehr

Electrical testing of Bosch common rail solenoid valve (MV) injectors

Electrical testing of Bosch common rail solenoid valve (MV) injectors Applies to MV injector, generation: -CRI 1.0 / 2.0 / 2.1 / 2.2 -CRIN 1 / 2 / 3, with K oder AK plug Bosch 10-position order number Bosch-Bestellnummer CRI: 0 445 110 xxx Bosch-Bestellnummer CRIN: 0 445

Mehr

REXX. Was ist REXX. Scriptsprache für viele Plattformen Erste Schritte F. Hodel os2.a-net.ch

REXX. Was ist REXX. Scriptsprache für viele Plattformen Erste Schritte F. Hodel  os2.a-net.ch REXX Scriptsprache für viele Plattformen Erste Schritte F. Hodel www.anetgmbh.ch os2.a-net.ch Was ist REXX REXX ist eine Scriptsprache Interaktiv, bei erster Ausführung wird automatisch kompiliert mit

Mehr

Lexikalische Struktur von Fortran 95. Normierte Zeichensätze

Lexikalische Struktur von Fortran 95. Normierte Zeichensätze Lexikalische Struktur von Fortran 95. Normierte Zeichensätze Im Folgenden steht für ein Leerzeichen! ASCII (American Standard Code for Information Interchange. Es gibt eine DIN-Norm die dem entspricht),

Mehr

Kontrollstrukturen. Bedingter Ablauf: if. Bedingter Ablauf: if-else

Kontrollstrukturen. Bedingter Ablauf: if. Bedingter Ablauf: if-else Kontrollstrukturen 1. Bedingter Ablauf: if, if-else 2. Blöcke von Code 3. Wiederholungsschleife: for mit Inkrement und Dekrement Operatoren 4. erweiterte Eigenschaften von printf() 5. Die relationalen

Mehr

Übungen zu Informatik 1

Übungen zu Informatik 1 Übungen zu Informatik 1 Technische Grundlagen der Informatik - Übung 9 Ausgabedatum: 11. November 2013 Besprechung: Übungsstunden in der Woche 47 (18.11. - 22.11.2013) 1) Normal- und Minimalformen Communication

Mehr

GALILEO Quick Reference Galileo Sign-on Keyword

GALILEO Quick Reference Galileo Sign-on Keyword GALILEO Quick Reference Galileo Sign-on Keyword Travelport / Galileo Deutschland GmbH Training Services Tel: +49 69 227 3670 Email: training.germany@travelport.com Jan-12 www.travelport.com/de SUMMARY

Mehr

Finite Difference Method (FDM)

Finite Difference Method (FDM) Finite Difference Method (FDM) home/lehre/vl-mhs-1-e/folien/vorlesung/2a_fdm/cover_sheet.tex page 1 of 15. p.1/15 Table of contents 1. Problem 2. Governing Equation 3. Finite Difference-Approximation 4.

Mehr

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education Cambridge International Examinations Cambridge International General Certificate of Secondary Education *5121783171* GERMAN 0525/42 Paper 4 Writing May/June 2015 1 hour Candidates answer on the Question

Mehr

Informatik II - Übung 03

Informatik II - Übung 03 Informatik II - Übung 03 Katja Wolff katja.wolff@inf.ethz.ch 15.03.2014 Besprechung Übungsblatt 2 Informatik II - Übung 03 15.03.2017 2 U2.A1 S Klammerdarstellung und eingerückter Form R P V S(R(H(K)),P(A(N,O),Q,T),V(J,F(G)))

Mehr

Brand Label. Daimler Brand & Design Navigator

Brand Label. Daimler Brand & Design Navigator Daimler Brand & Design Navigator 30. März 2016 Brand Label FUSO Financial uses the FUSO letters in combination with the word Financial in the font Daimler CS for name and label. Black lettering is set

Mehr

Number of Maximal Partial Clones

Number of Maximal Partial Clones Number of Maximal Partial Clones KARSTEN SCHÖLZEL Universität Rostoc, Institut für Mathemati 26th May 2010 c 2010 UNIVERSITÄT ROSTOCK MATHEMATISCH-NATURWISSENSCHAFTLICHE FAKULTÄT, INSTITUT FÜR MATHEMATIK

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

Dienstleistungsmanagement Übung 5

Dienstleistungsmanagement Übung 5 Dienstleistungsmanagement Übung 5 Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Economics Information and Service Systems (ISS) Saarland University, Saarbrücken, Germany Besprechung Übungsblatt 4 Slide

Mehr

Funktionale Programmierung

Funktionale Programmierung Monaden LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München 30. April 2009 Monaden Eine Monade ist ein Programmier-Schema für sequentielle Berechnungen. In Haskell

Mehr

Datentypen: integer, char, string, boolean

Datentypen: integer, char, string, boolean Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,

Mehr

Programmier-Befehle - Woche 8

Programmier-Befehle - Woche 8 Datentypen Array (mehrdim.) mehrdimensionale Massenvariable eines bestimmten Typs Definition: int my arr[2][3] = { {2, 1, 6}, {8, -1, 4} }; Zugriff: my arr[1][1] = 8 * my arr[0][2]; (Die Definition kann

Mehr

Lexikalische Analyse, Tokenizer, Scanner

Lexikalische Analyse, Tokenizer, Scanner Lexikalische Analyse, Tokenizer, Scanner Frühe Phase des Übersetzers Aufgabenteilung: Scanner (lokale) Zeichen (Symbol-)Analyse Parser Syntax-Analyse Aufgabe des Scanners: Erkennung von: Zahlen, Bezeichner,

Mehr

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education Cambridge International Examinations Cambridge International General Certificate of Secondary Education *3100160725* GERMAN 0525/43 Paper 4 Writing May/June 2015 1 hour Candidates answer on the Question

Mehr

Use of the LPM (Load Program Memory)

Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Instruction with the AVR Assembler Load Constants from Program Memory Use of Lookup Tables The LPM instruction is included in the

Mehr

Cambridge International Examinations Cambridge International General Certificate of Secondary Education

Cambridge International Examinations Cambridge International General Certificate of Secondary Education Cambridge International Examinations Cambridge International General Certificate of Secondary Education *0971753294* GERMAN 0525/41 Paper 4 Writing May/June 2015 1 hour Candidates answer on the Question

Mehr

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell

Der Beginn einer wunderbaren Freundschaft von Stefan Schnell Der Beginn einer wunderbaren Freundschaft von Stefan Schnell Polyglottes programmieren, also programmieren in mehreren Sprachen, ist ein eher ungewöhnliches Szenario. Programmiersprachen bieten im Regelfall

Mehr

a < &a[2] a < &a[2] Wert/Value: true

a < &a[2] a < &a[2] Wert/Value: true Geben Sie für jeden der drei Ausdrücke auf der rechten Seite jeweils C++- Typ und Wert an. Das Array a sei deklariert und initialisiert wie folgt. double a[] = 2.33, 0.25, 2.33, 1.0; For each of the 3

Mehr

Forth-2012 Der neue Standard. M. Anton Ertl

Forth-2012 Der neue Standard. M. Anton Ertl Forth-2012 Der neue Standard M. Anton Ertl Was ist ein Standard? Forth Programm Forth Programm Forth2012 Forth-System Was ist Forth-2012? Weiterentwicklung von Forth-94 (ANS Forth) Forth-94-programme sind

Mehr

Order Ansicht Inhalt

Order Ansicht Inhalt Order Ansicht Inhalt Order Ansicht... 1 Inhalt... 1 Scope... 2 Orderansicht... 3 Orderelemente... 4 P1_CHANG_CH1... 6 Function: fc_ins_order... 7 Plug In... 8 Quelle:... 8 Anleitung:... 8 Plug In Installation:...

Mehr