Algorithmen und Programmieren II. SoSe 2008

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Programmieren II. SoSe 2008"

Transkript

1 Algorithmen und Programmieren II Dozent: SoSe 2008 H. Schweppe hs/ät/inf.fu-berlin.de Sprechstunde Mi , R 169 Sekretariat 168 Übungskoordination: Ingo Dageförde dagefoerd/ät/inf.fu-berlin.de

2 Inhalte im Überblick Entwurf & Implementierung imperativer und objektorientierter Algorithmen - Zentrale syntaktische und semantische Konzepte imperativer Programmiersprachen - Grundkonzepte objektorientierter Programmierung - Systematische Programmentwicklung (Programmiermethodik) Theoretische Grundlagen der imperativen Progr. - Imperatives Berechenbarkeitsmodell: Registermaschine - Spezifikation und Verifikation - Asymptotische Laufzeit hs / fub - alp2-1 2

3 Organisation VL Mo. und Do Tutorien in kleinen Gruppen (zu verschiedene Zeiten) Bis Ende der Woche in elektronische Übungslisten eintragen! hs / fub - alp2-1 3

4 Tutorien Mo 8-10 SR055 Michael Waldvogel (25 Anmeldungen) Di SR051 Michael Waldvogel(16 Anmeldungen) Di SR051 Karima Habassi (25 Anmeldungen) Di SR051 Karima Habassi (16 Anmeldungen) Mi SR055 Patrick Neumann ( 8 Anmeldungen) Mi SR055 Patrick Neumann(25 Anmeldungen) Mi Arnimallee 6 SR009 Maurice Wolter (20 Anmeldungen) Mi SR055 Maurice Wolter (25 Anmeldungen) Stand der Anmeldungen: :00 hs / fub - alp2-1 4

5 Zielgruppe: Bachelorstudiengänge 2. Sem. hs / fub - alp2-1 5

6 Organisation (2) Achtung: Eintrag in CMS für Bachelor zwingend! Abmelden innerhalb von 4 Wochen möglich Übungsblätter in der Regel donnerstags, Abgabe eine Woche später (Do. 16:00) hs / fub - alp2-1 6

7 Scheinkriterien (1) Regelmäßige Teilnahme an VL und Tutorium Anwesenheit in Tutorien 80% der Termine, Liste! (2) Aktive Teilnahme Mindestens eine Lösung vorstellen, n-1 von n Übungsblättern bearbeiten, insgesamt mindestens 50% der Punkte Mindestens 3 von 4 Kurztests erfolgreich. (Schriftlicher 15 min-test zu Beginn von Tutorien) (1) Klausur ( ) Note der Klausur = Gesamtnote Sonderregelung: wer besonders aktiv an Tutorien teilnimmt, kann Gesamtnote um maximal 1 verbessern. Bestnote 1,0 hs / fub - alp2-1 7

8 Lernziele Programmieren "im Kleinen" - "vom Problem zum Programm": Algorithmen entwerfen und in Java implementieren - Grundkonzepte von imperativen und objektorientierten Programmiersprachen beherrschen (Typen, Anweisungen, Unterprogramme und Parameterübergabe, Zeigertypen, Biblotheken) - Korrektheit analysieren, Tests entwerfen und ausführen - Elemente der Objektorientierung: Klassen, Objekte, Vererbung und Datenabstraktion Theoretische Grundlagen kennen - Registermachine als Berechenbarkeitsmodell - Hoare-Kalkül zur Spezifikation / Verifikation hs / fub - alp2-1 8

9 zu beachten: Wichtiges Lernziel ist die Fähigkeit, imperative und objektorientierte Algorithmen in Java zu programmieren aber dies ist kein Java-Programmierkurs Verwendet wird Java Java Development Kit (JDK) ist auf (fast) allen Institutsrechnern installiert Empfehlenswert: auch auf eigenem PC installieren - Java ist Plattform-unabhängig (d.h. hier unabhängig vom Betriebssystem) Gelegentlich andere Beispiele in anderen (imperativen) Sprachen und Haskell Unterschied Algorithmus Programm? hs / fub - alp2-1 9

