Hola comunidad , Pidiéndoles un poco de su ayuda, estoy haciendo una operación en
PHP de la función cuadrática pero no me surge y la estoy necesitando con un poco de
urgencia aquí les pego el código para que me rectifiquen y me ayuden .
Les adjunto la imagen y también el link de la Función Cuadrática que necesito hacer.
http://www.profesorenlinea.cl/imagenmatematica/funcion_cuadr_graficar003.gif (http://www.profesorenlinea.cl/imagenmatematica/funcion_cuadr_graficar003.gif)
----------------------------------------------------------------------------------------------------
<?php class Operaciones implements Calculos{ //put your code here private $a; private $b; private $c; function __construct($a, $b, $c) { $this->a = $a; $this->b = $b; $this->c = $c; } public function getA() { return $this->a; } public function getB() { return $this->b; } public function getC() { return $this->c; } public function setA($a) { $this->a = $a; } public function setB($b) { $this->b = $b; } public function setC($c) { $this->c = $c; } public function cuadratica() { $cuadratica= -$this->b + floatsqrt($this->b*$this->b); } }?>
Hola Cesar Gracias por tu ayuda esta excelente ! pero por que cundo armo todo el codigo me dice que las variables $b, $a, $c seems to be uninitialized ? no entiendo ? si ya esta inicializadas con el private.
----------------------------------------------------------------------------------------------
Tambien quisiera saber que significa en el código NAN;
-----------------------------------------------------------------------------------------------
Te pego el código.
<?php include_once 'Calculos.php';class Operaciones implements Calculos{ //put your code here private $a; private $b; private $c; function __construct($a, $b, $c) { $this->a = $a; $this->b = $b; $this->c = $c; } public function getA() { return $this->a; } public function getB() { return $this->b; } public function getC() { return $this->c; } public function setA($a) { $this->a = $a; } public function setB($b) { $this->b = $b; } public function setC($c) { $this->c = $c; } public function cuadratica() { $d = $b*$b -4*$a*$c; $e = 2*$a; if ($d==0) { $cuadratica[0] = -$b/$e; $cuadratica[1] = $cuadratica[0]; } else { if ($d>0) { $cuadratica[0] = (-$b + sqrt($d))/$e; $cuadratica[1] = (-$b - sqrt($d))/$e; } else { $cuadratica[0] = NAN; $cuadratica[1] = NAN; } } return $cuadratica; } }?>
Gracias Cesar pude solucionarlo con el $this :)
Pero Ahora me surge este pequeño problema, cuando quiero sacar los valores ! :(
Este es el código llamado probador.
Cuando lo ejecuto me sale error diciéndome :
Notice: Array to string conversion in C:\xampp\htdocs\FCuadratica\Probador.php on line 29
--> Array
-------------------------------------------------------------------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<title> Programa </title>
<?php include_once 'Operacion.php'; include_once 'Calculos.php'; ?>
</head>
<body>
<?php $a=4; $b=5; $c=1; $p = new Operacion ($a, $b, $c); echo " --> " . $p->Cuadratica()."</br>"; ?>
</body>
</html>
-He colocado el codigo de esta manera y tampoco me realiza la operación! :(
Tratando de encontrar la solución !
-----------------------------------------------------------------------------------------------
<?php array ($a=4, $b=5, $c=1); $p = new Operacion ($a, $b, $c); echo " --> " . $p->Cuadratica()."</br>"; ?>
Tienes que tener en cuenta que el método te devuelve dos resultados, en un array, el primer resultado con índice cero y el segundo resultado con índice 1:
Así me funciona a mí (tienes que poner el nombre de archivo que estés usando tú):
<?php include_once 'archivoPrueba.php';$a = -2;$b = 1;$c = 1;$p = new Operaciones($a, $b, $c);echo 'Valor de a: '.$a.'<br/>';echo 'Valor de b: '.$b.'<br/>';echo 'Valor de c: '.$c.'<br/><br/>';echo 'Solucion 1: '. $p->Cuadratica()[0].'<br/>';echo 'Solucion 2: '. $p->Cuadratica()[1];?>
<?php class Operaciones{ //put your code here private $a; private $b; private $c; function __construct($a, $b, $c) { $this->a = $a; $this->b = $b; $this->c = $c; } public function getA() { return $this->a; } public function getB() { return $this->b; } public function getC() { return $this->c; } public function setA($a) { $this->a = $a; } public function setB($b) { $this->b = $b; } public function setC($c) { $this->c = $c; } public function cuadratica() { $d = $this->b*$this->b -4*$this->a*$this->c; $e = 2*$this->a; if ($d==0) { $cuadratica[0] = -$this->b/$e; $cuadratica[1] = $cuadratica[0]; } else { if ($d>0) { $cuadratica[0] = (-$this->b + sqrt($d))/$e; $cuadratica[1] = (-$this->b - sqrt($d))/$e; } else { $cuadratica[0] = NAN; $cuadratica[1] = NAN; } } return $cuadratica; }}?>