5 月 16 日のレポートについて 語学クラス:XXXX語 系: XXXX系 学籍番号:c10XXXXX 氏名:XXXXXXXX 1. 「"%c%c%c%c%cちゃん」と%cが5つあるので、 名前は5文字だということがわかる。 0 * 45から一つずつ「ASCコード」表と照らし合わせていくと、 0 * 45 は 「E」 0 * 6 は 「m」 0 * 69 は 「i」 0 * 6c は 「l」 0 * 79 は 「y」 ルビ緒ロボットが恋をしたのは「emilyちゃん」です。 上と同じようにしていくと、 0 * 6e は 「n」 0 * 68 は 「h」 0 * 6b は 「k」 0 * 61 は 「a」 0 * 6e は 「n」 0 * 69 は 「i」 0 * 6d は 「m」 0 * 65 は 「e」 0 * 65 は 「e」 0 * 6d は 「m」 0 * 69 は 「i」 0 * 6c は 「l」 0 * 79 は 「y」 となって%cに当てはめていく。 「http://www.nhk.or.jp/anime/emily/」 となる。 実際にこのホームページをみると、NHk教育テレビの 「風のエミリー」でした。 2. A. 1. 考えた設定 中国語を選択している人を紹介するプログラム「from_a.rb」を作りました。 名前と出身地、その人について紹介するようにしました。 2. 作成したプログラム #!/usr/koeki/bin/ruby tyugoku = Array.new #配列を与える method n = 0 #経路を与えるラベル tyugoku[0] = ["齋藤いくみ","中山町","とてもおしゃれ","バスケットがうまい"] tyugoku[1] = ["梅津千草","長井市","スポーツ大好き","笑い方がおかしな"] tyugoku[2] = ["浅野菜月","山形市","料理が得意","ネコが大好きな"] tyugoku[3] = ["佐藤幸奈","私と同じ岩手県","お母さん的な存在","料理、オカシを作るがうまい"] print("中国語を勉強しているみなさんを紹介します:\n") while n < 4 printf("紹介 %d \n",n+1) printf("中国語を勉強している %s さんは、%s 出身で、彼女達は %s で %s 女の子です。 \n", tyugoku[n][0],tyugoku[n][1],tyugoku[n][2],tyugoku[n][3]) n += 1 end print("紹介終了\n") 3. もとにしたプログラムからの変更点 授業でやった「train.rb」もとにしました。 変数を「i」を「n」に変えました。あと、「way」を「tyugoku」に変えま した。 内容を検索するものから、紹介するものにしました。 4. プログラムを実行した結果画面 irsv{c106034}% ./from_a.rb [~/Ruby] 中国語を勉強しているみなさんを紹介します: 紹介 1 中国語を勉強している 齋藤いくみ さんは、中山町 出身で、彼女達は とてもおしゃれ で バスケットがうまい 女の子です。 紹介 2 中国語を勉強している 梅津千草 さんは、長井市 出身で、彼女達は スポーツ大好き で 笑い方がおかしな 女の子です。 紹介 3 中国語を勉強している 浅野菜月 さんは、山形市 出身で、彼女達は 料理が得意 で ネコが大好きな 女の子です。 紹介 4 中国語を勉強している 佐藤幸奈 さんは、私と同じ岩手県 出身で、彼女達は お母さん的な存在 で 料理、オカシを作るがうまい 女の子です。 紹介終了 5. 導き出された結果の考察 計算ではないのですが、合っています。 6. 参考文献 (参照した本、ホームページなど) 授業で使った「train.rb」 1. 考えた設定 データとプログラムを別にするために「from_b.rb」を作りました。 2. 作成したプログラム #!/usr/koeki/bin/ruby curasu = Array.new c = 0 print("中国語を勉強しているみなさんを紹介します。:\n") while from_data = gets if /(\S+)\s+(\S+)\s+(\S+)/ =~ from_data curasu[0] = $1 curasu[1] = $2 curasu[2] = $3 curasu[3] = $4 end printf("紹介 %d \n",c+1) printf("中国語を勉強している %s さんは、%s 出身で、彼女達は %s で %s 女の子です。 \n", curasu[0],curasu[1],curasu[2],curasu[3]) c += 1 end print("紹介終了\n") <データ> 齋藤いくみ 中山町 おしゃれ バスケットがうまい 梅津千草 長井市 スポーツ大好き 笑い方がおかしい 浅野菜月 山形市 料理が得意 ネコが大好き 佐藤幸奈 私と同じ岩手県 お母さん的な存在 料理、オカシを作るのが得意 3. もとにしたプログラムからの変更点 授業で作った「train_b.rb」元に作りました。 変数を「n」から「c」に変えました。 他に、「combi」から「curasu」に変えました。 train_b.rbは配列を3つから4つに増やしました。 4. プログラムを実行した結果画面 irsv{c106034}% ./from_b.rb from.dat [~/Ruby] 中国語を勉強しているみなさんを紹介します。: 紹介 1 中国語を勉強している 齋藤いくみ さんは、中山町 出身で、彼女達は おしゃれ で 女の子です。 紹介 2 中国語を勉強している 齋藤いくみ さんは、中山町 出身で、彼女達は おしゃれ で 女の子です。 紹介 3 中国語を勉強している 梅津千草 さんは、長井市 出身で、彼女達は スポーツ大好き で 女の子です。 紹介 4 中国語を勉強している 梅津千草 さんは、長井市 出身で、彼女達は スポーツ大好き で 女の子です。 紹介 5 中国語を勉強している 浅野菜月 さんは、山形市 出身で、彼女達は 料理が得意 で 女の子です。 紹介 6 中国語を勉強している 浅野菜月 さんは、山形市 出身で、彼女達は 料理が得意 で 女の子です。 紹介 7 中国語を勉強している 佐藤幸奈 さんは、私と同じ岩手県 出身で、彼女達は お母さん的な存在 で 女の子です。 紹介終了 5. 導き出された結果の考察 計算ではないですけど、合ってました。 6. 参考文献 授業で作った「train_b.rb」と「train.dat」 3. ASCllコードを使って解いていく問題で、ホームページが開けた時は嬉しかっ たです。 今回は授業で作ったプログラムをもとにして、いつもより早く作れました。 実行してみて、エラーが出たときどこが間違っているのか早く見つけて、直す ことができました。「 curasu[3] = $4」の所だけ3つのままだったり、「""」 がないなどの間違いがありました。次からは、できるだけ間違わないように心 掛けたいと思います。 工夫した所は、変数を変えたところです。 >> 日常生活では、乗り物(バスや電車など)の時刻を調べるもの。 >> その土地の有名な料理を調べるもの。(お土産など) >> 各地の天気を調べるもの。 この3つのものは実際に無いけれど、あったらいいなと思います。