06.08.2013 Aufrufe

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

PDF-Datei (ca. 1 MByte)

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 12<br />

Programmentwurf<br />

12.1 Losen von Problemen<br />

Wenn Sie die vorangegangenen Kapitel sorgfaltig durchgearbeitet und insbesondere die Ubungsaufgaben<br />

intensiv bearbeitet haben, sind Sie Ihrem Ziel, ein " guter\ Programmierer zu werden,<br />

schon ein ganzes Stuck nahergekommen. Sie wissen nun, was Anweisungen sind, Sie konnen<br />

Prozeduren und boolesche Funktionen de nieren und aufrufen, und Sie kennen als Kontrollstrukturen<br />

des Programmablaufs die Auswahl- und Wiederholungsanweisungen, mit denen Sie<br />

Algorithmen bzw. Programme exibel formulieren konnen. In diesem Kapitel wird nun kein weiteres<br />

derartiges Sprachkonstrukt eingefuhrt, stattdessen werden Sie lernen, wie Sie die bisher<br />

erlernten Sprachkonstrukte einsetzen konnen, um ausgehend von einem gegebenen Problem ein<br />

Programm zu entwickeln, das dieses Problem korrekt und vollstandig lost und dessen Losungsidee<br />

auch fur andere verstandlich ist.<br />

Vielleicht hatten Sie beim Losen von Ubungsaufgaben insbesondere in den letzten beiden Kapiteln<br />

bestimmte Probleme; sie wu ten eventuell nicht, wie Sie an die Ubungsaufgabe herangehen,<br />

womit Sie anfangen sollten. Keine Angst, in diesem Kapitel werden Sie ein Verfahren kennenlernen,<br />

das Ihnen dabei hilft, derartige Ubungsaufgaben systematisch zulosen. Nichtsdestotrotz ist<br />

der Algorithmen- bzw. Programmentwurf kein vollstandig mechanisierbarer, sondern ein kreativer<br />

Proze , bei dem Sie Ihre Gehirnzellen aktivieren mussen. Er ist insbesondere selbst nicht<br />

algorithmisierbar und erfordert vom Programmierer Intuition, Erfahrung und Ideen.<br />

Aber der Programmentwurf ist vergleichbar mit vielen Problemen, mit denen Sie tagtaglich in<br />

Beruhrung kommen. Uberlegen Sie einmal: Wie gehen Sie vor, wenn Sie ein Puzzle zusammensetzen.<br />

Ganz sicher nicht so, da Sie einfach probieren, so lange Puzzlestucke zusammenzustecken,<br />

bis das Puzzle fertig ist. Vielmehr werden Sie zunachst die vier Eckstucke und anschlie end<br />

die Randstucke suchen und damit zunachst den Rahmen zusammensetzen. Anschlie end werden<br />

Sie vielleicht (falls es sich bei dem Puzzle um ein Landschaftsbild handelt) alle blauen<br />

Stucke heraussuchen, die zum Himmel gehoren konnten. Was Sie hier machen, nennt man Komplexitatsreduktion.<br />

Sie versuchen, das komplexe Gesamtproblem zunachst in weinger komplexe<br />

Teilprobleme zu zerlegen und die Teilprobleme zu losen. Die Gesamtlosung ergibt sich dann<br />

schlie lich durch die Zusammenfuhrung der Teillosungen. Genau dieselbe Systematik liegt auch<br />

dem im folgenden beschriebenen Verfahren des Programmentwurfs zugrunde. Man bezeichnet<br />

das Verfahren deshalb auch als Schrittweise Verfeinerung oder Top-Down-Programmentwurf.<br />

141

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!