vii 4 t.scheme: Funktionale Programmierung Funktionen als Daten erster Klasse

Größe: px
Ab Seite anzeigen:

Download "vii 4 t.scheme: Funktionale Programmierung Funktionen als Daten erster Klasse"

Transkript

1 Inhaltsverzeichnis Einleitung 1 Kaffee oder Tee? Die t.sprachen Die Java-Implementierung Ockhams Rasiermesser Leserkreis Hinweise zur Benutzung Webseite zum Buch Das Umschlagbild Danksagung t.zero: Deklarative Programmierung Sprachelemente Zahlen Funktionen Bedingte Ausdrücke Rekursion Fehler Beispiele Zahlenspielereien Größter gemeinsamer Teiler

2 vi Quadratwurzel Primzahlen Potenzen Berechnung von π Exponentialfunktion Logarithmus Deklarativer Programmierstil Sprachumfang und Programmierstil Probleme des deklarativen Programmierstils Syntax und Semantik Lexikalische Struktur Syntax Semantik K 1.5 Der Interpreter Die Read-Eval-Print-Schleife Ausdrücke und ihre Auswertung t.lisp: Listenbasierte Programmierung Lisp Sprachelemente Listen Symbole, Quotierung und Binden Typen Funktionen Bedingte Ausdrücke Beispiele Elementare Listenfunktionen Vereinigen und Zerlegen von Listen Umkehren einer Liste Sortieren Quotierung Arithmetische Ausdrücke Symbolische Differentiation Datenabstraktion Natürliche Zahlen Mengen Binärbäume m.lisp ein metazirkuläres Lisp Der m.lisp-interpreter im Überblick Auswertung: eval und apply

3 vii Metazirkuläre Anwendung von m.lisp Statischer und dynamischer Scope K 2.6 Die Implementierung von t.lisp Initialisierungsdateien Entwurf der Implementierung Die abstrakte Klasse Procedure Operatoren Laufzeitprüfungen Listen t.pascal: Imperative Programmierung Imperativer Programmierstil Rechnen mit Zuständen Pascal Sprachelemente Arrays und Records Variablen Schleifen Blöcke Sprungbefehle Sonstiges Beispiele Ducci-Folgen Vektoren und Matrizen Sortieren von Arrays Neue Typen: Komplexe Zahlen Rekursive Typen: Listen Manipulationen an Listen Stapel und Schlangen Die Harvard-Maschine Befehlssatz Implementierung Beispielprogramm K 3.5 Die Implementierung von t.pascal Die Klasse Record und der Operator record Die Operatoren block und var Weitere Operatoren und Initialisierung t.scheme: Funktionale Programmierung Funktionen als Daten erster Klasse

4 viii 4.2 Sprachelemente Funktionen Umgebungen Makros Exceptions Sonstiges Beispiele Die Collatz-Funktion Anwenden von Funktionen auf Listen und Arrays Erweitern von Funktionen Komposition und Iteration von Funktionen Der Ableitungsoperator Ein Minitutorial zu Makros Der Kontext einer Funktion Kontexterzeugung mit let Anonyme rekursive Funktionen Funktionen als Objekte Zufallszahlen Stack-Objekte Iteratoren und Mengen Endrekursive Funktionen Endrekursion Der Auswertungsstack Endständigkeit Die Konstruktion endrekursiver Funktionen K 4.7 Die Implementierung von t.scheme Umgebungen und zugehörige Operatoren Die Klassen Function und Macro Tracing-Modus und Protokoll-Modus Der Exception-Mechanismus Die Verarbeitung von Tail Calls Der Operator part t.lambda: Rein funktionale Programmierung Der Lambda-Kalkül Lambda-Ausdrücke Reduktion Function als universeller Typ Spielregeln Boolesche Werte

5 ix Church-Listen Church-Zahlen Rekursion in t.lambda Primitive Rekursion Bedingte Ausdrücke und Rekursion Elimination von Rekursion m.lambda ein makrobasierter Lambda-Kalkül Funktionale Programmierung ohne Funktionen Der Fixpunkt-Kombinator t.java: Objektorientierte Programmierung Objektorientierung Grundkonzepte t.java erste Schritte Sprachelemente Klassen Objekte Methoden Beispiele Dynamische Arrays Turingmaschinen Private Attribute und Methoden Innere Klassen Ströme Der Typ Stream Beispiele Die Thue-Morse-Folge Laziness und die t.java-klasse Stream K Die Java-Klasse Stream K 6.5 Die Implementierung von t.java Entwurfsüberlegungen Die Klasse Obj Die Klasse ClassObj Die Klasse Method t.prolog: Logische Programmierung Einführung Syllogismen Familienbeziehungen Färbung von Graphen

