高校数学10分プログラミング(数学Ⅱ編 1.複素数と方程式)1日目「複素数の四則演算を行う」解説
マガジンリスト > 数学Ⅱ編 1.複素数と方程式 > 1日目 解説
本日の課題、おつかれさまでした。
2つの複素数の四則演算を行うプログラムを作成することができたでしょうか。
解答例
2つの複素数の四則演算を行うプログラムはソースコード2のようになります。
// 複素数の計算
void setup(){
// c1 = 3 + 4i
PVector c1 = new PVector(3.0, 4.0);
// c2 = 1 + 2i
PVector c2 = new PVector(1.0, 2.0);
// 複素数の和 c1 + c2
PVector sum = c_sum(c1, c2);
println("和:"+ sum.x + "+" + sum.y + "i" );
// 複素数の差 c1 - c2
PVector sub = c_sub(c1, c2);
println("差:"+ sub.x + "+" + sub.y + "i" );
// 複素数の積 c1 * c2
PVector prod = c_prod(c1, c2);
println("積:"+ prod.x + "+" + prod.y + "i" );
// 複素数の商 c1 / c2
PVector div = c_div(c1, c2);
println("商:"+ div.x + "+" + div.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;
}
ソースコード2 2つの複素数の四則演算を行うプログラム(完成版)
開発環境ウィンドウを開いて(スケッチ名を「complex_number」としています)、ソースコード2をそのテキストエディタ部分に記述して、実行してみると、コンソールに
和:4.0+6.0i
差:2.0+2.0i
積:-5.0+10.0i
商:2.2+-0.4i
と出力されます(図1)。
結果の確認
コンソールに出力された結果が正しいことは、手計算で行った結果と比較して確かめておいてください。
本日は以上です。
明日は、複素数の四則演算を利用するプログラムを考えます。
明日もよろしくお願いします。
※今回の課題とその解答例について質問や疑問がある方は、本記事の下部にあるコメント欄からお願いします。
MK’s papa
この記事が気に入ったらサポートをしてみませんか?