Programmieren und Problemlösen

Größe: px
Ab Seite anzeigen:

Download "Programmieren und Problemlösen"

Transkript

1 Dennis Komm Programmieren und Problemlösen Einführung in die Vorlesung Frühling Februar 2019

2 Willkommen zur Vorlesung

3 Material Vorlesungswebseite Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 1 / 52

4 Das Team Dozent Dennis Komm Assistierende Moritz Hoffmann Jean Kaufmann Angela Rellstab Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 2 / 52

5 Programmieren und Problemlösen In diesem Kurs lernen Sie programmieren in Java Softwareentwicklung ist ein Handwerk So wie Erlernen eines Musikinstruments Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 3 / 52

6 Programmieren und Problemlösen In diesem Kurs lernen Sie programmieren in Java Softwareentwicklung ist ein Handwerk So wie Erlernen eines Musikinstruments Problem: Es ist noch keiner vom Zuhören Pianist geworden Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 3 / 52

7 Programmieren und Problemlösen In diesem Kurs lernen Sie programmieren in Java Softwareentwicklung ist ein Handwerk So wie Erlernen eines Musikinstruments Problem: Es ist noch keiner vom Zuhören Pianist geworden Deshalb bietet dieser Kurs Ihnen viele Möglichkeiten, zu üben Nutzen Sie sie! Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 3 / 52

8 Programmieren und Problemlösen In diesem Kurs lernen Sie Problemlösen mit geeigneten Algorithmen und Datenstrukturen Sprachübergreifendes Grundlagenwissen Analog zu Rhythmuslehre, Tonleitern und Notenlesen Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 4 / 52

9 Programmieren und Problemlösen In diesem Kurs lernen Sie Problemlösen mit geeigneten Algorithmen und Datenstrukturen Sprachübergreifendes Grundlagenwissen Analog zu Rhythmuslehre, Tonleitern und Notenlesen Problem: Ohne Musikinstrument macht dies nur bedingt Spass Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 4 / 52

10 Programmieren und Problemlösen In diesem Kurs lernen Sie Problemlösen mit geeigneten Algorithmen und Datenstrukturen Sprachübergreifendes Grundlagenwissen Analog zu Rhythmuslehre, Tonleitern und Notenlesen Problem: Ohne Musikinstrument macht dies nur bedingt Spass Deshalb kombinieren wir das Problemlösen mit dem Erlernen von Java Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 4 / 52

11 Ziel der heutigen Vorlesung Einführung / Wiederholung Computermodell und Algorithmen Allgemeine Informationen zur Vorlesung Das erste Java-Programm Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 5 / 52

12 Einführung in die Vorlesung Computermodell und Algorithmen

13 Computer Konzept Was müssen Computer können, um zu rechnen? Muss er z. B. die Multiplikation beherrschen? Reicht nicht die Addition? Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 6 / 52

14 Computer Konzept Was müssen Computer können, um zu rechnen? Muss er z. B. die Multiplikation beherrschen? Reicht nicht die Addition? Turingmaschine [Alan Turing, 1936] Endliche Anzahl von Zuständen Speicher, der aus beliebig vielen Zellen besteht Pointer auf aktuelle Zelle Pointer kann Inhalt der Zelle ändern und sich nach links oder rechts bewegen Alan Turing [Wikimedia] Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 6 / 52

15 Computer Umsetzung Analytical Engine Charles Babbage (1837) Z1 Konrad Zuse (1938) ENIAC John von Neumann (1945) Charles Babbage [Wikimedia] Konrad Zuse [Wikimedia] John von Neumann [Wikimedia] Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 7 / 52

16 Computer Umsetzung Komponenten der Von-Neumann-Architektur Hauptspeicher für Programme und Daten, Random Access Memory (RAM) Prozessor (CPU) zur Verarbeitung der Programme und Daten I/O-Komponenten zur Kommunikation mit der Aussenwelt Prozessor CPU Rechenwerk ALU Speicher BUS Steuerwerk Ein-/Ausgabe Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 8 / 52

17 Speicher für Programm und Daten Folge von Bits Programmzustand: Werte aller Bits Zusammenfassung von Bits zu Speicherzellen (8 Bits = 1 Byte) Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 9 / 52

18 Speicher für Programm und Daten Folge von Bits Programmzustand: Werte aller Bits Zusammenfassung von Bits zu Speicherzellen (8 Bits = 1 Byte) Jede Speicherzelle hat eine Adresse Random Access: Zugriffszeit auf Speicherzelle (nahezu) unabhängig von ihrer Adresse Adresse: 17 Adresse: 18 Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 9 / 52

19 Algorithmus: Kernbegriff der Informatik Algorithmus Handlungsanweisung zur schrittweisen Lösung eines Problems Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 10 / 52

20 Algorithmus: Kernbegriff der Informatik Algorithmus Handlungsanweisung zur schrittweisen Lösung eines Problems Ausführung erfordert keinen Intellekt, nur Genauigkeit Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 10 / 52

21 Algorithmus: Kernbegriff der Informatik Algorithmus Handlungsanweisung zur schrittweisen Lösung eines Problems Ausführung erfordert keinen Intellekt, nur Genauigkeit nach Muhammed al-chwarizmi; Autor eines persischen Mathematik-Lehrbuchs (um 825) Dixit algorizmi... (lateinische Übersetzung) [Wikimedia] Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 10 / 52

