TDD Boot Camp(TDDBC) - TDDBC仙台08/課題_2 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!TDDBC仙台08課題:複素数

!!虚数単位

'''虚数単位'''(きょすうたんい : imaginary unit)とは、−1 の平方根(2乗して −1 になる数)である2つの数のうちの1つの数のことである(どちらかを特定することはできない)。
そのような数を記号で '''i''' で表す。

([[Wikipedia|https://ja.wikipedia.org/wiki/%E8%99%9A%E6%95%B0%E5%8D%98%E4%BD%8D]] より抜粋)

!!複素数

a, b を実数として形式的に a + bi の形に書かれる式を一種の数と見做して '''複素数''' (ふくそすう : complex number) と呼ぶ。

複素数 a + bi に対して、a をその '''実部''' (じつぶ : real part) といい、b をその '''虚部''' (きょぶ : imaginary part) という。

([[Wikipedia|https://ja.wikipedia.org/wiki/%E8%A4%87%E7%B4%A0%E6%95%B0]] より抜粋)

!!虚数と純虚数

'''虚数'''(きょすう : imaginary number)とは、実数ではない複素数のことである。

すなわち、複素数 a + bi(a, b は実数、i は虚数単位)のうち、b ≠ 0 を満たすものである。

また、a = 0 かつ b ≠ 0 を満たすものを '''純虚数''' (じゅんきょすう : purely imaginary number) という。

([[Wikipedia|https://ja.wikipedia.org/wiki/%E8%99%9A%E6%95%B0]] より抜粋)

!!ガウス整数

'''ガウス整数'''(ガウスせいすう : Gaussian integer)とは、実部と虚部が共に整数である複素数のことである。

すなわち、a + bi(a, b は整数)の形の数のことである。ここで i は虚数単位を表す。

([[Wikipedia|https://ja.wikipedia.org/wiki/%E3%82%AC%E3%82%A6%E3%82%B9%E6%95%B4%E6%95%B0]] より抜粋)


!!課題1 純虚数

!!!課題1−1 純虚数の生成と文字列表記の取得

* '''虚部''' (きょぶ : imaginary part) を与えて '''純虚数''' (じゅんきょすう : purely imaginary number) を生成してください
** ただし、 虚部は「0ではない整数」とします
* 生成した純虚数から '''文字列表記''' (notation) を取得してください
** 虚部が b である純虚数の文字列表記は bi となります
** ただし、 虚部が 1 および -1 である純虚数の文字列表記は、 それぞれ i と -i となります (1i, -1i でないことに注意)

【例】
// 虚部 に 4 を与えて 純虚数 を生成
PurelyImaginaryNumber sut = new PurelyImaginaryNumber(4);
// 文字列表記は 4i
String notation = sut.getNotation(); // => 4i
// 虚部 に 0 を与えて 純虚数 は生成することができない
new PurelyImaginaryNumber(0); // => エラー

!!!課題1−2 同一性の判定

* 任意の2つの純虚数について、その同一性を判定してください
* 虚部が同一の値を持つ純虚数同士を同一であるとみなします

!!!課題1−3 共役の取得

任意の純虚数 bi に対して、その虚部の符号だけが異なる純虚数 -bi を '''共役''' (きょうやく : conjugate) と呼びます

* 任意の純虚数の共役を取得してください

!!課題2 虚数 (実部 ≠ 0)

!!!課題2−1 虚数の生成と文字列表記の取得

* '''実部''' (実部 : real part) と '''虚部''' (きょぶ : imaginary part) を与えて '''虚数''' (きょすう : imaginary number) を生成してください
** ただし、 実部および虚部は 「0ではない整数」とします
* 生成した虚数から文字列表記を取得してください
** 実部が a、 虚部が b である虚数の文字列表記は a + bi となります
** ただし、 虚部が負の数である虚数の文字列表記は  a - bi となります (b < 0) (a + (-b)i ではないことに注意)

!!!課題2−2 同一性の判定

* 任意の2つの虚数について、その同一性を判定してください
* 実部および虚部が同一の値を持つ虚数同士を同一であるとみなします

!!!課題2−3 共役の取得

任意の虚数 a + bi に対して、その虚部の符号だけが異なる純虚数 a - bi を '''共役''' (きょうやく : conjugate) と呼びます

* 任意の虚数の共役を取得してください
** ただし、任意の虚数 a + bi に対する共役は、その虚部の符号だけが異なる虚数 a - bi です

!ライセンス
[[クリエイティブ・コモンズ・ライセンス|http://i.creativecommons.org/l/by-sa/2.1/jp/88x31.png]]
この演習問題は [[クリエイティブ・コモンズ 表示 - 継承 2.1 日本 ライセンスの下に提供されています。|http://creativecommons.org/licenses/by-sa/2.1/jp/]]