Kopf und Rest einer Liste (head and tail): Trennung durch. Listenkopf: kann mehrere Elemente umfassen
|
|
- Helmuth Schwarz
- vor 8 Jahren
- Abrufe
Transkript
1 Prolog Syntax Liste, Variable [ Term Liste ] Listenelemente: Trennung durch Komma [1, pferd, klaus] Kopf und Rest einer Liste (head and tail): Trennung durch [K R] = [1, pferd, klaus] (K = 1, R = [pferd, klaus]) Listenkopf: kann mehrere Elemente umfassen [X, Y R] = [1, pferd, klaus] (X = 1, Y = pferd, R = [klaus]) Informatik 1 1 WS 2005/2006
2 Prolog Syntax Programm Klausel Prolog-Programm: Folge von Hornklauseln Typischerweise in einer Datei gespeichert und zur Ausführung geladen. Laufzeitumgebung: Es gibt Prolog-Compiler Aber: vorwiegend Interpreter im Einsatz. Informatik 1 2 WS 2005/2006
3 Prolog Syntax Anfrage?-, Literal. Anfragen in Prolog?- statt?- saeugetier(mensch). yes.?- saeugetier(x), beine(x, 4). X = pferd Bei mehreren Antworten: Interaktion ; nächste Antwort, sonst Abbruch der Ausgabe?- saeugetier(x). X = mensch ->; X = pferd Informatik 1 3 WS 2005/2006
4 Angabe von Termen: Infix- oder Prefixnotation oder auch +(3, 4) Termauswertung in Prolog: symbolisch?- write(3 + 5) Termgleichheit: auch symbolisch? = no. Erzwingung der Auswertung: Operator is?- X is 3 + 5, write(x). 8 Prüfung auf Gleichheit von Termen: valequal?- valequal(3 + 4, 4 + 3). yes. Prolog Arithmetik Informatik 1 4 WS 2005/2006
5 Beispiel Größter gemeinsamer Teiler Als Hornklauseln: ggt(u, 0, u). ggt(u, v, w) nichtnull(v), ggt(v, u mod v, w). In Prolog: ggt(u, 0, U). Prolog Arithmetik ggt(u, V, W) :- not(v = 0), R is U mod V, ggt(v, R, W). Auswertung der Modulo-Operation: über das mittlere Literal (R is U mod V) Informatik 1 5 WS 2005/2006
6 Unifikation in Prolog 1. Unifikation von Konstanten: nur mit sich selbst me = me yes 2. Unifikation uninstanziierter Variablen: mit beliebigen Termen Ggf. Unifikation mit einer anderen uninstanziierten Variablen?- X = Y. X = 23, Y = Unifikation strukturierter Terme (z.b. Funktion): nur erfolgreich bei gleichem Funktionsnamen und gleicher Anzahl von Argumenten Informatik 1 6 WS 2005/2006
7 Unifikation in Prolog Nutzen der Unifikation: Kurze Ausdrücke für viele Operationen Beispiel Verketten von Listen verketten([], Y, Y). verketten([a B], Y, [A W]) :- verketten(b, Y, W). Verketten kann auch rückwärts ausgeführt werden: Erzeugung aller Möglichkeiten zwei Listen zu verketten, die die gegebene Liste ergeben?- verketten(x, Y, [1, pferd]). X = [], Y = [1, pferd] ->; X = [1], Y = [pferd] ->; X = [1, pferd], Y = [] Informatik 1 7 WS 2005/2006
8 Resolution in Prolog: linear von links nach rechts und von oben nach unten (1) vorfahr(x, Y) :- elternteil(x, Z), vorfahr(z, Y). (2) vorfahr(x, X). (3) elternteil(karin, klaus).?- vorfahr(x, klaus). Resolution in Prolog vorfahr(x,klaus) 1 2 elternteil(x,z), vorfahr(z,klaus) {X = klaus} 3 Yes. vorfahr(klaus,klaus) {X = karin} 1 2 elternteil(klaus,z), vorfahr(z,klaus) {X = karin} {X = karin} Yes. No. Informatik 1 8 WS 2005/2006
9 Resolution in Prolog Tiefensuche: effizient, aber es wird evtl. keine Lösung gefunden, wenn ein Teil des Suchbaumes unendliche Tiefe hat. (1) vorfahr(x, Y) :- vorfahr(z, Y), elternteil(x, Z). (2) vorfahr(x, X). (3) elternteil(karin, klaus).?- vorfahr(x, klaus). vorfahr(x,klaus) 1 2 vorfahr(z,klaus), elternteil(x,z) {X = klaus} 1 3 Yes. vorfahr(z2, klaus) elternteil(z,z2), elternteil(x,z) vorfahr(klaus,klaus) {X = karin} Yes. terminiert nicht! Informatik 1 9 WS 2005/2006
10 Ausgabe aller Ergebnisse nach Benutzereingabe: Mit write und dem vordefinierte Prädikat fail Kontrollstrukturen in Prolog teile(l) :- verketten(x, Y, L), write(x), write(y), nl, fail.?- teile([1, pferd]). [][1, pferd] [1][pferd] [1, pferd][] no. Prolog-Aktion bei Fehlschlag: Backtracking Ausgabe aller Ergebnisse auf einmal Informatik 1 10 WS 2005/2006
11 Kontrollstrukturen in Prolog Beispiel Berechnung einer Funktion für alle natürlichen Zahlen bis I natural(0). natural(x) :- natural(y), X is Y+1. rechnefuncbis(i) :- natural(x), X =< I, write(func(x)), fail. Ergebnis in Prolog: Endlosschleife X wird immer weiter erhöht, selbst wenn es größer als I ist. Abhilfe: Mechanismus, um die Berechnung für den restlichen Suchbaum abzubrechen.! (cut): Abtrennen (Überspringen) eines Teilbaumes in Prolog Informatik 1 11 WS 2005/2006
12 Antreffen von! beim Backtrackings: restliche Kinder des Vaterknotens überspringen. Kontrollstrukturen in Prolog (1) vorfahr(x, Y) :- elternteil(x, Z),!, vorfahr(z, Y). (2) vorfahr(x, X). (3) elternteil(karin, klaus).?- vorfahr(x, klaus). vorfahr(x,klaus) 1 2 elternteil(x,z),!, vorfahr(z,klaus) {X = klaus} 3 Yes. vorfahr(klaus,klaus) {X = karin} Wird übersprungen 1 2 elternteil(klaus,z),!, vorfahr(z,klaus) {X = karin} {X = karin} Yes. No. Informatik 1 12 WS 2005/2006
13 Achtung: Bei falscher Verwendung des Cuts wird keine Lösung gefunden! Kontrollstrukturen in Prolog (1) vorfahr(x, Y) :-!, elternteil(x, Z), vorfahr(z, Y). (2) vorfahr(x, X). (3) elternteil(karin, klaus).?- vorfahr(x, klaus). vorfahr(x,klaus) 1 2!, elternteil(x,z), vorfahr(z,klaus) {X = klaus} 3 Yes. vorfahr(klaus,klaus) {X = karin} Wird übersprungen 1 2!, elternteil(klaus,z), vorfahr(z,klaus) {X = karin} {X = karin} Yes. No. Wird ebenfalls übersprungen Informatik 1 13 WS 2005/2006
14 Cut: Auflösung der Endlosschleife aus Beispiel Kontrollstrukturen in Prolog natural(0). natural(x) :- natural(y), X is Y+1. rechnefuncbis(i) :- natural(x), X =< I, write(func(x)), X = I,!, fail. Erhöhung von X nur bis I erreicht ist. Danach: Cut verhindert Abarbeitung des restlichen Suchbaums Programm terminiert. Informatik 1 14 WS 2005/2006
15 Probleme mit logischer Programmierung Ursprüngliche Ziel logischer Programmierung: Programmierer gibt nur Eigenschaften der Lösung an Interpreter/Compiler findet Lösung Logische Programmiersprachen (auch Prolog): Ziel nur teilweise erreicht. Resolution, Unifikation und Tiefensuche: Ursachen vieler Probleme bei der Spezifikation, die ein Programmierer kennen muss, um korrekte Programme zu schreiben. Informatik 1 15 WS 2005/2006
16 Probleme mit logischer Programmierung Existenzproblem: Unifikationsalgorithmus von Prolog nicht korrekt: keine Prüfung, ob eine Variable selbst in dem Term vorkommt, mit dem sie instanziiert wird. Beispiel Eigener Nachfolger eigener_nachfolger(x) :- X = nachfolger(x). Selbst ohne weitere Angaben über nachfolger wird Prolog mit Yes. antworten, d.h. Aussage ist für alle X wahr. Ausgabe von X, das diese Aussage erfüllt: eigener_nachfolger(x) :- X = nachfolger(x).?- eigener_nachfolger(x). Führt in Prolog zur Endlosschleife, da Unifikation sich im Kreis dreht. Informatik 1 16 WS 2005/2006
17 Probleme mit logischer Programmierung Grundlegende Eigenschaft aller logischen Programmiersprachen Alles, was nicht als wahr bewiesen werden kann, wird als falsch angenommen. Führt mit der Implementierung der Negation ggf. zu Überraschungen. Beispiel elternteil(karin, klaus).?- not(mutter(karin, klaus)). System weiß nicht, dass Karin weiblich ist und ein weiblicher Elternteil eine Mutter ist Antwort Yes.. Informatik 1 17 WS 2005/2006
18 Probleme mit logischer Programmierung Verwandtes Problem: Freigabe der Instanziierung von Variablen bei Backtracking Beispiel Beispiel mensch(klaus).?- mensch(x). X = klaus?- not(not(mensch(x)) X = _23 Aussage korrekt: not(mensch(x)) schlägt fehl. Instanziierung von X = klaus wird freigegeben.?- not(x = 1), X = 0. No. Lösung ist X = 0, aber X wird mit 1 instanziiert und Negation schlägt fehl. Informatik 1 18 WS 2005/2006
19 Probleme mit logischer Programmierung Obwohl ein Programm nur eine Spezifikation der Lösung sein sollte, ist Kontrollinformation ebenfalls enthalten: Implizit durch die Reihenfolge der Klausen und Teilausdrücke Explizit durch Cuts Prolog is -Operation: bei Verwendung müssen alle Variablen auf der rechten Seite instanziiert sein. Programm kann nicht rückwärts ausgeführt werden. Einschränkung fällt in constrained logischen Programmiersprachen (z.b. Prolog IV) weg, allerdings zum Preis einer deutlich höheren Laufzeit. Informatik 1 19 WS 2005/2006
20 Zustandsorientierte Programmierung Literatur: Küchlin/Weber, Kap. 6 Goos, Bd. II, Kap. 8, Louden, Chap. 5-9, Broy, Bd. I, Kap. 5, Sebesta, Chap Informatik 1 20 WS 2005/2006
21 Rückblick: Software für Turingmaschine Endlich viele Zustände Tabelle, die Zustandswechsel beschreibt Beispiel Zustandsorientiertes Programmieren Im Zustand q liest Maschine a. Paar (q, a) bestimmt Zeile für Operation p und Folgezustand q'. Maschine führt p aus und wird in den Zustand q' versetzt. Definition Zustand der Berechnung: Vorkommende Größen zusammen mit der Angabe des vorangegangenen Schritts. Informatik 1 21 WS 2005/2006
22 Definition Zustandsorientiertes Programmieren Zustandsvariable: Eine Größe, die während der Programmausführung ihre Identität behält, aber ihren Wert ändern kann. Bemerkungen Oft ungenaue Sprechweise: der Zustand x meint der Wert der Zustandsvariable x. Datenobjekt: Strukturierter Zustand, der aus Teilzuständen besteht. Zustand der Programmausführung: Werte der Datenobjekte Zustand ändert sich durch Ausführung von Anweisungen. Imperative Programmiersprachen: Programm besteht aus Anweisungen. Zustandsorientiertes Programmieren = imperatives Programmieren. Beispiele imperative Programmiersprachen: Fortran, Pascal, C, Ada, Java,... Informatik 1 22 WS 2005/2006
23 Die Programmiersprache Java Java ist eine objektorientierte Programmiersprache in der Tradition von C und C++ Die Java-Syntax lehnt sich an C an, nimmt aber einige deutliche Bereinigungen vor z.b. Abwesenheit von goto und Zeigern Die Erweiterung um Objekte geschieht ähnlich wie bei C++ Allerdings gibt es doch einige Unterschiede In erster Näherung könnte man sagen, dass Java aus der riesigen Vielfalt der C++-Konstrukte eine sinnvolle Auswahl trifft und gleichzeitig einiges umstellt und bereinigt Informatik 1 23 WS 2005/2006
24 Java Bibliotheken Zu Java gehört außerdem eine Sammlung von standardisierten Bibliotheken, die häufige Programmieraufgaben stark erleichtern Beipiele solcher Bibliotheken sind java.applet für Programme, die in Web-Browsern laufen sollen java.awt für das Erzeugen graphischer Benutzeroberflächen java.math für Arithmetik auf beliebig langen Zahlen (wichtig z. B. für die Kryptographie), java.net zum Betreiben von Verbindungen über das Internet java.rmi zum Aufrufen von Methoden auf entfernten Rechnern... Informatik 1 24 WS 2005/2006
25 Home Page von Java Java wurde bei der Firma SUN Microsystems entwickelt Von James Gosling Ursprünglich für die Programmierung von in Haushaltselektronik eingebetteten Prozessoren Die zentrale Internet Site der Firma SUN zum Thema Java ist Besonders empfehlenswert (und sehr empfohlen zur Ergänzung des Selbststudiums): Das offizielle Java-Tutorium: Die offizielle Sprachdefinition: Über Informatik 1 25 WS 2005/2006
26 Das Buch der Entwickler Arnold, K., Gosling, J. und Holmes, D. (2000). The Java Programming Language. Addison- Wesley. Dritte Auflage. Die originale Referenz, die auch einen kompakten Überblick und ein Nachschlagen während des Programmierens ermöglicht Setzt aber oft schon das Standardwissen der Informatik voraus Das wir in dieser Vorlesung erarbeiten wollen Informatik 1 26 WS 2005/2006
27 Wiederholung: Compilieren Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 27 WS 2005/2006
28 Programmentwicklung und -ausführung: Interpretieren Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 28 WS 2005/2006
29 Programmiervorgang für Java Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 29 WS 2005/2006
30 Platformunabhängige Compilierung für Java Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 30 WS 2005/2006
31 Programmiervorgang für Java Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 31 WS 2005/2006
32 Programmiervorgang für Java Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 32 WS 2005/2006
33 Hello World -Programm Anweisung Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 33 WS 2005/2006
34 Pragmatisches zur Programmausführung in Java Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 34 WS 2005/2006
35 Pragmatisches zur Programmausführung in Java Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 35 WS 2005/2006
36 Pragmatisches zur Programmausführung in Java Skizze von R. Manthey, Vorlesung Informatik I, WS 2001/2002 Informatik 1 36 WS 2005/2006
37 Beispiel: Benutzung von Kommandozeilenparametern Konkatenation von Zeichenketten Informatik 1 37 WS 2005/2006
Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick
Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrVermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
MehrProlog basiert auf Prädikatenlogik
Software-Technologie Software-Systeme sind sehr komplex. Im Idealfall erfolgt die Programmierung problemorientiert, während die notwendige Übertragung in ausführbare Programme automatisch erfolgt. Prolog-Philosophie:
MehrLogische Programmierung
Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);
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,
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrBinäre Suchbäume (binary search trees, kurz: bst)
Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrEin Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch
Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,
MehrKontrollstrukturen - Universität Köln
Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,
MehrGrammatiken. Einführung
Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrBinä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
MehrAlso kann nur A ist roter Südler und B ist grüner Nordler gelten.
Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf
MehrSemantik von Formeln und Sequenzen
Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt
MehrKlausurteilnehmer. 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
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrEinführung in Eclipse und Java
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrDatenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware
Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO
MehrLehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup
Universität Dortmund Lehrstuhl Informatik VI Grundzüge der Informatik * WS 28/29 Prof. Dr. Joachim Biskup Leitung der Übungen: Arno Pasternak Lösungs-Ideen Übungsblatt 6 A: Grammatiken, Syntaxdiagramme
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Mehrhttp://train-the-trainer.fh-joanneum.at IINFO Storyboard
IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrGrundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
MehrJava-Programmierung mit NetBeans
Java-Programmierung mit NetBeans Steuerstrukturen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Steuerstrukturen Steuerstrukturen Verzweigungen Alternativen abweisende nichtabweisende
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrÜbung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrAuswahl von Klauseln und Atomen in Prolog
5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrRepetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
MehrGrundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II
1. Motivation 2. Lernmodelle Teil I 2.1. Lernen im Limes 2.2. Fallstudie: Lernen von Patternsprachen 3. Lernverfahren in anderen Domänen 3.1. Automatensynthese 3.2. Entscheidungsbäume 3.3. Entscheidungsbäume
MehrWas ist Logische Programmierung?
Was ist Logische Programmierung? Die Bedeutung eines Computer-Programms kann durch Logik erklärt werden. Die Idee der logischen Programmierung besteht darin, die Logik eines Programms selber als Programm
MehrRobot Karol für Delphi
Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
MehrFormale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt
MehrOrdner Berechtigung vergeben Zugriffsrechte unter Windows einrichten
Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrKapitalerhöhung - Verbuchung
Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.
MehrAgiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de
Agiles Design Dr.-Ing. Uwe Doetzkies Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail: gi@uwe.doetzkies.de startupcamp berlin 15.3.2013 Regionalgruppe Berlin/Brandenburg Arbeitskreis Freiberufler
MehrGrundlagen. 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
MehrWhitepaper. Produkt: combit Relationship Manager 7. combit Relationship Manager email-rückläufer Script. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7 combit Relationship Manager email-rückläufer Script Inhalt Einleitung 3 Notwendige Anpassungen 3 crm Solution
MehrInformatik I. Übung 01. Olga Diamanti
Informatik I Übung 01 Olga Diamanti 1 Über mich PhD Studentin in D-INFK Aus Griechenland Habe Elektrotechnik studiert Email: olga.diamanti@inf.ethz.ch http://www.inf.ethz.ch/ personal/dolga/ Mein Büro:
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
Mehrder Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.
Medizintechnik MATHCAD Kapitel. Einfache Rechnungen mit MATHCAD ohne Variablendefinition In diesem kleinen Kapitel wollen wir die ersten Schritte mit MATHCAD tun und folgende Aufgaben lösen: 8 a: 5 =?
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrFormale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
MehrAnalysis 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
MehrGruppenrichtlinien und Softwareverteilung
Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden
MehrBuddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005
Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2
MehrInternet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrKlausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007
MehrDie Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".
TechNote Backup Protrixx Software GmbH, 2013-09-23 Im Folgenden finden Sie die von uns empfohlenen Einstellungen des automatischen Backups in M-System. Der Zugriff auf die Backup-Einstellungen ist nur
MehrTask: Nmap Skripte ausführen
Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses
MehrMathematische Grundlagen
Mathematische Grundlagen für Wirtschaftsinformatiker Prof. Dr. Peter Becker Fachbereich Informatik Hochschule Bonn-Rhein-Sieg Wintersemester 2015/16 Peter Becker (H-BRS) Mathematische Grundlagen Wintersemester
MehrProgrammieren einer Lüftungsanlage mit DDC-Suite Vorlagen Arbeiten mit dem Fupla
Programmieren einer Lüftungsanlage mit DDC-Suite Vorlagen Arbeiten mit dem Fupla 1 Workshop PG5 HLK Syntax und Hinweise für Aktionen im Workshop Bitte folgen Sie den Vorgaben des Dozenten. Bitte benutzen
MehrBedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien
Sie haben von der VR DISKONTBANK GmbH ein signiertes PDF-Dokument (i.d.r. eine Zentralregulierungsliste mit dem Status einer offiziellen Rechnung) erhalten und möchten nun die Signatur verifizieren, um
MehrEinführung in die Informatik II
Einführung in die Informatik II Vorlesung Sommersemester 2013 Prof. Dr. Nikolaus Wulff Ziele der Vorlesung Sie vertiefen die Kenntnisse aus Informatik I und runden diese in weiteren Anwendungsgebieten
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrEinführung in PROLOG. Christian Stocker
Einführung in PROLOG Christian Stocker Inhalt Was ist PROLOG? Der PROLOG- Interpreter Welcher Interpreter? SWI-Prolog Syntax Einführung Fakten, Regeln, Anfragen Operatoren Rekursion Listen Cut Funktionsweise
MehrDie Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.
In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website
MehrBevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.
R. Brinkmann http://brinkmann-du.de Seite 1 13.0.010 Lineare Gleichungen Werden zwei Terme durch ein Gleichheitszeichen miteinander verbunden, so entsteht eine Gleichung. Enthält die Gleichung die Variable
MehrBerechnungen in Access Teil I
in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer
MehrSoftwaretechnologie -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
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrDas Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!
Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
MehrKorrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
MehrFunktionale Programmierung (in Clojure)
Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen
MehrAbituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)
Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler
MehrHier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1.
Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1. Vorweg: Die neue MTK Firmware 1.9 (AXN1.51_2776_3329_384.1151100.5_v19.bin) ist
Mehr1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.
Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrR ist freie Software und kann von der Website. www.r-project.org
R R ist freie Software und kann von der Website heruntergeladen werden. www.r-project.org Nach dem Herunterladen und der Installation von R kann man R durch Doppelklicken auf das R-Symbol starten. R wird
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrDie Post hat eine Umfrage gemacht
Die Post hat eine Umfrage gemacht Bei der Umfrage ging es um das Thema: Inklusion Die Post hat Menschen mit Behinderung und Menschen ohne Behinderung gefragt: Wie zufrieden sie in dieser Gesellschaft sind.
MehrMai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln
Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese
MehrFraunhofer FOKUS ADPSW-INSTALLATION. Abiturdaten-Prüfsoftware. Version 3.0.1, 7. Mai 2013 FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS
Fraunhofer FOKUS FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS ADPSW-INSTALLATION Abiturdaten-Prüfsoftware Version 3.0.1, 7. Mai 2013 IN ZUSAMMENARBEIT MIT ADPSW-INSTALLATION Abiturdaten-Prüfsoftware
Mehr