Propädeutikum zur Programmierung

Größe: px
Ab Seite anzeigen:

Download "Propädeutikum zur Programmierung"

Transkript

1 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Tel: 0463 / Organisatorisches (1/6) Propädeutik = in ein Studienfach einführendes Werk Ziel der LV: Grundlage für SW1 und SW2 Inhalt der Lehrveranstaltung: Einführung in die Übungsumgebung Abstraktion und Algorithmen, Kontrollstrukturen Einfache Java Programme lesen/verstehen Datentypen, Anweisungen Methoden und Objekte Arrays Methoden und Rückgabewerte ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 2 von 52 1

2 Organisatorisches (2/6) Block-Lehrveranstaltung ( , Bollin) 1er Block Anfang Oktober: 3.10 (Mi) 8-10, HS C 3.10 (Mi) 12-16, HS C 4.10 (Do) 10-13, HS (Fr) 8-15, HS 10 Klausur: 12. Oktober, 8-10, HS 4 2er Block Mitte/Ende November (Mi) 18-20, HS 10 (Fragestunde) (Mi) 18-20, HS 10 (s.t. pünktlich) (Do) 18-20, HS B (s.t. pünktlich) ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 3 von 52 Organisatorisches (3/6) Block-Lehrveranstaltung ( , Bollin) 1er Block Anfang Oktober: 3.10 (Mi) 18-20, HS (Do) 18-20, HS B 5.10 (Fr) 16-20, HS (Sa) 9-17, HS 10 Klausur: 12. Oktober, 8-10, HS 4 2er Block Mitte/Ende November (Do) 18-20, HS 7 (Fragestunde) (Fr) 13-17, HS 10 (s.t. pünktlich) ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 4 von 52 2

3 Organisatorisches (4/6) Beurteilungskriterien Anwesenheitspflicht Mitarbeit (Aufgaben während der LV) Klausur (100 Punkte, mind. 40 Punkte) Erklären eines Java Programms Blockdiagramme, einfache Algorithmen Fragen/Probleme? DI Andreas Bollin Sprechstunde: Di, 11:00 12:00, E.2.77 Tel.: 0463 / ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 5 von 52 Organisatorisches (5/6) Sondergruppen (SW1,SW2,...) Keine Anwesenheitspflicht 1er+2er Block Übungsklausur (Ab Samstag 6.10, 9 Uhr) Klausur Ausarbeiten von 2 Themengebieten (siehe WWW) Abgabe der (schriftlichen) Lösungen im Sekretariat Übungsklausur bis Dienstag, 9.10, 12 Uhr Thema (1) bis Freitag, 12.10, 12 Uhr Thema (2) bis Montag, 5.11, 12 Uhr Themen: je 3 Seiten, Richtlinien siehe WWW ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 6 von 52 3

4 Organisatorisches (6/6) Themengruppe 1: 1A: Geschichte der Programmierung 1B: (Teil-)Gebiete der Informatik, Begriffe und Unterschiede anhand von Beispielen 1C: Geschichte der Programmiersprachen 1D: Was sind Datentypen? Eine Einführung Themengruppe 2: 2A: Arrays, Hintergründe und einfache Beispiele 2B: Ein/Ausgabe, Idee und einige kurze Beispiele 2C: Blockdiagramme, Hintergründe und einfache Beispiele 2D: Klassen Methoden und Objekte, Idee und Einführung anhand kurzer Beispiele ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 7 von 52 Programmierung (1/5) Programmieren = Plan zur Lösung eines Problems entwerfen. Geschichtliches zur Einführung: Vor 1900: mechanische Geräte. Abakus aus Babylonien um 3000 v.chr., Antikythera aus Griechenland um 80 v. Chr. Erste Idee der Programmierung: Charles Babbage ( ) Addition von Dezimalzahlen : Aufstieg der Mathematiker Hilbert ( ), Gödl ( ) und Alan Turing ( ) : Der Krieg als treibende Kraft Ver/Entschlüsselung (Colossus gegen Enigma). ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 8 von 52 4

