関数

テーマ

プログラミング · 関数 · QUESTION 001

乱数()は0以上1未満の実数をランダムに返す関数であり、整数(x)は実数xを超えない最大の整数を返す関数である。
1から5の整数をランダムに返す関数は次のうちどれか。

1.5 * 整数(乱数())
2.5 * 整数(乱数()) + 1
3.整数(5 * 乱数())
4.整数(5 * 乱数()) + 1
答えと解説を見る

答え4.整数(5 * 乱数()) + 1

解説0以上1未満の乱数に5を掛けて整数部分を取り、1を加えると1〜5になります。
整数部分は0〜4のいずれかです。

プログラミング · 関数 · QUESTION 002

正の実数aと実数bに対して、べき乗(a, b)はaのb乗を計算して返す関数である。
正の実数x, yに対して、√(x²+y²)の計算結果を返す関数は次のうちどれか。

1.(べき乗(x, 2) + べき乗(y, 2)) / 2
2.べき乗(べき乗(x, 2), 0.5) + べき乗(べき乗(y, 2), 0.5)
3.べき乗(べき乗(x, 2) + べき乗(y, 2), 0.5)
4.べき乗(べき乗(x + y, 2), 0.5)
答えと解説を見る

答え3.べき乗(べき乗(x, 2) + べき乗(y, 2), 0.5)

解説直角三角形の斜辺は、二辺の二乗和の平方根で求めます。
辺が3と4なら、√(3²+4²)=5です。

プログラミング · 関数 · QUESTION 003

以下のように定義された関数 面積(x, y)を用いた次のプログラムで、aに3、bに4を入力して実行した際の表示結果を答えよ。

(1)定義する 面積(x, y)
(2)| z = x * y / 2
(3)⎿ 返す z

プログラム
(1)a = 【外部からの入力】 #3と入力
(2)b = 【外部からの入力】 #4と入力
(3)c = 面積(a, b)
(4)表示する("面積は", c)
答えと解説を見る

答え面積は6

解説三角形の面積は底辺×高さ÷2です。
底辺3、高さ4を関数へ渡すと、面積は6になります。

プログラミング · 関数 · QUESTION 004

以下のように定義された関数factorial(n)について、表示する(factorial(5))を実行した際の表示結果を答えよ。

(1)定義する factorial(n)
(2)| もし n == 0 ならば:
(3)| |  返す 1
(4)| そうでなければ:
(5)⎿ ⎿ 返す n * factorial(n - 1)
答えと解説を見る

答え120

解説再帰関数では、5!を5×4!、4!を4×3!のように小さい問題へ分解します。
0!を1とする終端条件まで進めると120です。

プログラミング · 関数 · QUESTION 005

以下のように定義された関数fibo(n)について、表示する(fibo(5))を実行した際の表示結果を答えよ。

(1)定義する fibo(n)
(2)| もし n <= 2 ならば:
(3)| |  返す 1
(4)| そうでなければ:
(5)⎿ ⎿ 返す fibo(n - 1) + fibo(n - 2)
答えと解説を見る

答え5

解説フィボナッチ型の関数は、nが小さいときの値を決め、それ以外では直前二つの値を足します。
基底値を1とすると、5番目の値は5です。

分野