21.11.2013 Aufrufe

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

Eine Einführung in die Programmiersprache C und die Grundlagen ...

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.

<strong>E<strong>in</strong>e</strong> <strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> Informatik <strong>und</strong> <strong>die</strong> <strong>Programmiersprache</strong> C<br />

32 Designmethoden<br />

32.1.1 Struktogramme (nach Nassi-Schneiderman).<br />

Struktogramme bilden jeden elementaren Strukturblock der strukturierten Programmierung als e<strong>in</strong>deutig<br />

erkennbares graphisches E<strong>in</strong>zelsymbol ab. Es gibt e<strong>in</strong>deutige Vorschriften zur Darstellung<br />

der e<strong>in</strong>zelnen Elemente <strong>und</strong> ihrer Komb<strong>in</strong>ation. Struktogramme unterstützen damit den Entwurf<br />

strukturierter Programme <strong>in</strong> direkter Weise <strong>und</strong> erfordern <strong>die</strong> genaue Planung ihres E<strong>in</strong>satzes. So<br />

sollte <strong>die</strong> Struktur des Programmes oder wenigstens <strong>die</strong> des gerade bearbeiteten Programmbauste<strong>in</strong>s<br />

(Modul) bereits feststehen, bevor man mit dem Struktogramm beg<strong>in</strong>nt. Dieser Zwang zur exakten<br />

Durchstrukturierung von Programmen sowie <strong>die</strong> damit verb<strong>und</strong>ene Notwendigkeit zur Modularisierung<br />

ist <strong>die</strong> grosse Stärke der Struktogrammdarstellung (für e<strong>in</strong> Struktogramm steht im Normalfall<br />

nur e<strong>in</strong>e A4-Seite zur Verfügung, wird das Programm hierfür zu komplex, muss es <strong>in</strong> e<strong>in</strong>zelne kle<strong>in</strong>ere<br />

Module unterteilt werden).<br />

Symbol Beschreibung C-Code<br />

Ja<br />

Anweisung<br />

Anweisung1<br />

Ma<strong>in</strong><br />

Anweisungen<br />

Ist A > B?<br />

Anweisungen<br />

Ne<strong>in</strong><br />

Anweisung2<br />

Falls a<br />

= 1 =2 =3 Sonst<br />

Anw. Anw. Anw. 3 Anw. 4<br />

Wiederholen solange<br />

Anweisungen<br />

Wiederholen solange<br />

Modul/Funktionsblock, fasst e<strong>in</strong>e<br />

Menge von Blöcken zu e<strong>in</strong>em<br />

Benannten Modul, e<strong>in</strong>er Prozedur<br />

oder e<strong>in</strong>er Funktion zusammen<br />

Anweisung a = b + c;<br />

<strong>in</strong>t FunktionA (<strong>in</strong>t a, <strong>in</strong>t b)<br />

{<br />

Anweisungen<br />

return 0;<br />

}<br />

Verzweigung if (A > B) {<br />

Anweisung1<br />

} else {<br />

Anweisung2<br />

}<br />

Fallunterscheidung,<br />

Mehrfachverzweigung<br />

Schlaufe mit Anfangsprüfung<br />

(For <strong>und</strong> while), for-Schlaufen<br />

müssen <strong>in</strong> e<strong>in</strong>e Whileschlaufe<br />

umgeformt werden.<br />

switch(a) {<br />

case 1: Anweisung1 break;<br />

case 2: Anweisung2 break;<br />

case 3: Anweisung3 break;<br />

default: Anweisung4 break;<br />

}<br />

while (i < 10) {<br />

Anweisung<br />

}<br />

for (i= 0; i < 5; i++) {<br />

Anweisungen<br />

}<br />

Schlaufe mit Endeprüfung do {<br />

Anweisung<br />

} while (i < 10);<br />

Unterprogrammaufruf<br />

Unterprogrammaufruf<br />

Funktionsaufruf<br />

pr<strong>in</strong>tf("Hallo");<br />

b = FunktionA(c, d);<br />

Gedruckt am 10.09.2009 14:23:00 Letzte Änderung am: 10. September 2009 Version 2.4.1, I. Oesch 126/147

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!