7. Eigenschaften eines gültigen Algorithmus

Submitted by javafrage on Sun, 05/01/2016 - 14:39

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 6: Algorithmen erkennen

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

Anonymous (not verified)

Thu, 05/26/2016 - 10:01

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!

holodoctor

Sun, 05/29/2016 - 16:48

In reply to by Anonymous (not verified)

Gut beobachtet. Danke.
Ich habe den Fehler korrigiert.