43
Einführung Ralf Lämmel Objektorientierte Programmierung und Modellierung http://twitter.com/oopm

Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

EinführungRalf Lämmel

Objektorientierte Programmierung und

Modellierung

http://twitter.com/oopm

Page 2: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

Do you really need to print these slides?

Please help saving trees!

Page 3: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

Mechanik dieser Lehrveranstaltung

Page 4: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Was ist OOPM?

Einführungsveranstaltung Informatik

Besucher aus den Curricula Inf/WI/CV u.a.

Monströse Veranstaltung mit 11 ECTS

4

Page 5: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Zentrale Herausforderungen

Eigenverantwortlichkeit bei der Studienorganisation

Wertschätzung der Inhalte eines Universitätsstudiums

Konstruktive, positive Herangehensweise

5

BlaBlaBla ...

Page 6: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Empfehlungen

Kontinuierliche ArbeitTeamarbeitMitarbeit in Übungen und PraktikaKeine Computerspiele o.ä. in den VorlesungenKommunikation und Information

6

Willkommen an der Uni! Vorsicht keine Verschulung!

Page 7: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau 7

Ausstieg aus dem (Informatik-) Studium ist kein Versagen!(siehe Beispiel)

Quelle: http://money.cnn.com/2014/10/16/technology/theranos-elizabeth-holmes/

Page 8: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Struktur OOPM

8

!!!

8 LP Präsenzstudium: 90 Stunden Eigenstudium: 150 Stunden

Vorlesung4 SWS

Übung2 SWS

Programmierpraktikum2 SWS

Präsenzstudium: 30 Stunden Eigenstudium: 60 Stunden

3 LP

Page 9: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Kommunikationskanäle

Vor Ort bei Vorlesung, Übung, Praktikum

http://twitter.com/oopm

Private Facebook-Gruppe

(Newsgroup infko.oopm)

Persönliche / sehr dringende Dinge per email

9

Page 10: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Informationsquellen

siehe Kommunikation Webseite(n) Lehrveranstaltung und KLIPS http://softlang.wikidot.com/course:oopmEvtl. empfohlenes Lehrbuch (siehe Webseite)Modulhandbuch und StudienordnungFachschaft, Prüfungsamt, Mentor, ...(Suchmaschinen, Wikipedia, …)

10

Page 11: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

http://softlang.wikidot.com/course:oopm

11

- Was ist das Team für den Kurs? - Was sind die Vorlesungstermine? - Was sind die Übungsaufgaben? - Was sind die Prüfungsmodalitäten? - ...

Page 12: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

Die Informatik als Wissenschaft

Page 13: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau 13

Informatik ist die „Wissenschaft der systematischen Verarbeitung von Informationen“.

