提出課題1
Note
- 締め切りや提出方法・提出先については指示を出すのでそれに従ってください。
- 提出する際には必ず各課題のファイル名をそれぞれ
kadai1-1.py
,kadai1-2.py
, ... として提出してください。 - テキストの1-1、1-2、1-3、2-3、3-2を適宜参照してください。
Tip
- コマンドラインからPythonプログラムを実行する際にキーボードからの標準入力を
受け取るには組み込み関数の
input
を使うことができます。
例えば とすると、プログラムが実行されるとキーボードからの入力を促すメッセージが表示され、 ユーザが何か入力するとその入力が変数x
に格納されます。
ただし、キーボード入力は文字列として読み込まれるので、整数や実数として用いたい場合には文字列から型を変換する必要があります。 例えば、x = int(x)
とすれば整数に、x = float(x)
とすれば実数に変換することができます。 - 数学関数を用いる際には
と
math
モジュールをインポートしてください。
課題1-1
標準入力から与えられた文字列をそのまま出力するプログラムを作成せよ。
課題1-2
標準入力から三角形の底辺と高さを読み込み、三角形の面積を表示するプログラムを作成せよ。
課題1-3
標準入力で与えられた実数 \(x\) について、テイラー展開の公式
\[
\sin x = x - \frac{x^3}{3 !} + \frac{x^5}{5 !} - \frac{x^7}{7 !} \cdots
\]
を用いた(7次で打ち切った) \(\sin x\) の近似値と math.sin(x)
との差を出力するプログラムを作成せよ。
課題1-4
標準入力で与えられた2つの整数 n
および m
の最大公約数を求めて出力するプログラムを作成せよ。
課題1-5
標準入力で与えられた実数 \(a (> 0)\) の平方根の近似値を以下のような逐次近似
\[
x_{n+1} = \frac{1}{2} \left( \frac{a}{x_{n}} + x_{n} \right)
\]
で誤差が \(10^{-6}\) 以下になるまで求め、近似値と math.sqrt(a)
との差を出力するプログラムを作成せよ。
ただし \(x_n\) は \(n\) 番目の反復における近似値を表し、初期値は \(x_0 = a\) とする。
課題1-6
標準入力で与えられた2つの整数 n
および、m
から、m
個の乱数を用いて n
次元超級の体積を、
モンテカルロ法を用いて計算し、その結果を出力するプログラムを作成せよ。