Skip to Content

1.92 Eigenschaften eines gültigen Algorithmus

Analysieren Sie die folgende Methode. Der Algorithmus implementiert das Multiplizieren zweier Zahlen durch fortgesetztes Addieren. Ignorieren Sie potentielle Probleme mit endlichen Wertebereichen in der Java-arithmetik:

 public static int multipliziere(int a, int b) {
   int i = 0; // Laufvariable
   int result = 0; // ergebnis
   while (i<b) { //Mache weiter bis Laufvariable b erreicht
      result = result+a; // addiere a zu Ergebnis
      i++; // Inkrementiere die Laufvariable
    }
   return result;
 }

Die folgende Aussage ist zu vage formuliert um der Methode die Eigenschaften eines gültigen Algorithmus zu zugestehen.

„Diese Methode multipliziert zwei beliebige ganze Zahlen a und b und gibt das Ergebnis zurück“

Welche Eigenschaft eines Algorithmus ist nicht erfüllt?

Wie muss die Aussage präzisiert werden, damit Sie einen gültigen Algorithmus beschreibt?

Niveau 1
Schwierigkeitsgrad mittel
Zeit 2+2 Minuten

Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)

Antwort zu Frage 1.91: Algorithmen erkennen

Die Schleife terminiert nicht. Mehr Informationen zu diesem Thema finden Sie hier.

Comments

"<<" ?

Hallo Herr Schneider,

wollten Sie wirklich den binary left shift operator benutzen?

Nach meinem Wissensstand würde Ihre Schleife dann nicht terminieren. ( Die Bits von i um b Stellen nach links verschoben ist immer größer Null, also -> True. )

Und eine Anfrage bezüglich der Lesbarkeit des Codes: Ist es möglich die Kommentare alle bündig weiter rechts auszurichten? ( Betrifft vlt allen Code von Ihnen, doch hier fällt es mir besonders auf. )

Viele Grüße!

Stimmt

Gut beobachtet. Danke.
Ich habe den Fehler korrigiert.



blog | by Dr. Radut