IEにおいて、[Math Processing Error] となって数式等が正しく表示されないときは、互換表示をOFFにすること!

2次方程式を解く

 実数係数の2次方程式 ax2 + bx + c = 0 を実数の範囲で解きますが、 コンピュータに因数分解させるのは難しいので、 解の公式を使いましょう!
画面表示では指数表現できないので ax^2 + bx + c = 0 と書きます。

  準備(高校数学の復習)

  仕様

  1. 係数 a, b, c を入力
  2. 判別式 D(discriminant)の符号で場合分け

  作成

  1. まず流れ図(フローチャート)を書く
  2. 下のプログラムを完成する
/* 2次方程式を解くプログラム */
#include <stdio.h>

main()
{
	float	a, b, c, disc, x1, x2;

	printf("2次方程式 ax^2 + bx + c = 0 を解きます\n");
	printf("係数 a, b, c を入力して下さい:");
	scanf("%f %f %f", &a, &b, &c );

	/* 解の公式を使って、if文で場合分けを実現する */

}
/* end of eq1.c */

方程式 ax2 + bx + c = 0 を解く

 実数係数の方程式 ax2 + bx + c = 0を実数の範囲で解きますが、 今回は a = 0 や a = b = 0 の場合等も考慮しましょう!(高々2次の方程式と呼びます!)

  仕様

  1. 係数 a, b, c を入力
  2. a ≠ 0 の場合は 2次方程式
  3. a = 0, b ≠ 0 の場合は 1次方程式を解く
    「与えられた1次方程式の解は○○です。」と表示
  4. a = b = 0, c ≠ 0 の場合は 解なし
    「与えられた方程式を満たす解はありません。」と表示
  5. a = b = c = 0 の場合は 不定
    「与えられた方程式は不定です。」と表示

  作成

  1. まず流れ図(フローチャート)を書く
  2. 下のプログラムを完成する
/* 高々2次の方程式を解くプログラム */
#include <stdio.h>

main()
{
	float	a, b, c, disc, x1, x2;

	printf("方程式 ax^2 + bx + c = 0 を解きます\n");
	printf("係数 a, b, c を入力して下さい:");
	scanf("%f %f %f", &a, &b, &c );

	/* if文で場合分けを実現する */

}
/* end of eq2.c */