5 Programmierung (2/5) Die Wende: 1947: Erfindung des Transistors Durchbruch. 1950er Jahre: Bedarf an höheren Notationen. (Erste Compiler und Programmiersprachen) 1951 Grace Murray Hopper, erster Compiler FORTRAN Compiler, John Backus et.al LISP, John McCarthy Algol, Alan Perlis, John Backus, Peter Naur et.al. Ab 1962: Computer Science wird eigenständige Wissenschaft. Algol-60, N. Wirth, formale Syntax, allgemeine Ausdrücke, Mathematik-ähnliche Notation, Block Struktur, Rekursion Simula-67, Dahl und Nygaard, erste OO-Sprache ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 9 von 52 Programmierung (3/5) 1970er Jahre: Bedarf an sicheren Sprachen Pascal, N. Wirth, strikte Typenkontrolle C, D. Ritchie 1980er Jahre: Modularisierung, Objektorientierung Modula-2, N. Wirth Smalltalk 80, Goldmann, Xerox PARC Ada, Ichbiah aber auch C++, Stroustrup 1990er Jahre: Reifeprozeß der OO C++, Modula-3, Java Folgende Jahre? Java, C, C++, C# Fortran und Cobol leben noch immer! Programmierung ist Teil der Informatik. ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 10 von 52 5

6 Programmierung (4/5) Informatik? Theoretische Informatik (Algorithmen,...) Technische Informatik- Hardwarenahe Gebiete (Schaltkreise, Kommunikationstechnik,...) Praktische Informatik (Compilerbau, Datenbanken, Betriebssysteme,...) Angewandte Informatik Anwendungsgebiet (Medizinische Informatik, Maschinenbau-Informatik) Vorgangsweise bei Computer-Anwendungen? Prüfen, ob Algorithmisierung möglich ist Entwurf der Algorithmen als automatisierbare Teilprozesse und Bewertung der Komplexität Implementierung der (Teil-)Algorithmen mittels einer Programmiersprache ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 11 von 52 Programmierung (5/5) Entstehungsschritte eines Programms: Um und Auf sind Algorithmen Schrittweise, präzises Verfahren zur Lösung eines Problems Algorithmen sind KEINE Programme Programm ist die Beschreibung eines Algorithmus in einer bestimmten Programmiersprache ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 12 von 52 6

7 Java (1/2) Idee 1990 (Sun) geboren: James Goslin, Patrick Naughton, Mike Sheridan Codename: Prototyp Oak, später (1995) Java (T-Shirt: its a jungle out there, so drink your Java ) Merkmale: Objektorientiert Sicher Portabel Plattformenabhängig Interpretiert ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 13 von 52 Java (2/2) Wie führe ich ein Java Programm aus? ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 14 von 52 7

8 Übungsumgebung (1/2) Man braucht somit: Texteditor, javac, java Es gibt eine Vielzahl an Arbeitsumgebungen Visual Café für Windows, Borland JBuilder, IBM Visual Age,... Java Development Kit (Sun Microsystems) Wir verwenden JDK 1.3 SE (einfach, frei) Übungsräume an der Universität ZID Übungsplätze (ZID PC-Ganz) PC-Gang. Raum E Benutzerkarte! ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 15 von 52 Übungsumgebung (2/2) Üben auch zuhause (Linux, Windows,...) Software CD von den Übungsleitern aus SW1 JDK 1.3 SE für Windows und Linux Java Online Dokumentation Emacs Texteditor (mit Java Mode) Ftp-Server des Institutes für Informatik ftp://ftp-itec.uni-klu.ac.at/ Username: infocd Passwort: infocd01 Installation von JDK 1.3 Siehe Online Demonstration Installation von Emacs und Emacs Java-Mode Siehe Online Demonstration ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 16 von 52 8

9 Algorithmen (1/25) Und wieder etwas Geschichte: 300 v.chr.: Euklids Algorithmus (Größter gemeinsamer Teiler) im 7. Buch der Elemente 800: Mohammed ibn Musa abu Djafar alchoresmi (Vorgehensweise für Testamentsvollstreckung) alchoresmi + arithmo (gr., Zahl) = Algorithmus 1571: erste Rechenbuch von Adam Ries 1614: erste Logarithmentafel (30 Jahre Arbeit!) 1703: binäres Zahlensystem von Leibnitz Ab 1936 Algorithmentheorie ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 17 von 52 Algorithmen (2/25) Was beschreibt ein Algorithmus? Drei wesentliche Teile: Folge von Einzelschritten Namen Häufig: Eingangs- und Ausgangswerte z.b. Addition von Zahlen, Test ob Primzahl,... ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 18 von 52 9

