11 月 28 日 第 9 回レポート 「CGI スクリプトを作ってみよう」 学籍番号: C106XXXX 氏名: XXXXXXXXX 語学クラス: 中国語 XX 系: 環境系 [1] A. ■ 予想 ■ 最初に komomo と momo の数値が同じ配列の中に入れる必要がある。 そうでなければ実行できない。 最初に sort が実行され、reverse が実行される。 sort により 0,3,4,5,7,9 と数値の小さいものから大きいものへ並び替えされ、 reverse はその逆になるので 9,7,5,4,3,0 と並び替えされる。 つまり 9,7,5,4,3,0 と表示される。 ■ 作成したプログラム tesuto1.rb ■ #!/usr/koeki/bin/ruby momo=[0,9,7] komomo=[3,4,5] p kokomomo = (komomo + momo).sort.reverse ■ プログラムの解説 ■ 配列 kokomomo のなかに、 (komomo + momo).sort.reverse を入れて p を先頭につけて中身を表示させた。 ■ 実行結果 ■ irsv{c106089}% ./tesuto1.rb [~/Ruby] [9, 7, 5, 4, 3, 0] ■ 実行結果の考察 ■ 予想通りに、sort された後にreverseされて 9,7,5,4,3,0 と表示された。 B. 要素番号が 0 から始まるので 0 から順に a 〜 z と順に当てはめていけばよい。 つまり、alphabet[15]] は p が表示される。 アルファベットは全部で 26 なので alphabet[28] には何も表示されない。 [2] ■ 考えた設定 ■ 星座占いを作ってみようと考えた。 ■ 作成したプログラム uranai.html ■ 占いで〜す♪

♪♪占い♪♪

※ 必要事項を記入して下さい。

名前:

生年月日を教えて下さい。

■ 作成したプログラム uranai.rb ■ #!/usr/bin/env ruby require 'cgi' cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") name = cgi["name"] tuki = cgi["tuki"].to_i niti = cgi["niti"].to_i print("\n") print("\n") print("結果発表!!\n") print("\n") print(">\n") printf("

%sさんの占い結果です!!

\n",name) printf("

%s月%s日生まれ

\n",tuki,niti) if tuki == 3 if niti < 21 print("

魚座の運勢

\n") print("

あなたが今日まで家庭を置き去りにしてきてしまったのなら、その埋め合わせを強いられる日になるでしょう。
たとえば、親が急病で倒れ付きっきりの看病をすることになったりしそうです。
どんな事態にしても、自分の時間を家族のために費やすことになるので、その覚悟は必要でしょう。
人間関係では、トラブルがあっても理不尽とは思わずに、相手が納得するまで付き合ってください。
時間とあなたの潔い態度が、相手の心を和らげます。

\n") end if niti >= 21 print("

牡羊座の運勢

\n") print("

恋人や友人、両親などに心から感謝せずにはいられない、幸せな出来事がありそうな日です。
よき理解者に恵まれていると実感することができるでしょう。
ただし、あなたが嬉しいと感じたら、すぐにそこで嬉しさを表現しないと、相手も運も目の前から消えてしまいます。
これから、いろいろなことに関して考えが深く及んだり、視野も広く持つようになっていく日でしょう。
周囲から受けるあなたの評価も、変化していくはずです。

\n") end end if tuki == 4 if niti < 20 print("

牡羊座の運勢

\n") print("

恋人や友人、両親などに心から感謝せずにはいられない、幸せな出来事がありそうな日です。
よき理解者に恵まれていると実感することができるでしょう。
ただし、あなたが嬉しいと感じたら、すぐにそこで嬉しさを表現しないと、相手も運も目の前から消えてしまいます。
これから、いろいろなことに関して考えが深く及んだり、視野も広く持つようになっていく日でしょう。
周囲から受けるあなたの評価も、変化していくはずです。

\n") end if niti >= 20 print("

牡牛座の運勢

\n") print("