10 Literatur D. Gries, P. Gries: Multimedia Introduction to Programming Using Java Springer-Verlag 2005 D.Gries: The science of programming, Springer, 3.Auflage, Weiss, Mark A.: Data Structures & Problem Solving using Java, Addison Wesley, 1998 T. Cormen, C. Leiserson, R. Rivest: Introduction to Algorithms MIT Press ; alles über Algorithmen, nichts zu Programmiersprachen Zu Berechenbarkeit: - U. Schöning: Theoretische Informatik kurz gefasst, Spektrum Akad. Vlg., Hdg.; ISBN: , 29,50 hs / fub - alp2-1 10

11 Bücher zu Java Zu Java: Arnold, K./Gosling, J.: The Java Programming Language, Addison Wesley, D. Barnes, M.Kölling: Java lernen mit BlueJ, Eine Einführung in die Objektorientierte Programmierung, 3. Auflage, Pearson R. Morelli, R. Walde: Java, Java, Java - Object-Oriented Problem Solving, 3rd. edition, Prentice Hall / Pearson Sun The Java Tutorial (online) M. Block: Java-Intensivkurs, Springer 2007 B. Eckel: Thinking in Java, Prentice Hall 2006 (Online-Version) C. Ullenboom: Java ist auch eine Insel, Galileo Computing, 5. Auflage 2006 (Online-Version) hs / fub - alp2-1 11

12 Ergänzende Literatur J. Bentley: Programming Pearls, 2nd edition, Addison Wesley / Pearson M. Broy: Informatik. Eine grundlegende Einführung. (Bände 1-4) Springer- Verlag, P. Pepper: Grundlagen der Informatik. Oldenbourg, 1992 H.-J. Appelrath, J. Ludewig: Skriptum Informatik, Teubner 1991 G. Goos: Vorlesungen über Informatik (Band 1-2), Springer- Verlag 95/96. hs / fub - alp2-1 12

13 Java Programmierung Kommandozeile z.b. javac <ProgrammName>.java oder java <ausführbaresprogramm> Entwicklungsumgebungen - Eclipse (sehr komplex, aber nützlich) - BlueJ (einfach, nur für Java-Programme) - Netbeans (sun) -... und viele andere hs / fub - alp2-1 13

14 1 Einführung 1.1 Programmiersprachen Programmierparadigmen deklarativ imperativ funktional z.b. Haskell f 0 = 1 f x = x*f(x-1) relational ("logisch") z.b. Prolog prozedural z.b. C oder Pascal y = 1; while (x>1){ y = x * y; x = x 1; } objektorientiert z.b. Java, C++, C# Ich verwende Konzepte, Definitionen, Folien, Algorithmen von K.P. Löhr aus dem SoSe Für Fehler bin ich allein verantwortlich. hs / fub - alp2-1 14

15 Ausdrücke, Anweisungen, Variablen f 0 = 1 f x = x*f(x-1) y = 1; while (x>1){ y = x * y; x = x 1;} Funktionale Programme: Definition von Ausdrücken (expresssions). Berechnung: Auswertung von Ausdrücken (liefern Wert). Variablen: Namen für Ausdrücke oder Werte. f 3 hat den Wert 6 (und f 2 = 2 ) Imperative Programme: Anweisungsfolgen (Befehl, statement). Berechnung: Ausführung von Anweisung (haben Effekt). Variablen: Namen von Behältern für Werte (d.h. Speicherzellen). y nimmt für x=3 während der Ausführung die Werte 1, 3, 6 an. hs / fub - alp2-1 15

16 f 3 x=3 f (x-1) Wert: 2*3 Funktional: vier unterschiedliche Werte mit dem Namen x x = 2 f (x-1) 2*1 x=1 f (x-1) 1*1 x=0 f (0)=1 x=3 Warum braucht man hier kein "y"? Imperativ: systematische Veränderung von zwei Speicherzellen y = 1; while (x>1) { y=x*y; x=x-1; } x 32 1 y 31 6 Speicherzellen mit Namen x und y hs / fub - alp2-1 16

17 Berechnungsmodelle Funktionale Programmierung Funktionen berechnen durch Reduktion Was kann man berechnen? λ-kalkül oder rekursive Funktionen als Berechnungsmodell Imperative Programmierung Berechnung durch Folgen von Anweisungen (Befehlen) Berechnungsmodell ähnlich Universalrechnern (Speicher, Anweisungsfolge als Programm, Befehlszähler) Registermaschine als Rechnermodell (siehe Abschnitt 2) hs / fub - alp2-1 17

