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 />

Achtung: Struktogramme unterstützen das früher oft e<strong>in</strong>gesetzte "GoTo" nicht. Dieser gewollte<br />

"Mangel" ist e<strong>in</strong>e Konsequenz aus den Ideen der strukturierten Programmierung. Denn dadurch<br />

wird e<strong>in</strong> unbegrenztes, willkürliches Verzweigen (GoTo!) <strong>in</strong> der Programmlogik von vornhere<strong>in</strong><br />

unmöglich gemacht.<br />

Aufbau von Struktogrammen<br />

Alle Elementar-Strukturblöcke können auf e<strong>in</strong>fache Weise zusammengesetzt werden. Das Ergebnis<br />

ist wiederum e<strong>in</strong> überschaubarer Strukturblock mit genau e<strong>in</strong>em E<strong>in</strong>gang <strong>und</strong> e<strong>in</strong>em Ausgang<br />

(Zweipol). Für <strong>die</strong> Konstruktion zusammengesetzter Strukturblöcke gibt es dem Block-Konzept<br />

folgend zwei e<strong>in</strong>fache Regeln:<br />

1. E<strong>in</strong> Strukturblock wird an e<strong>in</strong>en anderen gereiht, <strong>in</strong>dem <strong>die</strong> gesamte Ausgangskante<br />

des vorstehenden Strukturblock mit der gesamten E<strong>in</strong>gangskante des nachfolgenden<br />

Strukturblocks zusammengelegt wird. E<strong>in</strong> durch e<strong>in</strong>e solche Ane<strong>in</strong>anderreihung<br />

entstandener Strukturblock wird Sequenz genannt.<br />

2. In <strong>die</strong> Block-Felder (Anweisungs-Felder) der (elementaren) Strukturblöcke kann jeder<br />

beliebige elementare oder zusammengesetzte Strukturblock e<strong>in</strong>gesetzt werden.<br />

Vorgehensweise<br />

In Struktogrammen wird meist Pseudocode verwendet (<strong>E<strong>in</strong>e</strong> Art formale Umgangssprache), damit<br />

sie Sprachunabhängig s<strong>in</strong>d. E<strong>in</strong> Struktogramm sollte noch nicht festlegen, <strong>in</strong> welcher <strong>Programmiersprache</strong><br />

der entsprechende Code implementiert wird.<br />

Bei grösseren Problemen erstellt man zuerst e<strong>in</strong> grobes Struktogramm, welches nur den gr<strong>und</strong>sätzlichen<br />

Programmablauf darstellt, <strong>und</strong> verfe<strong>in</strong>ert es anschliessend. Es können dabei mehrere Verfe<strong>in</strong>erungsstufen<br />

folgen. In der fe<strong>in</strong>sten Stufe kann bei Bedarf bereits Code der Zielsprache anstelle<br />

von Pseudocode e<strong>in</strong>gesetzt werden.<br />

Beispiel:<br />

Aufgabe: Es soll e<strong>in</strong> Programm entworfen werden, das e<strong>in</strong>e beliebige Anzahl Werte e<strong>in</strong>liest <strong>und</strong><br />

daraus den Durchschnitt berechnet, negative Zahlen sollen ignoriert werden, e<strong>in</strong>e 0 zeigt den Abschluss<br />

der E<strong>in</strong>gaben an.<br />

Grobstruktogramm:<br />

Fe<strong>in</strong>struktogramm<br />

Durchschnitt<br />

Zahlen e<strong>in</strong>lesen<br />

Durchschnitt berechnen<br />

Durchschnitt ausgeben<br />

Durchschnitt<br />

Variablen <strong>in</strong>itialisieren<br />

Zahl e<strong>in</strong>lesen <strong>und</strong> abspeichern<br />

E<strong>in</strong>gabezähler <strong>in</strong>krementieren<br />

Solange ke<strong>in</strong>e 0 e<strong>in</strong>gegeben<br />

Summe auf 0 setzen, Zähler auf 0 setzen<br />

Für alle e<strong>in</strong>gegebenen Zahlen<br />

Ist aktuelle Zahl > 0 ?<br />

Ja<br />

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

Zähler <strong>in</strong>krementieren,<br />

Summe = Summe + aktuelle Zahl<br />

Ist Zähler > 0 ?<br />

Ja<br />

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

Durchschnitt = Fehlermeldung ausgeben:<br />

Summe / Zähler.<br />

Durchschnitt ausgeben "Ke<strong>in</strong> gültiger Wert"<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!