Back

情報科学概論 Aクラス 宿題 2003.6.3 解答例


2次方程式 2 x2 + 3 x + c = 0 の解を,「解と係数 の関係」の項式を利用して小数第2位まで求めよ.ただし,定数 c の値 はコマンドライン引数として与えるものとする.

また,動作結果は次のようになるものとする.


解答例

include Math

c = ARGV[0].to_f
a = 2.0; b= 3.0
aa = 2 * a

root = b * b - 4 * a * c

if root >= 0
  x1 = ( -b + sqrt(root)) / aa
  x2 = ( -b - sqrt(root)) / aa
  printf "x = %1.2f and %1.2f\n", x1, x2
else
  re1 = -b / aa
  im1 = sqrt(-root) / aa
  im2 = -sqrt(-root) / aa
  printf "x = %1.2f + %1.2f i ", re1, im1
  printf "and %1.2f - %1.2f i\n", re1, -im2
end


情報科学概論 Bクラス 宿題 2003.6.3 解答例


2次方程式 2 x2 - 3 x + c = 0 の解を,「解と係数 の関係」の項式を利用して小数第2位まで求めよ.ただし,定数 c の値 はコマンドライン引数として与えるものとする.

また,動作結果は次のようになるものとする.


解答例

include Math

c = ARGV[0].to_f
a = 2.0; b= -3.0
aa = 2 * a

root = b * b - 4 * a * c

if root >= 0
  x1 = ( -b + sqrt(root)) / aa
  x2 = ( -b - sqrt(root)) / aa
  printf "x = %1.2f and %1.2f\n", x1, x2
else
  re1 = -b / aa
  im1 = sqrt(-root) / aa
  im2 = -sqrt(-root) / aa
  printf "x = %1.2f + %1.2f i ", re1, im1
  printf "and %1.2f - %1.2f i\n", re1, -im2
end


Back