12.07.2015 Aufrufe

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

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

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

26 KAPITEL 1. PROGRAMMIEREN IN C/<strong>C++</strong>sowie <strong>de</strong>r Entwickler untere<strong>in</strong>an<strong>de</strong>r dient. Fragen <strong>in</strong> diesem Zusammenhangs<strong>in</strong>d:• Welche Ergebnisse soll das Programm liefern?• Welche E<strong>in</strong>gaben s<strong>in</strong>d erfor<strong>de</strong>rlich?• Welche Ausnahmefälle (Fehler) s<strong>in</strong>d zu berücksichtigen?• In welcher Form sollen die Ergebnisse ausgegeben wer<strong>de</strong>n?• Wer soll mit <strong>de</strong>m Programm umgehen?• Auf welchen Computern soll das Programm laufen?Anfänger sehen die Schwierigkeiten <strong>de</strong>s Programmierens <strong>in</strong> <strong>de</strong>rUmsetzung <strong>de</strong>s Lösungsweges <strong>in</strong> e<strong>in</strong>e Programmiersprache, <strong>in</strong><strong>de</strong>r Codierung. Nach e<strong>in</strong>igem Üben stellt sich dann heraus, dassdie dauerhaften Schwierigkeiten <strong>in</strong> <strong>de</strong>r Formulierung und Analyse<strong>de</strong>r Aufgabe, allenfalls noch im Suchen nach Lösungen liegen,während die Codierung größtenteils Rout<strong>in</strong>e wird.Nach unserer Erfahrung sollte man e<strong>in</strong>e Aufgabe zunächste<strong>in</strong>mal so formulieren, wie sie <strong>de</strong>n augenblicklichen Bedürfnissenentspricht. Dann sollte man sich mit viel Phantasie ausmalen,was alles noch dazu kommen könnte, wenn Geld, Zeit undVerstand ke<strong>in</strong>e Schranken setzen wür<strong>de</strong>n (I have a dream ... ).Drittens streiche man von diesem Traum gna<strong>de</strong>nlos alles weg,was nicht unbed<strong>in</strong>gt erfor<strong>de</strong>rlich und absolut m<strong>in</strong>imal notwendigist – ohne das vielleicht nur asymptotisch erreichbare Zielaus <strong>de</strong>n Augen zu verlieren. So kommt man mit beschränktenMitteln zu Software, die sich entwickeln kann, wenn die Zeit dafürreif ist. Anpassungsfähigkeit ist für Software und Lebewesenwichtiger als Höchstleistungen.1.1.9.2 Zerlegen <strong>in</strong> TeilaufgabenControll<strong>in</strong>g complexity is the essence of computer programm<strong>in</strong>g(B. W. KERNIGHAN, P. J. PLAUGER, Software Tools). KomplexeAufgaben wer<strong>de</strong>n <strong>in</strong> mehreren Stufen <strong>in</strong> Teilaufgaben zerlegt,die überschaubar s<strong>in</strong>d und sich durch e<strong>in</strong>e Funktion o<strong>de</strong>rProzedur im Programm lösen lassen. Insofern spiegelt die Zerlegungbereits die spätere Programmstruktur 12 wi<strong>de</strong>r. DasHauptprogramm soll möglichst wenig selbst erledigen, son<strong>de</strong>rn12 Real programmers disda<strong>in</strong> structured programm<strong>in</strong>g.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!