今まで無理をしていたせいで、体力的に危険信号が点灯する日になりそうです。
努力するのはいいことですが、目標達成の前に断念することにならないためにも、もう少し要領良くやることが必要でしょう。
健康管理を第一にすることです。また、頼みを断られたからと友情に疑いを持ったり、自分の意見が通らなかったことで友人を責めたりすることがあるかもしれません。
身勝手さは、瞬く間に友情に亀裂を生じさせるので用心しましょう。

\n") end end if tuki == 5 if niti <= 21 print("

牡牛座の運勢

\n") print("

今まで無理をしていたせいで、体力的に危険信号が点灯する日になりそうです。
努力するのはいいことですが、目標達成の前に断念することにならないためにも、もう少し要領良くやることが必要でしょう。
健康管理を第一にすることです。また、頼みを断られたからと友情に疑いを持ったり、自分の意見が通らなかったことで友人を責めたりすることがあるかもしれません。
身勝手さは、瞬く間に友情に亀裂を生じさせるので用心しましょう。

\n") end if niti >= 21 print("

双子座の運勢

\n") print("

人知れず思い描いていた夢や希望が、とうとう実現の方向に動き出す日になるでしょう。
今まで温めてきた企画やプランは、ここで上司に提出してみてください。
何かアドバイスを貰えることになるはずです。
コンクールに小説や詩を出したり、投稿してみるのもいいでしょう。
人間関係では、あまり不誠実な態度を取っていると、友情に間違いなくヒビが入ることになります。
自ら険悪なムードを作ることは避けるべきでしょう。

\n") end end if tuki == 6 if niti < 22 print("

双子座の運勢

\n") print("

人知れず思い描いていた夢や希望が、とうとう実現の方向に動き出す日になるでしょう。
今まで温めてきた企画やプランは、ここで上司に提出してみてください。
何かアドバイスを貰えることになるはずです。
コンクールに小説や詩を出したり、投稿してみるのもいいでしょう。
人間関係では、あまり不誠実な態度を取っていると、友情に間違いなくヒビが入ることになります。
自ら険悪なムードを作ることは避けるべきでしょう。

\n") end if niti >= 22 print("

蟹座の運勢

\n") print("

自己主張するよりも相手のことを優先的に考えると、幸運な結果がもたらされる日です。
今日までとにかく目標に向かって突っ走ってきたあなたは、この辺でちょっと一休みしてみましょう。
きっと、今まで見えずにいたものが見えてくるはずです。
意地になって自分の間違いを認めなかったり、強引に自分の意見を貫こうとするような態度は、トラブルを生むことになるでしょう。

\n") end end if tuki == 7 if niti < 23 print("

蟹座の運勢

\n") print("

自己主張するよりも相手のことを優先的に考えると、幸運な結果がもたらされる日です。
今日までとにかく目標に向かって突っ走ってきたあなたは、この辺でちょっと一休みしてみましょう。
きっと、今まで見えずにいたものが見えてくるはずです。
意地になって自分の間違いを認めなかったり、強引に自分の意見を貫こうとするような態度は、トラブルを生むことになるでしょう。

\n") end if niti > 23 print("

獅子座の運勢

\n") print("

あなたの将来の夢や希望に関する転機になる日でしょう。
何か新しい勉強を開始すると、それが将来の夢に近づいていくための大きな原動力になっていくかもしれません。
今日はのんきに構えてばかりではなく、具体的に計画を立てて第一歩を踏み出すようにしていきましょう。
また、今までとは異なった人間関係によって、あなたが人知れず温めてきた将来の夢や希望に続く道が開けていく時期です。

\n") end end if tuki == 8 if niti < 23 print("

獅子座の運勢

\n") print("

あなたの将来の夢や希望に関する転機になる日でしょう。
何か新しい勉強を開始すると、それが将来の夢に近づいていくための大きな原動力になっていくかもしれません。
今日はのんきに構えてばかりではなく、具体的に計画を立てて第一歩を踏み出すようにしていきましょう。
また、今までとは異なった人間関係によって、あなたが人知れず温めてきた将来の夢や希望に続く道が開けていく時期です。

\n") end if niti >= 23 print("

乙女座の運勢

\n") print("

