Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Eine Einführung in die Programmiersprache C und ... - C /C++ Ecke
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<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: 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 />
Zähler <strong>in</strong>krementieren,<br />
Summe = Summe + aktuelle Zahl<br />
Ist Zähler > 0 ?<br />
Ja Ne<strong>in</strong><br />
Durchschnitt =<br />
Summe / Zähler.<br />
Durchschnitt ausgeben<br />
Gedruckt am 11.09.2008 13:04:00 Letzte Änderung am: 11. September 2008 Version 2.4, I. Oesch 127/147<br />
Ne<strong>in</strong><br />
Fehlermeldung ausgeben:<br />
"Ke<strong>in</strong> gültiger Wert"