第6回 基礎プログラミング II レポート課題 氏名:及川 雄寛 学籍番号:c1090302 語学クラス:英語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"] 配列は左から順に0から始まるため、alphabet[18]=配列 alphabet の19番目の要素は"s"となる。 また、alphebet[40]=配列 alphabet の41番目の要素は配列内に要素が25個までしか無いため、nil となる。 2. A. a.考えた設定:あるクラスの平均値を計算させ、表示させるプログラムを考えた。 b.作成したプログラム:def_statistic.rb #!/usr/koeki/bin/ruby def average(score) #scoreは数値をたくさんしまわれる配列 sum = 0.0 #割り算するので、浮動小数点にする。 for tensuu in score #for A in B で Bの中のAについて sum += tensuu # printf("%d人目 途中合計 sum=%d\n", score. length + 1, sum) end sum / score.length #配列 scoreの要素数を数え、それで sumを割る end points = Array.new #からっぽの配列 points を作る。 # i=0 #i が pointsの添字となる。(入力された行を数える添字) while true STDERR.print "点数を入力して下さい: " line = gets if line == nil break end points << line.to_i #上かしたかどちらかでよい # points[i] = line.to_i # p points # i += 1 end printf("\n クラスの平均は %3.1f です。\n", average(points)) c.元にしたプログラムからの変更点:今回の授業内で使ったプログラム def_ary_movie.rbを元にし、クラスの平均点が出るように 変更した。 d.実行結果 pan{c109030}% ./def_statistic.rb [~/Ruby] 点数を入力して下さい: 100 点数を入力して下さい: 40 点数を入力して下さい: 67 点数を入力して下さい: 23 点数を入力して下さい: 78 点数を入力して下さい: 80 点数を入力して下さい: ^D クラスの平均は 64.7 です。 e.考察:プログラムは動いたが、この計算が合っているとは限らないので、 bc -lで確かめ算をする。 実行画面 pan{c109030}% bc -l [~/Ruby] 100 + 40 + 67 + 23 + 78 + 80 388 388 / 6 64.66666666666666666666 小数点2位以下を四捨五入すれば64.7になるので、プログラムの計算は正 しいと言える。 3.感想:今回はプログラムの最後の授業だったが、今日の授業は携帯の広告サイ トなどで、使われていそうだと思った。 4.参考文献:2010年度 後期基礎プログラミングII 第6回/西村 まどか より http://roy/~madoka/2010/r2/06/ 「映画の星付けランキング」 http://roy/~madoka/2010/r2/06/06_08_theme_07_aryavg.html 共同学習者:川島 哲