自分の将来について、人生設計を立ててみるのに良い日でしょう。
周囲に対してあなたの素直な気持ちを積極的に伝えていくことで、自然に道が開かれて今後とるべき行動が分かってきます。
また、この時期は海外旅行のプランを練ることも幸運を呼ぶでしょう。
きっと、最大限あなたの希望が盛り込まれた旅行になります。
人間関係は、なんとか順調といったところで、あなたの行動いかんでは嫉妬を受けやすい時でしょう。

\n") end end if tuki == 9 if niti < 23 print("

乙女座の運勢

\n") print("

自分の将来について、人生設計を立ててみるのに良い日でしょう。
周囲に対してあなたの素直な気持ちを積極的に伝えていくことで、自然に道が開かれて今後とるべき行動が分かってきます。
また、この時期は海外旅行のプランを練ることも幸運を呼ぶでしょう。
きっと、最大限あなたの希望が盛り込まれた旅行になります。人間関係は、なんとか順調といったところで、あなたの行動いかんでは嫉妬を受けやすい時でしょう。

\n") end if niti >= 23 print("

天秤座の運勢

\n") print("

人間関係のネットワークから、思いもよらない幸運が飛び込んできそうな日です。
まだまだ、あなたが思い描く夢や希望をあきらめてしまうのは早いでしょう。
あなたが将来、芸術の分野で成功したいと願っているなら、良き師匠や先駆者となる人が現れそうです。
その人物とは、一生涯の信頼関係を築いていくことができますから、付き合いを大切に育てていってください。
また、人に自分の夢を語ることで、耳寄り情報が得られるでしょう。

\n") end end if tuki == 10 if niti < 24 print("

天秤座の運勢

\n") print("

人間関係のネットワークから、思いもよらない幸運が飛び込んできそうな日です。
まだまだ、あなたが思い描く夢や希望をあきらめてしまうのは早いでしょう。
あなたが将来、芸術の分野で成功したいと願っているなら、良き師匠や先駆者となる人が現れそうです。
その人物とは、一生涯の信頼関係を築いていくことができますから、付き合いを大切に育てていってください。
また、人に自分の夢を語ることで、耳寄り情報が得られるでしょう。

\n") end if niti >= 24 print("

蠍座の運勢

\n") print("

あなたの周囲の環境が、急に変化していく暗示のある日です。
親しい友達から引越しをすることを打ち明けられたり、突然サークルやクラブが活動中止になってしまうようなことが起こるかもしれません。
これから新しいものの訪れがありそうですから、迎え入れる心の準備をしておきましょう。
人を募って講習会や勉強会を開く計画を立ててみると、新しい出会いがあり、あなたの計画に賛同し実行に協力してくれるでしょう。

\n") end end if tuki == 11 if niti < 22 print("

蠍座の運勢

\n") print("

あなたの周囲の環境が、急に変化していく暗示のある日です。
親しい友達から引越しをすることを打ち明けられたり、突然サークルやクラブが活動中止になってしまうようなことが起こるかもしれません。
これから新しいものの訪れがありそうですから、迎え入れる心の準備をしておきましょう。
人を募って講習会や勉強会を開く計画を立ててみると、新しい出会いがあり、あなたの計画に賛同し実行に協力してくれるでしょう。

\n") end if niti >= 22 print("

射手座の運勢

\n") print("

他人のために時間を費やすことになり、勉強時間や睡眠時間が削られてしまいそうな日です。
しかし、そのために誠実さに欠ける態度を取ったりすると、信用を疑われることになって返ってくるので、十分注意しましょう。
協調性を重視した選択をすることをあくまでも心掛けるべきです。
人間関係は、吉凶混合の運気にある時期といえます。
新たな環境を迎えることもありそうですが、その後の展開はあなた次第です。

\n") end end if tuki == 12 if niti < 22 print("

射手座の運勢

\n") print("

他人のために時間を費やすことになり、勉強時間や睡眠時間が削られてしまいそうな日です。
しかし、そのために誠実さに欠ける態度を取ったりすると、信用を疑われることになって返ってくるので、十分注意しましょう。
協調性を重視した選択をすることをあくまでも心掛けるべきです。
人間関係は、吉凶混合の運気にある時期といえます。
新たな環境を迎えることもありそうですが、その後の展開はあなた次第です。

