第6回 基礎プログラミング II レポート課題 氏名:布川大地 学籍番号:c1091230 語学クラス:英語3 コース(系):政策 1、筆記問題 A. alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"] alphabet[18]はアルファベットの18番目なのでrである。 alphabet[40]は存在しないため、nilの表示がされる。 2、プログラム問題 A. テストの平均点を出すプログラムをつくった。 ・プログラム本体 #!/usr/koeki/bin/rb def average(score) # scoreは数値がたくさんしまわれる配列 sum = 0.0 # 割り算する予定なので浮動小数点数にしておく for tests in score # for A in B で B の中の A について sum += tests # printf("%d 教科 途中合計 sum=%d\n", score.length + 1, sum) end sum / score.length #配列 score の要素数を数え、それで sum を割る end points = Array.new # からっぽの配列 test を作る # i=0 # i が points の添字となる(入力された行を数える添字) print("終了の場合はCtrl-d \n") while true STDERR.print "テストの点数を入力して下さい: " line = gets if line == nil break end points << line.to_i # 上か下かどちらかでよい # test[i] = line.to_i # p test # i += 1 end printf("\n みんなの平均は %3.1f です\n", average(points)) sleep 1 if average(points) == 100 print("素晴らしい! \n") elsif average(points) >= 80 print("すげぇな! \n") elsif average(points) >= 60 print("究極の一夜づけやなー \n") elsif average(points) >= 40 print("赤点ギリギリじゃん! \n") elsif average(points) >= 0 print("追試! \n") end ・実行結果 pan{c109123}% ./def_statistic.rb [~/Ruby] 終了の場合はCtrl-d テストの点数を入力して下さい: 69 テストの点数を入力して下さい: 96 テストの点数を入力して下さい: 90 テストの点数を入力して下さい: 100 テストの点数を入力して下さい: 78 テストの点数を入力して下さい: ^D みんなの平均は 86.6 です すげぇな! pan{c109123}% [~/Ruby] になった。 ・講評 授業のなかで勉強を参考にしながらうまくつくれた。 3、感想 FFとかドラゴンクエストなどのゲームはゲーム上の選択肢のなかでエンディング が異なっているので method の考え方を使えそうである。 4、参考文献 基礎プログラミング II 第6回 目的に応じて使ってみよう 5、共同学習者 池田博哉、渡辺力、藤井駿