第6回 基礎プログラミング II レポート課題 氏名:佐竹聡美 学籍番号:c1090816 語学クラス:英語1 コース:社会福祉 1、筆記問題 alphacet[18]とalpacet[40]は何かをプログラムを作成し、求めた。 ・プログラム #!/usr/koeki/bin/ruby 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"] printf("alphabet[18]は %s です。\n",alphabet[18]) printf("alphabet[40]は %s です。\n",alphabet[40]) ・実行結果 pan{c109081}% ./alphabet.rb [~/Ruby] alphabet[18]は s です。 alphabet[40]は です。 ・理由 配列の1つ目は0から数えるため [a = 0],[b = 1],[c = 2] … と 数えていくと alphabet[18] はsという結果になる。 また、アルファベットは26文字しかないため alphabet[40] は存在しない。 2、プログラム問題 A、 a.考えた設定 一ヶ月の食費の平均を求めるプログラム。 b.作成したプログラム #!/usr/koeki/bin/ruby def average(shokuhi) # shokuhiは数値がたくさんしまわれる配列 sum = 0.0 # 割り算する予定なので浮動小数点数にしておく for nedan in shokuhi # for A in B で B の中の A について sum += nedan # printf("%d 人目 途中合計 sum=%d\n", shokuhi.length + 1, sum) end sum / shokuhi.length #配列 shokuhi の要素数を数え、それで sum を割る end points = Array.new # からっぽの配列 points を作る # i=0 # i が points の添字となる(入力された行を数える添字) while true STDERR.print "1ヶ月の食費を入力して下さい: " line = gets if line == nil break end points << line.to_i # 上か下かどちらかでよい # points[i] = line.to_i p points # i += 1 end printf("\n みんなの1ヶ月の食費の平均は %3.1f です\n", average(points)) c.もとのプログラムからの変更点 授業で使用した、def_ary_movie.rbをもとに変更した。 d.実行結果 4人の食費の平均を出した。 pan{c109081}% ./def_statistic.rb [~/Ruby] 1ヶ月の食費を入力して下さい: 2500 [2500] 1ヶ月の食費を入力して下さい: 3700 [2500, 3700] 1ヶ月の食費を入力して下さい: 2000 [2500, 3700, 2000] 1ヶ月の食費を入力して下さい: 3000 [2500, 3700, 2000, 3000] 1ヶ月の食費を入力して下さい: ^D みんなの1ヶ月の食費の平均は 2800.0 です e.考察 pan{c109081}% bc -l [~/Ruby] 2500+3700+2000+3000 11200 11200/4 2800.00000000000000000000 考察の結果と実行した結果が同じなのでこのプログラムは正しい。 3、感想 今回のよう仕組みはたまごっちやポケモンのゲームがあてはまると思います。」 今回のレポートは授業で習ったことを活かしスムーズに進めることができて良かっ た。実行も考察もスムーズにできた。B問題のゲームも作成したかったが時間が なく、作成することが出来なかった。ゲームを考えるのは楽しそうなので時間が ある時に作ってみたいと思います。また、CとDもとり組んでみたいです。 次はゼミの話なのでしっかり話を聞きたいと思います。 4、参考文献 基礎プログラミング II 第6回 目的に応じて使ってみよう ・「ガウスくんとルビ緒」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_04_theme_03_gauss.html ・「数値を指定して何度も計算させるには」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_05_theme_04_for.html ・「続・ガウスくんとルビ緒」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_06_theme_05_odd.html ・「映画の星づけランキング」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_08_theme_07_aryavg.html ・「while 文で入力するとき」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_10_theme_08_while.html ・「るびおっち」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_11_theme_09_rubiocci.html ・「コマンドライン入力と method をあわせてみよう」 http://roy.e.koeki-u.ac.jp/~madoka/2010/r2/06/06_13_theme_10_commandline.html 共同学習者 *酒井春香 *横山広樹