Version [22560]
Dies ist eine alte Version von ProzProg1Intro erstellt von RonnyGertler am 2013-03-27 14:23:02.
Prozedurale Programmierung - Kapitel 1 - Einführung
Inhalte von Dr. E. Nadobnyh
1.1. Algorithmen
Schritte zur Problemlösung
1.Problemanalyse
Die Problemstellung (Aufgabenstellung) wird präzise definiert und spezifiziert.
2. Algorithmenentwurf
Ein Algorithmus ist eine endliche Folge von eindeutigen und ausführbaren Anweisungen zur Lösung eines allgemeinen Problems.
3.Programmierung (Codierung, Implementierung)
Ein Programm ist ein in einer Programmiersprache formulierter Algorithmus.
4.Programmausführung
Gültige Eingaben liefern korrekte Ergebnisse.
Anforderungen an Algorithmen
1.Eindeutigkeit (Determinismus)
Die Reihenfolge der Schritte ist eindeutig festgelegt.
2.Determiniertheit
Der Algorithmus muss bei denselben Eingaben das gleiche Ergebnis liefern.
3.Endlichkeit
Das Verfahren darf nur endlich viele Schritte benötigen.
4.Ausführbarkeit
Es dürfen keine Bedingungen für Entscheidungen vorkommen, die erst in nachfolgenden Schritten festgelegt werden.
5.Allgemeinheit
Ein Algorithmus löst nicht nur ein einziges Problem, sondern eine Klasse von Problemen.
6.Effizienz
Die Anzahl der benötigen Schritte soll möglichst gering sein.
Beispiele - Folgende Anweisungen sind keine Algorithmen:
N | Anweisung | Ursache |
1 | Gehe bis zum Theaterplatz. Dort biege ab und gehe bis zum Bahnhof. | nicht eindeutig: z.B. wohin abbiegen? |
2 | Bezahle, wenn Ostern und Pfingsten auf einen Tag fallen. | nicht ausführbar. |
3 | Addiere zu einer beliebigen geraden Zahl mehrere anderen geraden Zahlen bis das Ergebnis 99 ist! | nicht endlich: 99 wird nie als Ergebnis herauskommen. |
Darstellung von Algorithmen
1.Umgangssprachliche Formulierung
Es gibt häufig keine vorgegebenen Schemata oder Regeln. Die Beschreibung sollte jedoch exakt sein.
2.Pseudocode
Pseudocode ist eine sprachliche Mischung aus natürlicher Sprache, mathematischer Notation und einer höheren Programmiersprache.
3.Programmablaufplan
Stellt in Symbolen die einzelnen Programmanweisungen in ihrer Logik dar.
4.Struktogramm
Die Darstellung erfolgt grafisch angeordnet innerhalb eines Rechtecks und entspricht der Methode der strukturierten Programmierung.
PAP -Programmablaufplan
PAP ist eine normierte Methode zur graphischen Darstellung von Algorithmen.
PAP. Beispiel
Ausgabe von allen natürlichen Zahlen von 1 bis 39 sowie 61 bis 100.
Struktogramm
Ein Struktogramm (Nassi-Shneiderman-Diagramm) ist eine normierte Methode zur Algorithmen-Darstellung mit den so genannten Strukturblöcken. Strukturblöcke können ineinander geschachtelt werden. Typische Strukturblöcke sind:
Sequenz
Aufruf
Alternativ
Wiederholung
CategoryProzProg