高校数学10分プログラミング(数学Ⅱ編 1.複素数と方程式)2日目「複素数の四則演算を利用する」
マガジンリスト > 数学Ⅱ編 1.複素数と方程式 > 2日目 課題
おはようございます。
本日は、高校数学10分プログラミング(数学II編 1.複素数と方程式)の2日目です。
本日の課題は、複素数の四則演算を利用するプログラムを作成することです。
課題
$${x=-2+3i}$$、$${y=-2-3i}$$のとき、次の式の値を求めて、結果をコンソールに出力するプログラムを作成してください。
$$
(1) x^2+y^2, \ \ (2) x^3+y^3, (3) \ \ \frac{y}{x}+\frac{x}{y}
$$
ヒント
今回は、課題『高校数学10分プログラミング(数学Ⅱ編 1.複素数と方程式)1日目「複素数の四則演算を行う」』で作成した複素数の四則演算を行う関数 c_sum, c_sub, c_prod, c_div を再利用します。今回の複素数の四則演算を利用するプログラムはソースコード1のようになります。
// 複素数の計算2
void setup(){
// x = -2 + 3i
PVector x = new PVector(-2.0, 3.0);
// y = -2 - 3i
PVector y = new PVector(-2.0, -3.0);
// a1 = x^2 + y^2
PVector a1 =
println("(1)"+ a1.x + "+" + a1.y + "i" );
// a2 = x^3 + y^3
PVector a2 =
println("(2)"+ a2.x + "+" + a2.y + "i" );
// a3 = y/x + x/y
PVector a3 =
println("(3)"+ a3.x + "+" + a3.y + "i" );
}
// 2つの複素数の和を計算する関数
PVector c_sum(
PVector c1,
PVector c2
){
PVector sum = c1.copy().add(c2);
return sum;
}
// 2つの複素数の差を計算する関数
PVector c_sub(
PVector c1,
PVector c2
){
PVector sub = c1.copy().sub(c2);
return sub;
}
// 2つの複素数の積を計算する関数
PVector c_prod(
PVector c1,
PVector c2
){
PVector prod = new PVector();
prod.x = c1.x * c2.x - c1.y * c2.y;
prod.y = c1.x * c2.y + c1.y * c2.x;
return prod;
}
// 2つの複素数の商を計算する関数
PVector c_div(
PVector c1,
PVector c2
){
PVector div = new PVector();
div.x = (c1.x * c2.x + c1.y * c2.y)/(c2.x*c2.x+c2.y*c2.y);
div.y = (-c1.x * c2.y + c1.y * c2.x)/(c2.x*c2.x+c2.y*c2.y);
return div;
}
ソースコード1 複素数の四則演算を利用するプログラム(未完成)
ソースコード1では、setup 関数の中で、PVectorクラスの変数 a1, a2, a3 を準備してそれぞれ課題の(1), (2), (3) の結果を代入して、その後コンソールに出力する形にしています。 a1, a2, a3 に対応する式を複素数の四則演算を行う関数を利用して表し、プログラムを完成させてください。
それでは、よろしくお願いします。
MK's papa
この記事が気に入ったらサポートをしてみませんか?