18 Zustände und Universalrechner Imperative Sprachen sind eng mit dem Universalrechnerkonzept verwandt: benannte Speicherzelle = Variable Maschinenbefehle: load, store, add, count Hauptspeicher 46 load $r1,count add $r1,53,$r1 store $r1,count... neuer Wert: 99 CPU PENTIUM warum Haupt? Central Proc. Unit? Aktuelle Werte im Speicher und aktueller Wert des Befehlszählers definieren Zustand der Berechnung. hs / fub - alp2-1 18

19 Traditioneller Algorithmusbegriff Algorithmus (algorithm) benannt nach AlKhwarizmi (arab. Mathematiker, 9.Jhd.) abstrahiert von Rechnerhardware und konkreter Programmiersprache ist imperativ (!) Ein Algorithmus ist ein schrittweises Verfahren zur Lösung einer Klasse gleichartiger Problemen mit den Eigenschaften: 1. Jeder Einzelschritt ist für die ausführenden Instanz eindeutig verständlich und ausführbar 2. Das Verfahren ist endlich beschreibbar [3. Der nächste auszuführende Schritt ist eindeutig bestimmt] [4. Das Verfahren terminiert] hs / fub - alp2-1 19

20 Termination? y=0; x=3; while (x>1) { y=y*x } Eindeutiger nächster Befehl? y=11; x=3; m=0; while (y>=x) { y=y-x; m=m+1; } Reihenfolge beliebig! hs / fub - alp2-1 20

21 Klassen von Algorithmen Sequentiell (sequential ) Eigenschaft 3. gilt nächster Befehl eindeutig bestimmt Nichtsequentiell (concurrent) Ausführungsreihenfolge bleibt teilweise offen Deterministisch Ausführungsreihenfolge und Effekte für jeden Schritt eindeutig festgelegt ( sequentiell) Nichtdeterministisch / stochastisch sonst hs / fub - alp2-1 21

