提出課題:05回目レポート
本文:
1.
1番
2.
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-
total = 0
number = 0
score = []
print"出席回数を入力してください\n"
shusseki = gets.chomp!.to_i
shussekiten = shusseki * 2
print"レポートの合計点と平均点を求めます。\n"
while true
if number > 7
break
end
printf("%d回目のレポートの得点は?\n", number + 1)
score[number] = gets.chomp!
if score[number] == "exit"
break
end
if score[number].to_f < 0 || score[number].to_f > 8
print"再入力してください。\n"
redo
end
total += score[number].to_f
number += 1
end
printf("出席点%13d点\n",shussekiten)
x = 0
if score[number] == "exit"
a = score.length - 1
else
a = score.length
end
print"レポート\n"
while x < a
printf("%d個目%14.1f点\n",x+1,score[x])
x += 1
end
hyoka = shussekiten + total
average = total / number
printf("合計%15.1f点\n" ,hyoka)
printf("レポート平均%7.1f点\n",average)
if hyoka >= 90
print"評価 秀\n"
elsif hyoka >= 80
print"評価 優\n"
elsif hyoka >= 70
print"評価 良\n"
elsif hyoka >= 60
print"評価 可\n"
else
print"評価 不可\n"
end
3.
出席回数を入力してください
14
レポートの合計点と平均点を求めます。
1回目のレポートの得点は?
7
2回目のレポートの得点は?
7
3回目のレポートの得点は?
7
4回目のレポートの得点は?
7.5
5回目のレポートの得点は?
7
6回目のレポートの得点は?
7
7回目のレポートの得点は?
7
8回目のレポートの得点は?
7
出席点 28点
レポート
1個目 7.0点
2個目 7.0点
3個目 7.0点
4個目 7.5点
5個目 7.0点
6個目 7.0点
7個目 7.0点
8個目 7.0点
合計 84.5点
レポート平均 7.1点
評価 優
4.
(5)配列の最初は0番目になるのでnumber = 0 にした
(6)score が配列であることを示す
(8~10)出席回数を入力させ、×2をして出席点数を出す
(15) ~(36)までの指示を繰り返す
(16~18)number = 0 なので、 >7にして8回目の入力で終わるようにする
(20)最初が1回目の~?となるように、number + 1にする
(21)配列であるscore の点数を入力できるようにする。gets.chomp!で文字にも対応する
(22~24)exitが入力された場合、繰り返しが終わるようにする
(27~30)入力された数値がマイナス、または8点よりも大きい場合、再入力を促す。redoで間違えて入力してしまったときの繰り返しをなかったことにする
(34)レポートの合計を計算する
(35)繰り返しの度にnumber を+1する
(39)出席点を表示する
(43~47)exitが入力された場合、score .length でexitを繰り返さないようにするために、if_endで設定をする。また、8回目まで点数が入力された場合は、そのまま反映されるようにscore.lengthにする
(50~54)1個目から○個目までのレポートの点数を順に表示させる
(56)評価点(出席点+レポート合計点)を計算する
(57)レポートの平均点を計算する
(60)評価点を表示する
(61)レポートの平均点を表示する
(64~74)評価点に応じて評価が出るようにif_end で設定する
※termにプログラムを動かしたときは出力結果が揃っていましたが、課題提出の本文に貼り付けたときにずれてしまいました
5.
プログラムが反映される順番を意識しながら作成するとあまり混乱せず作成することができました。応用が入ったときにわからなくなってしまうのでとにかく作ってエラーを見ながら一人でも治せるようになりたいと思いました。
6.
program/index.rb
添付:
report4.rb