Das Damenproblem - funktional und logisch
|
|
- Karin Junge
- vor 7 Jahren
- Abrufe
Transkript
1 - funktional und logisch 1 1 Technische Fakultät Universität Bielefeld / Seminar Programmiersprachen
2 Gliederung Einleitung 1 Einleitung 2 3
3 Problembeschreibung Definition Definition Sei N eine natürliche Zahl. Dann verstehen wir unter queens(n) das Problem, N Damen auf einem Schachbrett mit N Zeilen und Spalten so zu positionieren, dass sie sich gegenseitig nicht schlagen können. Allgemein sind wir daran interessiert, die Liste aller möglichen Lösungen für ein gegebenes N zu erhalten.
4 Problembeschreibung Definition Definition Sei N eine natürliche Zahl. Dann verstehen wir unter queens(n) das Problem, N Damen auf einem Schachbrett mit N Zeilen und Spalten so zu positionieren, dass sie sich gegenseitig nicht schlagen können. Allgemein sind wir daran interessiert, die Liste aller möglichen Lösungen für ein gegebenes N zu erhalten.
5 Vorüberlegungen Zeilen und Spalten Einleitung Eine Dame kann horizontal, vertikal oder diagonal schlagen Jede Zeile und Spalte darf nur eine Dame enthalten Wir können die indizierten Spalten systematisch auswählen und müssen dann nur die richtigen Zeilen finden Eine Lösung ist eine Permutation der Liste [1, 2,..., N]
6 Vorüberlegungen Zeilen und Spalten Einleitung Eine Dame kann horizontal, vertikal oder diagonal schlagen Jede Zeile und Spalte darf nur eine Dame enthalten Wir können die indizierten Spalten systematisch auswählen und müssen dann nur die richtigen Zeilen finden Eine Lösung ist eine Permutation der Liste [1, 2,..., N]
7 Vorüberlegungen Zeilen und Spalten Einleitung Eine Dame kann horizontal, vertikal oder diagonal schlagen Jede Zeile und Spalte darf nur eine Dame enthalten Wir können die indizierten Spalten systematisch auswählen und müssen dann nur die richtigen Zeilen finden Eine Lösung ist eine Permutation der Liste [1, 2,..., N]
8 Vorüberlegungen Zeilen und Spalten Einleitung Eine Dame kann horizontal, vertikal oder diagonal schlagen Jede Zeile und Spalte darf nur eine Dame enthalten Wir können die indizierten Spalten systematisch auswählen und müssen dann nur die richtigen Zeilen finden Eine Lösung ist eine Permutation der Liste [1, 2,..., N]
9 Vorüberlegungen Diagonalen Einleitung Aus Effizienzgründen werden auch die Diagonalen indiziert Aufsteigende Diagonalen durch Differenz der Spalten/Zeilen
10 Vorüberlegungen Diagonalen Einleitung Aus Effizienzgründen werden auch die Diagonalen indiziert Absteigende Diagonalen durch Summe der Spalten/Zeilen
11 Wiederholung: Listenbeschreibungen [ e p < l ] = map ( \ p > e ) l [ e b ] = i f b then [ e ] else [ ] [ e l e t ds ] = l e t ds in [ e ] [ e q1, q2 ] = concat [ [ e q2 ] q1 ]
12 Haskell-Lösung Funktion place Einleitung place : : Integer > [ Integer ] > [ Integer ] > [ Integ place c [ ] ud dd = [ [ ] ] place c rs ud dd = [ q : qs q < rs, l e t uq = q c, l e t dq = q + c, uq notelem ud, dq notelem dd, qs < place ( c +1) ( delete q rs ) ( uq : ud ) ( dq : dd ) ]
13 Haskell-Lösung Aufruf Einleitung type Board = [ Integer ] queens : : Integer > [ Board ] queens n = place 1 [ 1.. n ] [ ] [ ]
14 Damenproblem aus dem Tutorial Hilfsprädikate - takeout takeout (X, [ X R],R ). takeout (X, [ F R ], [ F S ] ) : takeout (X,R, S ). takeout ist erfüllt, wenn R mit jener Liste unifiziert werden kann, die entsteht, wenn X aus der Liste des 2. Arguments entfernt wird
15 Damenproblem aus dem Tutorial Hilfsprädikate - perm perm ( [ X Y ], Z ) : perm (Y,W), takeout (X, Z,W). perm ( [ ], [ ] ). perm ist erfüllt, wenn das 2. Argument eine Permutation des 1. darstellt
16 Damenproblem aus dem Tutorial Hilfsprädikate - combine combine ( [ X1 X ], [ Y1 Y ], [ S1 S ], [ D1 D ] ) : S1 is X1 +Y1, D1 is X1 Y1, combine (X, Y, S,D ). combine ( [ ], [ ], [ ], [ ] ). wird combine für gegebene Listen von Spalten und Zeilen mit freien Variablen im 3. und 4. Argument aufgerufen, werden die Listen gesucht, die den korrespondierenden Diagonalen entsprechen
17 Damenproblem aus dem Tutorial Hilfsprädikate - alldiff a l l _ d i f f ( [ X Y ] ) : \+member(x, Y), a l l _ d i f f (Y ). a l l _ d i f f ( [ X ] ). alldiff überprüft, ob sich alle Elemente einer Liste paarweise unterscheiden
18 Damenproblem aus dem Tutorial solve solve ( L, P) : perm ( L, P), combine ( L, P, S,D), a l l _ d i f f (S), a l l _ d i f f (D ). solve kombiniert schließlich alle Hilfprädikate, sodass für ein gegebenes L jene Listen P gesucht werden, die eine Permutation von L sind es werden die Diagonalen S, D zu L und der jeweiligen Permutation erstellt es wird für beide Diagonalen auf Verschiedenheit der Elemente getestet
19 Damenproblem aus dem Tutorial Fazit Das Prädikat ist extrem ineffizient, da Alle möglichen Permutationen erstellt werden Auch für fehlerhafte Permutationen die Diagonalen berechnet werden Eine effizientere Lösung wird nun direkt anhand des Source-Codes vorgestellt.
Einstieg in die Informatik mit Java
1 / 20 Einstieg in die Informatik mit Java Rekursion Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 20 1 Überblick 2 Rekursion 3 Rekursive Sortieralgorithmen 4 Backtracking
MehrConstraint Logical Programming
Constraint Logical Programming Betreuer: Thomas Ströder Proseminar: Fortgeschrittene Programmierkonzepte in Java, Haskell und Prolog Rene Niewianda, Martin Breuer 15. Juni 2015 1 Einleitung: Das Ziel dieses
MehrCGI Programmierung mit Ha. Markus Schwarz
CGI Programmierung mit Ha Markus Schwarz Überblick Was ist funktionale Programmierung Einführung in Haskell CGI-Programmierung mit Haskell Ein etwas größeres Beispiel Was ist funktionale Programm Ein Programm
Mehr7down Zusatzaufgaben. Mathias Ziebarth und Joachim Breitner. 13. März 2008
7down Zusatzaufgaben Mathias Ziebarth und Joachim Breitner 13. März 2008 1 Problem 1 Unser Programm hat folgende Lösungen berechnet: Testfall 1 153131 141441 973493 330529 869017 876927 Testfall 2 279841
MehrFunktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Dr. Michael Savorić Hohenstaufen-Gymnasium (HSG) Kaiserslautern Version 20120622 Überblick Wichtige Eigenschaften Einführungsbeispiele Listenerzeugung und Beispiel
Mehr- - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2 off 3 3.0 4 2.0 5 off 6 1 8 20.0 9 60 C 7 4.0 10 80 C 1 38 C 12 8 k 13 on 14 30.0 15 10 16 - - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2
MehrTypdeklarationen. Es gibt in Haskell bereits primitive Typen:
Typdeklarationen Es gibt in bereits primitive Typen: Integer: ganze Zahlen, z.b. 1289736781236 Int: ganze Zahlen mit Computerarithmetik, z.b. 123 Double: Fließkommazahlen, z.b. 3.14159 String: Zeichenketten,
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen
MehrDas Acht-Damenproblem
Das 8-Damen Problem v. 8/23 Das Acht-Damenproblem Es handelt sich hier um ein Schachproblem, das erstmals von M. Bezzel 845 in einer Schachzeitung veröffentlicht wurde, aber vorerst unbeachtet blieb. Erst
MehrExcel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrSTERNBURG BINGO STERNBURG BINGO UND SO FUNKTIONIERT S: MITMACHEN UND TOLLE PREISE GEWINNEN! RAUM FÜR EIGENE BEMERKUNGEN, GRÜSSE ETC.
85 61 19 27 78 52 90 45 03 39 54 88 89 76 21 69 15 94 22 10 24 18 62 79 53 Aufschrift befindet sich eine neue -Zahl. Wenn Sie eine -Zahl aus dem obigen Sobald Sie eine Reihe von 5 - -Zahlen horizontal,
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrFunktionale Programmierung Übung 01. Dozent: mein Dozent Tutor: mein Tutor Studenten: person1 und person2 tt. mm. jjjj
Funktionale Programmierung Übung 01 Dozent: mein Dozent Tutor: mein Tutor Studenten: person1 und person tt. mm. jjjj 1 Inhaltsverzeichnis 1 Text schreiben 3 Tabulatoren 3.1 Tabulatoren zur Textstrukturierung....................
MehrFunktionale Programmierung mit Haskell
Funktionale Programmierung mit Haskell Prof. Dr. Hans J. Schneider Lehrstuhl für Programmiersprachen und Programmiermethodik Friedrich-Alexander-Universität Erlangen-Nürnberg Sommersemester 2011 I. Die
MehrErster Bug: eine Motte
SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte
MehrMichaela Weiss 30. März 2015. Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe
Michaela Weiss 30. März 2015 Lerneinheit 3: Teil 1: Eingabe/Ausgabe Seite 2 Was ist das? Visual Basic: Programmiersprache von Microsoft Applications: Programme der Office-Familie (z.b. Excel, Word, ) :
MehrHaskell, Typen, und Typberechnung. Grundlagen der Programmierung 3 A. Einige andere Programmiersprachen. Typisierung in Haskell
Haskell, Typen, und Typberechnung Grundlagen der Programmierung 3 A Typen, Typberechnung und Typcheck Prof. Dr. Manfred Schmidt-Schauß Ziele: Haskells Typisierung Typisierungs-Regeln Typ-Berechnung Milners
MehrVerträge für die funktionale Programmierung Design und Implementierung
1 Verträge für die funktionale Programmierung Design und Implementierung RALF HINZE Institut für Informatik III, Universität Bonn Römerstraße 164, 53117 Bonn, Germany Email: ralf@informatik.uni-bonn.de
MehrErste Schritte. Das Arduino-Board. Ihr Fundino-Board. Programmieren für Ingenieure Sommer 2015. Andreas Zeller, Universität des Saarlandes
Erste Schritte Programmieren für Ingenieure Sommer 2015 Andreas Zeller, Universität des Saarlandes Das Arduino-Board Ihr Fundino-Board Anschluss über USB Anschluss über USB Programmierumgebung Download
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
MehrTabellenkalkulation 1. Einheit 5 Rechnerpraktikum EDV
Tabellenkalkulation 1 Einheit 5 Rechnerpraktikum EDV Inhalt Einführung in die Tabellenkalkulation Berechnungen in Excel Formeln und Bezüge Funktionen Arbeiten mit Datenlisten Sortieren und Filtern Übungen
MehrEine zweidimensionale Stichprobe
Eine zweidimensionale Stichprobe liegt vor, wenn zwei qualitative Merkmale gleichzeitig betrachtet werden. Eine Urliste besteht dann aus Wertepaaren (x i, y i ) R 2 und hat die Form (x 1, y 1 ), (x 2,
MehrVisual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach
Visual Basic / EXCEL / Makroprogrammierung Unterrichtsreihe von Herrn Selbach Übungsaufgaben zum Kapitel 1 1. Aufgabe In einer EXCEL Tabelle stehen folgende Zahlen: Definiere einen CommandButton, der diese
MehrInformatik Teil 7: Von der Vektorgraphik zur Pixelgraphik
Informatik Teil 7: Von der Vektorgraphik zur Pielgraphik Gymnasium Icking 2011 Jörg D. Becker, Starnberg Es gibt Programme zur Steuerung von virtuellen Robotern. Interessanter als damit zu spielen ist
MehrÜbungen für Woche 10
Übungen für Woche 10 Martin Rubey 12. Januar 2011 Die folgenden Übungen sollen den Umgang mit Backtracking und kombinatorischen Spezies näherbringen. Genaue Hinweise gibt es erst auf Seite 5. Zur Erinnerung:
MehrFunktionale Programmierung
Schleifen 1 Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 3 Teil I Jedem Anfang wohnt ein Zauber inne 4 Über mich Diplom in Informatik in Saarbrücken
MehrC.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
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
MehrMicrosoft Excel 2010 Mehrfachoperation
Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Excel 2010 Mehrfachoperation Mehrfachoperationen in Excel 2010 Seite 1 von 6 Inhaltsverzeichnis Einleitung... 2 Mehrfachoperation mit
MehrErstellen von KV-Diagrammen. Fachschule für Mechatroniktechnik Kempten (Allgäu)
Erstellen von KV-Diagrammen Zeile A 00 0 0 Eine Eingangsvariable Es wird für jede Zeile der Funktionstabelle ein Kästchen aufgezeichnet. Die Zuordnung muss dabei wie nachfolgend abgebildet erfolgen. Die
MehrMySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.
MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt
Mehr1.4.12 Sin-Funktion vgl. Cos-Funktion
.4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten
MehrEine zu Grunde liegende Typdefinition beschreibt eine Struktur, die alle erlaubten Instanzen dieses Typs gemeinsam haben.
Der binäre Baum Tree Die geläufigste Datenstuktur ist der binäre Baum Tree. Dieses Beispielskript zeigt im direkten Vergleich zu anderen Sprachen den Umgang mit formalen Typparametern in CHELSEA. Wir steigen
MehrKurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
MehrÜbungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009
Übungen zu Architektur Eingebetteter Systeme Blatt 5 28./29.05.2009 Teil 1: Grundlagen 1.1: VHDL Bei der Erstellung Ihres Softcore-Prozessors mit Hilfe des SOPC Builder hatten Sie bereits erste Erfahrungen
MehrTutorium für Fortgeschrittene
Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Mehr12. ArcView-Anwendertreffen 2010. Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?
Wo kann eigene Programmierung in ArcGIS verwendet werden? 12. ArcView-Anwendertreffen 2010 Workshop Programmierung in ArcGIS Daniel Fuchs 1) Makros für die Automatisierung einzelner Arbeitsschritte im
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrVier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie
Vier Gewinnt Nicolas Schmidt Matthias Dietsche Bernhard Weiß Benjamin Ruile Datum: 17.2.2009 Tutor: Prof. Schottenloher Spieltheorie Präsentation Agenda I. Einführung 1. Motivation 2. Das Spiel Vier Gewinnt
MehrFunktionale Programmierung mit Haskell. Jan Hermanns
Funktionale Programmierung mit Haskell Jan Hermanns 1 Programmiersprachen imperativ deklarativ konventionell OO logisch funktional Fortran Smalltalk Prolog Lisp C Eiffel ML Pascal Java Haskell 2 von Neumann
MehrVisual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!
Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen! Grundstrukturen: Sub [name]([übergabe]) End Sub [Übergabe] ist
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
MehrTag 6. Module, benannte Funktionen und Rekursion
Tag 6 Module, benannte Funktionen und Rekursion Wir verlassen nun die abgeschlossene kleine Welt des interaktiven Interpreters und lernen, wie man richtige Haskell-Programme schreibt. Im Interpreter haben
MehrInformationsverarbeitung im Bauwesen
V14 1 / 30 Informationsverarbeitung im Bauwesen Markus Uhlmann Institut für Hydromechanik WS 2009/2010 Bemerkung: Verweise auf zusätzliche Information zum Download erscheinen in dieser Farbe V14 2 / 30
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrPowerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel
Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten
Mehr23.1 Constraint-Netze
Grundlagen der Künstlichen Intelligenz 1. April 2015 2. Constraint-Satisfaction-Probleme: Constraint-Netze Grundlagen der Künstlichen Intelligenz 2. Constraint-Satisfaction-Probleme: Constraint-Netze Malte
MehrInhalt. 4.7 Funktionen
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern
MehrGrundlagen der Programmierung 2. Bäume
Grundlagen der Programmierung 2 Bäume Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 24. Mai 2006 Graphen Graph: Menge von Knoten undzugehörige (gerichtete oder ungerichtete)
Mehr6. Modellierung von Informationssystemen. 6.1 Einleitung 6.2 Konzeptuelles Modell 6.3 OASIS Spezifikation 6.4 Execution Model 6.
6. Modellierung von Informationssystemen Spezialseminar Matr. FS 2000 1/10 Volker Dobrowolny FIN- ITI Quellen: Oscar Pastor, Jaime Gomez, Emilio Insfran, Vicente Pelechano The OO-Method approach for information
MehrZum Einsatz von Operatoren im Informatikunterricht
Friedrich-Schiller-Universität Jena Fakultät für Mathematik und Informatik Professur für Didaktik der Informatik/Mathematik Claudia Strödter E-Mail: claudia.stroedter@uni-jena.de Zum Einsatz von Operatoren
MehrEscher funktionale und logische Programmierung
Escher funktionale und logische Programmierung Seminar Programming Languages From Hell Lars Hupel 2010-06-07 Dieses Werk ist lizenziert unter den Bedingungen der Creative Commons Namensnennung 3.0 Deutschland.
MehrSWP Prüfungsvorbereitung
20. Juni 2011 1 Grammatiken 2 LL(1) 3 EXP 4 Datentypen 5 LP Grammatiken Angabe Erstellen Sie First- und Follow-Mengen aller Non-Terminale der folgenden Grammatik. S a S S B y B A C A A b b A x A ɛ C c
MehrKapitel 5: Abstrakte Algorithmen und Sprachkonzepte. Elementare Schritte
Elementare Schritte Ein elementarer Berechnungsschritt eines Algorithmus ändert im Allgemeinen den Wert von Variablen Zuweisungsoperation von fundamentaler Bedeutung Zuweisungsoperator In Pascal := In
MehrL E I T F A D E N. Wissenschaftliches Arbeiten im Studium der Theologie an der Universität Regensburg
L E I T F A D E N Wissenschaftliches Arbeiten im Studium der Theologie an der Universität Regensburg Fakultät
MehrDomain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing
SE Data Cleansing Domain-independent independent Duplicate Detection Vortrag von Marko Pilop & Jens Kleine http://www.informatik.hu-berlin.de/~pilop/didd.pdf {pilop jkleine}@informatik.hu-berlin.de 1.0
MehrWas bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):
Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel
MehrHOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG. Das Luzifer-Rätsel. Prof. Dr. Hartmut Plesske Wintersemester 2008/09. von.
HOCHSCHULE KONSTANZ TECHNIK, WIRTSCHAFT UND GESTALTUNG Fakultät Informatik Das Luzifer-Rätsel Prof. Dr. Hartmut Plesske Wintersemester 2008/09 von Max Nagl nagl@fh-konstanz.de Inhaltsverzeichnis Inhaltsverzeichnis
MehrBTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9
BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...
MehrErläuterung von Meine Datenabschrift
Erläuterung von Meine Datenabschrift Über die Ansicht in der Navigationsleiste Meine Datenabschrift haben Sie die Möglichkeit Ihren Studienfortschritt einzusehen. Wenn Sie auf den Link klicken, öffnet
MehrZahlen in Haskell Kapitel 3
Einführung in die Funktionale Programmiersprache Haskell Zahlen in Haskell Kapitel 3 FH Wedel IT-Seminar: WS 2003/04 Dozent: Prof. Dr. Schmidt Autor: Timo Wlecke (wi3309) Vortrag am: 04.11.2003 - Kapitel
MehrDatenbanken und Informationssysteme Sommersemester 2012 Probeklausur
Datenbanken und Informationssysteme Sommersemester 2012 Probeklausur 1 Konzeptuelle Modellierung (12 Punkte) Die folgende Beschreibung skizziert ein Informationssystem zur Verwaltung von Musikern: Jeder
MehrInterpreter - Gliederung
Institut für Informatik Ludwig-Maximilian Universität Interpreter - Gliederung Programmiersprache Syntax Konkrete Syntax Abstrakter Syntax Baum (Abstrakte Syntax) Parser Syntaktische Struktur einer Sprache
MehrJava Generics & Collections
Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes
Mehr4 Schleifen -= Entstanden unter Excel 2003 =-
Excel KnowHow / Visual Basic (VBA) 4 Schleifen -= Entstanden unter Excel 2003 =- Die erste Schleife habe ich bereits im letzten Kapitel benutzt: Die FOR-Schleife. Schauen wir uns das Beispiel noch einmal
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
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
MehrLinux Prinzipien und Programmierung
Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,
MehrGrundlagen der Programmiersprache C++
/ TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder
MehrBearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.
Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik I für Elektrotechniker Name:... Matr.-Nr.... Bearbeitungszeit: 120 Minuten Bewertung (bitte offenlassen : ) Aufgabe Punkte Erreichte
MehrTutorial Excel Übung 1&2 Kartenverkauf -1- Kartenverkauf Die Aufgabenstellung ist der folgenden URL zu entnehmen: Übung1&2.
Tutorial Excel Übung 1&2 Kartenverkauf -1-1 Aufgabenstellung Kartenverkauf Die Aufgabenstellung ist der folgenden URL zu entnehmen: Übung1&2. 2 Strukturierter Entwurf zur Lösung 2.1 Definition des Problems
MehrFunktionale Programmierung
Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 2 Teil II Typen mit Werten und Ausdruck, sogar listenweise 3 Haskell Programme Programm Module ein
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
MehrEinfache statistische Auswertungen mit dem TI-Nspire
1. Neues Dokument und darin eine neue Seite anlegen Als Typ 6: Lists & Spreadsheet wählen. Darin die Messwerte in einer Spalte erfassen. Dies ergibt die Urliste. Wenn mehrere Messwerte vorliegen, die diejenigen,
MehrSuche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche. Suche in Spielbäumen. KI SS2011: Suche in Spielbäumen 1/20
Suche in Spielbäumen Suche in Spielbäumen KI SS2011: Suche in Spielbäumen 1/20 Spiele in der KI Suche in Spielbäumen Spielbäume Minimax Algorithmus Alpha-Beta Suche Einschränkung von Spielen auf: 2 Spieler:
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
Mehr7 Die Determinante einer Matrix
7 Die Determinante einer Matrix ( ) a11 a Die Determinante einer 2 2 Matrix A = 12 ist erklärt als a 21 a 22 det A := a 11 a 22 a 12 a 21 Es ist S 2 = { id, τ}, τ = (1, 2) und sign (id) = 1, sign (τ) =
MehrSudoku-Informatik oder wie man als Informatiker Logikrätsel löst
Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst Peter Becker Hochschule Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@h-brs.de Kurzvorlesung am Studieninformationstag, 13.05.2009
MehrD o n n e r s t a g, 1 4. J u l i
D o n n e r s t a g, 1 4. J u l i 2 0 1 6 L a m p e n f i e b e r M e i n N a m e i s t A r i s a W a t a n a b e. I c h k o m m e a u s J a p a n, Y o k o h a m a. I c h b i n 1 6 J a h r e H e u t e
MehrLösen linearer Gleichungssysteme
Lösen linearer Gleichungssysteme W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Die beschriebenen Verfahren 2 2 Einsetzungsverfahren 3 3 Additions-/Subtraktionsverfahren 5 4 Gleichsetzungsverfahren 8
MehrKonsolidieren von Daten in EXCEL
Konsolidieren von Daten in EXCEL Der Begriff der (auch Konsolidation) besitzt in den einzelnen Fachbereichen (Finanzmathematik, Geologie, Medizin usw.) unterschiedliche Bedeutung. Im Sinne dieses Beitrages
MehrFormale Sprachen, reguläre und kontextfreie Grammatiken
Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
MehrIntegration eines Finite-Domain- Constraint-Solvers in KiCS2
Christian-Albrechts-Universität zu Kiel Diplomarbeit Integration eines Finite-Domain- Constraint-Solvers in KiCS2 Jan Rasmus Tikovsky August 2012 Institut für Informatik Lehrstuhl für Programmiersprachen
MehrInhaltsverzeichnis. Ingo R. Dölle / 15.02.2016 Seite 1 von 5
Inhaltsverzeichnis Inhaltsverzeichnis... 1 Daten sortieren und filtern... 2 Tabellen nach Zellinhalten sortieren... 2 Sortierreihenfolgen... 2 Nach den Zellinhalten einer Spalte sortieren... 2 Ursprüngliche
MehrWS 2011/2012. Georg Sauthoff 1. November 1, 2011
WS 2011/2012 Georg 1 AG Praktische Informatik November 1, 2011 1 gsauthof@techfak.uni-bielefeld.de Übungen Abgaben und Aufgabenblätter am Ende der Vorlesung Skript gibt es demnächst in den Übungen Der
MehrInhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
MehrProcessing Info zu Variablen und Bedingungen
Processing Info zu Variablen und Bedingungen Dieses Dokument enthält - Variablen (Variablen, Datentypen, Deklaration, Geltungsbereich, Benennung) - Bedingungen (if, mousepressed, else) Variablen Eine Variable
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
MehrPIWIN 1 Übung Blatt 5
Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:
MehrProgrammierung I Einführung in Python, Beyond the Basics
Höhere Datenstrukturen Programmierung I Einführung in Python, Beyond the Basics G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Eines der Features, das Python so mächtig macht (VHLL)
MehrVBA Grundlagen. VBA Grundlagen - Steuerelemente. VBA Grundlagen - Variable. VBA Grundlagen Namensbildung, Kommentar
VBA Grundlagen Basic = Programmiersprache (Beginners All Purpose Symbolic Instruction Code). Wurde 1964 als einfache Programmiersprache entwickelt. Bestandteil vom Anfang des MS-DOS (1981) an als BASICA,
MehrEine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls
Kriterien für Invertierbarkeit einer Matrix Eine lineare Abbildung ist bijektiv, d.h. ihre Matrix ist invertierbar, falls und nur falls (i) für jede Basis, die Bildvektoren auch eine Basis, bilden; (intuitiv
MehrAnwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen
Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen David Knötel Freie Universität Berlin, Institut für Informatik Seminar über Algorithmen Leitfaden Wiederholung
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
Mehr