22 Nichtdeterministisch / nichtdeterminiert Gegeben Menge von 3 Klassen von Punkten. Algorithmus zur Klassifikation: klassifiziere (punkt p) { Punktmenge M = bestimmenächstenachbarn(p); Wenn M = 1 : klasse(p) = Klasse des Punktes Sonst: wähle beliebigen aus M und gib p dessen Klasse Nichtdeterministischer Algorithmus, hier Ergebnis nicht determiniert. Dagegen determiniert: Ergebnis ist bei gleichen Anfangsbedingungen eindeutig auch wenn "gewürfelt" wird. hs / fub - alp2-1 22

23 1.2 Programmiersprachen - Übersicht Programmierung in Maschinen- bzw. Assemblersprache Nachteil: geringes Abstraktionsniveau, maschinenabhängig Entwicklung problemorientierter Sprachen: Abstraktion von der Maschine, Sprachelemente für typische höhere Operationen und Datentypen: Zahlen, Zeichen, Vektoren ; Wiederholungsanweisung, ; für wissenschaftlich-technische Aufgaben für kommerzielle Anwendungen für algorithmisches Problemlösen Was berechnet f?? abs $t0, $t0 # Argum. in abs $t1, $t1 # $t0, $t1 beq $t0, $t1, ex rp:sub $t0, $t0, $t1 # $t0 <- $t0-$t1 bgt $t0, $t1, rp bgtz $t0, sw neg $t0, $t0 sw:move $t2, $t0 # $t2<-$t0 move $t0, $t1 move $t1, $t2 bne $t1, $t0, rp ex:move $a0, $t0 # Ausgabe li $v0, 1 # $t0 syscall hs / fub - alp2-1 23

24 Höhere Programmiersprachen: die Anfänge Formula Translator (FORTRAN) ab 1954, John Backus (IBM) für numerisch-wiss. Anwendungen. beachte: Sprachübersetzung erforderlich! Common Business Oriented Language (COBOL) ab 1960, firmenunabhängige Standardisierung besondere Berücksichtigung von Datei-Ein-/Ausgabe, hohe sprachliche Redundanz (230 reservierte Wörter!) Algorithmic Language (Algol) ab 1958, Blockstrukturen, Anweisungen / Ausdrücke, Typkonzepte firmenunabhängige Entwicklung durch Hochschulen, großer Einfluß auf Programmiersprachentwicklung, geringe praktische Bedeutung Programming Language I (PL/I) Versuch der Verbindung von numerisch und kommerziell orientierten Programmiersprachen und ALGOL-Konzepten (IBM 1966) erste Sprache mit formaler Semantik Breitbandsprache hs / fub - alp2-1 24

25 Weitere Programmiersprachen List Processing Language (Lisp) Rückbesinnung auf λ-kalkül, funktionale Programmiersprache mit großer Bedeutung in der Künstlichen Intelligenz (MIT 1960) Programme als Daten - Daten als Programme, higher order functions, Speicherverwaltung und -Speicherbereinigung (garbage collection) noch heute viel benutzt (Emacs!) C als Implementierungsprache für UNIX entwickelt (Kernighan, Ritchie, ATT Labs, 1970), ursprünglich reine Systemimplementierungssprache, Bedeutung erst durch Verbreitung UNIX PASCAL ab 1970, von Nikolaus Wirth (ETH Zürich) als Schulungssprache entworfen, viele ALGOL-Elemente, aber viel einfacher als ALGOL 68, weiterentwickelt unter Softwaretechnikaspekten (Modularisierung!) zu MODULA-2 hs / fub - alp2-1 25

26 Die Geschichte von C? hs / fub - alp2-1 26

27 Moderne Sprachkonzepte und Sprachen Simula 67 der Zeit weit voraus! (Nygaard, Dahl u.a. 1972), erste objektorientierte Programmiersprache, baut direkt auf ALGOL 60 auf. class als neues Konstrukt, Konstruktion von Systemen als Motivation Programming in Logic (PROLOG) Tendenz: Deklarative Formulierung von Algorithmen ( was statt wie ) Programm: Menge von logischen Formeln. A. Colmerauer, ca Verbreitet in der KI, sonstige Bedeutung gering Ironie des Schicksals: Vorgeschlagen in seiner Rede anläßlich Verleihung des Turing Award für seine FORTRAN -Verdienste (...aber nicht nur die) Functional Programming (FP) 1978 John Backus (IBM),funktionales Sprachkonzept, Plädoyer gegen anweisungsorientiertes Programmieren, Grundlage für moderne funktionale Sprachen hs / fub - alp2-1 27

28 Heutige Sprachkonzepte und Sprachen Einflüsse auf Programmiersprachentwicklung UNIX - Verbreitung C Softwareentwicklung Objektorientierung: C++, Java, C#, Delphi, Eiffel (nur im akademischen Umfeld) Vernetzung Plattformunabhängigkeit, verteilte Systeme Java Produktivitätsaspekte Programmierumgebung /-sprache Visual C / Visual Basic / Java Spezifikation / Verifikation funktionale Sprachen Haskell, Erlang, MatLab, R Skriptsprachen? hs / fub - alp2-1 28

29 1.3 Vom Algorithmus zum ausführbaren Programm Algorithmus Codierung Programm in höherer Sprache Übersetzung Ausführbares Programm Binden mit anderen (Hilfs-)Programmen Programm in Maschinensprache hs / fub - alp2-1 29

30 Interpretation von Programmen Algorithmus Codierung Programm in höherer Sprache Interpretation Interpretierer-Programm Die Welt von heute: Keine klare Trennung mehr zwischen Übersetzung und Interpretation z.b. Java hs / fub - alp2-1 30

31 Java: Quell-, Byte- und Maschinencode Quellcode class xyz { }... Java Quellcodeübersetzer Aufruf: javac Java - Bytecode bnc.. sto..... Das ist maschinenunabhängiger Maschinencode?! Bibliothek, selbst geschriebene Programme (~ Klassen) Ausgabe Java Virtuelle Maschine Aufruf: java Plattformabhängiger Maschinencode: Intel, Sun Sparc,..., Win / Solaris / Linux, interpretiert Java Bytecode hs / fub - alp2-1 31

32 Skriptsprachen Eigenschaften - interpretiert - liberale Typen, oft kein Zwang zur Deklaration von Variablen - implizite Typwandlung - automatische Speicherverwaltung Anwendungen - einfache Aufgaben - Prototyp erstellen (rapid prototyping) - Betriebssystemkommandosprache Beispiele - Python, PHP, Javascript ( Java!), Tcl, Bash, C-Shell, Basic,, Lisp (?) hs / fub - alp2-1 32

33 Zusammenfassung Klassen von Programmiersprachen Funktionale und imperative Algorithmen Werte, Variablen, Definitionen, Anweisungen Berechnungsmodelle: Rekursive Funktionen, λ-kalkül, Registermaschine (nächste Stunde) Arten von Programmiersprachen Algorithmen, Programm, Ausführung Übersetzung, Interpretation Skriptsprachen hs / fub - alp2-1 33

1 Programmiersprachen 1.1 1

1 Programmiersprachen 1.1 1 1 Programmiersprachen 1.1 1 Meilensteine imperativer Programmiersprachen (teilweise objektorientiert) Fortran 1960 Cobol Algol 60 PL/I Algol W Simula 67 Algol 68 1970 Pascal C Smalltalk Modula 1980 Ada

Mehr

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

n 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

Mehr

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

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

Mehr

III.1 Prinzipien der funktionalen Programmierung - 1 -

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

Mehr

Inhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms.

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

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

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

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

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

4 Ausklang. ALP 2, Hannes Federrath, Sommersemester 2001

4 Ausklang. ALP 2, Hannes Federrath, Sommersemester 2001 ALP 2, Hannes Federrath, Sommersemester 2001 4 Ausklang Inhalt des Kapitels im Überblick: In diesem Kapitel sollen zum Ausklang der Vorlesung folgende Schwerpunkte behandelt werden: Software-Entwicklungsprozess

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Organisation Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Ziele dieser Veranstaltung Ziel: Wissen, wie man Computerprogramme

Mehr

2. Einführung. Informatik II für Verkehrsingenieure

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

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

Algorithmen versus Programmiersprachen

Algorithmen versus Programmiersprachen Coma I Einleitung Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

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

Mehr

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

Mehr

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

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

Security - 04 Cryptology #1

Security - 04 Cryptology #1 Security - 04 Cryptology #1 Wer ist das da vorne? Für was? (Was mache ich hier?) WTF? Thema? (Was will der von mir?) Security - 04 Cryptology #2 Vorlesung Programmieren Organisation Prof. Dr. Stefan Fischer

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Lehrstuhl für Informatik I Algorithmen und Datenstrukturen Wintersemester 2013/14 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Programmiertutorium: Alexander Wolff (E29) Krzysztof Fleszar (E13)

Mehr

Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus.

Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus. 1 Einführung Programmiersprachen: Ermöglichen formale Beschreibung von Problemlösungsverfahren, die auf einem Computer oder Computersystemen ausführbar sind. Bilden die Basis zur Entwicklung von Software

Mehr

Grundlagen der Programmiersprachen

Grundlagen der Programmiersprachen GPS-0-1 Grundlagen der Programmiersprachen Prof. Dr. Uwe Kastens Sommersemester 2016 Vorlesung Grundlagen der Programmiersprachen SS 2016 / Folie 001 Anfang Begrüßung Ziele GPS-0-2 Die Vorlesung soll Studierende

Mehr

Einführung in die Programmierung Wintersemester 2016/17

Einführung in die Programmierung Wintersemester 2016/17 Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum

Mehr

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

Mehr

Einführung in die Programmierung

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

Mehr

Einführung in die Programmierung

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

Mehr

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

Mehr

Praktische Informatik I

Praktische Informatik I Praktische Informatik I WS 2005/2005 Prof. Dr. Wolfgang Effelsberg Lehrstuhl für Praktische Informatik IV Universität Mannheim 1. Einführung 1-1 Inhaltsverzeichnis (1) 1. Einführung 1.1 Was ist Informatik?

Mehr

Kapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren

Kapitel 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

Mehr

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen der Modellierung und Programmierung, Übung Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak

Mehr

2. Programmierung in C

2. 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)

