教育用計算機システムのターミナルで jupyter-notebook /home/5320954122/notebook/joho18.ipynb と入力すると、ブラウザ上で実行できるようになる。
プログラムを実行するには、In [番号] と出ている行で、キーボードから[Shift]+[Return]を押す。
python3 というプログラミング言語を使って、記述する。 関係する記法としては、
「<残り日数>」の変数名はd とする。
daymonth = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
d = 4 + 87
m = 2
while d > daymonth[m]:
d = d - daymonth[m]
m = m + 1
print('答えは %s 月 %s 日' % (m, d))
def square1(x, delta):
y = 0
while (y + delta)**2 < x:
y = y + delta
return y
print(square1(2, 0.0001))
deltaの値を変化させながら時間を計測するには、実行する行のはじめに「%time 」をつける。
%time square1(2, 0.0001)
%time square1(2, 0.00001)
%time square1(2, 0.000001)
%time square1(2, 0.0000001)
次にアルゴリズム2「二分法による平方根の計算」を試してみる。
def square2(x, delta):
a = 0
b = x
while b - a > delta:
c = (a + b) / 2
if c ** 2 > x:
b = c
else:
a = c
return a
print(square2(2, 0.0001))
また、deltaの値を変えながら試してみる。今度はms (1000分の1秒)ではなくµs(100万分の1秒)の単位の計測結果になる。
%time square2(2, 0.0001)
%time square2(2, 0.00001)
%time square2(2, 0.000001)
%time square2(2, 0.0000001)