123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <html>
- <head>
- <title>Quadratic Equation Solver</title>
- </head>
- <body>
- <?php
-
- /** Error reporting **/
- error_reporting(E_ALL);
-
- /** Include path **/
- set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../Classes/');
-
- ?>
- <h1>Quadratic Equation Solver</h1>
- <form action="Quadratic2.php" method="POST">
- Enter the coefficients for the Ax<sup>2</sup> + Bx + C = 0
- <table border="0" cellpadding="0" cellspacing="0">
- <tr><td><b>A </b></td>
- <td><input name="A" type="text" size="8" value="<?php echo (isset($_POST['A'])) ? htmlentities($_POST['A']) : ''; ?>"></td>
- </tr>
- <tr><td><b>B </b></td>
- <td><input name="B" type="text" size="8" value="<?php echo (isset($_POST['B'])) ? htmlentities($_POST['B']) : ''; ?>"></td>
- </tr>
- <tr><td><b>C </b></td>
- <td><input name="C" type="text" size="8" value="<?php echo (isset($_POST['C'])) ? htmlentities($_POST['C']) : ''; ?>"></td>
- </tr>
- </table>
- <input name="submit" type="submit" value="calculate"><br />
- If A=0, the equation is not quadratic.
- </form>
-
- <?php
- /** If the user has submitted the form, then we need to execute a calculation **/
- if (isset($_POST['submit'])) {
- if ($_POST['A'] == 0) {
- echo 'The equation is not quadratic';
- } else {
- /** So we include PHPExcel to perform the calculations **/
- include 'PHPExcel/Calculation.php';
-
- /** Calculate and Display the results **/
- echo '<hr /><b>Roots:</b><br />';
-
- $callStartTime = microtime(true);
- $discriminantFormula = '=POWER('.$_POST['B'].',2) - (4 * '.$_POST['A'].' * '.$_POST['C'].')';
- $discriminant = PHPExcel_Calculation::getInstance()->calculateFormula($discriminantFormula);
-
- $r1Formula = '=IMDIV(IMSUM(-'.$_POST['B'].',IMSQRT('.$discriminant.')),2 * '.$_POST['A'].')';
- $r2Formula = '=IF('.$discriminant.'=0,"Only one root",IMDIV(IMSUB(-'.$_POST['B'].',IMSQRT('.$discriminant.')),2 * '.$_POST['A'].'))';
-
- echo PHPExcel_Calculation::getInstance()->calculateFormula($r1Formula).'<br />';
- echo PHPExcel_Calculation::getInstance()->calculateFormula($r2Formula).'<br />';
- $callEndTime = microtime(true);
- $callTime = $callEndTime - $callStartTime;
-
- echo '<hr />Call time for Quadratic Equation Solution was '.sprintf('%.4f',$callTime).' seconds<br /><hr />';
- echo ' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB<br />';
- }
- }
-
- ?>
-
- </body>
- <html>
|