Mehr

2. Programmierung in C

2. 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)

Mehr

Programmieren 2 - Java

Programmieren 2 - Java Programmieren 2 - Java Fachhochschule Wiesbaden, FB Informatik Studiengang Medieninformatik Vorlesung im SS 2002 1 Ziele Ausbau der bisherigen Fertigkeiten und Techniken des Programmierens in Java mit

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 37

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 37 Skript Informatik Seite 1 von 37 Was ist Informatik? - Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere deren automatisierte Verarbeitung mit Hilfe von

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

Programmiersprachen: 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: Klassifizierung und Methoden Programmier-Paradigmen Grundlagen der Programmierung 2 (1.C) - 1 - Programmiersprachen: Begriffe Syntax Beschreibung der Programme als Texte let xyz =

Mehr

6. Programmiersprachen im Überblick. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

6. Programmiersprachen im Überblick. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 6. Programmiersprachen im Überblick K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 2 Was ist das: eine Programmiersprache? Formale Sprache *), die zur Beschreibung

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Inhalt. Java-Programmierkurs SS Steinzeit der Programmiersprachen. Vor den Steinzeit. Erste Programmiersprachen.

Inhalt. Java-Programmierkurs SS Steinzeit der Programmiersprachen. Vor den Steinzeit. Erste Programmiersprachen. Java-Programmierkurs Einführung in die Objektorientierte Programmierung mit Java SS 2003 Inhalt Geschichtliche Einführung Grundlagen der Imperativen Programmierung Objektorientiertes Programmieren in Java

