NEWtral


NEWtralは個人的にプログラムやPCに関することを勉強するために
作ったものです.
時には全く関係ない記事も載せていこうと思います.


先日、2次方程式の解を求めるプログラムをPHPで書く課題が出たので作りました

まだまだ改良の余地がありますが載せておきます


<html>
<head>
<meta charset="utf-8">
<title>2次方程式の解
</head>
<body>
<center>
<form action = "quadratic-equation.php" method = "post">
<font color = "#0000FF">ax² + bx + c = 0</font><br>
<font color = "#FF0000">a, b, c</font>に数を入力してください<br><br>
a = <input type = "text" name = "a"><br>
b = <input type = "text" name = "b"><br>
c = <<nput type = "text" name = "c"><br><br>
<input type = "submit" value = "OK"><br>
</form>
<?php
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
$d = pow($b, 2) - (4 * $a * $c);
$e = (4 * $a * $c) - pow($b, 2);
if($a == 0 && $b == 0 && $c == 0){
print "すべての実数<br>";
}else if($a == 0 && $b == 0 && $c != 0){
print "解なし<br>";
}else if($a == 0 && $b != 0){
$ans = -$c / $b;
print "{$ans}<br>";
}else if($a != 0 && $d == 0){
$ans = -$b / 2 * $a;
print "{$ans}(重解)";
}else if($a != 0 && $d > 0){
$ansp = ( -$b + sqrt($d) )/ (2 * $a);
$ansm = ( -$b - sqrt($d) )/ (2 * $a);
print "異なる2つの実数解をもつ<br>";
print "{$ansp}<br>{$ansm}<br>";
}else if($a != 0 && $d < 0){
$real = (-1 * $b) / (2 * $a);
$imaginary = (-1 * $b - $d) / (2 * $a);
if($real != 0){
print "虚数解<br>";
print "{$real}+{$imaginary}i<br>";
print "{$real}-{$imaginary}i<br>";
}else{
print "{$imaginary}i<br>";
print "-{$imaginary}i<br>";
}
}
?>
<br>
</center>
</body>
</html>


ご指摘ありましたらコメントにお願いします。

CommentForm