Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
Vorlesungsskript - Hochschule Emden/Leer
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 (...) {