\n") end if niti >= 22 print("

山羊座の運勢

\n") print("

なかなかラッキーな一日でしょう。
無くした財布が意外なところから出て来たり、日頃の努力のおかげで臨時収入にありつけたりしそうです。
人にお金を貸しているあなたは、貸したお金が嬉しいおまけ付きで返ってくるかもしれません。
今は、どんな環境でも周囲とのコミュニケーションが円満に取れるでしょう。
職場などでは、年長者の支持を得てみんなのリーダー的な役回りを命じられることもありそうです。

\n") end end if tuki == 1 if niti < 20 print("

山羊座の運勢

\n") print("

なかなかラッキーな一日でしょう。
無くした財布が意外なところから出て来たり、日頃の努力のおかげで臨時収入にありつけたりしそうです。
人にお金を貸しているあなたは、貸したお金が嬉しいおまけ付きで返ってくるかもしれません。
今は、どんな環境でも周囲とのコミュニケーションが円満に取れるでしょう。
職場などでは、年長者の支持を得てみんなのリーダー的な役回りを命じられることもありそうです。

\n") end if niti >= 20 print("

水瓶座の運勢

\n") print("

いろいろな情報が交差して、自分自身の選択に迷いが出てくることになりやすい日です。
情報の正確さをはかる基準のようなものを自分自身で持っていないと、うまく利用されたり騙されたりする恐れもあります。
どうしても自信のない時は、両親に相談するといいでしょう。
面倒なことは人任せにしたり、自分の失敗を人に転嫁したりしていると、周りの人は去っていってしまいます。
あなた一人でも、努力をしてください。

\n") end end if tuki == 2 if niti < 19 print("

水瓶座の運勢

\n") print("

いろいろな情報が交差して、自分自身の選択に迷いが出てくることになりやすい日です。
情報の正確さをはかる基準のようなものを自分自身で持っていないと、うまく利用されたり騙されたりする恐れもあります。
どうしても自信のない時は、両親に相談するといいでしょう。
面倒なことは人任せにしたり、自分の失敗を人に転嫁したりしていると、周りの人は去っていってしまいます。
あなた一人でも、努力をしてください。

\n") end if niti >= 19 print("

魚座の運勢

\n") print("

あなたが今日まで家庭を置き去りにしてきてしまったのなら、その埋め合わせを強いられる日になるでしょう。
たとえば、親が急病で倒れ付きっきりの看病をすることになったりしそうです。
どんな事態にしても、自分の時間を家族のために費やすことになるので、その覚悟は必要でしょう。
人間関係では、トラブルがあっても理不尽とは思わずに、相手が納得するまで付き合ってください。時間とあなたの潔い態度が、相手の心を和らげます。

\n") end end print("\n") print("\n") ■ 実行結果 ■ 押切弘武さんの占い結果です!! 4月23日生まれ 牡牛座の運勢 今まで無理をしていたせいで、体力的に危険信号が点灯する日になりそうです。 努力するのはいいことですが、目標達成の前に断念することにならないためにも、もう少し要領良くやることが必要でしょう。 健康管理を第一にすることです。また、頼みを断られたからと友情に疑いを持ったり、自分の意見が通らなかったことで友人を責めたりすることがあるかもしれません。 身勝手さは、瞬く間に友情に亀裂を生じさせるので用心しましょう。 ■ リンク ■ 齋藤 拓のページ http://roy/~c106089/ 占いプログラムのページ http://roy/~c106089/rubycgi/uranai.html ■ 参考文献 ■ yahoo!占い http://fortune.yahoo.co.jp/fortune/12astro/index.html 基礎プラミングIIのページ http://roy/~madoka/2007/r2/09/index.html [3] 添付します。 [4] 今回一番思ったことは Hash配列 をもっと勉強しなければいけない ということだ。Hash配列 ができていればもっと楽にプログラムが 書けたはずだ。それと今回学んだCGIというものはアンケートを するときなどにとっても便利である。これからもCGIを勉強していきたい。