[Duden Informatik. Ein Sachlexikon für Studium und Praxis, ISBN 3-411-05232-5, wie zitiert auf Wikipedia http://de.wikipedia.org/wiki/Informatik am 14.4.2014]

Page 14: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Wofür steht der Begriff Informatik?

Ein Kunstwort:

Information + Mathematik

Abweichende englische Sicht:

Computer Science

14

Page 15: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Was ist denn dann Information?

15

Abstrakte Sichtweise aus der Informationstheorie: “Information ist die durch Empfang einer Nachricht beim Empfänger eingetretene Verringerung der Unbestimmtheit.” [Shannon1948]

Page 16: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Was ist denn dann Information?

16

Konkretere Sichtweise: Informationen werden als Daten repräsentiert und diese Daten wiederum werden als Nachrichten versendet und beim Empfänger schließlich wieder als Informationen interpretiert.

Page 17: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Daten (Repräsentationen)

Bits, Bitfolgen, Bytes

Zeichen in ASCII Code / Unicode

Binäre Darstellung von Zahlen

jpeg für Bilder

mpeg für Musik

17

Page 18: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Daten versus Information

Betrachte 4 Himmelsrichtungen: N, S, O, W.

Dies sind die möglichen Informationen.

Betrachte Bitfolgen der Länge 2.

Solche Daten dienen der Darstellung -- Struktur.

Betrachte Interpretationen von Bitfolgen.

00 = N, 01 = S, 10 = O, 11 = W -- Semantik.

18

Page 19: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Einordnung der Informatik als Wissenschaft

Vergleiche Kategorien von Wissenschaften

Gesellschaftswissenschaften

Geschichte, Jura, Philospohie

Naturwissenschaften

Chemie, Physik, Biologie

Ingenieurwissenschaften

Elektronik, Maschinenbau, Informatik?

19

Page 20: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Einordnung der Informatik als Wissenschaft

Carl Friedrich von Weizsäcker

Strukturwissenschaften

Informatik, Mathematik

20

Page 21: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Interdisziplinäre Einbettung der Informatik

21

theoretische technische

praktische angewandte

Informatik

Mathematik

Datenverarbeitung

Physik/Elektrotechnik

Andere Disziplinen (Anwendungen)

1. Algorithmen!2. Datenstrukturen!3. Betriebssysteme!4. Datenbanken!5. Programmiersprachen!6. Softwaretechnik

Page 22: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

Objekt-orientierte Programmierung und Modellierung

Page 23: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

OOPM Veranstaltung = eine Art von Einführung in die Informatik

OOPM

Objektorientierte

Programmierung und

Modellierung

23

Page 24: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Was ist das Programmieren in OOPM?

24

Programmieren = Programmerstellung

Was ist also ein Programm?

Eine mögliche Definition: Ein Programm ist eine Repräsentation einer Eingabe/Ausgabe-Funktion, welche durch einen Rechner interpretiert werden kann.

Page 25: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

ggT als eine E/A-Funktion in der Programmiersprache Java

25

! public static int ggT(int x, int y) { while (x != y) { if (x > y) x = x - y; else y = y - x; } return x; }

Eingabe

Ausgabe

ggT(6,5) = 1 ggT(6,4) = 2 ggT(9,6) = 3

ggT(12,8) = 4 ...

Page 26: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Vom Begriff des Programms zum Begriff der Sprache

Sprache = Menge von Programmen einschl. Interpretation

Maschinensprache: Programme sind direkt interpretierbar durch Hardware bzw. (virtuelle) Maschine.

Programmiersprache: Interpretation muss eine extra Abstraktionsstufe überbrücken -- etwa durch Kompilation.

26

Page 27: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau 27ht

tp://

peop

le.ma

ndriv

a.com

/~pr

igaux

/lang

uage

-stu

dy/d

iagra

m-lig

ht.pn

g

Page 28: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Abstraktionsstufen bei Java

28

http://www.javaworld.com/javaworld

Page 29: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

ggT in JVM (Java Virtual Machine)

29

public static int ggT(int, int); ! 0: iload_0 1: iload_1 2: if_icmpeq 24 5: iload_0 6: iload_1 7: if_icmple 17 10: iload_0 11: iload_1 12: isub 13: istore_0 14: goto 0

!! 17: iload_1 18: iload_0 19: isub 20: istore_1 21: goto 0 24: iload_0 25: ireturn

kellerbasiert, nicht-strukturiert,

...

Page 30: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Was ist Objektorientierung in OOPM?

OO ist ein Programmierparadigma.

Andere Programmierparadigmen:

Imperative Programmierung

Deklarative Programmierung

Funktionale Programmierung

Logische Programmierung

30

Zugrundeliegende Prinzipien charakterisieren Programmierparadigmen.

Variablen mit Zuweisung

Funktionen

Logik

Objekte?

Page 31: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

OO-Paradigma

Objekte = Datenkapseln = Zustand + Verhalten Objekte werden in Klassen klassifiziert.

Personen, Konten, Lehrveranstaltungen, ... Objekte können miteinander verbunden sein.Klassen können in Beziehungen stehen.

31

Nachricht

Daten

Methode

Methoden- auswahl

Methode

Page 32: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Wo kommen die Programme her?

Probleme: Kontenverwaltung, Videokompression, ...

Programme: (Effektive) Problemlösungen

Spezifikationen: (“Gute”) Problembeschreibungen

Modelle: Abstraktionen von Problemlösungen u.a.

32

Page 33: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Spezifikationen bzw.

ProblembeschreibungenEigenschaften

unzweideutig vollständigdetailliert

Beispiel: ggTEingabe: x, y positive ganze ZahlenAusgabe: z positive ganze ZahlSpezifikation über x, y, z: z ist ein Teiler von x und y, wobei für jeden anderen solchen Teiler z’ gellten muss dass z’ < z.

33

Page 34: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Einschub: Begriff des Algorithmus (vergl. Programm)

Ein Algorithmus ist eine detaillierte, endliche Beschreibung zur schrittweisen Lösung eines Problems in endlich vielen Schritten.

Ein abstrakterer Begriff für Programm; Algorithmen sind eventuell in Pseudocode notiert und Konventionen kommen zur Anwendung für die Definition von Ausführbarkeit.

Vergl.: Programme mögen eventuell ...... nicht terminieren,... das gegebene Problem nicht lösen.

34

Page 35: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Algorithmus für “!” (Fakultät)

Eingabe: natürliche ZahlAusgabe: natürliche ZahlVerfahren:1. Weise Eingabe an Variable n zu.2. Initialisiere r mit 1.3. Wenn n = 0 dann gehe nach 7.4. Weise n * r an r zu.5. Dekrementiere n.6. Gehe nach 3.7. Gib r als Ausgabe aus.

35

Page 36: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Algorithmische Lösbarkeit

Ein Problem ist algorithmisch lösbar, wenn ein Algorithmus existiert der für beliebige Eingaben die korrekte Ausgabe in endlicher Zeit liefert, vorausgesetzt man gibt dem Algorithmus genug Zeit und Speicher.

Ein Problem ist algorithmisch nicht lösbar, wenn kein solcher Algorithmus existiert. Z.B. das Halteproblem (Entscheidung über die Terminierung eines Programmes in einer Turing-vollständigen Sprache) ist algorithmisch nicht lösbar.

36

Page 37: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Was machen wir mit komplexen Programmen?

Probleme: Kontenverwaltung, Videokompression, ...

Programme: (Effektive) Problemlösungen

Spezifikationen: (“Gute”) Problembeschreibungen

Modelle: Abstraktionen von Problemlösungen u.a.

37

OO ist ein Paradigma für Programme und Modelle. Damit ist OOPM erklärt!

Page 38: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Modelle

Ein Modell abstrahiert von einer Problemlösung.

Beispiel:

Die wesentlichen Arten von Objekten (Klassen) in einer Bankanwendung zusammen mit den Beziehungen zwischen den Klassen.

38

Mit Modellen verschwimmt (im positiven Sinne) die starre Grenze zwischen Problembeschreibungen und -lösungen.

Page 39: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Ein Klassendiagramm (UML-Modell) für eine Bankanwendung

39

Attribute eines Kontos

Verhalten eines Kontos

Eine Klasse für das grundlegende “Konzept”

eines Kontos

Eine Klasse für fortgeschrittene Konten

mit Kredit

Beziehung zwischen den Konzepten:

Klassenvererbung

Page 40: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Beispielproblem: CAD (Computer Aided Design)

Formen (“shapes”)

Rechtecke

Kreise

Verhalten

Bewegen

Zeichnen

40

Page 41: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Ein Klassendiagramm (UML-Modell) für die CAD-Anwendung

41

Page 42: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Sprache = Menge von Programmen oder Modellen (einschliesslich der Interpretation)

Maschinensprache: Programme sind direkt interpretierbar durch Hardware bzw. (virtuelle) Maschine.

Programmiersprache: Interpretation muss eine extra Abstraktionsstufe überbrücken, etwa durch Kompilation.

Modellierungsprache: Ausführbarkeit nicht mehr notwendig gegeben. Interpretation kann “anders” definiert sein.

42

Page 43: Programmierung und - userpages.uni-koblenz.delaemmel/oopm/slides/intro.pdf · (C) Ralf Lämmel, OOPM, Universität Koblenz-Landau Zentrale Herausforderungen Eigenverantwortlichkeit

(C) Ralf Lämmel, OOPM, Universität Koblenz-Landau

Zusammenfassung Mechanik dieser LehrveranstaltungDie Informatik als Wissenschaft Objekt-orientierte Programmierung und Modellierung

Java als ProgrammierspracheUML als ModellierungspracheWir werden auch spezifizieren, analysieren, verifizieren.

Ausblick Strukturierte ProgrammierungTesten von ProgrammenNumerische AlgorithmenProgrammierung mit Feldern…