情報領域演習第一:P演習
電気通信大学情報理工学域I類 (情報系)
2024年度後学期
[一覧に戻る]
課題D1
問題
銀行口座の動きを真似するような,次のプログラムを作成せよ.
まず,広域変数 \$balance で,残高を表す.\$balance の初期値は整数0であるとする.
広域変数 \$balance の値を見たり,値を変更することで,次の操作を行うメソッドを作成する.
- 銀行口座を初期化する initialize_balance.つまり,initialize_balance を実行すると,\$balance が 0 になる.
- 残高をそのまま返す get_balance.
- xだけ預け入れる deposit(x).つまり,deposit(x) を実行すると,\$balanceが \$balance + x となる.
- xだけ引き出す withdraw(x).つまり,xが\$balance以下の場合は,\$balanceが \$balance - xとなり,xが\$balanceよりも大きい場合,残高が0になる.(注:本来,xが\$balanceよりも大きい場合,引出しが行われてはならないが,ここでは問題を簡単にするため,引き出せる限り引き出せるものとする.)
入力仕様
- x は必ず1000以下の非負整数である.
- プログラムの実行中で,\$balance が1000000を超えることはない.
- initialize_balanceの実行後にのみ,get_balance, deposit(x), withdraw(x) は実行される.
出力仕様
- initialize_balance, get_balance, deposit(x), withdraw(x) を実行したとき,実行後の \$balance の値を出力する.
例
irb> initialize_balance
=> 0
irb> deposit 50
=> 50
irb> deposit 30
=> 80
irb> withdraw 40
=> 40
irb> withdraw 60
=> 0
irb> deposit 90
=> 90
irb> initialize_balance
=> 0
irb> withdraw 10
=> 0
irb> deposit 20
=> 20
irb> get_balance
=> 20
提出法
CEDにて,プログラムを作成したディレクトリで以下を実行せよ.
% /ced-home/staff/enshu1p/checker_d1.rb ファイル名
「Submission successfully completed.」と表示されれば,提出が完了したことになる.
[一覧に戻る]