PHP :: Aufgabe #185 :: Lösung #1

1 Lösung Lösung öffentlich
#185

Babylonisches Wurzelziehen / Heron-Verfahren / Heronsches Näherungsverfahren

Anfänger - PHP von Exception - 03.06.2018 um 08:27 Uhr
Die zu schreibende Anwendung soll eine positive Zahl entgegennehmen und durch das Heron-Verfahren näherungsweise die Quadratwurzel berechnen.

Zusatz:
Es werden die einzelnen Schritte ausgegeben, siehe Beispiel.

Beispiel: mit Wurzel aus 12

...
Die Wurzel aus 12 ist zwischen 3.5 und 3.4
...
Die Wurzel aus 12 ist zwischen 3.45 und 3.46
...


~ Viel Spaß :)
#1
vote_ok
von syneex (2670 Punkte) - 06.08.2018 um 11:20 Uhr
Quellcode ausblenden PHP-Code
<?php
/**
 * Heron Class
 */
class Heron
{
	private $x;
	private $y;

	public function Heron($x, $y)
	{
		$this->x 	= $x;
		$this->y 	= $y;
		$this->res  = $x;
	}

	function calc()
	{
		$this->res = $this->x;
		for ($i = 0; $i < 1000; $i++)
		{ 
			$this->x = ($this->x + $this->y) / 2;
			$this->y = ($this->res / $this->x);
			if($this->x == $this->y)
			{
				echo "Der Wert ist " . $this->x;
				break;
			}
			else
			{
				echo "Der Wert liegt zwischen " . $this->x . " und " . $this->y;
				echo "<br>";
			}
		}
	}
}
?>

<!DOCTYPE html>
<html>
<head>
	<title>Heron Verfahren</title>
</head>
<body>

	<form method="POST">
		<input type="number" name="numfield">	
		<input type="submit">
	</form>
	<?php 
		if(isset($_POST["numfield"]))
		{
			$heron = new Heron((int)$_POST["numfield"], 1);
			$heron->calc();
		}
		else
		{
			echo "Bitte gültige Zahl eingeben!";
		}
	?>

</body>
</html>

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2111844

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.