07.10.2013 Aufrufe

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

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.

c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 45<br />

(4.72) Symbolische Konstanten sind für eine gute Programmierung sehr wichtig, da sie ” magische<br />

Zahlen“ vermeiden. Magische Zahlen verschleiern ihre eigene Bedeutung, selbstdokumentierende<br />

Namen dagegen betonen sie.<br />

Bsp Nicht jeder ahnt bei einem Auftreten der Konstanten 6.28, dass vielleicht 2π gemeint sein könnte; bei<br />

zweiPi ist dieses jedoch klar. Ein späteres Einsetzen eines genaueren Zahlenwertes für 6.28 ist fast<br />

unmöglich, bei der symbolischen Konstante jedoch ganz einfach.<br />

Symbolische Konstanten werden am besten mit einer Konstantendefinition (const . . . (3.26))<br />

eingeführt. Makros (5.72a) sollten vermieden werden; Aufzählungskonstanten (12.21) dagegen<br />

können manchmal gut eingesetzt werden, s. a. Zusammenstellung in (10.11).<br />

Zu symbolischen Konstanten als Arraygrenzen s. (5.44).<br />

(4.73) Empf Lay-out, Textgestaltung, vgl. (2.51) – für Sie ein Muss! –<br />

(a) Allgemeine Regeln für das Lay-out:<br />

• Ein gutes Lay-out ist für den Compiler unwichtig, es ist jedoch überlebenswichtig für<br />

den Programmierer! Sinn: Übersichtlichkeit!<br />

• Jede Anweisung in einer eigenen Zeile mit passender Einrückung.<br />

• Wenn die Anweisung zu lang für eine Zeile ist: Fortsetzung einrücken;<br />

Ausnahme: else nicht einrücken, sondern unter zugehöriges if positionieren, auch sogar<br />

mehrfach bei if-else-if-Kette.<br />

• Sehr problematisch ist die do-while-Schleife; das while sollte nicht am Zeilenanfang<br />

stehen, da sonst sehr leicht Verwechselung mit while-Anweisung, vgl. (4.42Anm2).<br />

• Einrückungen: je Stufe 3 bis 4 Spalten (Zeichenpositionen), später mit größerer Erfahrung<br />

nur 2 Spalten.<br />

• Block (ZusammengesetzteAnweisung):<br />

ÜbergeordneterText {<br />

//......<br />

//......<br />

}<br />

Öffnende Klammer: am Zeilen-Ende von ÜbergeordneterText,<br />

schließende Klammer: am Zeilen-Anfang in gleicher Position wie Anfang von ÜbergeordneterText.<br />

Ausnahme: Funktionsblöcke, z. B. main(): öffnende Klammer am Zeilenanfang der Folgezeile.<br />

(b) Bsp<br />

Legende: (...) Bedingung (bei for ausführlicherer Inhalt),<br />

Anweisung beliebige Anweisung, z. B. Ausdrucksanweisung (3.32a) oder<br />

auch ein (geschachtelter) Block (4.11)<br />

Einrückung je Schachtelungsebene hier jeweils 3 Spalten (3 Zeichenpositionen).<br />

int main()<br />

{<br />

int a, b, c;<br />

double d;<br />

// einseitige Auswahl<br />

if (...) Anweisung<br />

if (...)<br />

Anweisung<br />

if (...) {<br />

Anweisung<br />

Anweisung<br />

}<br />

// zweiseitige Auswahl<br />

if (...) Anweisung<br />

else Anweisung<br />

if (...) {

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!