ich habe folgendes Programm und frage mich dabei, wieso ich wenn ich z.B. Zahl = 9 setze, die while Schleife nochmal betreten wird, wenn Wurzel den Wert 3 bekommt, sodass die Schleife erst bei Wurzel = 4 abbricht und der Wert dann unten nochmal korrigiert werden muss.
Hier das Programm:
procedure Wurzel is
Zahl : Integer; --Zahl, die vom Benutzer festgelegt wird
Wurzel: Integer:=0; --Die aus der Zahl berechnete Wurzel, wird anfangs Null gesetzt
begin
Put("Geben Sie eine natuerliche Zahl ein, deren Wurzel berechnet werden soll: ");
Get(Zahl); --Eingabe der Zahl
while Wurzel*Wurzel <= Zahl loop --Schleife läuft so lange, bis die Wurzel mit sich selbst multipliziert größer oder gleich dem Ergebnis ist
Wurzel := Wurzel+1; --Damit beim nächsten Durchlauf der nächsthöhere Wert probiert wird
end loop;
Wurzel := Wurzel-1;
Put("Das Ergebnis lautet: "); Put(Wurzel,0); New_Line; --Ausgabe des Ergebnisses
end;
Hm hat sich erledigt, ich bin ja doof gewesen...sorry für den überflüssigen Thread.