6 x 7.2 Grundbegriffe der logischen Programmierung Implizite Quantoren Resolution Substitution Unifikation Sprachelemente Unbestimmte und Terme Die Operatoren unify und substitute Regelbasen Regeln Anfragen Escape nach t.scheme Der Cut-Mechanismus Wildcards Schleifenerkennung Beispiele Unifikation Relationen Suche in Graphen Einstein-Rätsel Datenstrukturen Das Acht-Damen-Problem Arithmetik in t.prolog Cut und Negation K 7.5 Die Implementierung von t.prolog Der Entwurf im Überblick Unifikation und die Klasse Indeterminate Die Klasse Substitution Resolution und die Klasse RuleBase A Installation 425 B Quellcode 427 B.1 K Das Paket tanagra B.1.1 Die Klassen Token und Lexer B.1.2 Die Klasse Parser B.1.3 Die Klasse Interpreter B.1.4 Odds and ends : Die Klasse Sys B.2 K Das Paket expressions B.2.1 Die Klassen im Überblick

7 xi B.2.2 Dateistruktur B.3 Initialisierungsdateien B.4 Beispieldateien Literaturverzeichnis 441 Stichwortverzeichnis 445 (Die mit einer KaffeetasseKmarkierten Abschnitte ergeben zusammengenommen einen Überblick über die Java-Implementierung der t.sprachen.)

Inhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8

Inhaltsverzeichnis. Was ist Informatik? 5. Programmierung 13. Einleitung. 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8 Einleitung Was ist Informatik? 5 1 Informatik 7 1.1 Was ist Informatik? 7 1.2 Teilgebiete der Informatik 8 Programmierung 13 2 Vom Problem über den Algorithmus zum Programm 15 2.1 Vorgehensweise bei der

Mehr

Inhalt. Vorwort. Bibliografische Informationen digitalisiert durch

Inhalt. Vorwort. Bibliografische Informationen  digitalisiert durch Vorwort 1 Einleitung 1 1.1 Programmierung und Programmiersprachen 1 1.1.1 Programmierung 2 1.1.2 Grundlegende Programmstrukturen 3 1.1.3 Programmiersprachen 5 1.2 Was ist Java? 9 1.2.1 Ursprung von Java

Mehr