22 Der älteste (bekannte) nichttriviale Algorithmus Euklidischer Algorithmus aus Euklids Elementen, 300 v. Chr. Eingabe: ganze Zahlen a > 0, b > 0 Ausgabe: ggt von a und b Eingabe: a und b Solange b 0 Wenn a > b dann a = a b Sonst b = b a Ausgabe: a Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 11 / 52

23 Der älteste (bekannte) nichttriviale Algorithmus Euklidischer Algorithmus aus Euklids Elementen, 300 v. Chr. Eingabe: ganze Zahlen a > 0, b > 0 Ausgabe: ggt von a und b Eingabe: a und b Solange b 0 Wenn a > b dann a = a b Sonst b = b a Ausgabe: a a b Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 11 / 52

24 Der älteste (bekannte) nichttriviale Algorithmus Euklidischer Algorithmus aus Euklids Elementen, 300 v. Chr. Eingabe: ganze Zahlen a > 0, b > 0 Ausgabe: ggt von a und b Eingabe: a und b Solange b 0 Wenn a > b dann a = a b Sonst b = b a Ausgabe: a a b a b Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 11 / 52

25 Der älteste (bekannte) nichttriviale Algorithmus Euklidischer Algorithmus aus Euklids Elementen, 300 v. Chr. Eingabe: ganze Zahlen a > 0, b > 0 Ausgabe: ggt von a und b Eingabe: a und b Solange b 0 Wenn a > b dann a = a b Sonst b = b a Ausgabe: a a b a b a b Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 11 / 52

26 Der älteste (bekannte) nichttriviale Algorithmus Euklidischer Algorithmus aus Euklids Elementen, 300 v. Chr. Eingabe: ganze Zahlen a > 0, b > 0 Ausgabe: ggt von a und b Eingabe: a und b Solange b 0 Wenn a > b dann a = a b Sonst b = b a Ausgabe: a a b a b a b a b Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 11 / 52

27 Rechengeschwindigkeit In der mittleren Zeit, die der Schall von mir zu Ihnen unterwegs ist... Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 12 / 52

28 Rechengeschwindigkeit In der mittleren Zeit, die der Schall von mir zu Ihnen unterwegs ist m arbeitet ein heutiger Desktop-PC mehr als 100 Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 12 / 52

29 Rechengeschwindigkeit In der mittleren Zeit, die der Schall von mir zu Ihnen unterwegs ist m = mehr als Instruktionen arbeitet ein heutiger Desktop-PC mehr als 100 Millionen Instruktionen ab Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 12 / 52

30 Java Java basiert auf einer virtuellen Maschine (mit Von-Neumann-Architektur) Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 13 / 52

31 Java Java basiert auf einer virtuellen Maschine (mit Von-Neumann-Architektur) Programmcode wird in Zwischencode übersetzt Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 13 / 52

32 Java Java basiert auf einer virtuellen Maschine (mit Von-Neumann-Architektur) Programmcode wird in Zwischencode übersetzt Zwischencode läuft in einer simulierten Rechnerumgebung, Interpretation des Zwischencodes durch einen Interpreter Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 13 / 52

33 Java Java basiert auf einer virtuellen Maschine (mit Von-Neumann-Architektur) Programmcode wird in Zwischencode übersetzt Zwischencode läuft in einer simulierten Rechnerumgebung, Interpretation des Zwischencodes durch einen Interpreter Optimierung: Just-in-Time (JIT) Kompilation von häufig genutztem Code: virtuelle Maschine physikalische Maschine Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 13 / 52

34 Java Java basiert auf einer virtuellen Maschine (mit Von-Neumann-Architektur) Programmcode wird in Zwischencode übersetzt Zwischencode läuft in einer simulierten Rechnerumgebung, Interpretation des Zwischencodes durch einen Interpreter Optimierung: Just-in-Time (JIT) Kompilation von häufig genutztem Code: virtuelle Maschine physikalische Maschine Folgerung und erklärtes Ziel der Entwickler von Java: Portabilität write once run anywhere Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 13 / 52

35 Einführung in die Vorlesung Projekt

36 Achtung, fertig, los! Sie haben sieben Wochen Zeit, ein nicht-triviales Projekt fertigzustellen Ab den ersten paar Wochen haben Sie bereits die wichtigsten Konzepte gesehen, um das Projekt umzusetzen Lernkurve Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 14 / 52

37 Achtung, fertig, los! Sie haben sieben Wochen Zeit, ein nicht-triviales Projekt fertigzustellen Ab den ersten paar Wochen haben Sie bereits die wichtigsten Konzepte gesehen, um das Projekt umzusetzen Lernkurve Projekt Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 14 / 52

38 Java-Tutorial In der ersten Woche bearbeiten Sie selbstständig unser Java-Tutorial Einfacher Einstieg in Java, kein Vorwissen nötig Zeitbedarf: ca. zwei Stunden In der zweiten Woche gibt es ein Self-Assessment zum Tutorial Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 15 / 52

