[問題文・解答]
平成26年度4月に実施された基本情報技術者試験の午後試験の問題・解答はIPA公式ページからダウンロード出来ます。(以下リンク)
[問題概要]
この問題は、選択問題で問9〜問13のうち1問を選択する必要があります。
出題分野はソフトウェア開発(Java)で、問題の題材は雑誌記事のオンライン購読サイトです。
雑誌記事とユーザ(ゲスト、無料会員、有料会員)を管理するJavaプログラムについて問われます。
出題分野はソフトウェア開発(Java)で、問題の題材は雑誌記事のオンライン購読サイトです。
雑誌記事とユーザ(ゲスト、無料会員、有料会員)を管理するJavaプログラムについて問われます。
[設問1]
a) プログラム3は抽象クラスUserを継承してGuestクラスを実装しています。P.58(3)の②よりクラスGuestのメソッドtestAndMarkは引数で与えられた記事が無料記事ならばtrueを返すため、aには「article.isFree()」が当てはまり「イ」が正解です。
b) プログラム4は抽象クラスUserを継承してクラスMemberを実装しています。P.58(4)の①よりこのクラスのコンストラクタは引数で与えられた利用者名(name)をもつインスタンスを生成します。スーパークラスであるUserのコンストラクタを利用すればよいため「ウ」が正解です。
c) P.58(4)の②よりクラスMemberのメソッドtestAndMarkは引数の記事が無料記事ならばtrueを返します。有料記事の場合は、今日最初の有料記事の閲覧の時、又は今日閲覧済みの記事と同一のときはtrueを返し、それ以外のときはfalseを返します。有料記事について今日既に有料記事を閲覧しているかどうかの判定部分です。browseDateには最後に記事を閲覧した日付が保存されているため、これが本日の日付かどうかを判定しています。従って「ウ」が正解です。
d) プログラム5はクラスMemberを継承してクラスPaidMemberを実装しています。P.58(5)の②よりクラスPaidMemberのメソッドtestAndMarkは必ずtrueを返すので、「キ」が正解です。
e,f) e及びfのfor文では、利用者ごとに記事ごとの情報を順番に表示します。図1の実行結果よりまず一人目の利用者について各記事の情報を表示し、次の利用者へと移っています。従って、外側のfor文が利用者ごとのインデックス、内側のfor文が記事ごとのインデックスとなるためe)には「キ」が、f)には「カ」が当てはまります。
[答] a) イ b) ウ c) ウ d) キ e) キ f) カ
a) プログラム3は抽象クラスUserを継承してGuestクラスを実装しています。P.58(3)の②よりクラスGuestのメソッドtestAndMarkは引数で与えられた記事が無料記事ならばtrueを返すため、aには「article.isFree()」が当てはまり「イ」が正解です。
b) プログラム4は抽象クラスUserを継承してクラスMemberを実装しています。P.58(4)の①よりこのクラスのコンストラクタは引数で与えられた利用者名(name)をもつインスタンスを生成します。スーパークラスであるUserのコンストラクタを利用すればよいため「ウ」が正解です。
c) P.58(4)の②よりクラスMemberのメソッドtestAndMarkは引数の記事が無料記事ならばtrueを返します。有料記事の場合は、今日最初の有料記事の閲覧の時、又は今日閲覧済みの記事と同一のときはtrueを返し、それ以外のときはfalseを返します。有料記事について今日既に有料記事を閲覧しているかどうかの判定部分です。browseDateには最後に記事を閲覧した日付が保存されているため、これが本日の日付かどうかを判定しています。従って「ウ」が正解です。
d) プログラム5はクラスMemberを継承してクラスPaidMemberを実装しています。P.58(5)の②よりクラスPaidMemberのメソッドtestAndMarkは必ずtrueを返すので、「キ」が正解です。
e,f) e及びfのfor文では、利用者ごとに記事ごとの情報を順番に表示します。図1の実行結果よりまず一人目の利用者について各記事の情報を表示し、次の利用者へと移っています。従って、外側のfor文が利用者ごとのインデックス、内側のfor文が記事ごとのインデックスとなるためe)には「キ」が、f)には「カ」が当てはまります。
[答] a) イ b) ウ c) ウ d) キ e) キ f) カ
b) プログラム4は抽象クラスUserを継承してクラスMemberを実装しています。P.58(4)の①よりこのクラスのコンストラクタは引数で与えられた利用者名(name)をもつインスタンスを生成します。スーパークラスであるUserのコンストラクタを利用すればよいため「ウ」が正解です。
c) P.58(4)の②よりクラスMemberのメソッドtestAndMarkは引数の記事が無料記事ならばtrueを返します。有料記事の場合は、今日最初の有料記事の閲覧の時、又は今日閲覧済みの記事と同一のときはtrueを返し、それ以外のときはfalseを返します。有料記事について今日既に有料記事を閲覧しているかどうかの判定部分です。browseDateには最後に記事を閲覧した日付が保存されているため、これが本日の日付かどうかを判定しています。従って「ウ」が正解です。
d) プログラム5はクラスMemberを継承してクラスPaidMemberを実装しています。P.58(5)の②よりクラスPaidMemberのメソッドtestAndMarkは必ずtrueを返すので、「キ」が正解です。
e,f) e及びfのfor文では、利用者ごとに記事ごとの情報を順番に表示します。図1の実行結果よりまず一人目の利用者について各記事の情報を表示し、次の利用者へと移っています。従って、外側のfor文が利用者ごとのインデックス、内側のfor文が記事ごとのインデックスとなるためe)には「キ」が、f)には「カ」が当てはまります。
[答] a) イ b) ウ c) ウ d) キ e) キ f) カ
[設問2]
閲覧不可と表示されるのは以下の3回です。(※印はプログラム6の変更により新たに閲覧不可となる部分)
・ゲスト:記事「スマホ特集」<閲覧不可>
・ゲスト:記事「アプリガイド」<閲覧不可>※
・登録会員A:記事「アプリガイド」<閲覧不可>※
[答] エ
上記の解説は問題と解答を元に自分なりの考え方を記述しており、間違っている部分もあるかと思いますので、ご了承願います。また、誤りについては正しい考え方をご指摘・ご教授頂けると助かります。
閲覧不可と表示されるのは以下の3回です。(※印はプログラム6の変更により新たに閲覧不可となる部分)
・ゲスト:記事「スマホ特集」<閲覧不可>
・ゲスト:記事「アプリガイド」<閲覧不可>※
・登録会員A:記事「アプリガイド」<閲覧不可>※
[答] エ
上記の解説は問題と解答を元に自分なりの考え方を記述しており、間違っている部分もあるかと思いますので、ご了承願います。また、誤りについては正しい考え方をご指摘・ご教授頂けると助かります。
0 件のコメント:
コメントを投稿