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