• Keine Ergebnisse gefunden

Entwurf von Algorithmen:

N/A
N/A
Protected

Academic year: 2021

Aktie "Entwurf von Algorithmen: "

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prozedurales Programmieren und Problemlösungsstrategien

Bachelorstudiengänge

Umwelttechnik und Maschinenbau Prof. Dr. Thomas Hoch

Problemlösungsstrategien

(2)

Übersicht

Probleme lassen sich nicht nach einem vorgefertigten Schema lösen.

Es existieren viele Strategien zur Problemlösung, die sich wie Werkzeuge einsetzen und kombinieren lassen. Hier die wichtigsten:

Statistische Analyse von Daten Mathematische Modellierung:

o Umsetzen von Problemen in Gleichungen o Hilfsmittel: Plausibilität, Einheiten, Analogien o Lösen von Gleichungssystemen

o Simulation von Systemen

Entwurf von Algorithmen:

o Identifizieren von Schleifen und Fallunterscheidungen o Zerlegung von komplexen Problemen in einfachere:

das Prinzip „Teile und Herrsche“

Standardalgorithmen (Suchen, Sortieren, Kombinatorik, etc.)

(3)

Statistische Analyse von Daten

• Berechnung von Mittelwerten, Median

• Berechnung der mittleren Abweichung vom Mittelwert: Standardabweichung, Varianz

• Berechnung von Minimum und Maximum

• (Lineare) Regression, Parameterschätzung

• Grafische Darstellung von Daten

Beispiel: Statistik in Excel

(4)

Mathematische Modellierung

Umsetzen von Problemen in Gleichungen

Bezeichnungen für unbekannte (und bekannte) Größen Aufstellung und Vereinfachen von mathemat. Gleichungen

Hilfsmittel zum Aufstellen von Gleichungen

Plausibilität: Ergeben die Gleichungen in verschiedenen Grenzfällen Sinn? Passen die physikalischen Einheiten zusammen?

Analogien: Gibt es bekannte ähnliche Systeme?

Beispiel: Melonenproblem

Lösen von Gleichungssystemen

Lineare Gleichungssyteme: Lösung einfach

Nichtlineare Gleichungssysteme: Näherungslösung?

Simulation von Systemen

Spezielle Näherungslösung zur Berechnung des (meist zeitlichen) Verhaltens eines Systems, oder

Simulation mit Hilfe von Zufallszahlen (Monte-Carlo-Simulation)

(5)

Entwurf von Algorithmen (1)

Was ist ein Algorithmus?

– Ein Algorithmus ist ein klar definiertes Verfahren zur Lösung eines Problems, das aus elementaren Schritten besteht (hierzu später mehr). Beispiel: ein Kochrezept.

Identifizieren von Schleifen und Fallunterscheidungen

– Schleifen und Fallunterscheidungen sind wichtige Bausteine von Algorithmen. Sie werden Kontrollstrukturen genannt.

Beispiel: Zählen von positiven und negativen Zahlen

– Bei einer Schleife (auch Iteration oder Wiederholung genannt) wird ein Teil eines Algorithmus mehrfach wiederholt.

– Bei einer Fallunterscheidung (auch Auswahl oder Selektion genannt) werden verschiedene Teile eines Algorithmus alternativ ausgeführt.

– Schleifen und Fallunterscheidungen lassen sich grafisch z. B. mit Hilfe von Struktogrammen darstellen oder mit Hilfe von

höheren Programmiersprachen (wie VBA) ausdrücken.

(6)

Entwurf von Algorithmen (2)

Zerlegen von komplexen Problemen in einfachere

– Es ist sinnvoll, ein komplexes Problem in einfachere Teile zu zerlegen. Diese lassen sich leichter lösen.

– Dieses Prinzip wird „Teile und herrsche“ genannt und lässt sich oft rekursiv anwenden (Beispiel: Türme von Hanoi).

Standardalgorithmen

– Es gibt einen riesigen Fundus von Standardalgorithmen, auf den man zurückgreifen kann, z. B. zum Suchen oder Sortieren.

Invarianten

– Bei kombinatorischen Problemen gibt es im Suchraum häufig Größen, die invariant (also unveränderlich) sind (Invarianten).

– Diese lassen sich nutzbringend zur Lösungssuche einsetzen (Beispiele: Haus vom Nikolaus, Schachbrett)

Referenzen

ÄHNLICHE DOKUMENTE

◮ Branch-and-Bound: Wenn man weiß, dass eine Lösung mit Kosten k existiert (zum Beispiel durch obigen Algorithmus), dann kann ein Backtrack-Algorithmus alle Teillösungen.

• Wenn nein, dann dem Problem einen kurzen und treffenden Namen geben!. (d) Was ist bekannt und was

Instanzvariablen (also Variablen, die nicht als static deklariert sind) werden jedesmal, wenn ein Objekt der Klasse dynamisch erzeugt wird, in- itialisiert. Sind keine

Die Bearbeitung der Aufgaben erfolgt in Zweiergruppen, zum L¨osen steht im allgemeinen je eine Woche pro Aufgabenblatt zur Verf¨ ugung.. Hier werden auch die neuen

INIT Schleifenvariable initialisieren BEDINGUNG Bedingung f¨ ur Schleifendurchlauf REINIT Schleifenvariable ver¨

Ein erster Schritt kann auch sein, eine Anlaufstelle für Geflüchtete zu bilden, um dadurch deutlich zu machen, dass die Schule sich kümmern will. Finden Sie heraus, was gewünscht

Auch bei Überempfindlichkeit gegen- über Wollwachsalkohol können allergische Reaktionen auftreten. Hametum® Hämorrhoidenzäpfchen 400 mg

Ist ein Programm syntaktisch korrekt, heißt das noch lange nicht, dass es auch das “richtige” tut, d.h. semantisch korrekt