1月 9日


本日の課題

  1. p.6 問 1.6.1(6点)
    参考にする例題 ─ Counter.java, Counter.cgi(実行例)
  2. p.6 問 1.6.2(アクセスカウンタの方だけで、3桁まで対応できれば良い)(6点)
    参考にする例題 ─ Counter.java, Counter.cgi(実行例)

    Digit Maniaなどから画像をとってくるか、下の画像を使って下さい。
    0 1 2 3 4 5 6 7 8 9

  3. 月齢の計算 (18点)

    西暦y年m月d日の月齢は次の式で近似的に計算できる(らしい)。

    (参考)「新こよみ便利帳 ver.1.2」 暦計算研究会編 恒星社厚生閣 ISBN4-7699-0700-1
       int magic[] = {0, 2, 0, 2, 2, 4, 5, 6, 7, 8, 9, 10};
       
       int getsurei(int y, int m, int d) {
         return ((y-1968)*11+magic[m-1]+d)%30;
       }  
    

    Geturei.cgi?20040107のような形でパラメータを渡されると、 2004年1月7日の月齢を計算するServletを作成せよ。さらに7日前, 1日前, 1日後, 7日後の月齢を計算するページへのリンクをつけること。 月や年のはじまり、おわりにまたがる場合やうるう年なども考慮すること。 (年末年始をまたがる12月31日や1月1日、2月29日をまたがる2004年2月28日や 2004年3月1日などで テストしておくこと。)

    (参考)西暦が4で割り切れて100で割り切れない年、または西暦が400で割 り切れる年はうるう年、
    つまり…
    
       y%400==0 || (y%4==0 && y%100!=0)
    
    

    Servletの出力の例
    <html><head><title>2004年1月7日の月齢</title></head>
    <body>
    本日の月齢は13です。<br>
    
    <a href="Getsurei.cgi?20031231">1週間前の月齢</a>, 
    <a href="Getsurei.cgi?20040106">前日の月齢</a>, 
    <a href="Getsurei.cgi?20040108">翌日の月齢</a>, 
    <a href="Getsurei.cgi?20040114">1週間後の月齢</a>
    </body></html>
    </pre>
    

    この画像は 星見に いこてばのページから借用したものです。 写真には著作権が存在するので、 この写真を自分のホームページなどに作者に無断で利用しないこと。 (演習IIのページ自体は香川大学以外からアクセスできないようになっています。)


本日の演習の時間中(〜17:50)までにできた場合は、 教官に実行の様子など見せるだけで提出となる。

演習時間中にできなかった問題は、レポートとして次回の演習の最初に提出する。

特に考察・感想きちんと書くこと。

レポートとして次回に提出する場合は、 点数は時間中に提出した場合の半分となる。


戻る


Koji Kagawa (kagawa@eng.?????)