Coffee or tea? There s a growing body of research to suggest that both are probably good for you. (http://www.time.com/time/askdrweil)

Coffee or tea? There s a growing body of research to suggest that both are probably good for you. (http://www.time.com/time/askdrweil) Einleitung Coffee or tea? There s a growing body of research to suggest that both are probably good for you. (http://www.time.com/time/askdrweil) Kaffee oder Tee? Kaffee das Wort in der Überschrift steht

Mehr

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis

Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11. vii. Inhaltsverzeichnis Knasmüller.book Seite vii Mittwoch, 28. März 2001 11:11 11 vii 1 Einführung 1 1.1 Motivation.................................... 1 1.2 Vorteile der neuen Techniken...................... 3 1.3 Aufbau des

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

1.3 Geschichte der Programmiersprachen

1.3 Geschichte der Programmiersprachen 50er Jahre erste Definition höherer Programmiersprachen Effizienz maßgebliches Designziel FORTRAN (Backus) als Sprache für wissenschaftliches Rechnen (komplexe Berechnungen, einfachen Daten), Arrays, Schleifen,

Mehr

Ulrich Kaiser Christoph Kecher C/C++ Von den Grundlagen zur professionellen Programmierung. в.. Galileo Computing

Ulrich Kaiser Christoph Kecher C/C++ Von den Grundlagen zur professionellen Programmierung. в.. Galileo Computing Ulrich Kaiser Christoph Kecher C/C++ Von den Grundlagen zur professionellen Programmierung в.. Galileo Computing Inhalt Vorwort 15 Danksagung 16 Vorwort zur zweiten Auflage 1 Einige Grundbegriffe 1.1 Algorithmus

Mehr

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21 xi 1 Grundlagen 1 1.1 Daten und Befehle......................................... 2 1.2 Algorithmen............................................. 4 1.3 Variablen................................................

Mehr

Programmierungeine Einführung in die Informatik mit Standard ML

Programmierungeine Einführung in die Informatik mit Standard ML Programmierungeine Einführung in die Informatik mit Standard ML von Prof. Dr. Gert Smolka Oldenbourg Verlag München Wien Inhaltsverzeichnis 1 Schnellkurs 1 1.1 Programme 1 1.2 Interpreter 2 1.2.1 Mehrfachdeklaration

Mehr

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik

Programmiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik Programmiertechnik II SS 2017 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel SS 2017 Überblick! OOP: Schnittstellen

Mehr

Objektorientierte Programmierung mit Java

Objektorientierte Programmierung mit Java David J. Barnes Michael Kölling Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Übersetzt von Axel Schmolitzky, Universität Hamburg PEARSON Studium ein Imprint von Pearson

Mehr

C für Java-Programmierer

C für Java-Programmierer Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im

Mehr

Objekt-Funktionale Programmierung. am Beispiel von SCALA. Thorsten Jolitz

Objekt-Funktionale Programmierung. am Beispiel von SCALA. Thorsten Jolitz Objekt-Funktionale Programmierung am Beispiel von SCALA Thorsten Jolitz 1. Auflage 2012 Inhaltsverzeichnis 1. Einleitung 1 1. Ausgangspunkt Imperative Programmierung 5 2. Elemente der Imperativen Programmierung

Mehr

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe

Inhaltsverzeichnis. Einführende Bemerkungen 11. Das Fach Informatik 11 Zielsetzung der Vorlesung Grundbegriffe Inhaltsverzeichnis Einführende Bemerkungen 11 Das Fach Informatik 11 Zielsetzung der Vorlesung 12 1. Grundbegriffe 1 3 1.1 1.2 1.3 1.4 1.5 1.6 1.7 Information und Nachricht 1.1.1 Information 1.1.2 Nachricht

Mehr

Inhaltsverzeichnis. I Grundlegende Konzepte 1. xiii

Inhaltsverzeichnis. I Grundlegende Konzepte 1. xiii D3kjd3Di38lk323nnm xiii I Grundlegende Konzepte 1 1 Vorbemerkungen und Überblick... 3 1.1 Informatik, Algorithmen und Datenstrukturen....... 3 1.2 Historischer Überblick: Algorithmen................. 5

Mehr

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217

EIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217 EIDI 1 Einführung in die Informatik 1 PGdP Praktikum Grundlagen der Programmierung Harald Räcke 2/217 Wie löst man Probleme mithilfe von Computern? 0 Harald Räcke 3/217 Inhalte: EIDI 1 1. Was ist das Problem?

Mehr

Logische Programmierung

Logische Programmierung Logische Programmierung B-82 Deklaratives Programmieren in Prädikatenlogik: Problem beschreiben statt Algorithmus implementieren (idealisiert). Grundlagen: Relationen bzw. Prädikate (statt Funktionen);

Mehr

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches...

Inhaltsverzeichnis. Vorwort...XIII. Aufbau des Buches... Inhaltsverzeichnis Vorwort...XIII Aufbau des Buches............................................... XV 1 Von der Idee zur Software..................................... 1 1.1 Beispielanwendung... 1 1.2 Schritte

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was 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

Mehr

Objektorientiert in C++

Objektorientiert in C++ Dirk Louis Objektorientiert in C++ Einstieg und professioneller Einsatz intwickier.pres: Vorwort 11 1 Schnellkurs C++ 13 1.1 ANSI-C++ und die Compiler 13 Compiler und Programmerstellung 13 ANSI und die

Mehr

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...

Mehr

Fragen zum Nachdenken: Wie könnte man das Fehlen eines Attribut-Wertes interpretieren?

Fragen 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

Mehr

occam 2 Das Referenz-Handbuch

occam 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

Mehr

Funktionale Programmiersprachen

Funktionale Programmiersprachen Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte

Mehr

Software Engineering

Software Engineering Software Engineering Gustav Pomberger, Wolfgang Pree Architektur-Design und Prozessorientierung ISBN 3-446-22429-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22429-7 sowie

Mehr

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext

Lehrpläne NRW Sek.stufe 2. Lernen im Kontext Lehrpläne NRW Sek.stufe 2 Lernen im Kontext Fachliche Inhalte Lernziele Informatik NRW Fähigkeit, komplexe Zusammenhänge mit gedanklicher Schärfe zu durchdringen (Problemanalyse) Überblick über unterschiedliche

Mehr

Großübung zu Einführung in die Programmierung

Großübung zu Einführung in die Programmierung Großübung zu Einführung in die Programmierung Daniel Bimschas, M.Sc. Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/bimschas Inhalt 1. Besprechung Übung 4 Iteration

Mehr

Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis

Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis Teil I Imperative Programmierung 0 Maschinenzahlen... 2 0.1 Additionssysteme...2 0.2 Positionssysteme...2 0.3 Dezimal- und Dualsystem...3

Mehr

Informatik für Ingenieure

Informatik für Ingenieure Informatik für Ingenieure Eine Einführung Von Prof. Dr. rer. nat. Wolfgang Merzenich Universität-Gesamthochschule Siegen und Prof. Dr.-Ing. Hans Christoph Zeidler Universität der Bundeswehr Hamburg B.

Mehr

Inhaltsverzeichnis. Grundbegriffe und Grundideen. Geleitwort Vorwort

Inhaltsverzeichnis. Grundbegriffe und Grundideen. Geleitwort Vorwort Inhaltsverzeichnis Geleitwort Vorwort Inhaltsverzeichnis Symbole und Abkürzungen VII IX XIII XIX Einleitung 1 Anliegen und Besonderheiten des Buches...1 Hinweise zum Lesen des Buches...8 Teil 1 Grundbegriffe

Mehr

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten 1 Einführung... 1 1.1 Was wird vermittelt?... 1 1.2 Hinweise zum Buch... 3 1.3 Hinweise zur Buch-CD... 4 1.4 Hinweise zum Forum... 4 1.5 Allgemeine Hinweise... 5 2 Die Software JGIS... 7 2.1 Start des

Mehr

Werner Achte rt DATA BECKER

Werner Achte rt DATA BECKER Werner Achte rt. DATA BECKER Inhaltsverzeichnis 1. Einführung 21 1.1 Entwurf von Anwendungssystemen 23 1.2 Entwicklung eines Programms 25 1.3 Objektorientierte Programmierung 29 1.4 Darstellung objektorientierter

Mehr

Programmieren mit Java

Programmieren mit Java Reinhard Schiedermeier Programmieren mit Java 2., aktualisierte Auflage ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

Mehr

Inhaltsverzeichnis. Danksagungen... 11

Inhaltsverzeichnis. Danksagungen... 11 Danksagungen............................................ 11 Einführung............................................... 13 Über dieses Buch.......................................... 15 Voraussetzungen...................................

Mehr

Objektorientiertes Programmieren in C++

Objektorientiertes Programmieren in C++ Nicolai Josuttis Objektorientiertes Programmieren in C++ Von der Klasse zur Klassenbibliothek D-64289 Darmstadt ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris Reading, Massachusetts Menlo Park, California

Mehr

Einführung in die Numerik mit VBA

Einführung in die Numerik mit VBA Stefan Kolling Einführung in die Numerik mit VBA 2005 Fachhochschulverlag DER VERLAG FÜR ANGEWANDTE WISSENSCHAFTEN Inhaltsverzeichnis 1 Einführung 1 1.1 Einige Grundbegriffe aus der EDV 2 1.1.1 Darstellung

Mehr

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda

Funktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik

Mehr

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden mitp Inhaltsverzeichnis Einleitung 19 Grundlagen 21 Entwicklung und Eigenschaften von C++ 22 Objektorientierte Programmierung 24 Erstellen

Mehr

Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen Variablen Spezial-Variablen Kontext Wahrheitswert 18 3 Skalare 20 3.

Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen Variablen Spezial-Variablen Kontext Wahrheitswert 18 3 Skalare 20 3. Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen 14 2.1 Variablen 14 2.2 Spezial-Variablen 16 2.3 Kontext 16 2.4 Wahrheitswert 18 3 Skalare 20 3.1 Zahlen 20 3.2 Operatoren 24 3.3 Mathematische Funktionen

Mehr

Schulinternes Curriculum im Fach Informatik

Schulinternes Curriculum im Fach Informatik Schulinternes Curriculum im Fach Informatik Unterricht in EF : 1. Geschichte der elektronischen Datenverarbeitung (3 Stunden) 2. Einführung in die Nutzung von Informatiksystemen und in grundlegende Begriffe

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung Funktionale Programmierung (WS2005/2006) 1/1 Kapitel 1: Einführung Lernziele dieses Kapitels 1. Unterschiede zwischen typisch imperativer und typisch funktionaler Programmierung 2. Nutzen einer Vielfalt

Mehr

Einfü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 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,

Mehr

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen

Programmiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung

Mehr

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung. Kapitel 1 Objekte und Klassen Objekte und Klassen Instanzen erzeugen Methoden aufrufen

Inhaltsverzeichnis. Teil 1 Grundlagen der Objektorientierung. Kapitel 1 Objekte und Klassen Objekte und Klassen Instanzen erzeugen Methoden aufrufen Inhaltsverzeichnis Vorwort von James Gosling, Sun Microsystems Vorwort an Kursleiter Vorwort zur vierten deutschen Ausgabe Projekte, die in diesem Buch detailliert besprochen werden Danksagungen Teil 1

Mehr

Proseminar Funktionales Programmieren. Stephan Kreutzer

Proseminar Funktionales Programmieren. Stephan Kreutzer Proseminar Funktionales Programmieren Die Programmiersprache LISP Stephan Kreutzer Teil I: Funktionales Programmieren Imperative Sprachen Imperative Sprachen: Befehlsorientiert Imperative Sprachen orientieren

Mehr

Java lernen mit BlueJ

Java lernen mit BlueJ David J. Barnes Michael Kölling Java lernen mit BlueJ Eine Einführung in die objektorientierte Programmierung 3. Auflage Übersetzt von Axel Schmolitzky, Universität Hamburg ein Imprint von Pearson Education

Mehr

Inhalt. Teil I: Der Sprachkern von JavaScript

Inhalt. Teil I: Der Sprachkern von JavaScript Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Gunter Saake Kai-Uwe Sattler Algorithmen und Datenstrukturen Eine Einführung mit Java 2., überarbeitete und erweiterte Auflage dpunkt.verlag I Grundlegende Konzepte 1 1 Vorbemerkungen und Überblick 3 1.1

Mehr

6. Verkettete Strukturen: Listen

6. Verkettete Strukturen: Listen 6. Verkettete Strukturen: Listen 5 K. Bothe, Inst. f ür Inf., HU Berlin, PI, WS 004/05, III.6 Verkettete Strukturen: Listen 53 Verkettete Listen : Aufgabe Vergleich: Arrays - verkettete Listen Listenarten

Mehr

Robert Sedgewick. Algorithmen in Java. »il 1-4 Grundlagen Datenstrykturen Sortleren Suchen. java-beratung durch Michael Schidlowsky

Robert Sedgewick. Algorithmen in Java. »il 1-4 Grundlagen Datenstrykturen Sortleren Suchen. java-beratung durch Michael Schidlowsky Robert Sedgewick Algorithmen in Java»il 1-4 Grundlagen Datenstrykturen Sortleren Suchen java-beratung durch Michael Schidlowsky 3., überarbeitete Auflage PEARSON ein Imprint von Pearson Education München

Mehr

Allgemeine Informatik 2 im SS 2007 Programmierprojekt

Allgemeine Informatik 2 im SS 2007 Programmierprojekt v05 30.06.2007 Technische Universität Darmstadt Fachbereich Informatik Prof. Dr. Johannes Fürnkranz Allgemeine Informatik 2 im SS 2007 Programmierprojekt Bearbeitungszeit: 04.06. bis 13.07.2007 Die Formalitäten

Mehr

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag Martin Marinschek- Wolfgang Radinger Ruby on Rails Einstieg in die effiziente Webentwicklung [Tu dpunkt.verlag Inhaltsverzeichnis 1 Ruby on Rails -»Bitte Einsteigen«1 1.1 Web-Entwicklung und Entwicklung

Mehr

Semantik von Programmiersprachen Theorie und Anwendungen (Informatik III, Wintersemester 03/04)

Semantik von Programmiersprachen Theorie und Anwendungen (Informatik III, Wintersemester 03/04) Eidgenossische Technische Hochschule Zurich Ecole polytechnique federale de Zurich Politecnico federale di Zurigo Swiss Federal Institute of Technology Zurich Semantik von Programmiersprachen Theorie und

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri 2009-10-30 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater, der für diese Vorlesung auf Alexander Kollers Java-Kurs basierte) Organisatorisches Wöchentliche

Mehr

Interpreter - Gliederung

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

Mehr

I Grundlagen der parallelen Programmierung 1

I Grundlagen der parallelen Programmierung 1 vii I Grundlagen der parallelen Programmierung 1 1 Einführung...... 3 1.1 Paradigmenwechsel in der Softwareentwicklung..... 4 1.2 Anwendungsbereiche...... 5 1.3 Parallelität in der Hardware..... 5 1.3.1

Mehr

<Trainingsinhalt> C# programmieren

<Trainingsinhalt> C# programmieren C# programmieren i training Inhaltsverzeichnis 1. Einführung in C#... 13 1.1 Das Ziel dieses Buches... 13 1.2 Grundsätzliches zur Sprache... 13 1.3 Programmiersprachen verstehen... 14

Mehr

Semester: -- Workload: 300 h ECTS Punkte: 10

Semester: -- Workload: 300 h ECTS Punkte: 10 Modulbezeichnung: Modulnummer: IOBP Objektorientierte Programmierung Semester: -- Dauer: Minimaldauer 1 Semester Modultyp: Pflicht Regulär angeboten im: WS, SS Workload: 300 h ECTS Punkte: 10 Zugangsvoraussetzungen:

Mehr

Einführung in die Constraint-Programmierung

Einführung in die Constraint-Programmierung examen.press Einführung in die Constraint-Programmierung Grundlagen, Methoden, Sprachen, Anwendungen Bearbeitet von Petra Hofstedt, Armin Wolf 1. Auflage 2007. Taschenbuch. xii, 388 S. Paperback ISBN 978

Mehr

Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker

Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,

Mehr

Logische Programmierung

Logische Programmierung 1. Vorbemerkungen 1-1 Logische Programmierung Stefan Brass Institut für Informatik Fachgebiet Datenbanken und Informationssysteme Prof. Dr. Udo W. Lipeck 1. Vorbemerkungen 1-2 Organisatorisches Sprechstunde:

Mehr

Java lernen mit BlueJ

Java lernen mit BlueJ David J. Barnes, Michael Kölling Java lernen mit BlueJ Eine Einführung in die objektorientierte Programmierung 5. Auflage PEARSON Higher Education München Harlow Amsterdam Madrid Boston San Francisco Don

Mehr

1 XML Hype oder Hoffnung? Einleitung Wie ist dieses Buch aufgebaut?... 3

1 XML Hype oder Hoffnung? Einleitung Wie ist dieses Buch aufgebaut?... 3 1 XML Hype oder Hoffnung?...1 1.1 Einleitung... 1 1.2 Wie ist dieses Buch aufgebaut?... 3 2 Inhalte und Publishing...5 2.1 Einleitung... 5 2.2 Daten, Informationen, Assets, Content... 10 2.2.1 Daten und

Mehr

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung Berichte aus der Informatik Dieter Pawelczak Start in die C-Programmierung Shaker Verlag Aachen 2012 Inhaltsverzeichnis Inhaltsverzeichnis i 1 Einleitung 1 1.1 Umfeld und Aufbau des Buches 1 Die Programmiersprache

Mehr

Der λ-kalkül. Frank Huch. Sommersemester 2015

Der λ-kalkül. Frank Huch. Sommersemester 2015 Der λ-kalkül Frank Huch Sommersemester 2015 In diesem Skript werden die Grundlagen der Funktionalen Programmierung, insbesondere der λ-kalkül eingeführt. Der hier präsentierte Stoff stellt einen teil der

Mehr

Arnold Willemer C++ Der Einstieg. WlLEY

Arnold Willemer C++ Der Einstieg. WlLEY Arnold Willemer C++ Der Einstieg WlLEY altsverzeichnis Vorwort 13 1 Einstieg in die Programmierung 15 1.1 Programmieren 15 1.1.1 Start eines Programms 16 1.1.2 Eintippen, übersetzen, ausführen 17 1.1.3

Mehr

ATIK ORMAT SINFO HAFTS WIRT. Swetlana Konovalov Seminar Programmiersprachen Westfälische Wilhelms-Universität Münster

ATIK ORMAT SINFO HAFTS WIRT. Swetlana Konovalov Seminar Programmiersprachen Westfälische Wilhelms-Universität Münster Westfälische Wilhelms-Universität Münster WIRTSCHAFTS ATIK ORMAT SINFO TSCH HAFTS WIRT FORTRAN Swetlana Konovalov Seminar Programmiersprachen 04.06.200906 Inhalt Einführung Historische Entwicklung Charakteristika

Mehr

2 Anlegen und Konfigurieren von Datenbanken 35

2 Anlegen und Konfigurieren von Datenbanken 35 Inhalt 1 Einführung und Installation 9 1.1 Einführung 11 1.1.1 Aufbau 11 1.1.2 Schreibkonventionen 12 1.1.3 Zur Beispieldatenbank 13 1.1.4 Kurz-Installation 19 1.2 Die Oracle-Installation 20 1.3 Die Installation

Mehr

Vorgaben zu den unterrichtlichen Voraussetzungen für die schriftlichen Prüfungen im Abitur in der gymnasialen Oberstufe im Jahr 2010

Vorgaben zu den unterrichtlichen Voraussetzungen für die schriftlichen Prüfungen im Abitur in der gymnasialen Oberstufe im Jahr 2010 Vorgaben zu den unterrichtlichen Voraussetzungen für die schriftlichen Prüfungen im Abitur in der gymnasialen Oberstufe im Jahr 2010 Vorgaben für das Fach Informatik 1. Lehrpläne für die gymnasiale Oberstufe

Mehr

Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen

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

Mehr

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer

Inhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer Inhaltsverzeichnis Einleitung Warum man programmieren können sollte.... xi Warum Python?.... xii Und warum Minecraft?... xii Was du in diesem Buch findest... xiii Online-Ressourcen....xv Möge das Abenteuer

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

Programmierung in Java

Programmierung in Java TAE Technische Akademie Esslingen Ihr Partner für Weiterbildung seit 60 Jahren! Maschinenbau, Produktion und Fahrzeugtechnik Tribologie Reibung, Verschleiß und Schmierung Elektrotechnik, Elektronik und

Mehr

C als erste Programmiersprache

C als erste Programmiersprache Manfred Dausmann, Ulrich Bröckl, Joachim Goll C als erste Programmiersprache Vom Einsteiger zum Profi 6., überarbeitete Auflage Teubner Inhaltsverzeichnis 1 Grundbegriffe der Programmierung 2 1.1 Das erste

Mehr

I. II. I. II. III. IV. I. II. III. I. II. III. IV. I. II. III. IV. V. I. II. III. IV. V. VI. I. II. I. II. III. I. II. I. II. I. II. I. II. III. I. II. III. IV. V. VI. VII. VIII.

Mehr

SmallTalk - Eine kurze Einführung

SmallTalk - Eine kurze Einführung SmallTalk - Eine kurze Einführung Andreas Lochbihler Lehrstuhl Programmierparadigmen Universität Karlsruhe 15. Juni 2009 SmallTalk Entwickelt seit Anfang der 70er bei XEROX PARC Alan Kay, Dan Ingalls,

Mehr

Auf einen Blick Auf einen Blick

Auf einen Blick Auf einen Blick Auf einen Blick Auf einen Blick 1 Hello World!... 23 2 Variablenverwaltung... 61 3 Operatoren... 87 4 Verzweigungen und Schleifen... 97 5 Arrays... 119 6 Zeichenketten... 129 7 Datum und Uhrzeit... 150

Mehr

Einführung in PROLOG. Christian Stocker

Einfü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

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Kapitel 11: Wiederholung und Zusammenfassung

Kapitel 11: Wiederholung und Zusammenfassung Wiederholung und Zusammenfassung 1: Begriff und Grundprobleme der Informatik Begriff Informatik Computer als universelle Rechenmaschine Grenzen der Berechenbarkeit Digitalisierung Problem der Komplexität

Mehr

Schulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule

Schulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule des Zweckverbandes Langenfeld / Hilden - Sekundarstufen I und II - B.V.A-Gesamtschule Hildener Str. 3 40764 Langenfeld 02173 / 9956-0 Fax 02173 / 9956-99 Email: mail@bva-gesamtschule.de Web: www.bva-gesamtschule.de

Mehr

C++-Entwicklung mit Linux

C++-Entwicklung mit Linux C++-Entwicklung mit Linux Eine Einführung in die Sprache und die wichtigsten Werkzeuge von GCC und XEmacs bis Eclipse Thomas Wieland [Druckvorlage vom 10. August 2004] xiii Inhaltsverzeichnis 1 Programmieren

Mehr

Großes Lehrbuch der Mathematik für Ökonomen

Großes Lehrbuch der Mathematik für Ökonomen Großes Lehrbuch der Mathematik für Ökonomen Von Professor Dr. Karl Bosch o. Professor für angewandte Mathematik und Statistik an der Universität Stuttgart-Hohenheim und Professor Dr. Uwe Jensen R. Oldenbourg

Mehr

Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Link

Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Link Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Band 1 von Godehard Link 1. Auflage Collegium Logicum - Logische Grundlagen der Philosophie und der Wissenschaften Link schnell

Mehr

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen

Mehr

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java G bhv Inhaltsverzeichnis Vorwort 11 Einleitung 13 Lernen - Üben 13 Über dieses Buch 14 Ш11ШШШШ '. ш Ш Java 19 Die Geschichte

Mehr

Beispiele. Ziele. Vorstellungsrunde. Kursinhalt. Motivation. Programmierkurs für absolute Anfänger. Perl, Praat & bash

Beispiele. Ziele. Vorstellungsrunde. Kursinhalt. Motivation. Programmierkurs für absolute Anfänger. Perl, Praat & bash Programmierkurs für absolute Anfänger Perl, Praat & bash Motivation stupide Arbeiten dem Computer überlassen weniger Zeit und konsistenter als von Hand Wiederholungen / Änderungen / Fehlerbehebung leicht

Mehr

C vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg

C vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg C vs. C++ Sebastian Meyer Universität Hamburg Proseminar C - Grundlagen und Konzepte 2013 1 / 31 Gliederung 1 Einführung 2 Vergleich der Spracheigenschaften 3 Neue Sprachelemente in C++ 4 Fazit 5 Zusammenfassung

Mehr

Zentralabitur 2017 Informatik

Zentralabitur 2017 Informatik Zentralabitur.nrw Ministerium für Schule und Weiterbildung des Landes Nordrhein-Westfalen Zentralabitur 2017 Informatik I. Unterrichtliche Voraussetzungen für die schriftlichen Abiturprüfungen an Weiterbildungskollegs

Mehr

Abschnitt 5: Grundlagen der funktionalen und imperativen Programmierung

Abschnitt 5: Grundlagen der funktionalen und imperativen Programmierung Abschnitt 5: Grundlagen der funktionalen und imperativen Programmierung 5. Grundlagen der funktionalen und imperativen Programmierung 5.1 Sorten und abstrakte Datentypen 5.2 5.3 in Java 5.4 EXKURS: Funktionale

Mehr

Teil 4: Rekursion und Listen

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

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Lehrstuhl Prof. Plödereder Eduard Wiebe Institut für Softwaretechnologie Abteilung Programmiersprachen und Übersetzerbau Sommersemester 2007 Programm-Ausführung Programmiersprachen

Mehr

11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Design Patterns Wozu werden Design Patterns verwendet? Wann

Mehr

C.3 Funktionen und Prozeduren

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

Mehr

Grundkurs Software- Entwicklung mit C++

Grundkurs Software- Entwicklung mit C++ Dietrich May Grundkurs Software- Entwicklung mit C++ Praxisorientierte Einführung mit Beispielen und Aufgaben- Exzellente Didaktik und Übersicht Mit 30 Abbildungen 2., überarbeitete und erweiterte Auflage

Mehr

Johannes Hofer. SCL und OOP. mit dem TIA Portal. Ein Leitfaden für eine objektorientierte Arbeitsweise. 2., neu bearbeitete Auflage VDE VERLAG GMBH

Johannes Hofer. SCL und OOP. mit dem TIA Portal. Ein Leitfaden für eine objektorientierte Arbeitsweise. 2., neu bearbeitete Auflage VDE VERLAG GMBH Johannes Hofer SCL und OOP mit dem TIA Portal Ein Leitfaden für eine objektorientierte Arbeitsweise 2., neu bearbeitete Auflage VDE VERLAG GMBH Inhaltsverzeichnis Abkürzungsverzeichnis XIII 1 EINLEITUNG

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

26 Hierarchisch strukturierte Daten

26 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

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu 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

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr