2次方程式を解の公式を用いて解を求める数値計算例(JavaScript) |
- 2次方程式
2次方程式の解は、解の公式を用いて解析的に求められるので、わざわざコンピュータに解かせる必要はないが、プログラミングの入門には最適な課題である。今回は、解の判別式を用いて、複素解まで求めるようにした。
このプログラムではJavaScriptのフォームを使っている。フォームを使えばプラウザ上でデータ入力ができるので便利である。
- プログラムソース
スクリプト部分
<script language="JavaScript"><!--
function answer()
{
a=document.nizi.a.value;
b=document.nizi.b.value;
c=document.nizi.c.value;
a=parseFloat(a);
b=parseFloat(b);
c=parseFloat(c);
D=b*b-4*a*c;
if(D>0)
{
Re1=(-b+Math.sqrt(D))/(2*a);
Re2=(-b-Math.sqrt(D))/(2*a);
Im1=0;
Im2=0;
document.nizi.re1.value=Re1;
document.nizi.im1.value=Im1;
document.nizi.re2.value=Re2;
document.nizi.im2.value=Im2;
}
else if(D==0)
{
Re1=-b/(2*a);
Im1=0;
Re2=Im2=0;
document.nizi.re1.value=Re1;
document.nizi.im1.value=Im1;
document.nizi.re2.value=Re2;
document.nizi.im2.value=Im2;
}
else
{
Re1=-b/(2*a);
Re2=Re1;
Im1=Math.sqrt(-D)/(2*a);
Im2=-Im1;
document.nizi.re1.value=Re1;
document.nizi.im1.value=Im1;
document.nizi.re2.value=Re2;
document.nizi.im2.value=Im2;
}
}
--></script>
フォーム部分
<form name="nizi">
係数a,b,cの値を半角英数字で入力して「計算する」ボタンを押してください。<br>
a=<input type="text" name="a"><br>
b=<input type="text" name="b"><br>
c=<input type="text" name="c"><br>
Re1=<input type="text" name="re1"><br>
Im1=<input type="text" name="im1"><br>
Re2=<input type="text" name="re2"><br>
Im2<input type="text" name="im2"><br>
<input type="button" value="計算する" onClick="answer()">
</form>
- JavaScript
|
|
|