Beruflich Dokumente
Kultur Dokumente
Wichtig ist, dass am Ende jeden Zweiges ein break Wir betrachten das folgende Struktogramm, das den
steht, da sonst die nachfolgenden Anweisungen Bubblesort-Algorithmus beschreibt:
ebenfalls ausgeführt werden. Bubblesort
a: array ganzer Zahlen (Übergabepara-
• Kopfgesteuerte Schleifen werden in while-Schleifen meter)
übersetzt. Diese bestehen aus dem Schlüsselwort n: Anzahl der Elemente in aliste
while, an das in runden Klammern die Abbruchbe- dummy: ganze Zahl (Hilfsvariable)
dingung angehängt wird. Der Schleifenkörper steht i = 1..n-1
danach in geschweiften Klammen. Dieser wird so k = 1..n-1
lange ausgeführt, bis die Abbruchbedingung nicht a[k-1]>a[k] ?
mehr erfüllt ist. Ja Nein
• Zählergesteuerte Schleifen werden im Quelltext dummy := a[k-1]
durch eine for-Schleife realisiert. Diese beginnt mit a[k-1] := a[k]
dem Schlüsselwort for. Danach kommt ein rundes a[k] := dummy
Klammerpaar, dessen Inhalt durch zwei Semikolon
ist drei Teile geteilt wird.
Der erste Teil wird Initialisierung“ genannt. Ob- #include <iostream>
”
wohl dort fast alle stehen darf, dient er insbeson- void bubblesort(int a[], int n) {
dere dazu der Zählvariablen den Startwert zuzu- // Wir definieren
weisen. Die Zählervariable kann hier auch definiert int dummy;
(und initialisiert) werden.
Der zweite Teil ist die Abbruchbedingung, die gleich for(int i=1; i<=n-1; i=i+1) {
funktioniert, wie bei der while-Schleife. for(int k=1; k<=n-1; k=k+1) {
if(a[k-1]>a[k]) {
Der dritte Teil heißt Inkrementierung“. Auch hier dummy = a[k-1];
”
darf auch etwas ganz anderes stehen, aber sie a[k-1] = a[k];
ist dafür gedacht, der Zählvariablen den nächsten a[k] = dummy;
Wert zuzuweisen. Dort steht also zumeist etwas wie }
i=i+1. }
Eine for-Schleife wird ausgeführt, indem zuerst die }
Initialisierung ausgeführt wird. Dann wird solan- }
ge, wie die Abbruchbedingung erfüllt ist der Schlei-
fenkörper ausgeführt und anschließend die Inkre- // Die Funktion, bei der die Ausführung beginnt
mentierung. Daraufhin wird die Abbruchbedingung // heißt immer "main".
geprüft usw. int main() {
// Wir definieren das Array mit den
• Fußgesteuerte Schleifen sind im Quelltext // Zahlen, die sortiert werden sollen:
do-while-Schleifen. Bei ihnen steht der Schlei- int a[] = {3, 2, 4, 1, 6, 8, 9};
fenkörper in geschgweifte Klammern eingeschlossen // In der Variablen n steht, wie viele
zwischen den Schlüsselwörtern do und while. Nach // Zahlen das Array a enthält.
dem while folgt in runden Klammern die Ab- int n = 7;
bruchbedingung.
// Wir rufen die Sortierfunktion auf.
Anders als in Struktogrammen, kann in Quelltext bubblesort(a, n);
erläuternder Kommentar eingefügt werden. Es ist eine
gute Idee, davon reichlich Gebrauch zu machen. for(int i=0; i<n; i=i+1) {
std::cout << a[i] << " ";
In C++ werden zwei Arten von Kommentaren unterschie- }
den: Der erste beginnt mit zwei Schrägstrichen (//) und std::cout << "\n";
}
starten.