06.08.2013 Aufrufe

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

148 KAPITEL 12. PROGRAMMENTWURF<br />

{<br />

}<br />

return vorn_frei();<br />

Sie sehen, der Entwurf eines Programms ist gar nicht soschwierig, wenn man sich strikt an das<br />

Prinzip der Schrittweisen Verfeinerung halt:<br />

Wenn das Gesamtproblem zu komplex ist, teilen Sie es in einfachere Teilprobleme auf.<br />

Losen Sie die Teilprobleme:<br />

{ Wenn ein Teilproblem zu komplex ist, teilen Sie es in (noch) einfachere Teilprobleme<br />

auf.<br />

{ ...<br />

{ Setzen Sie die Losungen der Teilprobleme zu einer Losung des (ubergeordneten) Teilproblems<br />

zusammen.<br />

Setzen Sie die Losungen der Teilprobleme zu einer Losung des Gesamtproblems zusammen.<br />

12.4 Implementierung<br />

Ziel der Implementierungsphase ist es, den in der Entwurfsphase entwickelten Algorithmus in<br />

ein in einer Programmiersprache formuliertes Programm zu uberfuhren und in den Rechner<br />

einzugeben. Das erste Teilziel haben wir bei den Hamsterprogrammen bereits in der Entwurfsphase<br />

erreicht. Die Moglichkeit, Prozeduren und boolesche Funktionen zu de nieren und diese<br />

mit selbstgewahlten Bezeichnern zu benennen, ermoglichen uns dies. Algorithmenentwurf und<br />

Programmformulierung konnen durch das Prinzip der Schrittweisen Verfeinerung wechselseitig<br />

durchgefuhrt werden: Zunachst wird umgangssprachlich der Losungsalgorithmus zu einem<br />

(Teil-)Problem formuliert. Anschlie end wird dieser direkt in die Syntax der Hamstersprache<br />

Ubertragen. Beispiel:<br />

Problem: Der Hamster soll den Berg erklimmen.<br />

Algorithmus: Erklimme solange eine Stufe wie der Gipfel noch nicht erreicht ist.<br />

Implementierung:<br />

// der Hamster soll den Berg erklimmen<br />

void erklimme_den_berg()<br />

{<br />

do<br />

{<br />

erklimme_eine_stufe();<br />

} while (!gipfel_erreicht());<br />

}<br />

// der Hamster soll eine Stufe erklimmen<br />

void erklimme_eine_stufe()

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!