39 Java-Tutorial In der ersten Woche bearbeiten Sie selbstständig unser Java-Tutorial Einfacher Einstieg in Java, kein Vorwissen nötig Zeitbedarf: ca. zwei Stunden In der zweiten Woche gibt es ein Self-Assessment zum Tutorial Das ist gut investierte Zeit Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 15 / 52

40 Java-Tutorial In der ersten Woche bearbeiten Sie selbstständig unser Java-Tutorial Einfacher Einstieg in Java, kein Vorwissen nötig Zeitbedarf: ca. zwei Stunden In der zweiten Woche gibt es ein Self-Assessment zum Tutorial Das ist gut investierte Zeit Tutorialwebseite Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 15 / 52

41 Projekt Sie wählen ein Projekt aus einer Liste von vorgegebenen Aufgabenstellungen Das Projekt bearbeiten Sie im Wesentlichen selbstständig Muster: Daten Einlesen Verarbeiten Ausgeben Informationen werden laufend auf die Vorlesungswebseite gestellt Übung: Mittwoch, Uhr, HG G 26.5 (nach der Vorlesung) Betreuung durch Moritz Hoffmann, CAB F 69 (moritz.hoffmann@inf.ethz.ch), Sprechstunde: Montag, Uhr Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 16 / 52

42 Projekt Teamarbeit ist gefragt Sie arbeiten in Zweierteams Beide Projektpartner sind nachweislich gleichermassen beteiligt Die Benotung erfolgt pro Team Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 17 / 52

43 Projekt Teamarbeit ist gefragt Sie arbeiten in Zweierteams Beide Projektpartner sind nachweislich gleichermassen beteiligt Die Benotung erfolgt pro Team Kontaktieren Sie uns frühzeitig bei Problemen und Uneinigkeiten Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 17 / 52

44 Projekt Meilensteine Meilensteine müssen zeitlich eingehalten werden Die Einhaltung der Meilensteine fliesst in die Benotung ein Jeder Meilenstein entspricht einer Abgabe (Dokumente oder Code) Woche 2 Team aufgestellt Projekt ausgewählt Tools installiert Erster GIT-commit Woche 3 Projektplan abgegeben Lösungsdesign festgelegt Woche 6 Voller Funktionsumfang Testplan erstellt Woche 7 Abgabe aller Unterlagen Präsentation Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 18 / 52

45 Bewertete Semesterleistung Präsentation des Projekts am 3. und 10. April Dauer: etwa 10 Minuten, je nach Anzahl abgegebener Projekte Quelltext und sämtliche Unterlagen abgeben Einhaltung der Meilensteine Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 19 / 52

46 Diskussionsplattform Sie können sich auf unserem Slack-Forum anmelden Generelle Diskussionen zur Vorlesung Partnersuche für das Projekt... Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 20 / 52

47 Einführung in Java

48 Was braucht es zum Programmieren? Editor: Programm zum Ändern, Erfassen und Speichern vom Java-Programmtext Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 21 / 52

49 Was braucht es zum Programmieren? Editor: Programm zum Ändern, Erfassen und Speichern vom Java-Programmtext Compiler: Programm zum Übersetzen des Programmtexts in Maschinensprache (bzw. Zwischencode) Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 21 / 52

50 Was braucht es zum Programmieren? Editor: Programm zum Ändern, Erfassen und Speichern vom Java-Programmtext Compiler: Programm zum Übersetzen des Programmtexts in Maschinensprache (bzw. Zwischencode) Computer: Gerät zum Ausführen von Programmen in Maschinensprache Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 21 / 52

51 Was braucht es zum Programmieren? Editor: Programm zum Ändern, Erfassen und Speichern vom Java-Programmtext Compiler: Programm zum Übersetzen des Programmtexts in Maschinensprache (bzw. Zwischencode) Computer: Gerät zum Ausführen von Programmen in Maschinensprache Betriebssystem: Programm zur Organisation all dieser Abläufe (Dateiverwaltung, Editor-, Compiler- und Programmaufruf) Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 21 / 52

52 Deutsch vs. Programmiersprache Deutsch Es ist nicht genug zu wissen, man muss auch anwenden. JOHANN WOLFGANG VON GOETHE Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 22 / 52

53 Deutsch vs. Programmiersprache Deutsch Es ist nicht genug zu wissen, man muss auch anwenden. JOHANN WOLFGANG VON GOETHE Java / C / C++ // computation int b = a * a; b = b * b; // b = a^2 // b = a^4 Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 22 / 52

54 Syntax und Semantik Programme müssen, wie unsere Sprache, nach gewissen Regeln geformt werden Syntax: Zusammenfügungsregeln für elementare Zeichen (Buchstaben) Semantik: Interpretationsregeln für zusammengefügte Zeichen Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 23 / 52

55 Syntax und Semantik Programme müssen, wie unsere Sprache, nach gewissen Regeln geformt werden Syntax: Zusammenfügungsregeln für elementare Zeichen (Buchstaben) Semantik: Interpretationsregeln für zusammengefügte Zeichen Entsprechende Regeln für ein Computerprogramm sind einfacher, aber auch strenger, denn Computer sind vergleichsweise dumm Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 23 / 52

56 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

57 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. Syntaktisch und semantisch korrekt Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

