2020年2月4日火曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第4章(1次方程式, 2次方程式 )、1(1次方程式)の問7の解答を求めてみる。



    1. 時計の短針の位値を a、長針の位値を b とする。
      ただし位値は分刻みの目盛りとする。

      7時と8時の間の時刻なので、

      35 a 40

      また、

      0 b 60 a = 35 + 5 60 b

      時刻の両針が一直線になる場合、

      b + 30 = a b + 30 = 35 + 5 60 b b - 5 60 b = 5 55 60 b = 5 b = 60 11

      よって、 7時60/11 分。


    2. a = b 35 + 5 60 b = b 55 60 b = 35 b = 60 · 35 55 = 60 · 7 11 = 420 11

      よって、 7時420/11分。

      ことから

      a - 15 = b 35 + 5 60 b - 15 = b 20 = 55 60 b b = 20 · 60 55 = 240 11 a + 15 = b 35 + 5 60 b + 15 = b 50 = 55 60 b b = 60 · 50 55 = 600 11

      よって、 7時240/ 11分または、 7時600/11 分。

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, solve, Rational

print('7.')

b = symbols('b', real=True, nonnegative=True)
a = 35 + 5 * b / 60


class MyTestCase(TestCase):
    def test1(self):
        self.assertEqual(solve(b + 30 - a)[0], Rational(60, 11))

    def test2(self):
        self.assertEqual(solve(35 + 5 * b / 60 - b)[0], Rational(420, 11))

    def test3(self):
        self.assertEqual(solve(a - 15 - b)[0], Rational(240, 11))
        self.assertEqual(solve(a + 15 - b)[0], Rational(600, 11))


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample7.py -v
7.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok
test3 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.011s

OK
%

0 コメント:

コメントを投稿