
一次関数を計画と意思決定に使います。
まず自分で予想してから、コードを動かしてみよう!

結果だけでなく、そう考えた理由も説明してみます。

QUESTION まず考えよう
現在5000円、毎月3000円を貯金すると、3万円に達するのは何か月後でしょう?
PREDICT 実行前の予想
到達月を予想し、月ごとの値も考えてください。
TRY 実行して確かめよう
TRY
import matplotlib.pyplot as plt
from sympy import symbols, Eq, solve
x = symbols('x')
month = solve(Eq(5000 + 3000*x, 30000), x)[0]
print('計算上の到達時点:', month)
months = list(range(0, 11))
savings = [5000 + 3000*m for m in months]
plt.plot(months, savings, marker='o')
plt.axhline(30000, color='red', linestyle='--', label='目標')
plt.legend()
plt.grid(True)
plt.show()
グラフや数値のどこが予想と同じで、どこが違ったかを見つけましょう。
CHECK 結果を読み取ろう
解が整数でない場合、実際には何か月目に目標を超えるか考えてください。
📖 考え方を確認する
計算上は8.33か月なので、月単位で貯金するなら9か月目に3万円を超えます。
CHALLENGE 自分で直してみよう
8か月以内に達成するため、毎月の貯金額をいくら以上にすべきか求めてください。
CHALLENGE
from sympy import symbols, Eq, solve
monthly = symbols('monthly')
# 5000 + monthly*8 = 30000 を解こう📖 解答例と解説
from sympy import symbols, Eq, solve
monthly = symbols('monthly')
answer = solve(Eq(5000 + monthly*8, 30000), monthly)[0]
print('毎月必要な金額:', answer, '円')毎月3125円以上が必要です。計算結果を実行可能な計画に直します。
POINT
- 式で計画の見通しを立てる
- 小数の時点を実際の単位に合わせて解釈する
- 条件を変えて改善案を作る
NEXT 次の学びへ

最後の応用では、2人の移動を2本の直線として考えます。
振り返り:今回使った命令、結果から分かったこと、この方法を使える場面を、それぞれ1文で書きましょう。