Mehr

Historischer Abriss Fortran Backus (IBM) Formula Translator Algol 60 Naur et al. Algorithmic Language

Historischer Abriss Fortran Backus (IBM) Formula Translator Algol 60 Naur et al. Algorithmic Language Vorbemerkungen Dozent Veranstaltung Inhalt Spann (Rechenzentrum des Mathematischen Instituts) Systemadministration der Linux-Netze der Mathematik wissenschaftl. Arbeitsgebiet: Numerische Mathematik 1.

Mehr

2. Programmierung in C

2. 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)

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Stefan Rass System Security Research Group (syssec), Institute of Applied Informatics Alpen-Adria Universität Klagenfurt {stefan.rass}@aau.at 2017 WS 2017-09-29

Mehr

ADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

ADS. 1. Vorlesung. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm ADS 1. Vorlesung Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm 6.10.2016 ORGANISATORISCHES Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm Der Dozent 2 Prof. Dr. Wolfgang Schramm

Mehr

... sind (wohldefinierte, endliche) Folgen von Anweisungen, die aus einer Eingabe eine Ausgabe produzieren. Algorithmus.

... sind (wohldefinierte, endliche) Folgen von Anweisungen, die aus einer Eingabe eine Ausgabe produzieren. Algorithmus. 3-4 Algorithmen...... sind (wohldefinierte, endliche) Folgen von Anweisungen, die aus einer Eingabe eine Ausgabe produzieren. Algorithmus Eingabe Ausgabe Beispiele: Kochrezepte Algorithmen zur Verknüpfung

Mehr

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h> Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include int main() { printf( hello world\n ); return 0; } Peter Sobe 1 Verschiedene Sprachkonzepte

Mehr

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden

Teil 3 - Java. Grundlagen Klassen, Attribute Methoden Teil 3 - Java Grundlagen Klassen, Attribute Methoden 1 Java 2 - Geschichte Ursprung: Green -Project bei der Firma Sun Microsystems 1991 Entwicklung eines Systems mit folgenden Eigenschaften: hardwareunabhängig

Mehr

Definitionen/Vorarbeit zum Thema Java

Definitionen/Vorarbeit zum Thema Java Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen 1 Lehrstuhl für Informatik I Algorithmen und Datenstrukturen Wintersemester 2015/16 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Alexander Wolff (E29) Krzysztof Fleszar (E16) Anna Aumann Johannes

Mehr

Vorlesung Programmierung

Vorlesung Programmierung - 1 - Vorlesung Programmierung Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt es?

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,

Mehr

Vorlesung Programmierung

Vorlesung Programmierung - 1 - Vorlesung Programmierung Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt es?

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 1. Einführung und Grundbegriffe 1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Dr. Tom Kamphans 1. Vorlesung 12.10.2016 1 Organisatorisches Vorlesung: Mittwochs 14:00 15:30, Raum F 201 Übung: Mittwochs 15:45 19:00, Raum F 225 Übung: alle zwei Wochen