10 Algorithmen (3/25) 3 wesentliche Begriffe: Ein Algorithmus heißt terminierend, wenn er (bei jeder erlaubten Eingabe von Parametern) nach endlich vielen Schritten abbricht/endet. Ein Algorithmus hat einen deterministischen Ablauf, wenn er eine eindeutige Schrittfolge besitzt. (Determinismus) Ein Algorithmus liefert ein determiniertes Ergebnis, wenn jeder Eingabe stets EINE Ausgabe zugeordnet wird. (Determiniertheit) Deterministische, terminierende Algorithmen definieren im Allgemeinen Ein-Ausgabe Funktionen der Form: f: Eingabewerte Ausgabewerte ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 19 von 52 Algorithmen (4/25) Beispiel 1: Stellt folgende Anleitung einen Algorithmus dar? 1. Lies eine ganze Zahl ein 2. Wenn x <= 1, beende das Verfahren 3. Wenn x ungerade ist, dann gehe zu 5 oder 6 4. Setze x auf x/2; gehe zu Setze x auf 3*x + 1 und gehe zu 7 6. Setze x auf 5*x Gib x aus und gehe zu 2 ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 20 von 52 10

11 Algorithmen (5/25) Algorithmenbausteine: Elementare Operationen Sequentielle Ausführung (dann, danach) Parallele Ausführung Bedingte Ausführung (wenn dann) Schleife (solange bis) Unterprogramme (Teilalgorithmus) Rekursion Es gibt etliche Darstellungsformen Kombinieren (leimen) die Bausteine zusammen Pseudocode, Flussdiagramm, Blockdiagramm, Java (Pascal, C,...) Programm Code ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 21 von 52 Algorithmen (6/25) Beispiel 2: Auszugeben ist die Summe derjenigen von N einzulesenden Zahlen, die zwischen den vorzugebenden Werten L und R liegen. Lösung Beispiel 2: (ein erster Anfang) Biete die Möglichkeit, N Zahlen einzugeben und merke dir die Zahlen. Summiere die Zahlen und merke dir das Ergebnis. Gib das Ergebnis aus. ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 22 von 52 11

12 Algorithmen (7/25) Probleme: Noch zu ungenau. Woher kommen R,L,N? Wir brauchen Behälter (leeren/füllen?). Wir müssen die Reihenfolge der Aktionen festlegen. Idee: Einführen von Variablen = Behälter für EINEN Wert. Variable: Summe. Verwenden EINHEITLICHER Anweisungen. Wertzuweisungen. Folge, Verzweigung, Schleife. Verwenden EINHEITLICHER Notation (Diagramme). ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 23 von 52 Algorithmen (8/25) Variablen haben einen Wert und einen Datentyp Datentyp = Menge jener Werte, die eine Variable annehmen kann z.b.: Ganze Zahlen (Integerwerte), Wahrheitswerte (wahr/falsch), Buchstaben In eine Variable passen nur Werte desselben Typs ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 24 von 52 12

13 Algorithmen (9/25) Grafische Notation: Blockdiagramme Beliebige Schachtelung ist möglich ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 25 von 52 Algorithmen (10/25) Zum Aufwärmen Beispiel 3: Ges.: Arithmetische Mittel 2er Zahlen ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 26 von 52 13

14 Algorithmen (11/25) Und nun zur Lösung von Beispiel 2 Summe ( N, L, R, Summe) ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 27 von 52 Algorithmen (12/25) Beispiel 4: Ges.: Das Maximum von 3 ganzen Zahlen. ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 28 von 52 14

15 Algorithmen (13/25) Beispiel 5: Was tut folgender Algorithmus? Summiert x ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 29 von 52 Algorithmen (14/25) Beispiel 6: Was tut folgender Algorithmus? Ganzzahliger Logarithmus dualis (ld x) ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 30 von 52 15

