![見出し画像](https://assets.st-note.com/production/uploads/images/157984446/rectangle_large_type_2_032cebaf7039a0a20456f7f5b3565b66.jpeg?width=1200)
高校数学10分プログラミング(数学Ⅱ編 4.指数関数と対数関数)3日目「対数の値を計算する」
マガジンリスト > 数学Ⅱ編 4.指数関数と対数関数 > 3日目 課題
おはようございます。
本日は、高校数学10分プログラミング(数学II編 4.指数関数と対数関数)の3日目です。
本日の課題は、対数の値を計算するプログラムを作成することです。
対数とその性質
$${a>0, \ a \neq 1}$$;$${M>0, \ N>0}$$;$${p}$$は実数、$${n}$$は自然数
① 定義
$$
a^p =M \Leftrightarrow p = \log_a M \ \ \ \ \log_a a^p = p
$$
特に
$$
\log_a a = 1, \ \ \log_a 1=0, \ \ \log_a \frac{1}{a} = -1
$$
② 性質
$$
\log_a MN = log_a M + \log_a N, \ \ \log_a \frac{M}{N} = \log_a M - \log_a N
$$
$$
\log_a M^p = p \log_a M, \ \ \log_a \frac{1}{N} = - \log_a N, \ \ \log_a \sqrt[n]{M} = \frac{1}{n} \log_a M
$$
③ 底の変換公式
$${b>0, \ \ b \neq 0}$$のとき
$$
\log_a M = \frac{\log_b M}{\log_b a}
$$
課題
以下の式を計算してコンソールに出力するプログラムを作成してください。
(1) $${ \log_6 4 + \log_6 9 }$$
(2) $${ \log_{10} 25 + \log_{10} 4 }$$
(3) $${ \log_3 18 - \log_3 2 }$$
(4) $${ \log_2 2\sqrt{6} - \log_2 \sqrt{3}}$$
(5) $${ 2 \log_2 \sqrt{2} - \frac{1}{2} \log_2 3 + \log_2 \frac{\sqrt{3}}{2} }$$
ヒント
Processingでは、任意の底を持つような対数を計算する関数は用意されておらず、自然対数と呼ばれる底$${e = 2.718 \cdots }$$の対数を計算する関数 log のみ用意されています。
log(x);
x:真数 float型
返り値:xの自然対数の値 float型
つまり、この関数 log は、$${ \log_e x}$$の値を返します。
そこで、今回任意の底を持つような対数を計算する関数を準備します。上記で説明した対数の性質③底の変換公式を利用すると、
$$
\log_a x = \frac{ \log_e x}{ \log_e a}
$$
と変換することができるので、底$${a}$$を持つ対数を計算する関数 logarithm は、
// 底aを持つ対数を計算する関数
float logarithm(
float a, // 底
float x // 真数
){
return log(x)/log(a);
}
とすればよいことがわかります。
あとは、この関数を利用して課題の式の値を計算するプログラムを作成してください。なお、プログラムでは、上記の対数の性質②を利用せず、logarithm 関数を利用して課題の式をそのまま計算するようにしてください。
それでは、よろしくお願いします。
MK's papa