【基本情報】コード掲載!科目B問5「斜辺の長さを求めるプログラム」について解説します

20231105_sample_b_q5 資格試験

基本情報の午後試験はプログラム問題です.

科目B問題を解けるようになるにはプログラムを元に自分でコードを書いてみるのが1番良いでしょう.

今回は科目B問5斜辺の長さを求めるプログラムの解説とそのコードを紹介します..
プログラムを元にPythonで書き直しました.

Pythonで書いてみたので是非手元で実行してみてください

サンプル問題 科目B 問5「斜辺の長さを求めるプログラム」

問題文は以下のとおりです.
斜辺の長さを求める問題ですね.

問5 問題文と回答選択肢|クリックして拡大できます

pow関数はべき乗を求める関数です.

pow(base, exp, mod=None)
組み込み関数
Python インタプリタには数多くの関数と型が組み込まれており、いつでも利用できます。それらをここにアルファベット順に挙げます。,,,, 組み込み関数,,, A, abs(), aiter(), all(), anext(), any(), ascii(),, B, bin(), bool(), breakpoint...

baseのexp乗を求めます.
例えば,pow(2, 2)とすると2の2乗を意味します.

1つ目の引数は数,2つ目の引数は指数を表します.

xの2乗であれば,pow(x, 2)を書けますね.

プログラムをPythonで書き直す

問5に掲載されているプログラムを元にPythonで書き直しました.

def calc(x: int, y: int):
    return pow(pow(x, 2) + pow(y, 2), 0.5)

print(calc(3, 4))
プログラムの実行結果|クリックして拡大できます

引数に3と4を渡してプログラムを実行しました.
その結果は5となりました.

これは3, 4, 5の直角三角形ですね.
5が斜辺の長さなのでちゃんと求められていそうですね.

【数学】三平方の定理が成り立つ三辺の比:最重要7パターン ~受験の秒殺テク(5)~|クリックして拡大できます

この問題はpow関数を知らなくても解けました.

x^2 + y^2

xの2乗とyの2乗を足しているので足し算をしていない選択肢は回答から外せます.
よって4つに絞られました.

  • 「ア」:(pow(x, 2) + pow(y, 2)) ÷ pow(2, 0.5)
  • 「イ」:(pow(x, 2) + pow(y, 2)) ÷ pow(x, y)
  • 「ウ」:pow(2, pow(x, 0.5)) + pow(2, pow(y, 0.5))
  • 「オ」:pow(pow(x, 2) + pow(y, 2), 0.5)

平方根は2乗すると整数になる数です.
割り算(÷)は平方根に関係がないため選択肢から外れます.

xの2乗とyの2乗の平方根にしては「ウ」は計算式が多いので,消去法として「オ」と回答もできます.

「オ」:pow(pow(x, 2) + pow(y, 2), 0.5)

まとめ

今回は科目B問5「斜辺の長さを求めるプログラム」について紹介しました.

pow関数など普段使わない関数を使っていると回答に悩みますね.

このような場合は計算式に合う処理を探すと良いでしょう.
計算式から「xの2乗とyの2乗を足し算する」と分かったので足し算していない選択肢は外せましたね.

それだけで4/6に絞れたのは大きいですね.

わからない処理でも消去法を使うと正答確率が上がるので積極的に使っていきましょう!