16 Algorithmen (15/25) Beispiel 7: Was tut folgender Algorithmus? Endlosschleife: d.h. Achtung!, Zähler auch erhöhen! ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 31 von 52 Algorithmen (16/25) Beispiel 8: Ges.: Algorithmus, der die Quadratwurzel einer positiven ganzen Zahl (nach einem Näherungsverfahren, Genauigkeit 8 Kommastellen) berechnet. Verfahren: Es sei die Zahl x gegeben. Erste Annahme, Wurzel w sei gleich x/2 (Näherungswert). Wir berechnen die Zahl a = x / w. Ist w die Wurzel, so wäre a = w. Neuer Versuche für Näherungswert: w = (w+a)/2 Somit ist a ist nun wieder a = x / w und liegt näher am tatsächlichen Wert ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 32 von 52 16

17 Algorithmen (17/25) Beispiel 8: Lösung ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 33 von 52 Algorithmen (18/25) Beispiel 9: Ges.: Algorithmus zur Berechnung der Fakultät ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 34 von 52 17

18 Algorithmen (19/25) Beispiel 10: Was tut folgender Algorithmus? Maximum der Funktion f(x) = x * (n-x) ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 35 von 52 Algorithmen (20/25) Beispiel 11: Ges.: Entwerfen Sie einen Algorithmus, der eine ganze Zahl k > 0 als Eingabe erhält und nacheinander folgende Werte ki+1 für i=0,1,2,... ausgibt. ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 36 von 52 18

19 Algorithmen (21/25) Beispiel 11: Lösung ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 37 von 52 Algorithmen (22/25) Beispiel 12: Ges.: ggt von 2 Zahlen Idee Algorithmus von Euklid (300 v. Chr.): Man berechnet den Rest der Division der beiden Zahlen x und y. Ist der Rest Null, so ist y bereits der Teiler. Ist der Rest nicht null, so ersetzt man x durch y, und y durch den Rest. Anschließend berechnet man erneut den Rest der Division von x durch y. Beweis des Algorithmus? ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 38 von 52 19

20 Algorithmen (23/25) Ein erster Beweis: (ggt teilt x) und (ggt teilt y) Das bedeutet: (x=i*ggt) und (y=j*ggt) Untersuchen wir einmal x-y: (x-y) = (i*ggt j*ggt) = (i-j)*ggt (d.h. ist Vielfaches!) D.h. wir können y mehrmals (q-mal) von x abziehen und das Ergebnis bleibt Vielfaches von ggt. ggt teilt (x q*y) (Ausdruck ist der Rest von x/y) ggt von x und y ist auch der ggt von y und dem Rest der Division x/y. ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 39 von 52 Algorithmen (24/25) Lösung als Blockdiagramm: ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 40 von 52 20

21 Algorithmen (25/25) Das dazu passende Java-Programmfragment: ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 41 von 52 Algorithmen in Java (1/7) Wie kann ich den Algorithmus ausführen? Entscheiden, welche Programmiersprache verwendet werden soll. Syntax und Semantik klären. Beliebiger Texteditor zum Schreiben des Algorithmus. Namen vergeben (z.b.: GCD). Das Programm übersetzen. Das Programm ausführen. ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 42 von 52 21

