見出し画像

基本情報技術者試験〔科目B〕演習2022年サンプル問題 問5(文法問題)

次のプログラム中の□に入れる正しい答えを、解答群の中から選べ。
 関数calc は、正の実数xとyを受け取り、√(x^2+y^2 )

の計算結果を返す。関数calcが使う関数powは、第1引数として正の実数aを、第2引数として実数bを受け取り、aのb乗の値を実数型で返す。

〔プログラム〕
1: 〇実数型:calc (実数型: x, 実数型: y)
2:  return □

解答:pow(pow(x, 2) + pow(y, 2), 0.5)

プログラム構造の分析

  1. 関数 calc の戻り値型は「実数型」。

  2. 引数 x と y は「正の実数型」。

  3. return 文でユークリッド距離の計算結果を返す。

ユークリッド距離の公式:√(x^2+y^2 )

これを pow 関数を使って表現すると:

  1. x2 は pow(x, 2)。

  2. y2は pow(y, 2)。

  3. x2 + y2は pow(x, 2) + pow(y, 2)。

  4. これの平方根(0.5乗)は pow(pow(x, 2) + pow(y, 2), 0.5)。

・Java でコーディング
public class Main {
// calc関数を定義
public static double calc(double x, double y) {
// √(x^2 + y^2) を返す
return Math.pow(Math.pow(x, 2) + Math.pow(y, 2), 0.5);
}
public static void main(String[] args) {
// テストデータ
double x = 3.0;
double y = 4.0;
// calc関数の呼び出し 
double result = calc(x, y);
// 結果を出力 
System.out.println("The result is: " + result); // 出力: 5.0 } }  

・Python でコーディング
 import math 
# calc関数を定義
def calc(x, y):
# √(x^2 + y^2) を返す 
return math.pow(math.pow(x, 2) + math.pow(y, 2), 0.5) 
# テストデータ x = 3.0y = 4.0 # calc関数の呼び出し
 result = calc(x, y)
# 結果を出力 
print(f"The result is: {result}")
# 出力: 5.0

補足
・平方根とは
「面積がわかっているとき、正方形の辺の長さは何センチメートルか?」と考えるのが「平方根」の考え方である。0.5乗は平方根である。

  • 面積が 9平方センチメートル の正方形を考えると、辺の長さは 3cm である。

  • これを数学的に書くと、平方根の記号√ を使って次のように表せる: = 3

→ 9の平方根は3 と表せる。
・ユークリッド距離とは
Chat -GPTによる解説
ユークリッド距離は、平面上の2点間の直線の距離を計算する方法です。
簡単な例
例えば、地図の上で次の2点を考えてみましょう:

  • A点:家(横に3km、縦に4kmの位置)

  • B点:学校(家から見て、真っすぐの直線でどれだけ離れているかを計算したい)

横の距離と縦の距離が分かっているとき、直線距離を計算するには次の公式を使います:
直線距離=√(〖(横の距離)〗^2+〖(縦の距離)〗^2 )

具体的な計算

  1. 横の距離:3km

  2. 縦の距離:4km

  3. 直線距離: = = 5

つまり、A点とB点の間のユークリッド距離は 5km です。

※記事中の平方根の数式は、プレーンテキストで表記した。
以上。

いいなと思ったら応援しよう!