設問
本日の授業で扱った成績表作成スクリプトを修正して以下のように,成績をABCD 評価でランダム表示するものに変更する.各教科ごとにAの成績をとった学生の 数を表示する機能を加えよ.結果の表示は以下のようになるものとする.
番号 英語 数学 物理 001 D A C 002 D A B 003 A C D 004 C C A 005 C A A A 1 3 2 |
ここで,ABCDの出現確率はAが3割,Bが3割,Cが2割,Dが2割となるようにする こと.方法は,文字列配列の要素の個数を調整して行う.
printf "番号 英語 数学 物理\n" data_size = rand(5) + 5 data_ary = [] ary = ["A", "A", "A", "B", "B", "B", "C", "C", "D", "D"] for i in 0..data_size-1 data_ary[i] = Array.new(4) end for i in 0..data_size-1 data_ary[i][0] = "00" + (i+1).to_s for j in 1..3 data_ary[i][j] = ary[rand(10)] end end for i in 0..data_size-1 for j in 0..3 printf "%4s ", data_ary[i][j] end printf "\n" end num = ["A", 0, 0, 0] for i in 0..data_size-1 for j in 1..3 if data_ary[i][j] == "A" num[j] += 1 end end end for i in 0..3 printf "%4s ", num[i] end printf "\n" |
設問
本日の授業で扱った成績表作成スクリプトを修正して以下のように,成績をABCD 評価でランダム表示するものに変更する.各教科ごとにBの成績をとった学生の 数を表示する機能を加えよ.結果の表示は以下のようになるものとする.
番号 英語 数学 物理 001 B D A 002 B A C 003 C D A 004 A B B 005 A D B 006 B D A 007 C C C 008 A C B 009 B B B B 4 2 4 |
ここで,ABCDの出現確率はAが3割,Bが3割,Cが2割,Dが2割となるようにする こと.方法は,文字列配列の要素の個数を調整して行う.
printf "番号 英語 数学 物理\n" data_size = rand(5) + 5 data_ary = [] ary = ["A", "A", "A", "B", "B", "B", "C", "C", "D", "D"] for i in 0..data_size-1 data_ary[i] = Array.new(4) end for i in 0..data_size-1 data_ary[i][0] = "00" + (i+1).to_s for j in 1..3 data_ary[i][j] = ary[rand(10)] end end for i in 0..data_size-1 for j in 0..3 printf "%4s ", data_ary[i][j] end printf "\n" end num = ["B", 0, 0, 0] for i in 0..data_size-1 for j in 1..3 if data_ary[i][j] == "B" num[j] += 1 end end end for i in 0..3 printf "%4s ", num[i] end printf "\n" |
Back |