基本情報技術者試験のサンプル問題を解こう!(9)(科目B)「関数calcの計算結果」

スポンサーリンク
コンピューター IT系

基本情報技術者試験のサンプル問題(科目B)を解いてみよう。

今回のテーマは、「関数calcの計算結果」である。

正解:オ

この問題は、関数 calc が x² + y² の平方根(すなわち斜辺の長さ)を計算するプログラムを読み解くものである。


関数calcの目的

  • 関数 calc(x, y) は、2つの正の実数 xy を受け取り、戻り値として、
    $\sqrt{\left( x^{2}+y^{2}\right) }$(三平方の定理に基づく直角三角形の斜辺)を返すことを目的としている。
  • pow(a, b) は、 ab 乗した値を返す関数である。

選択肢と関数calcを検討しよう

選択肢から目的の計算式に一致するものを検討していこう。

(pow(x, 2)+pow(y, 2)) ÷ pow(2, 0.5)
(x² + y²) / √2:明らかに違う。

(pow(x, 2)+pow(y, 2)) ÷ pow(x, y)
(x² + y²) / (xʸ):何の関連もなし。

pow(2, pow(x,0.5)) + pow(2, pow(y,0.5))
不要に複雑で意味不明。

pow(pow(pow(2, x), y), 0.5)
√(2^(x·y)):全く異なる。

pow(pow(x, 2) + pow(y, 2), 0.5)
$\sqrt{\left( x^{2}+y^{2}\right) }$:求めたい式に完全一致

pow(x, 2) × pow(y, 2) ÷ pow(x, y)
(x² · y²) ÷ (xʸ) :√の演算ではなく、全く異なる式。

pow(x, y) ÷ pow(2, 0.5)
xʸ ÷ √2 :$ \sqrt{\left( x^{2}+y^{2}\right) }$とは関係ない演算。

したがって、正解は「オ」となる。


もう一度「選択肢 オ」の計算結果をみてみよう

  1. pow(x, 2) によって x² を計算。
  2. 同様に pow(y, 2) で y² を算出。
  3. それらの合計を括弧でグルーピングし、pow(..., 0.5) を使うことで平方根(0.5 乗)が得られる。

pow(pow(x,2)+pow(y,2), 0.5) はまさに$ \sqrt{\left( x^{2}+y^{2}\right) }$の計算を意味する。


解法のポイント

  • 平方根の定義:√A = A^(1/2) であり、pow(A, 0.5) と同義。
  • 選択肢の式を見て、x² + y² の “平方根” を取る必要があることがわかれば、「オ」のみが正しいと判断できる。

コメント

タイトルとURLをコピーしました