レポート課題3  


以下の設問のいずれか一つを選択し、解答すること。Extra Creditが欲しい場合は、両方解答しても構いません。

1. 「今後(2005年1月1日以降)100年間は、13日が金曜日であることが(他の曜日であることよりも)多い」かどうかを調べるJavaプログラムを書き、真偽の結論を根拠とともに示してください。「13日の金曜日が多い」というためには、「13日の木曜日よりも金曜日となる場合の方が多い」、そして、他の金曜日以外の曜日に関しても同じことが言えなくてはなりません。

2. 東京大学に通うA君は、情報処理の講義で習った曜日の計算方法を用いて、今後100年間(2005年1月1日から2104年12月31日まで)のために、1年間カレンダー(1枚に12ヶ月のカレンダーを印刷したもの)を印刷しようと考えました。節約家の賢いA君は、年号を印刷しなければ、ある年のカレンダーは他の年のカレンダーと全く同じになるため、100枚のカレンダーを印刷しなくても良いことに気がつきました。さて、最低何枚のカレンダーを印刷すればよいでしょうか?。また、それぞれのカレンダーを合計何年間使用することになるでしょうか?Javaプログラムを書き、結論を根拠とともに示してください。

 

 注意:火曜日クラスで講義中に公開したZeller3.javaをダウンロードした人は、間違いがありましたので、再度ダウンロードして、課題に使用するようにしてください。現在のZeller3.javaは修正されています。(6/29 8:00AM)。

また、講義資料の「クラスとメソッド」を自習した人用に、Zeller3Alt.java (Zeller3 Alternative)を用意しました。