PHP :: Aufgabe #185

1 Lösung Lösung öffentlich

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ß :)

Lösungen:

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>
1809795

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.