MatzeA: Zahlenschleife

Beitrag lesen

Servus,

Das Problem liegt daran, dass Du jedes mal den gleichen Wert quadrierst.

Ich bin absoluter Newbie, was Perl anbelangt. Kann mir jemand von Euch weiterhelfen?

Bei der Ausgabe der "FOR"-Schleife soll die Eingabe des vorherigen Ergebnisses immer um 1 erhöht und quadriert werden. Leider geht das nur für den ersten Wert. Was ist falsch?

Hier das Skript:
##################################################################
#!/usr/bin/perl - w

$eingabe = 0;

print "\nBitte geben Sie eine Zahl zwischen 0 und 10 ein :\n";
chomp ($eingabe = <STDIN>);

if (($eingabe >= 0) && ($eingabe <= 10))
  {
  # Quadratur der Eingabe
  print "\nQuadratur der Eingabe :\n";
  $ergebnis = $eingabe ** 2;
  printf "\nErgebnis = %.2f.\n", $ergebnis;

# 5 x Ausgabe um 1 erhoehen und quadrieren
  print "\nAusgabe um 1 erh\x94ht und quadriert :\n";
  for ($loop = 1; $loop <= 5; ++ $loop)
     {
     $ergebnisx = ($ergebnis + 1) ** 2;
     printf "\nErgebnis neu $loop = %.2f.\n", $ergebnisx;

Hier liegt das Problem nimm einfach das x aus $ergebnisx weg und das überall und es klappt.

}
  }
else
  {
  print "Dies ist keine g\x81ltige Eingabe.\n";
  }
print "Ende des Skript\n";

Gruss Jacky

Grus Matze