Logische und funktionale Programmierung
|
|
- Michaela Gretel Vogel
- vor 5 Jahren
- Abrufe
Transkript
1 Logische und funktionale Programmierung Vorlesung 8: Arithmetik, Listenprädikate, weitere Prolog Prädikate Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca 1/67
2 ARITHMETIK IN PROLOG Die meisten Prologimplementierungen stellen Operatoren zur Verarbeitung von Zahlen zur Verfügung. Hierzu gehören die arithmetischen Operatoren + (Addition), - (Subtraktion), * (Multiplikation), / (Division), // (ganzzahlige Division), mod (modulo) und ˆ (Exponent). Alle Operatoren können auch als Funktoren verwendet werden: Statt 3+4 kann man auch +(3,4) schreiben. Die verwendeten Symbole für die Operatoren hängen von dem jeweiligen Prolog-Interpreter ab (hier angegeben für SWI-Prolog). Vorsicht: Arithmetische Operationen gehören nicht zu den Kernkonzepten von Prolog. Mit ihnen verlässt man das auf Unifikation basierende Grundprinzip der deklarativen Programmierung. 2/67
3 RECHNEN IN PROLOG 3/67
4 ARITHMETISCHE OPERATOREN UND DIE EVALUATION 4/67
5 DER EVALUATIONSOPERATOR IS/2 5/67
6 VERGLEICH IS/2 MIT NORMALEN PROLOGPRÄDIKATEN 6/67
7 ARITHMETISCHE VERGLEICHOPERATOREN 7/67
8 EVALUATION ERZWINGENDE OPERATOREN IN PRÄDIKATSDEFINITIONEN 8/67
9 LISTENLÄNGE BESTIMMEN OHNE AKKUMULATOR 9/67
10 TRACE: LISTENLÄNGE OHNE AKKUMULATOR 10/67
11 LISTENLÄNGE BESTIMMEN MIT AKKUMULATOR 11/67
12 TRACE: LISTENLÄNGE MIT AKKUMULATOR 12/67
13 VERGLEICH LÄNGE MIT UND OHNE AKKUMULATOR 13/67
14 MAXIMALES LISTENELEMENT BESTIMMEN MIT AKKUMULATOR 14/67
15 MAXIMALES LISTENELEMENT BESTIMMEN OHNE AKKUMULATOR 15/67
16 AKKUMULATOREN: STRUKTUR DER PROGRAMME 16/67
17 ZUSAMMENFASSUNG Keywords: Rechnen in Prolog mit dem Evaluationsoperator is, arithmetische Vergleichsoperatoren, Akkumulatoren. Wichtig: Die rekursive Verarbeitung von Listen mit Akkumulatoren ist eine zentrale Programmiertechnik in Prolog. Vorsicht: Die arithmetischen Vergleichsoperatoren und der Operator is fordern zwingend sofort evaluierbare Terme. Uninstantiierte Terme führen zu einem Abbruch mit Fehlermeldung. 17/67
18 WIEDERHOLUNG 18/67
19 WIEDERHOLUNG KONKATENATION VON LISTEN: APPEND/3 19/67
20 APPEND/3 DEKLARATIV 20/67
21 APPEND/3 PROZEDURAL 21/67
22 VERWENDUNG VON APPEND/3 22/67
23 BESONDERHEITEN VON APPEND/3 Mit dem Prädikat append/3 können sehr unterschiedliche Funktionen implementiert werden. Dennoch muss man beachten, dass bei jedem Aufruf von append/3 die Liste im ersten Argument komplett abgearbeitet werden muss. aufgrund der kompletten Listenabarbeitung Programme mit vielen Aufrufen von append/3 sehr schnell ineffizient werden können. Man sollte also bei der Verwendung von append/3 in rekursiven Prädikaten vorsichtig sein. 23/67
24 SUFFIXE, PRÄFIXE UND ALLGEMEINE SUBLISTEN: PREFIX/2, SUFFIX/2, SUBLIST/2 24/67
25 SUFFIXE, PRÄFIXE UND ALLGEMEINE SUBLISTEN: PREFIX/2, SUFFIX/2, SUBLIST/2 25/67
26 SUFFIXE, PRÄFIXE UND ALLGEMEINE SUBLISTEN: PREFIX/2, SUFFIX/2, SUBLIST/2 26/67
27 LÖSCHEN EINES ELEMENTS: DELETE/3 27/67
28 UMDREHEN VON LISTEN: NAIVEREV/2 (NAIVE DEFINITION) 28/67
29 WARUM NAIVES REVERSE? Das naive naiverev/2 wird naiv genannt, weil das zu lösende Problem eigentlich mit linearer Laufzeit gelöst werden könnte. Das naive naiverev/2 benötigt jedoch durch den Einsatz von append/3 kubische Laufzeit. Betrachte den Trace von naiverev([a,b,c,d],x). 29/67
30 REVERSE/2 MIT AKKUMULATOR 30/67
31 REVERSE/2 PROZEDURAL 31/67
32 LISTENVERARBEITUNG MIT AKKUMULATORLISTE 32/67
33 DIFFERENZLISTEN 33/67
34 BEISPIEL: [1,2,3] ALS DIFFERENZLISTE 34/67
35 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 35/67
36 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 36/67
37 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 37/67
38 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 38/67
39 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 39/67
40 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 40/67
41 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 41/67
42 VORTEIL VON DIFFERENZLISTEN: KONKATENATION IN EINEM SCHRITT 42/67
43 WIEDERHOLUNG TERME 43/67
44 ZUSAMMENGESETZTE BZW. KOMPLEXE TERME 44/67
45 WIEDERHOLUNG: BESONDERE TERME LISTEN UND ARITHMETISCHE AUSDRÜCKE 45/67
46 WIEDERHOLUNG: MATCHING-/ UNIFIKATIONSOPERATOR 46/67
47 WIEDERHOLUNG: ARITHMETISCHER GLEICHHEITSOPERATOR 47/67
48 Vergleich von Termen 48/67
49 BERSICHT MATCHING- UND VERGLEICHSOPERATOREN 49/67
50 ANALYSE VON NICHT ZUSAMMENGESETZTEN TERMEN 50/67
51 ANALYSE ZUSAMMENGESETZTER TERME 51/67
52 DAS PRÄDIKAT: FUNCTOR/3 52/67
53 DAS PRÄDIKAT: FUNCTOR/3 53/67
54 TESTEN OB EIN TERM ZUSAMMENGESETZT IST 54/67
55 DAS PRÄDIKAT: ARG/3 55/67
56 DAS UNIV-PRÄDIKAT: =../2 56/67
57 BILDSCHIRMAUSGABE: WRITE CANONICAL/1 UND WRITE/1 57/67
58 STRUKTURIERTE BILDSCHIRMAUSGABE: NL/0 UND TAB/1 58/67
59 OPERATOREN EXTERNE UND INTERNE NOTATION 59/67
60 TYPEN VON OPERATOREN 60/67
61 PRÄZEDENZ VON OPERATOREN 61/67
62 ASSOZIATIVITÄT VON OPERATOREN 62/67
63 DEFINITION EIGENER OPERATOREN 63/67
64 DEFINITION BESTEHENDER OPERATOREN 64/67
65 BEISPIEL: ZWEI VERSCHIEDENE OPERATOREN 65/67
66 BEISPIEL 66/67
67 DEFINITION EINES EIGENEN OPERATORS 67/67
Prolog 5. Kapitel: Arithmetik
Zusammenfassung Kapitel 4 Prolog 5. Kapitel: Arithmetik Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben Listen als mächtige Datenstrukturen in Prolog kennengelernt
MehrProlog 6. Kapitel: Listenprädikate
Zusammenfassung Kapitel 5 Prolog 6. Kapitel: Listenprädikate Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben gesehen, wie wir mit Prolog rechnen können.
MehrProlog 6. Kapitel: Listenprädikate
Prolog 6. Kapitel: Listenprädikate Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 6 1 Zusammenfassung Kapitel 5 Wir haben gesehen, wie wir
MehrMehr Listen und noch ein bisschen Arithmetik
Mehr Listen und noch ein bisschen Arithmetik append und was man damit machen kann Arithmetik in Prolog Restrekursive Prädikate Programmierkurs Prolog p.1 Listen konkatenieren?- append([1,2,3],[a,b,c],x).
MehrTeil 4: Rekursion und Listen
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 4: Rekursion und Listen Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln,
MehrTerme. Programmierkurs Prolog p.1
Terme Programmierkurs Prolog p.1 Heute: Terme vergleichen Struktur von Termen Operatoren Programmierkurs Prolog p.2 Termgleichheit:?- a a.?- a no?- X no b. Y.?- X X.?- X no a. Programmierkurs Prolog p.3
MehrTerme. Heute: Terme vergleichen. Struktur von Termen. Operatoren. Logik in der Praxis Logikprogrammierung (Prolog) p.1
Terme Heute: Terme vergleichen Struktur von Termen Operatoren Logik in der Praxis Logikprogrammierung (Prolog) p.1 Termgleichheit: ==?- a == a.?- a == b. no?- X == Y. no?- X == X.?- X == a. no Logik in
MehrFragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?
Attribut-Werte-Paare Eine Eigenschaft kann beschrieben werden durch ein Paar [a,w]. Dabei bezeichnet a das Attribut und w den konkreten Wert aus dem Wertebereich W a des Attributs. Die Eigenschaften eines
MehrReihenfolge von Klauseln
Reihenfolge von Klauseln Bei der Programmierung in Prolog steht grundsätzlich die Repräsentation logischer Zusammenhänge im Vordergrund. Nichtsdestotrotz ist es unvermeidbar, die Mechanismen der Abarbeitung
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 10: Prolog - Das Prädikat CUT Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 12. Dezember 2016 1/38 UNTERBINDEN
MehrRekursive Listenverarbeitung
Rekursive Listenverarbeitung Übersicht Rekursion ist die wichtigste Programmiertechnik in Prolog! Rekursive Datenstrukturen Einfache und rekursiv gebildete Strukturen Rekursive Datenstrukturen und rekursive
MehrProlog 3. Kapitel: Rekursion
Zusammenfassung: Kapitel 2 Prolog 3. Kapitel: Rekursion Wir haben gelernt wie komplexe Strukturen durch Matching in Prolog aufgebaut werden können und wie die Beweisführung in Prolog funktioniert. Dozentin:
MehrVerfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere
Prolog-Arithmetik Verfügbare arithmetische Operationen ( reelle Zahlen): +, -,, /, //, mod und ggf. weitere Verfügbare arithmetische Vergleichsoperationen: >, =, =
Mehr5.3 Auswertung von Ausdrücken
5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n
MehrProlog 3. Kapitel: Rekursion
Prolog 3. Kapitel: Rekursion Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 3 1 Zusammenfassung: Kapitel 2 Wir haben gelernt wie komplexe
MehrProlog 4. Kapitel: Listen
Prolog 4. Kapitel: Listen Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Petersen Prolog: Kapitel 4 1 Zusammenfassung Kapitel 3 Wir haben gelernt, dass die Rekursion
MehrInformatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke
Informatik I: Einführung in die Programmierung 3. Werte,, n und Albert-Ludwigs-Universität Freiburg Peter Thiemann 30. Oktober 2018 1 30. Oktober 2018 P. Thiemann Info I 3 / 39 Bits Der Computer repräsentiert
MehrEinführung in PROLOG VI
Terme vergleichen Einführung in PROLOG VI PROLOG kennt ein wichtiges Prädikat zum Vergleichen von Termen, dass wir auch schon kennengelernt haben: == Zur Erinnerung sei ch einmal gesagt, dass es nicht
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 9: Prolog - Das Prädikat CUT Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Dezember 2016 1/31 Läßt sich nämlich
MehrFormale Grundlagen 2008W. Vorlesung im 2008S Institut für Algebra Johannes Kepler Universität Linz
Formale Grundlagen Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Definition Sei A eine Menge und ɛ A A A eine zweistellige
MehrListe: beliebig lange, geordnete Sequenz von Termen. Kopf ist erstes Listenelement, Schwanz die restliche Liste
Listen Liste: beliebig lange, geordnete Sequenz von Termen.(Kopf, Schwanz) Kopf ist erstes Listenelement, Schwanz die restliche Liste leere Liste [] Ende der Liste wird durch [] gekennzeichnet Beispiel:
MehrÜbungen zu Kognitive Systeme I
Übungen zu Kognitive Systeme I Stephan Weller (Stephan.Weller@wiai.uni-bamberg.de) Kognitive Systeme / WIAI / Uni Bamberg 19. Oktober 2005 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
Mehr3. Operatoren und Ausdrücke
3. Operatoren und Ausdrücke Ausdruck (expression): Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (Boole'sche)
MehrTeil 8: Fortgeschrittene Techniken
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 8: Fortgeschrittene Techniken Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax,
MehrProf. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Was sind Operatoren Ein Operator ist eine in die Programmiersprache eingebaute Funktion, die
MehrÜbungen zu Kognitive Systeme I
Übungen zu Kognitive Systeme I Kognitive Systeme / WIAI / Uni Bamberg 14. Oktober 2005 Inhalt 1 2 3 4 5 6 Ablauf der Übungen Ablauf SWI-Prolog Ab nächster Woche wird es Übungszettel geben Ablauf der Übungen
MehrEinführung in das Programmieren Prolog Sommersemester 2006. Teil 2: Arithmetik. Version 1.0
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 2: Arithmetik Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln, Unifikation,
MehrJava ist statisch typisiert, d.h., Variablen, Ergebnisse von Ausdrücken, etc. haben einen Datentyp, der schon bei der Kompilierung festgelegt wird.
5 Mehr Java Java ist statisch typisiert, d.h., Variablen, Ergebnisse von Ausdrücken, etc. haben einen Datentyp, der schon bei der Kompilierung festgelegt wird. Java unterscheidet zwei Arten von Typen:
MehrProlog 9. Kapitel: Terme
Zusammenfassung Kapitel 8 Prolog 9. Kapitel: Terme Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben Parameter kennengelernt und diese eingesetzt, um grammatische
MehrProlog 10. Kapitel: Cut und Negation
Zusammenfassung Kapitel 9 Prolog 10. Kapitel: Cut und Negation Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben verschiedene Prädikate zur Analyse von zusammengesetzten
Mehr26 Hierarchisch strukturierte Daten
Algorithmik II Peter Wilke Sommersemester 2005 Teil III Funktionale Programmierung 26 Hierarchisch strukturierte Daten Peter Wilke Algorithmik II Sommersemester 2005 1 Peter Wilke Algorithmik II Sommersemester
Mehr2. Ganze Zahlen int unsigned int
88 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp
Mehr2 Logikprogrammierung am Beispiel Prolog
2 Logikprogrammierung am Beispiel Prolog 2.1 Logikprogrammierung mit einfachen Daten 2.2 Variablenumbenennung 2.3 Syntax 2.4 Komplexe Daten 2.5 Der Cut 2.6 Negation als Fehlschlag 2.7 Literaturhinweise
MehrProlog: Listen und Cut. Mark Ugarov
Prolog: Listen und Cut Mark Ugarov Übersicht Wiederholung und Anwendung Wie nutzt man? Listen Cut Anwendungsbeispiele immer parallel Wiederholung: Aufruf von Prolog-Programmen Notwendige Software: SWI
MehrÜbung zu Kognitive Systeme I
Übung zu Kognitive Systeme I Prolog Stephan Weller (Stephan.Weller@wiai.uni-bamberg.de) Kognitive Systeme / WIAI / Uni Bamberg 1. November 2006 Inhalt Intro Was ist Prolog? Wie funktioniert Prolog? Rekursion
MehrOperatoren und Ausdrücke
Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung
Mehr3. Ganze Zahlen int unsigned int
110 3. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrRekursion. rekursive Prädikate. deklarative vs. prozedurale Bedeutung von Prädikaten. Programmierkurs Prolog p.1
Rekursion rekursive Prädikate deklarative vs. prozedurale Bedeutung von Prädikaten Programmierkurs Prolog p.1 is digesting/2 is digesting(x,y) :- just ate(x,y). is digesting(x,y) :- just ate(x,z), is digesting(z,y).
Mehr4. Zahlendarstellungen
121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;
Mehr3.1 Reservierte Wörter
3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir
MehrKapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1
Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2016/2017 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2
MehrTheorembeweiser und ihre Anwendungen
Theorembeweiser und ihre Anwendungen Prof. Dr.-Ing. Gregor Snelting Dipl.-Inf. Univ. Daniel Wasserrab Lehrstuhl Programmierparadigmen IPD Snelting Universität Karlsruhe (TH) IPD Snelting, Uni Karlsruhe
MehrIT-Sicherheitsmanagement. Teil 4: Einführung in algebraische Strukturen
IT-Sicherheitsmanagement Teil 4: Einführung in algebraische Strukturen 19.09.18 1 Literatur und Videos [4-1] http://www.iti.fh-flensburg.de/lang/krypto [4-2] Forster, Otto: Algorithmische Zahlentheorie.
MehrKapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2018/2018. Inhaltsverzeichnis 1
Kapitel 2: Python: Ausdrücke und Typen Grundlagen der Programmierung 1 Holger Karl Wintersemester 2018/2018 Inhaltsverzeichnis Inhaltsverzeichnis 1 Abbildungsverzeichnis 2 Liste von Definitionen u.ä. 2
MehrProgrammierung Paradigmen und Konzepte
Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1
MehrNino Simunic M.A. Computerlinguistik, Campus DU
Vorlesung 3. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Grundlegende Programmiertechniken, WS 2007/2008 Ausdrücke, Operatoren
Mehr3. Operatoren und Ausdrücke
3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)
MehrAbstrakte 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
Mehr3. Exkurs in weitere Arten der Programmierung
3. Exkurs in weitere Arten der Programmierung Inhalt: Objektorientierte Programmierung in C++ Funktional-Logische Programmierung in Prolog Funktional-logische Programmierung in Prolog Prolog Programming
MehrIT-Security. Teil 9: Einführung in algebraische Strukturen
IT-Security Teil 9: Einführung in algebraische Strukturen 08.05.17 1 Literatur und Videos [9-1] http://www.iti.fh-flensburg.de/lang/krypto [9-2] Forster, Otto: Algorithmische Zahlentheorie. 2. Auflage,
Mehra :- b,c. % (1) a :- e,f. % (2) (2) (9) (6) (9) (6) Call: (8) a Call: (9) b Fail:(10) g Redo:?-a (9) b Exit:(10) e Exit:(10) h
a :- b,c. % (1) a :- e,f. % (2) trace b :- g,h. % (3) b :- e,h. % (4) c.?-a % (5) a :- b,c. e. % (6) Call a f :- g. % (7) Call b b:- g,h. (1) f :- e % (8) (2) Exit b Call c h. % (9) Call g b c e f Fail
Mehr3. Operatoren und Ausdrücke
3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)
MehrRekursive Programmiertechniken. Einfachste Rekursion mit Babuschka. Hyponymie: Unterbegriffshierarchie. Linksrekursion mit Babuschka
Rekursive Programmiertechniken Einfachste Rekursion mit Babuschka Übersicht Linksrekursion Transitive Relationen berechnen Hierarchische Beziehungen: Hyponymie Dekomposition eines (von mehreren) Arguments
MehrProgrammiersprache Prolog
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 6.2 Logikprogrammierung Prolog 240 Programmiersprache Prolog Prolog-Programm ist Liste von Fakten (einelementige Hornklausel) und Regeln (mehrelementige
MehrIII.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
MehrLogische und funktionale Programmierung
Logische und funktionale Programmierung Vorlesung 11: Logikprogramme Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 19. Dezember 2016 1/55 WIEDERHOLUNG: HORN-KLAUSELN
MehrLiteratur und Videos. ISM WS 2017/18 Teil 4/Algebren
Literatur und Videos [4-1] http://www.iti.fh-flensburg.de/lang/krypto [4-2] Forster, Otto: Algorithmische Zahlentheorie. 2. Auflage, Springer, 2015 [4-3] Teschl, Gerald; Teschl, Susanne: Mathematik für
MehrGanze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.
Mehr2. Ganze Zahlen int unsigned int
99 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
Mehr2. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32
Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit. #include 2. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz,
MehrSoftware Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
MehrKapitel 2: Ausdrücke. 1. Sorten und abstrakte Datentypen. 2. Ausdrücke 2.1 Syntax 2.2 Semantik 2.3 Ausdrücke in Java. 3. Funktionale Algorithmen
Kapitel 2: Ausdrücke 1. Sorten und abstrakte Datentypen 2. Ausdrücke 2.1 Syntax 2.2 Semantik 2.3 Ausdrücke in Java 3. Funktionale Algorithmen 4. Variablen, Anweisungen, Prozeduren 5. Prozeduraufrufe 54
MehrGliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen
Gliederung Programmierparadigmen Programmieren in Prolog D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 26. April
MehrPotenzen mit ganzzahligen Exponenten: Rechenregeln
Lüneburg, Fragment Potenzen mit ganzzahligen Exponenten: Rechenregeln 5-E1 5-E2 Potenzen: Rechenregeln Regel 1: Potenzen mit gleicher Basis können dadurch miteinander multipliziert werden, dass man die
MehrInformatik I. 11. Prozeduren als Daten. 9. Dezember Albert-Ludwigs-Universität Freiburg. Informatik I. Jan-Georg Smaus. Prozeduren als Eingabe
11. Daten Albert-Ludwigs-Universität Freiburg 9. Dezember 2010 1 / 37 Daten? Prozeduren rechnen auf Daten, d.h., sie haben Daten als Einund Ausgabe. Was sind Daten? 2 / 37 Daten? Prozeduren rechnen auf
MehrProlog 2. Kapitel: Matching und Beweisführung
Zusammenfassung: Kapitel 1 Prolog 2. Kapitel: Matching und Beweisführung Dozentin: Wiebke Petersen Kursgrundlage: Learn Prolog Now (Blackburn, Bos, Striegnitz) Wir haben die Grundlagen und Anwendungsgebiete
MehrAusdrücke (1) Grundlegende Eigenschaften
Ausdrücke () Grundlegende Eigenschaften bestehen aus Literalen, Konstanten, Variablen und Operatoren einfachster Ausdruck ist das Semikolon, es bewirkt nichts. Ausdrücke werden mit einem Semikolon abgeschlossen.
MehrÜberblick. Ausdrücke. 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke
Überblick 3. Mathematische Grundlagen 3.1 Mengen und Abbildungen 3.2 Induktion und Rekursion 3.3 Ausdrücke 3 Mathematische Grundlagen 3 Ausdrücke Einf. Progr. (WS 08/09) 148 Ausdrücke Betrachten wir folgende
Mehr3. Ganze Zahlen. 9 * celsius / Celsius to Fahrenheit. (9 * celsius / 5) + 32
3. Ganze Zahlen Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische Operatoren, Wertebereich der Typen int, unsigned int 110 Celsius to Fahrenheit // Program: fahrenheit.cpp
MehrVorkurs Informatik WiSe 17/18
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017
MehrGrundlagen der Rechnerarchitektur. Binäre Logik und Arithmetik
Grundlagen der Rechnerarchitektur Binäre Logik und Arithmetik Übersicht Logische Operationen Addition, Subtraktion und negative Zahlen Logische Bausteine Darstellung von Algorithmen Multiplikation Division
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
Mehr2: Restklassen 2.1: Modulare Arithmetik
2: Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32, 64} Prüfziffern mod 10 oder mod 11... 71 S. Lucks Diskr Strukt.
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe
MehrInstitut für Programmierung und Reaktive Systeme 10. Mai Programmieren II. 11. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 10. Mai 2013 Programmieren II 11. Übungsblatt Hinweis: Dieses Übungsblatt enthält die zweite Pflichtaufgabe.
Mehr2. Ganze Zahlen. Beispiel: power8.cpp. Terminologie: L-Werte und R-Werte. Terminologie: L-Werte und R-Werte
90 Beispiel: power8.cpp 91 2. Ganze Zahlen int a; // Input int r; // Result std::cout > a; Auswertung arithmetischer Ausdrücke, Assoziativität und Präzedenz, arithmetische
MehrC-Programmierung: Ausdrücke und Operatoren#Division.2F
C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF
MehrWirtschaftsmathematik: Mathematische Grundlagen
Wirtschaftsmathematik: Mathematische Grundlagen 1. Zahlen 2. Potenzen und Wurzeln 3. Rechenregeln und Vereinfachungen 4. Ungleichungen 5. Intervalle 6. Beträge 7. Lösen von Gleichungen 8. Logarithmen 9.
Mehr5.3 Auswertung von Ausdrücken
5.3 Auswertung von Ausdrücken Funktionen in Java bekommen Parameter/Argumente als Input, und liefern als Output den Wert eines vorbestimmten Typs. Zum Beispiel könnte man eine Funktion i n t min ( i n
MehrEinführung in die Programmierung I. 2.1 Methoden. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.1 Methoden Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.1 Methoden Struktur 2.2 Typen und Variable Einfache (eingebaute) Typen Deklaration
MehrIsomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt
Isomorphismus Definition Gruppen-Isomorphismus Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt 1 f ist bijektiv f (u + v) = f (u) f (v) für alle u, v G, die
MehrAbschnitt 7: Komplexität von imperativen Programmen
Abschnitt 7: Komplexität von imperativen Programmen 7. Komplexität von imperativen Programmen 7 Komplexität von imperativen Programmen Einf. Progr. (WS 08/09) 399 Ressourcenbedarf von Algorithmen Algorithmen
MehrKontrollstrukturen: Wiederholungsanweisungen
Kontrollstrukturen: Wiederholungsanweisungen Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/
MehrKapitel 5. Listenverarbeitung
Kapitel 5. Listenverarbeitung Die Liste ist ein sehr flexibler Datentyp, der sich besonders auch für linguistische Anwendungen eignet. Allerdings können wir, mit Ausnahme des Kopfes, auf die Elemente einer
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrOperatoren und Ausdrücke
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Überblick 1 2 / 11 Motivation Es gibt eine Reihe
Mehroccam 2 Das Referenz-Handbuch
INMOS Limited occam 2 Das Referenz-Handbuch Die deutsche Ausgabe besorgte Dieter Weiß Tecbnischß Koi;h5(:hule Darmstadt FACHBER jfc:h INFORMATIK ' ; * Wh IL1QJ H E K! Soch8ehie»e! A; "N Eine Coedition
MehrDiskrete Strukturen Kapitel 5: Algebraische Strukturen (Grundlagen)
WS 2014/15 Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_14
Mehr