WS 2011/2012. Georg Sauthoff 1. October 12, 2011
|
|
- Horst Bretz
- vor 5 Jahren
- Abrufe
Transkript
1 in in WS 2011/2012 Georg 1 AG Praktische Informatik October 12, gsauthof@techfak.uni-bielefeld.de
2 Kontakt in Dr. Georg M3-128 in Organisation der Übungen zu A&D und in AuDIWS11/ Zentrale Seite für Übungszettel, Folien, usw.
3 Übungen Übungen zu Algorithmen und Datenstrukturen sind die Übungen zu den beiden Veranstaltungen: Algorithmen & Datenstrukturen (Prof. Dr. Giegerich) in (Dr. Georg ) Scheinkriterien: 50 % der Punkte aktive Teilnahme an den Übungen Bearbeitung in 2er- bzw. 3er-Gruppen in Anmeldung AuDIWS11/gruppen.pdf
4 Prüfung in Voraussetzung: Erfolgreiche Teilnahme an der Übungen Mündliche Prüfung (ca. 20 Minuten) mögliche Termine werden noch bekanntgegeben
5 Skript in Es gibt ein Vorlesungsskript zu den beiden Veranstaltungen: AuDIWS11/literatur_aud.html Im Laufe des Semesters werden nach Bedarf noch gedruckte Skripte zur Verfügung gestellt.
6 Uhrzeit in Statt 8h c.t s.t.? Nein, es bleibt bei 8h c.t.
7 Ideengeschichte der achen in Welche achenparadigmen? Historische Entwicklung Wie ist einzuordnen? Visualisierungen O Reilly Poster: Computer Languages History:
8 Maschinennahe Sprachen Welche Maschinen? Konventionelle Rechnenmaschinen festverdrahtet keine Software in
9 Maschinennahe Sprachen Welche Maschinen? Konventionelle Rechnenmaschinen festverdrahtet keine Software 1941: Zuse Z3 elektromechanisch (Relais!) 2 Register 200 Byte RAM programmierbar (Lochstreifen) in
10 Maschinennahe Sprachen Welche Maschinen? Konventionelle Rechnenmaschinen festverdrahtet keine Software 1941: Zuse Z3 elektromechanisch (Relais!) 2 Register 200 Byte RAM programmierbar (Lochstreifen) aber: kein Sprungbefehl 1945 Von-Neumann-Architektur Sprungbefehl! Universelle Rechenmaschine Keine Trennung von Programm und Daten Quelle: wikimedia.org/wiki/file: Z3_Deutsches_Museum.JPG, CC-by-SA 3.0 in
11 Übliche Rechner-Architektur in Labels Adressen RAM Register Programcounter start: 500 add R1, R2 R cmp R2, 0 cjmp start R Daten
12 Maschinennahe Sprachen in Von Binärcode zu Assembler-Sprachen: Symbolische OP-codes Symbolische Adressen stack Subroutinen relocatable code indirekte adressierung Programme überhaupt nicht portabel Höhere achen (imperativ)
13 Imperative achen Bis heute der Mainstream Weiterführung der Assembler-Ideen nah am Maschinenmodell 1957 Fortran FORmula TRANslation zunächst definiert durch die Fähigkeiten des Compilers ALGOL 60 systematisch konstruierte Sprache maschinenunabhängig präzise Syntaxdefinition (CFG) Strenge Typisierung Arrays Verschachtelte Sichtbarkeitsbereiche, Blockstruktur Prozeduren Rekursion, Schleifen,... Input/Output? in
14 Funktionale achen in FP als neues Programmierparadigma 1958 LISP LISt Processing alles ist eine Liste, auch die Programme Funktionen als universelle Kontrollstruktur, z.b. (COND (EQUAL x y) (PLUS x 1)(Minus y 1))
15 Funktionale achen in FP als neues Programmierparadigma 1958 LISP LISt Processing alles ist eine Liste, auch die Programme Funktionen als universelle Kontrollstruktur, z.b. (COND (EQUAL x y) (PLUS x 1)(Minus y 1)) if (x = y) then x+1 else y+1
16 Funktionale achen in FP als neues Programmierparadigma 1958 LISP LISt Processing alles ist eine Liste, auch die Programme Funktionen als universelle Kontrollstruktur, z.b. (COND (EQUAL x y) (PLUS x 1)(Minus y 1)) if (x = y) then x+1 else y+1 Einfache Semantik durch Interpreter in LISP (fast) untypisiert moderne Variante: SCHEME
17 Logische achen in 1972 Prolog Menge von Fakten Menge von Regeln Inferenz-Algorithmus Programmablauf: Auswertung einer Abfrage wie funktionale achen, Teil der Gruppe der deklarativen achen
18 Ada-Projekt in DOD-Projekt Entwicklung Ziel: Aufräumen mit dem Sprachendurcheinander Universal-Sprache Steigerung der Wiederverwendbarkeit von Software Komplexe Sprache Verbot von Sprach-Subsets keine Verbreitung
19 Gegenläufiger Trend in Kleine, einfache Sprachen C (1970) Pascal (1972) C++ (1979) Kompatibilität mit C OOP templates Überladung...
20 Objekt-orientierte Programmierung (OOP) in Simula 67: ALGOL + Klassen Klasse = Funktion/Prozedur mit Gedächtnis 1972 Smalltalk Klassen und Methoden Vererbung Byte-Code Interpreter Klassen-Bibliothek 1979 C++
21 Anwendungsspezifische Sprachen in sed awk sh make bibtex LaTeX Postscript (Druckseitenbeschreibung) SGML, HTML (Dokumentenbeschreibung)...
22 Heute Es gibt immer noch die alten Sprachen: Fortran (ISO 2010) nun auch OO LISP C (ISO C99) C++ (ISO 2011) Ada (ISO 2005) Imperativer/OOP Mainstream: Java, C#, C, C++ Funktionaler Mainstream:, ML, LISP Scriptsprachen: Python, Ruby... in
23 seit 1990 benannt nach dem Logiker Curry Beeinflusst von ML Miranda funktional (pure) lazy evaluation stark typisiert notationelles Juwel Typinferenz Implementierungen Hugs GHC in Quicksort Snippets
24 Quicksort in 1 q s o r t : : ( Ord a ) => [ a ] > [ a ] 2 q s o r t [ ] = [ ] 3 q s o r t ( a : as ) = q s o r t [ b b < as, b < a ] 4 ++ [ a ] 5 ++ q s o r t [ b b < as, b >= a ] Quicksort Snippets
25 Quicksort in 1 q s o r t : : ( Ord a ) => [ a ] > [ a ] 2 q s o r t [ ] = [ ] 3 q s o r t ( a : as ) = q s o r t [ b b < as, b < a ] 4 ++ [ a ] 5 ++ q s o r t [ b b < as, b >= a ] Quicksort Snippets Main> qsort [1,4,2,2,4] [1,2,2,4,4]
26 Pseudo-Code function quicksort( array ) create empty lists less and greater if length( array ) <= 1 // an array of zero or one elements // is already sorted return array select and remove a pivot value pivot from array for each x in array if x <= pivot then append x to less else append x to greater return concatenate(quicksort( less ), pivot, quicksort( greater )) Quelle: Quicksort&oldid= , CC-BY-SA 3.0 in Quicksort Snippets
27 -Module in -Script: Endung.hs, Kommentare werden mit - - eingeleitet Literate--Script: Endung.lhs, alles ist Kommentar, nur Zeilen, die mit > beginnen, gehören zum Programm. Zwischen Kommentaren und Definitionen muss sich mindestens eine leere Zeile befinden. Quicksort Snippets
28 Beispiel 1 > module Test 2 3 ^ immer g r o s s g e s c h r i e b e n 4 5 > where 6 7 Es f o l g e n D e k l a r a t i o n e n und D e f i n i t i o n e n f : : I n t > I n t 11 ^ Typnamen immer g r o s s g e s c h r i e b e n > f x = x x > l e s s : : I n t > I n t > Bool Rueckgabetyp a l s l e t z t e s 16 > l e s s a b = a < b A u f r u f von d e r S h e l l v i a : $ hugs Test in Quicksort Snippets
29 Bedienung vom Hugs in Aufrufen mit hugs <Modulname> Laden eines neuen Moduls: :l <Modulname> Erneutes Laden eines Moduls nach einer Änderung: :r Den Typ eines Ausdrucks anzeigen: :t <Ausdruck> Alle verfügbaren Kommandos anzeigen: :? hugs beenden: :q Quicksort Snippets
30 -Typen in Typ Werte Int Ganze Zahlen Integer Ganze Zahlen, unbeschränkte Stelligkeit Float Fliesskommazahlen 32 bit Double Fliesskommazahlen 64 bit Bool Wahrheitswerte, True/False Char Zeichen, a, b,... String Zeichenketten Int -> Int,... Funktionen Quicksort Snippets
31 Int vs. Integer 1 > fakint :: Int - > Int 2 > fakint 0 = 1 3 > fakint n = n * fakint ( n -1) Fak> fakint in Quicksort Snippets 1 > fakinteger :: Integer - > Integer 2 > fakinteger 0 = 1 3 > fakinteger n = n * fakinteger ( n -1) Fak> fakinteger
32 Listen Unendliche Listen: Hugs> [1..] [1,2,3,4,5,6,7,8,9,10,11, in Quicksort Snippets
33 Listen Unendliche Listen: Hugs> [1..] [1,2,3,4,5,6,7,8,9,10,11, Die ersten 4 natürlichen Zahlen: in Quicksort Snippets Hugs> take 4 [1..] [1,2,3,4] Hugs> [1..4]
34 Listen Unendliche Listen: Hugs> [1..] [1,2,3,4,5,6,7,8,9,10,11, Die ersten 4 natürlichen Zahlen: in Quicksort Snippets Hugs> take 4 [1..] [1,2,3,4] Hugs> [1..4] Strings sind auch Listen: Hugs> reverse "Hello World" "dlrow olleh"
WS 2012/2013. Robert Giegerich. October 9, 2012
in in WS 2012/2013 Robert AG Praktische Informatik October 9, 2012 Kontakt & Kontext Prof. Dr. Robert Email: robert@techfak.uni-bielefeld.de M3-125 Veranstaltungen im Modul A&D: in Algorithmen und Datenstrukturen
MehrWS 2011/2012. Georg Sauthoff 1. November 10, 2011
in in WS 2011/2012 Georg 1 AG Praktische Informatik November 10, 2011 1 gsauthof@techfak.uni-bielefeld.de Kontakt in Dr. Georg Email: gsauthof@techfak.uni-bielefeld.de M3-128 in Organisation der Übungen
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 17.10.2008 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrAlgorithmen und Datenstrukturen. und. Programmieren in Haskell
Datenstrukturen WS 2013/2014 Datenstrukturen Robert, Stefan Janssen, Alexander Sczyrba Technische Fakultät AG Praktische Informatik October 30, 2013 Kontakt & Kontext Prof. Dr. Robert Email: robert@techfak.uni-bielefeld.de
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:
MehrIII.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
MehrStichworte zur Ideengeschichte der Programmiersprachen
Stichworte zur Ideengeschichte der Programmiersprachen Faculty of Technology robert@techfak.uni-bielefeld.de Vorbemerkung Diese Notzien dienen zur Erläuterung des O Reilly Posters über die Entwicklung
MehrGliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung
Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung
Mehrn 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information
Mehr1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von
Mehrn 1. Grundkonzepte der logischen Programmierung n 2. Syntax von Prolog n 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 -
n 1. Grundkonzepte der logischen Programmierung n 2. Syntax von Prolog n 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen l
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrGrundlagen Internet-Technologien. Clientseitige Web-Programmierung
Clientseitige Web-Programmierung mit JavaScript Version 1.1 3.5.2010 1 aktuelles 2 clientseitige Web-Programmierung verschiedene Ansätze JavaScript Java Applet Adobe Flash Microsoft Silverlight RIA: rich
Mehr1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Ein Zitat zu Beginn Vor der Wahl, ein theoretischer Physiker oder ein Programmierer
MehrWS 2011/2012. Georg Sauthoff November 2011
WS 2011/2012 Georg 1 AG Praktische Informatik 22. November 2011 1 gsauthof@techfak.uni-bielefeld.de Vorstellung der abgaben aus den Tutorien. Sieb-Beispiel Siehe Tafel (Auswertungsbeispiel) Sieb-Beispiel
MehrWS 2011/2012. Robert Giegerich. October 17, 2012
in in WS 2011/2012 Robert AG Praktische Informatik October 17, 2012 Sprechstunden in GZI-Arbeitsraum (V2-240) Tutoren-Sprechstunden (V2-228) http://www.techfak.uni-bielefeld.de/ags/pi/ lehre/audiws12/#ueb
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
MehrBru ckenkurs Programmieren
Bru ckenkurs Programmieren Tag 1: Variablen und Verzweigungen Jakob Czekansky Technische Hochschule Mittelhessen 26. September 2016 Inhalt Organisatorisches Einleitung: Was ist Programmieren? Hello World
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
MehrProgrammiersprachen. 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
MehrGrundlegende Datentypen
Grundlegende Datentypen Funktionale Programmierung Prof. Dr. Oliver Braun Letzte Änderung: 22.10.2018 10:53 Grundlegende Datentypen 1/21 Typen in Haskell ist alles streng typisiert Haskell verfügt über
MehrGrundlegende Datentypen
Funktionale Programmierung Grundlegende Datentypen Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 14.11.2017 15:37 Inhaltsverzeichnis Typen........................................
Mehr2. JAVA-Programmierung. Informatik II für Verkehrsingenieure
2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
MehrTechnische Informatik I - HS 18
Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik I - HS 18 Musterlösung zu Übung 3 Datum : 25.-26. Oktober 2018 Aufgabe 1: Wurzelverfahren nach Heron Das
MehrHaskell for Hackers... or why functional programming matters
... or why functional programming matters Franz Pletz CCC München 27-06-2009 @ GPN8 Fahrplan Ablauf Motivation 1 Ablauf Motivation 2 3 4 Ablauf Ablauf Motivation bei Fragen/Unklarheiten:
MehrInhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms.
Inhalt Algorithmus Euklidscher Algorithmus Sortieren Programmiersprachen Entwicklungsschritte eines Programms Algorithmen 1 Algorithmus Eindeutige Beschreibung eines allgemeinen Verfahrens unter Verwendung
MehrGrundlegende Datentypen
Grundlegende Datentypen (Funktionale Programmierung) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 21:08 Grundlegende Datentypen 1/16 Typen in Haskell ist alles streng typisiert Haskell verfügt über
MehrProgrammiersprachen: Klassifizierung und Methoden. Programmier-Paradigmen. Grundlagen der Programmierung 2 (1.C) - 1 -
Programmiersprachen: Klassifizierung und Methoden Programmier-Paradigmen Grundlagen der Programmierung 2 (1.C) - 1 - Programmiersprachen: Begriffe Syntax Beschreibung der Programme als Texte let xyz =
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrFunktionale Programmiersprachen
Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte
MehrFunktionale Programmierung Grundlegende Datentypen
Grundlegende Datentypen Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 06.11.2017 16:45 Inhaltsverzeichnis Typen........................................
MehrInhaltsverzeichnis I Grundlagen...1 II Programmieren in C/C
I Grundlagen...1 1 Grundprinzipien der Datenverarbeitung...2 1.1 Historische Entwicklung der Datenverarbeitung...2 1.1.1 Von A wie Abakus bis Z wie Zuse...2 1.1.2 Die Rechnergenerationen...3 1.1.3 Computer
MehrProgrammieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik
Programmieren I Methoden-Special Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe: Wertkopie -By- public class MethodParameters { public
MehrALP I Geschichtliche Einführung in die Programmiersprachen
ALP I Geschichtliche Einführung in die Programmiersprachen Sammet, J. Programming Languages. History and Fundamentals. Prentice Hall, 1969. SS 2011 1 Wie viele Programmiersprachen? Es gibt mehr als 2000
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrIntroduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016
to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you
MehrMul$media im Netz Wintersemester 2012/13. Übung 01
Mul$media im Netz Wintersemester 2012/13 Übung 01 Ludwig- Maximilians- Universität München Mul5media im Netz WS 2012/13 - Übung 1-1 Organisatorisches Ludwig- Maximilians- Universität München Mul5media
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
MehrInhalt. Einführung in die Strukturierte Programmierung 15
Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird
MehrEinführung in die Programmierung
Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf
MehrEinführung in Haskell und seine Werkzeuge
Einführung in Haskell und seine Werkzeuge PD Dr. David Sabel Goethe-Universität Frankfurt am Main 29. September 2015 Funktionale Programmiersprachen Programm = Menge von Funktionsdefinitionen Ausführung
Mehr1.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,
MehrComputergrundlagen Turingmaschinen und Programmierung
Computergrundlagen Turingmaschinen und Programmierung Jens Smiatek und Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2016/17 Was ist ein Computer? Ein Computer (Rechner oder
MehrDynamische Webseiten mit PHP. Oder: LAMP - The open way
Dynamische Webseiten mit PHP Oder: LAMP - The open way Verbreitung Neben ASP verbreitetste Web-Scripting-Umgebung LAMP (Linux, Apache, mysql, PHP): freie Alternative zu M$ Überblick Dynamische Webseiten
Mehr(Building) Flexible Functional Programming Interfaces. Von Amos Treiber
(Building) Flexible Functional Programming Interfaces Von Amos Treiber Gliederung Funktionale Programmierung Einführung Aspekte Vergleich: Funktional vs Imperativ Bending the language towards the problem
MehrAnwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG
Logik für Informatik Technische Universität Darmstadt Sommersemester 2003 Fachbereich Mathematik Mathias Kegelmann 8. Juli 2003 Anwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG Übersicht
MehrInformatik für Mathematiker und Physiker Woche 7. David Sommer
Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen
MehrPython Zahlen, Strings Logik Kontrollstrukturen. Scriptsprachen. Python Basics. Sascha Winter
Python Basics Sascha Winter Lehrstuhl fuer Bioinformatik Friedrich-Schiller-Universitaet Jena sascha.winter@uni-jena.de 11.08.2014 Python Erschien 1991, Guido van Rossum Nach Monty Python benannt Leicht
MehrEIGENSCHAFTEN VON SPRACHEN
Vorlesung und Übung Universität Paderborn Wintersemester 2016/2017 Dr. Peter Pfahler EIGENSCHAFTEN VON SPRACHEN EWS, WS 2016/17, Pfahler C-1 Einführung Sprachen in der Informatik werden für bestimmte Zwecke
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrAlgorithmik und Programmieren
Institut für Informatik Forschungsgruppe Datenbanken und Informationssysteme (DBIS) Universität Innsbruck Algorithmik und Programmieren Martin Pichl Datenbanken und Informationssysteme (DBIS) dbis.uibk.ac.at
Mehr6. Funktionen, Parameterübergabe
6. Funktionen, Parameterübergabe GPS-6-1 Themen dieses Kapitels: Begriffe zu Funktionen und Aufrufen Parameterübergabearten call-by-value, call-by-reference, call-by-value-and-result in verschiedenen Sprachen
MehrEinführung in die Programmierung mit Go
Einführung in die Programmierung mit Go Teil 1: Grundlegende Konzepte Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 8. März 2015 Übersicht der Veranstaltung Sonderveranstaltung:
MehrOrganisatorisches/Einstieg
1/31 Organisatorisches/Einstieg Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/31 Outline 1 Motivation Theoretische Grundlagen
MehrProgrammieren in Haskell
Programmieren in Haskell Wir steigen ein... Programmieren in Haskell 1 Was wir heute machen Umfrage: Wer hat den Hugs ausprobiert? Ausdrücke und Werte Datentypen Funktionen Aufgabe für diese Woche Programmieren
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrProgrammieren in Haskell
Programmieren in Haskell Syntax und Semantik von Haskell Programmieren in Haskell 1 Was wir heute (und nächstes mal) machen Datentypdefinitionen Wertdefinitionen, Variablenbindungen Musterbindungen Funktionsbindungen
MehrHallo Haskell. Funktionale Programmierung. Prof. Dr. Oliver Braun Letzte Änderung: :06. Hallo Haskell 1/23
Hallo Haskell Funktionale Programmierung Prof. Dr. Oliver Braun Letzte Änderung: 15.10.2018 07:06 Hallo Haskell 1/23 Glasgow Haskell Compiler (GHC) der Haskell-Compiler ist der GHC Sie installieren ihn
MehrWS 2011/2012. Georg Sauthoff 1. October 18, 2011
in in WS 2011/2012 Georg 1 AG Praktische Informatik October 18, 2011 1 gsauthof@techfak.uni-bielefeld.de Neue Übungsgruppen in neue Übungsgruppen neue Tutoren Sprechstunden in GZI-Arbeitsraum (V2-240)
MehrProgrammier-Befehle - Woche 08
Datentypen Vektoren (mehrdim.) eines bestimmten Typs Erfordert: #include Wichtige Befehle: Definition: std::vector my vec (n rows, std::vector(n cols, init value)) Zugriff:
MehrKapitel 2: Grundelemente der Programmierung
Kapitel 2: Grundelemente der Programmierung Variablen Variablen sind Speicherbereiche im Arbeitsspeicher Anhand eines Namens kann man Werte hineinschreiben und auch wieder auslesen Variablen besitzen ein
MehrKapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren
Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik
MehrEinführung in die Funktionale Programmierung
Einführung in die Funktionale Programmierung Am Beispiel von OCaml Michael Dienert 12. Oktober 2018 Inhaltsverzeichnis 1 Welche funktionale Sprache wählen wir? 2 1.1 Welche funktionale Sprache soll ich
MehrInformatik I - Programmierung Globalübung Hugs98 Currying. Hugs98 Currying
Informatik I - Programmierung Globalübung 13.01.2003 Hugs98 Currying Thomas Weiler Fachgruppe Informatik RWTH Aachen T. Weiler, RWTH Aachen - 1 - Hugs98 Currying Bedienung Typen Fehlermeldungen Inhalt
MehrHallo Haskell. (Funktionale Programmierung) Prof. Dr. Oliver Braun. Letzte Änderung: :08. Hallo Haskell 1/23
Hallo Haskell (Funktionale Programmierung) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 21:08 Hallo Haskell 1/23 Glasgow Haskell Compiler (GHC) der Haskell-Compiler ist der GHC Sie installieren ihn
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
Mehr1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.
Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten
MehrProf. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2. Proseminar - 1 -
Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2 Proseminar - 1 - Lernziele des Proseminars Wie komme ich zu gesicherten Ergebnissen? Stimmen Angaben? Andere Quellen? Neuere Entwicklungen?
MehrComputergrundlagen 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,
MehrGrundlagen der Programmierung 2 (1.A)
Grundlagen der Programmierung 2 (1.A) Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 18. April 2007 Grundlagen der Programmierung 2: Geplanter Inhalt der ersten Hälfte
MehrComputerphysik II. Python Einführung. S. Gerlach. WiSe S. Gerlach Computerphysik II
Computerphysik II Python Einführung S. Gerlach WiSe 2016 Programmiersprachen In der Wissenschaft: Programmiersprachen - Einteilung Eigenschaften: Skriptsprachen: Shell, Python, Perl,... Kompilierte Sprachen:
MehrProgrammieren I. Methoden-Spezial Heusch --- Ratz 6.1, Institut für Angewandte Informatik
Programmieren I Methoden-Spezial Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe bei primitivem Datentypen (Wertkopie) public class MethodParameters
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
MehrTeil III. Objektorientierung und SW-Entwicklung
Teil III Objektorientierung und SW-Entwicklung K. Bothe K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 2. Dez. 2015 2 III: Objektorientierung und SW-Entwicklung 1. Grundkonzepte
MehrComputergrundlagen 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,
Mehr2. Einführung. Informatik II für Verkehrsingenieure
2. Einführung Informatik II für Verkehrsingenieure Überblick ZIEL DER EINFÜHRUNG Was ist Informatik Historische Entwicklung von Programmiersprachen 2 Was ist Informatik? 3 Was ist Informatik? FRANZÖSISCH
MehrEffektiv Programmieren in С und C++
Dietmar Herrmann Effektiv Programmieren in С und C++ Eine Einführung mit Beispielen aus Mathematik, Naturwissenschaft und Technik 3., vollständig überarbeitete und erweiterte Auflage 3 vieweg flffm \;i
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
MehrProgrammiersprachen Pascal, Modula-2, Oberon. Charlotte Prieß
Programmiersprachen Pascal, Modula-2, Oberon Charlotte Prieß Überblick Leben Historische Einordung Pascal Modula-2 Oberon Vorteile von Pascal gegenüber C Warum sich C durchgesetzt ist? Leben 1934 geboren
MehrPraktische Informatik 3
Praktische Informatik 3 Christian Maeder WS 03/04 Vorlesung vom 12.1.2004: Ein/Ausgabe in funktionalen Sprachen Vorlesung vom 12.1.2004: Ein/Ausgabe in funktionalen Sprachen 3 Inhalt Wo ist das Problem?
MehrGrundlagen der Programmierung in C++ Arrays und Strings, Teil 1
Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum
MehrProgrammieren in Haskell Einstieg in Haskell
Programmieren in Haskell Einstieg in Haskell Peter Steffen Universität Bielefeld Technische Fakultät 24.10.2008 1 Programmieren in Haskell Was wir heute machen Umfrage: Wer hat den Hugs ausprobiert? Ausdrücke
MehrEINI WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 11/12
EINI WiMa Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 11/12 Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@udo.edu http://ls1-www.cs.uni-dortmund.de
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt 24.03.2014 ORGANISATORISCHES tobias.witt@hhu.de 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber später in den Übungen!
Mehr2 Programmieren in Java I noch ohne Nachbearbeitung
1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrOutline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik
Outline 1 Einleitung 2 Einführung in C 3 Fortgeschrittenes in C 4 Einführung in Emacs Lisp 5 Einführung in Prolog 6 Formale Semantik Lisp 1958 von John McCarthy erfunden Funktionales Programmierparadigma
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 08/09 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrSmallTalk - 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,
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Überblick für heute Programmierparadigmen Imperative vs. deklarative Programmierung Beispiele Funktionale Programmierung
Mehr1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language)
4. Zur Struktur der PS PASCAL 4.1. Einleitende Bemerkungen 1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language) Anfang 60er (USA) COBOL (Commercial Business
Mehr