Diagramm Aktivität



  • [code="cpp"// Bubblesort fuer uebergebenes Feld "myArray" der Groesse "sizeOfArray"
    void bubbleSort(int myArray[], int sizeOfArray)
    {
    // check, ob sortiert werden kann
    if (sizeOfArray < 2)
    {
    cout << "FEHLER: nicht genuegend Elemente zum Sortieren";
    cout << endl;
    return;
    }
    // zwei Schleifen fuer das Sortieren
    cout << "Feld in aufsteigender Reihenfolge sortieren" << endl;
    for (int i = 0; i < sizeOfArray - 1; i++)
    {
    for (int j = i + 1; j < sizeOfArray; j++)
    //Liste ausgeben
    {
    // der Tausch, falls benachbarte Werte
    // in falscher Reihenfolge
    if (myArray[i] > myArray[j])
    {
    //Tausche die beiden Werte
    int temp = myArray[i];
    myArray[i] = myArray[j];
    myArray[j] = temp;
    }
    }
    }
    }
    [/code]

    Erstellen Sie für den unten aufgeführten Bubblesort-Algorithmus ein UML-Aktivitätsdiagramm. Stellen Sie alle Anweisungen und Schleifen explizit dar. Benutzen Sie die bekannte UMLNotation.
    Hier ein kleiner Ansatz.

    Wie soll ich jetzt die zwei for Schleifen darstellen?

    https://www.pic-upload.de/view-34763977/Bildschirmfoto2018-01-28um12.37.04.png.html



  • Der Code wurde nicht richtig dargestellt .
    Er sieht so aus

    // Bubblesort fuer uebergebenes Feld "myArray" der Groesse "sizeOfArray"
    void bubbleSort(int myArray[], int sizeOfArray)
    {
    // check, ob sortiert werden kann
    if (sizeOfArray < 2)
    {
    cout << "FEHLER: nicht genuegend Elemente zum Sortieren";
    cout << endl;
    return;
    }
    // zwei Schleifen fuer das Sortieren
    cout << "Feld in aufsteigender Reihenfolge sortieren" << endl;
    for (int i = 0; i < sizeOfArray - 1; i++)
    {
    for (int j = i + 1; j < sizeOfArray; j++)
    //Liste ausgeben
    {
    // der Tausch, falls benachbarte Werte
    // in falscher Reihenfolge
    if (myArray[i] > myArray[j])
    {
    //Tausche die beiden Werte
    int temp = myArray[i];
    myArray[i] = myArray[j];
    myArray[j] = temp;
    }
    }
    }
    }
    


  • Bei for Schleifen:

    - Überprüfe Schleifen Bedingung
    - Bedingung erfüllt -> Gehe in Schleifen Zweig, der am Ende wieder bei der Überprüfung raus kommt.
    - Bedingung nicht erfüllt -> Gehe in Programmzweig normal weiter.

    Schleifen sind im Prinzip auch nichts anderes als Bedingungen, an denen der Programmfluss mehrfach vorbei kommt.


Anmelden zum Antworten