58 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Syntaktisch und semantisch korrekt Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

59 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

60 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

61 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

62 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

63 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten, nicht zu widersprechen. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

64 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

65 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Syntaktisch korrekt aber mehrdeutig [kein Analogon] Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

66 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Syntaktisch korrekt aber mehrdeutig [kein Analogon] Die Auto ist rot. Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

67 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Die Auto ist rot. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Syntaktisch korrekt aber mehrdeutig [kein Analogon] Syntaktisch korrekt, doch grammatikalisch und semantisch fehlerhaft: Falscher Artikel [Typfehler] Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

68 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Die Auto ist rot. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Syntaktisch korrekt aber mehrdeutig [kein Analogon] Syntaktisch korrekt, doch grammatikalisch und semantisch fehlerhaft: Falscher Artikel [Typfehler] Das Fahrrad galoppiert schnell. Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

69 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Die Auto ist rot. Das Fahrrad galoppiert schnell. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Syntaktisch korrekt aber mehrdeutig [kein Analogon] Syntaktisch korrekt, doch grammatikalisch und semantisch fehlerhaft: Falscher Artikel [Typfehler] Syntaktisch und grammatikalisch korrekt. Semantisch fehlerhaft [Laufzeitfehler] Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

70 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Die Auto ist rot. Das Fahrrad galoppiert schnell. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Syntaktisch korrekt aber mehrdeutig [kein Analogon] Syntaktisch korrekt, doch grammatikalisch und semantisch fehlerhaft: Falscher Artikel [Typfehler] Syntaktisch und grammatikalisch korrekt. Semantisch fehlerhaft [Laufzeitfehler] Manche Tiere riechen gut. Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

71 Fehlerarten illustriert an deutscher Sprache Das Auto fuhr zu schnell. DasAuto fuh r zu sxhnell. Rot das Auto ist. Man empfiehlt dem Dozenten nicht zu widersprechen Sie ist nicht gross und rothaarig. Die Auto ist rot. Das Fahrrad galoppiert schnell. Manche Tiere riechen gut. Syntaktisch und semantisch korrekt Syntaxfehler: Wortbildung Syntaxfehler: Satzstellung Syntaxfehler: Satzzeichen fehlen Syntaktisch korrekt aber mehrdeutig [kein Analogon] Syntaktisch korrekt, doch grammatikalisch und semantisch fehlerhaft: Falscher Artikel [Typfehler] Syntaktisch und grammatikalisch korrekt. Semantisch fehlerhaft [Laufzeitfehler] Syntaktisch und semantisch korrekt. Semantisch mehrdeutig [kein Analogon] Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 24 / 52

72 Einführung in Java Ein erstes Java-Programm

73 Ein erstes Java-Programm // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 25 / 52

74 Ein erstes Java-Programm public static void main(string[] args) { } // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 25 / 52

75 Ein erstes Java-Programm public class Main { } public static void main(string[] args) { } // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 25 / 52

76 Ein erstes Java-Programm public class Main { } public static void main(string[] args) { } Klasse: Ein Programm // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); Methode: benannte Folge von Anweisungen Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 25 / 52

77 Verhalten eines Programms Zur Compilationszeit Vom Compiler akzeptiertes Programm (syntaktisch korrektes Java) Compiler-Fehler Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 27 / 52

78 Verhalten eines Programms Zur Compilationszeit Vom Compiler akzeptiertes Programm (syntaktisch korrektes Java) Compiler-Fehler Zur Laufzeit korrektes Resultat inkorrektes Resultat Programmabsturz Programm terminiert nicht (Endlosschleife) Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 27 / 52