Mehr

Informatik II Algorithmen & Datenstrukturen

Informatik II Algorithmen & Datenstrukturen lausthal Informatik II Algorithmen & Datenstrukturen Organisatorisches. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Ziel der Vorlesung 1. Eine (kleine) Anzahl von sehr grundlegenden Algorithmen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 1. Markus Reschke Java 1 Markus Reschke 06.10.2014 Überblick Einführung in die Programmierung zur Vereinfachung des Einstiegs ins Studium Erstellung von ausführbaren Programmen für den Computer Denk- und Vorgehensweisen

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Christian Rössl Wintersemester 2017/18 Einführung in die Informatik Christian Rössl EinfInf 2017: Übersicht 2 Berechenbarkeit Rekursion Java Analyse Theoretische Grundlagen

Mehr

Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen

Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2005 1-1 Inhalt (1) Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke 4. Ablaufsteuerung (Kontrollstrukturen)

Mehr

Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen

Programmierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2005 1-1 Inhalt (1) Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke 4. Ablaufsteuerung (Kontrollstrukturen)

Mehr

Inhalte des Moduls Programmieren 1

Inhalte des Moduls Programmieren 1 Inhalte des Moduls Programmieren 1 Einführung: Algorithmus und Programm, Programmiersprache Erste Schritte in Java Grundlagen der Sprache: Datentypen, Ausdrücke und Anweisungen, imperative Programmierung

Mehr

Liste MI / Liste I Programmieren in C++

Liste MI / Liste I Programmieren in C++ Liste MI / Liste I Programmieren in C++ Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Medieninformatik WS 2007/2008 Kapitel 1-4 1 Ziele Kennenlernen einer weiteren objektorientierten

Mehr

Programmiersprachen. Marco Block. Folieninhalte teilweise übernommen von Prof. Heinz Schweppe (ALP II, SoSe 2008) und Prof. Löhr (ALP II, SoSe 2004)

Programmiersprachen. Marco Block. Folieninhalte teilweise übernommen von Prof. Heinz Schweppe (ALP II, SoSe 2008) und Prof. Löhr (ALP II, SoSe 2004) Programmiersprachen Inhalt: Geschichte der Programmiersprachen Programmierparadigma Programmiersprachen im Studium Funktionale Programmierung mit Haskell Funktionale versus Imperative Programmierung Logische

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto Fachbereich Elektrotechnik/Informatik, Universität Kassel 34109 Kassel, Germany E-mail: otto@theory.informatik.uni-kassel.de

Mehr

Workload: 150 h ECTS Punkte: 5

Workload: 150 h ECTS Punkte: 5 Modulbezeichnung: Grundlagen der objektorientierten Programmierung mit Java Modulnummer: DLBINGOPJ Modultyp: Pflicht Semester: -- Dauer: Minimaldauer 1 Semester Regulär angeboten im: WS, SS Workload: 150

Mehr

Geschichte der Programmiersprachen

Geschichte der Programmiersprachen Erster Vorläufer: das Plankalkül, 1942 von K. Zuse, erst 1975 erstmals vollständig beschrieben und implementiert, keine praktische Relevanz Sprachen der 1. Generation (1.GL): Maschinensprachen: binär,

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

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München

Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 0 Allgemeines Inhalt dieser Vorlesung: Einführung in Grundkonzepte der Informatik; Einführung in Denkweisen der Informatik;

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Lehrstuhl für Informatik I Algorithmen und Datenstrukturen Wintersemester 2016/17 Organisatorisches Vorlesung: Übungsbetreuung: Übungen: Alexander Wolff (E29) Fabian Lipp (E14) André Löffler (E15) Johannes

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene

Mehr

Propädeutikum Programmiersprache C und Mathematik 2014

Propädeutikum Programmiersprache C und Mathematik 2014 Propädeutikum Programmiersprache C und Mathematik 2014 Fakultät für Mathematik und Informatik Universität Leipzig Dipl.-Inf. Stefan Freitag, URZ & UBL Stefan Freitag Einführungsveranstaltung Ziel und Zweck

Mehr

Informatik 1 (WS 2018/2019)