22 Algorithmen in Java (2/7) Obiges Java Fragment muss noch in einen passenden Container (der den Algorithmus, weitere Daten und meist einen speziellen Startpunkt enthält) eingefügt werden. Idee der Klasse (Basisklasse) class GCD{ // Inhalt der Klasse } ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 43 von 52 Algorithmen in Java (3/7) Algorithmen werden als Methoden in den Kontainer eingefügt. Es können beliebig viele Methoden in der Klasse vorhanden sein (eindeutiger Name!). Die Signatur ist jedoch entscheidend. Form: Rückgabewert Methodenname (Eingabewerte) { // Algorithmus } Rückgabewerte können z.b. ganze Zahlen (int) sein. ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 44 von 52 22

23 Algorithmen in Java (4/7) Jede ausführbare Java Klasse hat eine spezielle Methode: main Reihenfolge der Methoden nicht relevant. main dient als Anker, kennzeichnet den Programmbeginn. Form: static void main (String [] args) { // Hierher kommt der Programmcode } ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 45 von 52 Algorithmen in Java (5/7) Eine leere Java Klasse ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 46 von 52 23

24 Algorithmen in Java (6/7) Der ggt als ausführbares Java Programm ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 47 von 52 Algorithmen in Java (7/7) Etliche Fragen noch unbeantwortet: Welche Kontrollstrukturen bietet mir Java um (m)einen Algorithmus umzusetzen? Welche Grundsymbole gibt es? Wo und wie ist die Sprache Java definiert? Antwort im 2ten Block der LV: Formale Sprachen -> Siehe ESOP Anweisungen, Datentypen und Kontrollstrukturen ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 48 von 52 24

25 Aufgaben (1/2) Aufgabe 1: Ges.: Algorithmus (Blockdiagramm), der das Maximum und das Minimum von N einzugebenden Zahlen bestimmt. Lösung bitte bis zur kommenden Stunde ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 49 von 52 Aufgaben (2/2) Aufgabe 2: Ges.: Algorithmus (Blockdiagramm), der feststellt, ob eine eingegebene Zahl eine Primzahl ist. Einfache Lösung: Prüfen durch Division der Zahl von 2 bis Wurzel aus der Zahl Lösung bitte bis zur kommenden Stunde ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 50 von 52 25

26 Weitere Informationen (1/2) Literatur Sprechen Sie Java. Hanspeter Mössenböck. dpunkt.verlag, Java in a Nutshell. David Flanagan. O Reilly, Lehrbuch der Programmierung mit Java. Klaus Echtle, Michael Goedicke. dpunkt.verlag, Online-Dokumentation - Links java.sun.com/j2se/1.3/docs.html bscw-itec.uni-klu.ac.at ftp://ftp-itec.uni-klu.ac.at ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 51 von 52 Weitere Informationen (2/2) Weitere interessante Links forum.java.sun.com Entwicklerplatform Suchmaschine Objektorientierung, Linkssammlung SW1 Homepage Weitere interessante Lehrveranstaltungen ISYS (ab) Propädeutikum zur Programmierung Teil 1 Seite 52 von 52 26

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

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

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgabe (1/1) Lösung Aufgabe

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

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

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

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

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

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

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

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

2.2 Syntax, Semantik und Simulation

2.2 Syntax, Semantik und Simulation 2.2 Syntax, Semantik und Simulation Ein Java Programm ist eine Folge von Buchstaben. Nicht jede Folge von Buchstaben ist ein korrektes Java Programm! Wie kann man alle korrekten Java Programme beschreiben?

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

2. Algorithmenbegriff

2. Algorithmenbegriff 2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Brückenkurs Prof. Dr. Rethmann Fachbereich Elektrotechnik und Informatik Hochschule Niederrhein WS 2009/10 Einführung in die Programmierung Erste Programme 2 / 38 Übersicht

Mehr

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen Verhalten Def. und Nutzen von Verhalten Algorithmen Pseudocode Schreibtischtest Verhalten & Pseudocode Das Verhalten beschreibt, wie sich die Datenstrukturen (Variablen) eines Programms verändern müssen,

Mehr

Informatik Algorithmen und Programme

Informatik Algorithmen und Programme Informatik Algorithmen und Programme Seite 1 Grundlagen der Programmierung: Spezifikation Phasen der Software-Entwicklung Spezifikation Problem und seine Lösung beschreiben vollständig detailliert unzweideutig

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man umgangssprachlich,

Mehr

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration

Mehr

Ideen und Konzepte der Informatik

Ideen und Konzepte der Informatik Ideen und Konzepte der Informatik Programme und Algorithmen Antonios Antoniadis 23. Oktober 2017 Algorithmen und Programme Algorithmus Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert

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

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

Mehr

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,

Mehr

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5. Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn 26. Oktober 2015 Programme und Algorithmen Programmiersprache = Kunstsprache mit genau definierter Syntax (was ist ein zulässiger

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

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

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

Programmieren I. Methoden-Spezial Heusch --- Ratz 6.1, Institut für Angewandte Informatik

Programmieren 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

Mehr

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn

Ideen und Konzepte der Informatik. Programme und Algorithmen Kurt Mehlhorn Ideen und Konzepte der Informatik Programme und Algorithmen Kurt Mehlhorn November 2016 Algorithmen und Programme Algorithmus = Schritt-für-Schritt Vorschrift zur Lösung eines Problems. Formuliert man

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen. 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

Algorithmen. Beispiele: Beispiele: Algorithmen zum Test auf Primzahl. Programmieren - Java I WS 2001

Algorithmen. Beispiele: Beispiele: Algorithmen zum Test auf Primzahl. Programmieren - Java I WS 2001 Algorithmen Ein Algorithmus ist ein Verfahren zur systematischen, schrittweisen Lösung eines Problems. Er besteht aus einzelnen Anweisungen, die in einer bestimmten Reihenfolge, evtl. mehrmals ausgeführt

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

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

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

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Ü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

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Ü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

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

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus

Learning Object-Oriented Programming. Algorithmen. Algorithmusbegriff. Klärung der Herkunft des Begriffs Formale Definition von Algorithmus Algorithmen Algorithmusbegriff Klärung der Herkunft des Begriffs Formale Definition von Algorithmus Algorithmusbegriff Algorithmen sind eine der ältesten (abstrakten) Beschreibungstechniken für Abläufe.

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

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Methoden / Funktionen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick 2 Zweck von Methoden 3 Methodendefinition

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

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Labor Software-Entwicklung 1

Labor Software-Entwicklung 1 Fakultät für Technik STUDIENGANG MEDIZINTECHNIK Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 2 C-Programmierung Mathematische Berechnungen Wintersemester 205/206 Seite von 5 Vorbemerkungen

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

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm 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

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan

Mehr

3. Grundanweisungen in Java

3. Grundanweisungen in Java 3. Grundanweisungen in Java Die Grundanweisungen entsprechen den Prinzipien der strukturierten Programmierung 1. Zuweisung 2. Verzweigungen 3. Wiederholungen 4. Anweisungsfolge (Sequenz) Die Anweisungen

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen 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

Mehr

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax

Einführung in die Programmierung für NF. Algorithmen, Datentypen und Syntax Einführung in die Programmierung für NF Algorithmen, Datentypen und Syntax Ziele Begriffsbildungen: InformaCk, Algorithmus, Programm, Compiler und andere Einordnung von Java Ein einfaches Java- Programm

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Programmiervorkurs. Wintersemester 2013/2014

Programmiervorkurs. Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Programmiervorkurs Wintersemester 2013/2014 Organisation: Tutoren: Steffen Gebert, Alexander Wolff Johannes Grohmann, Anna Seufert, Anna Aumann, Nicolas Färber,

Mehr

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen

Mehr

Geschichte der Informatik

Geschichte der Informatik ! Ägyptische Multiplikation (oder Indische Multiplikation ), ca. 16. Jhd. v. Chr.! Ab ca. 450 v. Chr.: Verwendung des Abakus als Hilfsmittel für die Grundrechenarten.! Euklid (365-300 v.chr.): euklidischer

Mehr

2. Unterprogramme und Methoden

2. Unterprogramme und Methoden 2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf

Mehr

3.4 Struktur von Programmen

3.4 Struktur von Programmen 3.4 Struktur von Programmen Programme sind hierarchisch aus Komponenten aufgebaut. Für jede Komponente geben wir Regeln an, wie sie aus anderen Komponenten zusammengesetzt sein können. program ::= decl*

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

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Arrays Wiederholung (1/5) Array = GEORDNETE

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Einfache Programme: Programm-Argument, Bedingte Anweisungen, Switch, Enum Boolesche Werte und Ausdrücke Seite 1 Beispiel: Umrechnen

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom 31.5. bis zum 4.6.2010 (KW 22) Organisatorisches Diese Woche führen wir Methoden ein und behandeln

Mehr

Abschnitt 1: Einführung

Abschnitt 1: Einführung Abschnitt 1: Einführung 1. Einführung 1.1 Historischer Überblick: Objektorientierte Programmiersprachen 1.2 Java Erste Schritte 1.3 Kommentare in Java 1 Einführung Informatik 2 (SS 07) 10 Überblick 1.

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

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

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

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

Mehr

Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen

Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen Was bisher geschah Modellierung von Daten durch Mengen Beziehungen (Zusammenhänge und Eigenschaften) durch Relationen, Graphen und Funktionen Anforderungen durch Logiken Modellierung zusammenhängender

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm 1 Vom Problem zum Programm Ein Problem besteht darin, aus einer Menge von Informationen eine weitere (unbekannte) Information zu bestimmen. mathematisch: Ein Problem beschreibt eine Funktion f : E A, mit

Mehr

1 Vom Problem zum Program

1 Vom Problem zum Program Ein Problem besteht darin, aus einer Menge von Informationen eine weitere (unbekannte) Information zu bestimmen. mathematisch: Ein Problem beschreibt eine Funktion f : E A, mit E = zulässige Eingaben und

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

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

1 Einführende Bemerkungen

1 Einführende Bemerkungen 1 Einführende Bemerkungen Ziel des Moduls: Einführung in den prinzipiellen Aufbau und die grundlegende Verarbeitungsweise eines Rechners Hinführung an die objektorientierte Programmierung mittels Java

Mehr

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen

Einführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen Einführung in die Programmierung für NF Rückgabewerte, EBNF, Fallunterscheidung, Schleifen FUNKTIONEN UND PROZEDUREN 3 Rückgabewerte, EBNF, Fallunterscheidung, Schleifen 2 Funk@on und Prozedur Methoden

Mehr

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.

Algorithmik II. SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen. Algorithmik II SS 2003 Prof. Dr. H. Stoyan Lehrstuhl für Informatik 8 ( Künstliche Intelligenz) Email: stoyan@informatik.uni-erlangen.de Homepage der Vorlesung Vorbemerkungen I http://www8.informatik.uni-erlangen.de/immd8

Mehr

Übersicht. 3.1 Datendarstellung durch Zeichenreihen. 3.2 Syntaxdefinitionen. 3.3 Algorithmen

Übersicht. 3.1 Datendarstellung durch Zeichenreihen. 3.2 Syntaxdefinitionen. 3.3 Algorithmen Übersicht 3.1 Datendarstellung durch Zeichenreihen 3.2 Syntaxdefinitionen Einführung in die Programmierung 3. Daten und Algorithmen 31 Nachdem wir bisher in Kapitel 3 die Eigenschaft eindeutige Datendarstellung

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr

Einführung in die Programmierung. (K-)II/Wb17

Einführung in die Programmierung. (K-)II/Wb17 Probeklausur Hochschule Zittau/Görlitz, Prüfer: Prof. Dr. Georg Ringwelski Einführung in die Programmierung (K-)II/Wb17 Matrikelnummer: Punkte: 1 2 3 4 5 6 Gesamt /21 /19 /20 /20 /20 /20 /120 Spielregeln:

Mehr

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

Mehr

1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes, Algorithmen und Programme, Grundlagen der Zahlendarstellung

1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes, Algorithmen und Programme, Grundlagen der Zahlendarstellung 1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes, Algorithmen und Programme, Grundlagen der Zahlendarstellung 1. Organisatorisches, Aufbau eines Computers, Erstellung eines Programmes,

Mehr

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1 Algorithmen und Datenstrukturen 1. EINLEITUNG Algorithmen und Datenstrukturen - Ma5hias Thimm (thimm@uni-koblenz.de) 1 Allgemeines Einleitung Zu den Begriffen: Algorithmen und Datenstrukturen systematische

Mehr

Beispiel: Schriftliche Addition

Beispiel: Schriftliche Addition Beispiel: Schriftliche Addition 1 1 5 8 9 2 6 1 4 5 1 1 0 2 0 3 7 Eingabe Ausgabe Zwischen werte Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/10 18 2. Grundlagen der Programmierung

Mehr

Inhalt. Einführung in die Strukturierte Programmierung 15

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

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra II Benjamin Fischer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Lineare Rekursion BigInteger Chinesischer

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

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

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen

Willkommen zur Vorlesung. Algorithmen und Datenstrukturen Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:

Mehr