79 Kommentare public class Main { public static void main(string[] args) { // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b * b, i.e., a^8 Out.println(a + "^8 = " + b * b); } } Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 28 / 52

80 Kommentare public class Main { public static void main(string[] args) { // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b * b, i.e., a^8 Out.println(a + "^8 = " + b * b); } } Kommentare Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 28 / 52

81 Kommentare und Layout Dem Compiler ist es egal... public class Main{public static void main(string[] args){out.print ("Compute a^8 for a=?");int a;a = In.readInt();int b = a*a;b = b * b;out.println(a + "^8 = " + b * b);}} Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 30 / 52

82 Kommentare und Layout Dem Compiler ist es egal... public class Main{public static void main(string[] args){out.print ("Compute a^8 for a=?");int a;a = In.readInt();int b = a*a;b = b * b;out.println(a + "^8 = " + b * b);}}... uns aber nicht Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 30 / 52

83 Einführung in Java Anweisungen

84 Anweisungen (Statements) public class Main { public static void main(string[] args) { // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); } } Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 31 / 52

85 Anweisungen (Statements) public class Main { public static void main(string[] args) { // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); } } Ausdrucksanweisungen Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 31 / 52

86 Anweisungen Werte und Effekte public class Main { public static void main(string[] args) { // input Effekt: Ausgabe des Strings Compute... Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); Effekt: Eingabe einer Zahl und Speichern in a // computation Effekt: Speichern des berechneten Wertes von a*a in b int b = a * a; // b = a^2 b = b * b; // b = a^4 Effekt: Speichern des berechneten Wertes von b*b in b // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); Effekt: Ausgabe des Wertes von a, des Strings ˆ8 = } und des berechneten Wertes von b*b } Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 35 / 52

87 Einführung in Java Deklaration

88 Anweisungen Variablendefinitionen public class Main { public static void main(string[] args) { // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); } } Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 37 / 52

89 Anweisungen Variablendefinitionen public class Main { public static void main(string[] args) { // input Out.print("Compute a^8 for a=?"); int a; Deklarationsanweisungen a = In.readInt(); Typnamen // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b); } } Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 37 / 52

90 Einführung in Java Variablen und Objekte

91 Variablen Variablen repräsentieren (wechselnde) Werte haben Name Typ Wert Adresse sind im Programmtext sichtbar Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 42 / 52

92 Variablen Variablen repräsentieren (wechselnde) Werte haben Name Typ Wert Adresse sind im Programmtext sichtbar Beispiel int a; definiert Variable mit Name: a Typ: int Wert: (vorerst) undefiniert Adresse: durch Compiler bestimmt Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 42 / 52

93 Objekte Objekte repräsentieren Werte im Hauptspeicher haben Typ, Adresse und Wert (Speicherinhalt an der Adresse), können benannt werden aber auch anonym sein Anmerkung Ein Programm hat eine feste Anzahl von Variablen. Um eine variable Anzahl von Werten behandeln zu können, braucht es anonyme Adressen, die über temporäre Namen angesprochen werden können. Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 43 / 52

94 Einführung in Java Ausdrücke

95 Ausdrücke (Expressions) Ausdrücke repräsentieren Berechnungen Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 45 / 52

96 Ausdrücke (Expressions) Ausdrücke repräsentieren Berechnungen sind entweder primär (b) Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 45 / 52

97 Ausdrücke (Expressions) Ausdrücke repräsentieren Berechnungen sind entweder primär (b) oder zusammengesetzt (b * b)... Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 45 / 52

98 Ausdrücke (Expressions) Ausdrücke repräsentieren Berechnungen sind entweder primär (b) oder zusammengesetzt (b * b) aus anderen Ausdrücken, mit Hilfe von Operatoren Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 45 / 52

99 Ausdrücke (Expressions) // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 // output b * b, i.e., a^8 Out.println(a + "^8 = " + b * b ); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 46 / 52

100 Ausdrücke (Expressions) // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); Variablenname, primärer Ausdruck // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 Variablenname, primärer Ausdruck // output b * b, i.e., a^8 Out.println(a + "^8 = " + b * b ); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 46 / 52

101 Ausdrücke (Expressions) // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; // b = a^2 b = b * b; // b = a^4 Zusammengesetzer Ausdruck // output b * b, i.e., a^8 Out.println(a + "^8 = " + b * b ); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 46 / 52

102 Einführung in Java Operatoren und Operanden

103 Operatoren und Operanden // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); // computation int b = a * a; b = b * b; // b = a^2 // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b ); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 49 / 52

104 Operatoren und Operanden // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); Linker Operand (Variable) // computation int b = a * a; b = b * b; Rechter Operand (Ausdruck) // b = a^2 // b = a^4 // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b ); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 49 / 52

105 Operatoren und Operanden // input Out.print("Compute a^8 for a=?"); int a; a = In.readInt(); Linker Operand (Variable) // computation int b = a * a; Rechter Operand (Ausdruck) // b = a^2 b = b * b; // b = a^4 Zuweisungsoperator Multiplikationsoperator // output b*b, i.e., a^8 Out.println(a + "^8 = " + b * b ); Programmieren und Problemlösen Einführung in die Vorlesung Frühling 2019 Dennis Komm 49 / 52

106 Danke für die Aufmerksamkeit

Programmieren und Problemlösen

Programmieren und Problemlösen 1 Programmieren und Problemlösen Hermann Lehner ETH Zürich FS 2018 2 Willkommen zur Vorlesung! 1. Einführung Material 3 Vorlesungshomepage: http://lec.inf.ethz.ch/ppl Das Team 4 Dozent Hermann Lehner Assistenten

Mehr

Programmieren und Problemlösen

Programmieren und Problemlösen Programmieren und Problemlösen Hermann Lehner ETH Zürich Willkommen zur Vorlesung! 1. Einführung FS 2018 1 2 Material Das Team Vorlesungshomepage: http://lec.inf.ethz.ch/ppl Dozent Assistenten Hermann

Mehr

systematischen Verarbeitung von Informationen Was ist Informatik?

systematischen Verarbeitung von Informationen Was ist Informatik? 13 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr

systematischen Verarbeitung von Informationen Was ist Informatik?

systematischen Verarbeitung von Informationen Was ist Informatik? 14 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr

systematischen Verarbeitung von Informationen Was ist Informatik?

systematischen Verarbeitung von Informationen Was ist Informatik? 14 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr

Informatik. Vorlesung für Rechnergestützte Wissenschaften am D-MATH der ETH Zürich. Felix Friedrich, Malte Schwerhoff HS 2018

Informatik. Vorlesung für Rechnergestützte Wissenschaften am D-MATH der ETH Zürich. Felix Friedrich, Malte Schwerhoff HS 2018 1 Informatik Vorlesung für Rechnergestützte Wissenschaften am D-MATH der ETH Zürich Felix Friedrich, Malte Schwerhoff HS 2018 21 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing

Mehr

systematischen Verarbeitung von Informationen Was ist Informatik?

systematischen Verarbeitung von Informationen Was ist Informatik? 23 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr

Die Wissenschaft der systematischen Verarbeitung von Informationen,... insbesondere der automatischen Verarbeitung mit Hilfe von Digitalrechnern.

Die Wissenschaft der systematischen Verarbeitung von Informationen,... insbesondere der automatischen Verarbeitung mit Hilfe von Digitalrechnern. 14 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr

Informatik I. Vorlesung am D-BAUG der ETH Zürich. Hermann Lehner, Felix Friedrich ETH Zürich HS 2017

Informatik I. Vorlesung am D-BAUG der ETH Zürich. Hermann Lehner, Felix Friedrich ETH Zürich HS 2017 1 Informatik I Vorlesung am D-BAUG der ETH Zürich Hermann Lehner, Felix Friedrich ETH Zürich HS 2017 2 Willkommen zur Vorlesung! 1. Einführung Material 3 Vorlesungshomepage: http://lec.inf.ethz.ch/baug/informatik1

Mehr

1. Einführung. Was ist Informatik? Informatik Computer Science. Computer Science Informatik

1. Einführung. Was ist Informatik? Informatik Computer Science. Computer Science Informatik Was ist Informatik? 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen

Mehr

Informatik. 1. Einführung. Was ist Informatik? Informatik vs. Computer. Vorlesung für Rechnergestützte Wissenschaften am D-MATH der ETH Zürich

Informatik. 1. Einführung. Was ist Informatik? Informatik vs. Computer. Vorlesung für Rechnergestützte Wissenschaften am D-MATH der ETH Zürich Informatik Vorlesung für Rechnergestützte Wissenschaften am D-MATH der ETH Zürich Felix Friedrich, Malte Schwerhoff HS 2018 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine,

Mehr

1. Einf uhrung Material Das Team

1. Einf uhrung Material Das Team Informatik I Vorlesung am D-BAUG der ETH Zürich Hermann Lehner, Felix Friedrich ETH Zürich Willkommen zur Vorlesung! 1. Einführung HS 2018 1 2 Material Das Team Vorlesungshomepage: http://lec.inf.ethz.ch/baug/informatik1

Mehr

1. Einführung. Was ist Informatik? Informatik Computer Science. Computer Science Informatik

1. Einführung. Was ist Informatik? Informatik Computer Science. Computer Science Informatik Was ist Informatik? 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen

Mehr

Informatik. 1. Einführung. Informatik vs. Computer. Was ist Informatik? Vorlesung am D-ITET/D-MAVT der ETH Zürich

Informatik. 1. Einführung. Informatik vs. Computer. Was ist Informatik? Vorlesung am D-ITET/D-MAVT der ETH Zürich Informatik Vorlesung am D-ITET/D-MAVT der ETH Zürich Hermann Lehner, Malte Schwerhoff FS 2019 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen,

Mehr

1. Einf uhrung Material Das Team

1. Einf uhrung Material Das Team Informatik I Vorlesung am D-BAUG der ETH Zürich Hermann Lehner, Felix Friedrich ETH Zürich Willkommen zur Vorlesung! 1. Einführung HS 2017 1 2 Material Das Team Dozenten Hermann Lehner Felix Friedrich

Mehr

Was ist Informatik? (Wikipedia, nach dem Duden Informatik )

Was ist Informatik? (Wikipedia, nach dem Duden Informatik ) 1 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr

Ingenieur Tool I. 1. Einführung. Was ist Informatik? Informatik Computer Science. Vorlesung am D-MAVT der ETH Zürich

Ingenieur Tool I. 1. Einführung. Was ist Informatik? Informatik Computer Science. Vorlesung am D-MAVT der ETH Zürich Ingenieur Tool I Vorlesung am D-MAVT der ETH Zürich Hermann Lehner SS 2018 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung,

Mehr

Ingenieur Tool I. 1. Einführung. Was ist Informatik? Informatik Computer Science. Vorlesung am D-MAVT der ETH Zürich

Ingenieur Tool I. 1. Einführung. Was ist Informatik? Informatik Computer Science. Vorlesung am D-MAVT der ETH Zürich Ingenieur Tool I Vorlesung am D-MAVT der ETH Zürich Hermann Lehner SS 2018 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung,

Mehr

Was ist Informatik? systematischen Verarbeitung von Informationen

Was ist Informatik? systematischen Verarbeitung von Informationen 1 1. Einführung Informatik: Definition und Geschichte, Algorithmen, Turing Maschine, Höhere Programmiersprachen, Werkzeuge der Programmierung, das erste C++ Programm und seine syntaktischen und semantischen

Mehr

Das erste C++ Programm

Das erste C++ Programm Das erste C++ Programm // Program: power8.c // Raise a number to the eighth power. #include int main() { // input std::cout > a; // computation int

Mehr

Die Mersenne sche Vermutung. Einführung. Der Vortrag von Cole. Die Mersenne sche Vermutung

Die Mersenne sche Vermutung. Einführung. Der Vortrag von Cole. Die Mersenne sche Vermutung Die Mersenne sche Vermutung Einführung Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Mersenne (1644): Die Zahlen der Form 2 n -1 sind Primzahlen

Mehr

Vorkurs Informatik (D-ITET)

Vorkurs Informatik (D-ITET) 3 Kontext dieser Vorlesung 4 Vorkurs Informatik (D-ITET) Malte Schwerhoff September 2018 http://lec.inf.ethz.ch/itet/informatik0/2018 Informatik 0 (Vorkurs): Erste Programmiererfahrungen sammeln Informatik

Mehr

Einführung. Programmieren, Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++ Programm

Einführung. Programmieren, Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++ Programm Einführung Programmieren, Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++ Programm 1 Programmieren heisst... n... dem Computer mit Hilfe einer Programmiersprache

Mehr

Inhalt der Vorlesung. Systematisches Problemlösen mit dem Computer und der Programmiersprache C++. Also: nicht nur aber auch Programmierkurs.

Inhalt der Vorlesung. Systematisches Problemlösen mit dem Computer und der Programmiersprache C++. Also: nicht nur aber auch Programmierkurs. 1 1. Einführung Mersenne sche Vermutung, Höhere Programmiersprachen, Editor, Compiler, Computer, Betriebssystem, das erste C++ Programm und seine syntaktischen und semantischen Bestandteile Inhalt der

Mehr

Informatik II. Vorlesung am D-BAUG der ETH Zürich. Felix Friedrich FS 2017

Informatik II. Vorlesung am D-BAUG der ETH Zürich. Felix Friedrich FS 2017 1 Informatik II Vorlesung am D-BAUG der ETH Zürich Felix Friedrich FS 2017 Willkommen zur Vorlesung! 2 Vorlesungshomepage: http://lec.inf.ethz.ch/baug/informatik2/2017/ Das Team 3 Dozent Felix Friedrich

Mehr

Einführung. Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm

Einführung. Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Einführung Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Real Programmers vs. Quiche Eaters The Real Programmer ist intuitiver Programmierer

Mehr

Informatik. Vorlesung am D-MATH/D-PHYS der ETH Zürich. Malte Schwerhoff, Felix Friedrich HS 2018

Informatik. Vorlesung am D-MATH/D-PHYS der ETH Zürich. Malte Schwerhoff, Felix Friedrich HS 2018 1 Informatik Vorlesung am D-MATH/D-PHYS der ETH Zürich Malte Schwerhoff, Felix Friedrich HS 2018 Willkommen 2 zur Vorlesung Informatik am MATH/PHYS Department der ETH Zürich. Ort und Zeit: Tuesday 13:15-15:00,

Mehr

Real Programmers vs. Quiche Eaters

Real Programmers vs. Quiche Eaters Einführung Real Programmers vs. Quiche Eaters ; Die Mersenne sche Vermutung, Editor, Compiler, Computer, Betriebssystem, Plattform, Das erste C++-Programm Real Programmers vs. Quiche Eaters The Real Programmer

Mehr

Informatik II. Felix Friedrich FS Vorlesung am D-BAUG der ETH Zürich

Informatik II. Felix Friedrich FS Vorlesung am D-BAUG der ETH Zürich Informatik II Felix Friedrich Vorlesung am D-BAUG der ETH Zürich FS 2016 1 W i l l k o m m e n zur Vorlesung Informatik II! am D-BAUG der ETH Zürich. Ort und Zeit: Montag 12:45 14:30, HIL E3. Pause 13:30

Mehr

Informatik II. Felix Friedrich FS Vorlesung am D-BAUG der ETH Zürich

Informatik II. Felix Friedrich FS Vorlesung am D-BAUG der ETH Zürich Informatik II Felix Friedrich Vorlesung am D-BAUG der ETH Zürich FS 2014 1 W i l l k o m m e n zur Vorlesung Informatik II! am D-BAUG der ETH Zürich. Ort und Zeit: Montag 12:45 14:30, HIL E3. Pause 13:30

Mehr

Programme erstellen in Java

Programme erstellen in Java Programmieren mit Java Modul 0 Programme erstellen in Java Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Schreiben von Computerprogrammen 3 2.1 Computerprogramme bestehen aus Daten und Instruktionen.......

Mehr

Informatik II. 1. Einführung. Willkommen zur Vorlesung! Das Team. Vorlesung am D-BAUG der ETH Zürich

Informatik II. 1. Einführung. Willkommen zur Vorlesung! Das Team. Vorlesung am D-BAUG der ETH Zürich Willkommen zur Vorlesung! Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesungshomepage: http://lec.inf.ethz.ch/baug/informatik2/2017/ Felix Friedrich FS 2017 1 2 Das Team Dozent Felix Friedrich

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

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

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

Informatik. Willkommen. Team. Einschreibung in Übungsgruppen. Vorlesung am D-MATH/D-PHYS der ETH Zürich. zur Vorlesung Informatik.

Informatik. Willkommen. Team. Einschreibung in Übungsgruppen. Vorlesung am D-MATH/D-PHYS der ETH Zürich. zur Vorlesung Informatik. 3 Willkommen 4 Informatik zur Vorlesung Informatik am MATH/PHYS Department der ETH Zürich. Vorlesung am D-MATH/D-PHYS der ETH Zürich Malte Schwerhoff, Felix Friedrich Ort und Zeit: Tuesday 13:15-15:00,

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

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

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte while-statement erneut ausgeführt. Ist die Bedingung

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =

Mehr

Programmieren und Problemlösen

Programmieren und Problemlösen Dennis Komm Programmieren und Problemlösen Komplexität von Algorithmen Frühling 2019 27. Februar 2019 Komplexität von Algorithmen Aufgabe Primzahltest Schreibe ein Programm, das eine ganze Zahl x als Eingabe

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

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

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

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

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

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

Mehr

Die Klasse MiniJava ist in der Datei MiniJava.java definiert:

Die Klasse MiniJava ist in der Datei MiniJava.java definiert: Die Klasse MiniJava ist in der Datei MiniJava.java definiert: import javax.swing.joptionpane; import javax.swing.jframe; public class MiniJava { public static int read () { JFrame f = new JFrame (); String

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

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

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

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

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

Einführung in Java. Ausgewählte Quellen zu Java

Einführung in Java. Ausgewählte Quellen zu Java Einführung in Java Wesentliche Eigenschaften und Merkmale der Programmiersprache Java Prof. Dr. Stefan Böttcher Universität Paderborn im Rahmen der Vorlesung: Webbasierte Informationssysteme SS 2004 Einführung

Mehr

D-BAUG Informatik I. Exercise session: week 1 HS 2018

D-BAUG Informatik I. Exercise session: week 1 HS 2018 1 D-BAUG Informatik I Exercise session: week 1 HS 2018 Java Tutorials 2 Questions? expert.ethz.ch 3 Common questions and issues. expert.ethz.ch 4 Need help with expert? Mixed expressions Type Conversions

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

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

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

Von der Programmiersprache WHILE zum ersten Einstieg in Java

Von der Programmiersprache WHILE zum ersten Einstieg in Java Von der Programmiersprache WHILE zum ersten Einstieg in Java Die Programmiersprache WHILE bildet den Kern jeder imperativen Programmiersprache. Man geht davon aus, dass die Ein- Ausgabe primitiv organisiert

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

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

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

3. Methodik der Programmerstellung

3. Methodik der Programmerstellung 3. Methodik der Programmerstellung 3.1 Vorgehen 3.2 Programmerstellung 3.2.1 Konventionen 3.2.2 Schlüsselwörter und Bezeichner 3.2.3 Fehlertypen 3.2.4 Programmierstil 3.3 Formaler Aufbau eines Pascal-Programms

Mehr

Grunddatentypen, Ausdrücke und Variablen

Grunddatentypen, Ausdrücke und Variablen Grunddatentypen, Ausdrücke und Variablen Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Vorlesung heute: Grunddatentypen Ausdrücke Variablen

Mehr

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

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

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

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

Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 1.0 EBNF 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 1.0 EBNF 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Graphische Darstellung von EBNF Regeln Syntax Graph: graphische Darstellung

Mehr

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff. Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit

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

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

Übersetzen des Quelltexts in ausführbaren Maschinen-Code Translation of source code into executable machine code

Übersetzen des Quelltexts in ausführbaren Maschinen-Code Translation of source code into executable machine code Informatik II D-BAUG Self-Assessment, 2. März 2017 Lösung Name, Vorname:............................................................. Legi-Nummer:.............................................................

Mehr

Von Assembler zu Java

Von Assembler zu Java Von Assembler zu Java Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Die erste imperativen Programme wurden in den Urzeiten der IT tatsächlich direkt auf der Hardware der Maschinen geschrieben. Die verfügbaren

Mehr

Aufbau und Funktionsweise eines Computers

Aufbau und Funktionsweise eines Computers Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Praktische Informatik

Mehr

hue12 January 24, 2017

hue12 January 24, 2017 hue12 January 24, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Kontrollstrukturen: Wiederholungsanweisungen

Kontrollstrukturen: Wiederholungsanweisungen Kontrollstrukturen: Wiederholungsanweisungen Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung https://www.sosy-lab.org/teaching/2017-ws-infoeinf/

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation

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

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme Schwerpunkte Vollständige und unvollständige Auswertung 8. Ausdrücke, Operatoren (einfache Typen) Teil 1 Seiteneffekte Overloading: Überladung von Operatoren Implizite und explizite (cast) Typumwandlung

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

7. Syntax: Grammatiken, EBNF

7. Syntax: Grammatiken, EBNF 7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik

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

Von der Aufgabe zum Code. Mario Bodemann

Von der Aufgabe zum Code. Mario Bodemann Von der Aufgabe zum Code Mario Bodemann 1 Agenda Wiederholung Aufgabenstellung Aufspalten der Aufgabe Vom Diagramm zum Code richtiges Programmieren Zusammenfassung 2 Agenda Wiederholung Aufgabenstellung

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

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

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Ihr Name: Matrikelnummer: Allgemeine Hinweise: Erlaubtes Hilfsmittel: Ein beidseitig handbeschriebenes Din-A4-Blatt Tragen Sie Ihren Namen und

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