Informatik 1 (WS 2018/2019) Informatik 1 (WS 2018/2019) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Übersicht Formale Semantik. Übersicht Axiomatische Semantik. Inhaltsübersicht HPS WS 2003/04. Vorlesung Höhere Programmiersprachen,

Übersicht Formale Semantik. Übersicht Axiomatische Semantik. Inhaltsübersicht HPS WS 2003/04. Vorlesung Höhere Programmiersprachen, Vorlesung Höhere Programmiersprachen, WS 2003/04 Teil 2: Formale Semantik Axiomatische Semantik Inhaltsübersicht - Grundlagen (1,2) - Konzepte imperativer Programmiersprachen (2,3) - Deklarative Programmiersprachen

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

Vorlesung Programmierung

Vorlesung Programmierung - 1 - Vorlesung Programmierung Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt es?

Mehr

Programmieren lernen mit Perl

Programmieren lernen mit Perl Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete

Mehr

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany

Informatik I. Grundlagen der systematischen Programmierung. Peter Thiemann WS 2007/08. Universität Freiburg, Germany Informatik I Grundlagen der systematischen Programmierung Peter Thiemann Universität Freiburg, Germany WS 2007/08 Literatur Herbert Klaeren, Michael Sperber. Die Macht der Abstraktion. Teubner Verlag,

Mehr

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2017/18

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2017/18 Programmierung 1 für Wirtschaftsinformatik Wintersemester 2017/18 Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik / Mathematik Programmierung 1: Programmierung 1 - Ziele Vermittlung von Grundkenntnissen

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

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard 1 Motivation und Einleitung Bisher haben wir verschiedene Programmiersprachen

Mehr

Informatikgrundlagen (WS 2016/2017)

Informatikgrundlagen (WS 2016/2017) Informatikgrundlagen (WS 2016/2017) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Beispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i

Beispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i Beispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i FP-8.7 2. x 0 = 1 3. Falls x in der Folge X auftritt, dann auch 2x, 3x und 5x. 4. Nur die

Mehr

EIGENSCHAFTEN VON SPRACHEN

EIGENSCHAFTEN 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

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard 1.1 Vorlesung Zeit und Ort: Mittwochs 14.00 16.00 Uhr Gebäude 101 HS 00-026 Informationen zur Vorlesung,

Mehr

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi

1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in

Mehr

Programmieren 3. Programmieren in C und Python. Prof. Dr. Peter Barth. Hochschule RheinMain. Fachbereich Design Informatik Medien.

Programmieren 3. Programmieren in C und Python. Prof. Dr. Peter Barth. Hochschule RheinMain. Fachbereich Design Informatik Medien. Programmieren 3 Programmieren in C und Python Prof. Dr. Peter Barth Hochschule RheinMain Fachbereich Design Informatik Medien Medieninformatik 10. Dezember 2015 Prof. Dr. Peter Barth (HS-RheinMain) Programmieren

Mehr

I.1. Organisatorisches - 1 -

I.1. Organisatorisches - 1 - - 1 - Vorlesung "Programmierung" Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt

Mehr

1 Funktionale vs. Imperative Programmierung

1 Funktionale vs. Imperative Programmierung 1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Einleitung Organisatorisches, Motivation, Herangehensweise Wolfram Burgard 1.1 Vorlesung Zeit und Ort: Mittwochs 14.00 16.00 Uhr Gebäude 101 HS 00-026 Informationen zur Vorlesung,

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Prof. Dr. Rudolf Berrendorf Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg URM - Programmierung Dipl.-Inf. Sigrid Weil Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg Einordnung Programmier-Paradigma:

Mehr

Einführung in Datenbanksysteme ++ Datenbanken für Bioinformatiker

Einführung in Datenbanksysteme ++ Datenbanken für Bioinformatiker Einführung in Datenbanksysteme ++ Datenbanken für Bioinformatiker H. Schweppe FU Berlin, SS 2005 hs@inf.fu-berlin.de Infos Zielgruppen Studierende in den Studiengängen Diplom Informatik ab 4 Semester /

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

Funktionale Programmierung Einführung

Funktionale Programmierung Einführung Einführung Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 13.09.2017 15:29 Inhaltsverzeichnis Was ist imperative Programmierung.......................

Mehr