情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項...

57
サンプル問題 情報処理技術者能力認定試験 1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6 問7~問11 選択方法 5問中3問選択 必須 5問中1問選択 試験時間 90分 2.HB の黒鉛筆を使用してください。訂正の場合は,あとが残らないように消し ゴムできれいに消し,消しくずを残さないでください。 3.解答用紙の所定の欄に,級種,会場コード,受験番号を記入しマークしてくだ さい。また,会場名,氏名,性別を所定の位置に記入してください。 4.問題選択欄にマークがない場合,選択問題については採点の対象になりません。 5.解答は,次の例題にならって,解答欄にマークしてください。 例題 日本の首都はどこか。 ア 東京 イ 京都 ウ 大阪 エ 福岡 正しい答えは“ア 東京”ですから,次のようにマークしてください。 例題 指示があるまで開いてはいけません。 試験終了後,問題冊子を回収します。 受験会場 受験番号

Upload: others

Post on 16-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

サンプル問題

情報処理技術者能力認定試験

1 級 第2部

解答時における注意事項

1.次の表に従って解答してください。

問題番号 問1~問5 問6 問7~問11

選択方法 5問中3問選択 必須 5問中1問選択

試験時間 90分

2.HB の黒鉛筆を使用してください。訂正の場合は,あとが残らないように消し

ゴムできれいに消し,消しくずを残さないでください。

3.解答用紙の所定の欄に,級種,会場コード,受験番号を記入しマークしてくだ

さい。また,会場名,氏名,性別を所定の位置に記入してください。

4.問題選択欄にマークがない場合,選択問題については採点の対象になりません。

5.解答は,次の例題にならって,解答欄にマークしてください。

例題 日本の首都はどこか。

ア 東京 イ 京都 ウ 大阪 エ 福岡

正しい答えは“ア 東京”ですから,次のようにマークしてください。

例題

指示があるまで開いてはいけません。

試験終了後,問題冊子を回収します。

受験会場

受験番号

氏 名

∩ ∩ ∩ ∩ ア イ ウ エ ∪ ∪ ∪ ∪

Page 2: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

試験問題に記載されている会社名又は製品名は,それぞれ各社の商標又は登録商標です。

なお,試験問題では,® 及び TM を明記していません。

Page 3: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 1 -

次の問1~問5の5問については,この中から3問を選択して解答してください。

答えは,ア~エの中から一つずつ選び,設問番号に対応したマークシートの解答番

号欄にマークしてください。また,二つ以上マークした場合は不正解になります。

なお,マークシートの問題選択欄にマークがない場合は,選択問題については採点

の対象になりません。

問1 論理回路に関する次の記述を読んで,設問1~5に答えよ。

否定論理積(以下,NAND という)回路を組み合わせて次に示す論理回路素子を

作成し,作成した論理回路を用いて全加算器を作成する。

〔作成する論理回路素子の種類〕

(1) 論理積(以下,AND という),論理和(以下,OR という),排他的論理和

(以下,XOR という),否定(以下,NOT という)の各論理回路素子の回路記

号を図 1に示す。

AND回路 OR回路 XOR回路 NOT回路

図1 各論理回路素子の回路記号

(2) 図 1の各論理回路素子に対応する真理値表を図 2に示す。

AND OR XOR NOT 入力 出力 入力 出力 入力 出力 入力 出力

I1 I2 O I1 I2 O I1 I2 O I O

0 0 0 0 0 0 0 0 0 0 1

0 1 0 0 1 1 0 1 1 1 0

1 0 0 1 0 1 1 0 1

1 1 1 1 1 1 1 1 0

図2 真理値表

ここで,NAND 回路は,AND 回路と NOT 回路を直列に接続した回路である。

NAND回路とその等価回路を,図 3に示す。

NAND回路 AND回路と NOT回路による等価回路

図3 NAND 回路とその等価回路

I1 I2

O O I I1 I2

O I1 I2

O

Page 4: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 2 -

次に,NAND 回路を組み合わせて,各論理回路素子を作成する。ここで,

NANDは次に示す論理式で表すことができる。ただし,“ ”は否定を表す。

I1 AND I2

なお,各論理回路素子の作成には,次に示す論理式の等式を利用する。

I1 AND I2 = I1 OR I2

I1 OR I2 = I1 AND I2

I = I

〔NAND回路による各論理回路素子の作成〕

(1) NOT 回路は,次の式に示すように,一つの NAND 回路で表せる。この式を基

に作成した NOT回路を図 4に示す。

I = I AND I

図4 NOT 回路

(2) AND 回路は,次の式に示すように,二つの NAND 回路で表せる。この式を基

に作成した AND回路を図 5に示す。

I1 AND I2 = I1 AND I2

図5 AND 回路

(3) OR 回路は,次の式に示すように,三つの NAND 回路で表せる。この式を基に

作成した OR回路を図 6に示す。

I1 OR I2 =

図6 OR 回路

(4) XOR 回路は,次の式に示すように,四つの NAND 回路で表せる。この式を基

に作成した XOR回路を図 7に示す。

Page 5: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 3 -

I1 XOR I2 =

= I1 AND I1 AND I2 AND I1 AND I2 AND I2

図7 XOR 回路

次に,作成した論理回路素子を用いて,全加算器回路を作成する。

〔全加算器回路の説明〕

全加算器回路は,けた上がりを考慮した 2 進数 1 けた同士の加算を行う回路で,

論理回路素子を組み合わせて作成する。全加算器回路の回路記号及び真理値表を図 8

に示す。

※“K”は,けたを表す。

入力 出力

I1K I2K CK ZK CK+1

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1

1 0 0

1 0 1

1 1 0 0 1

1 1 1 1 1

図8 全加算器回路の回路記号及び真理値表

全加算器回路は,ZK 及び CK+1 を求める次の二つの式で表せる。これらの式を基に

作成した全加算器回路の回路図を図 9に示す。

ZK = I1K XOR I2K XOR CK

CK+1 =(I1K XOR I2K)AND CK OR I1K AND I2K

図9 全加算器回路の回路図

I1K I2K

CK

ZK CK+1

I1K I2K

CK

ZK

CK+1

Page 6: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 4 -

[設問1]図6中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア I1 AND I2 イ I1 AND I2 ウ I1 OR I2 エ I1 OR I2

[設問2]図7中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア I1 AND I2 OR I1 AND I2 イ I1 AND I2 OR I1 AND I2

ウ I1 OR I2 AND I1 OR I2 エ I1 OR I2 AND I1 OR I2

[設問3]図8中の c に入れる適切な表の切抜き部分を,解答群の中から選

べ。

解答群

ア 0 0

0 1

1 0

イ 0 1

1 0

0 1

ウ 1 0

0 1

1 0

エ 1 0

0 1

1 1

[設問4]図9中の d に入れる適切な論理回路素子を,解答群の中から選べ。

解答群

ア イ

ウ エ

[設問5]図9中の e に入れる適切な論理回路素子を,解答群の中から選べ。

解答群

ア イ

ウ エ

Page 7: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 5 -

問2 社内ネットワークの再構築に関する次の記述を読んで,設問6~10 に答えよ。

ある会社には,営業部,総務部,経理部,開発部,製造部がある。現在,パソ

コン及びサーバなどの機器を全部で 100 台保有し,社内ネットワークを構築して運

用している。今回,パソコンを 50 台追加し,機器の数を,営業部に 50 台,その他

の部に 25 台ずつ配置することになった。そこで,これを期に,全面的に社内ネット

ワークを再構築することにした。図 1に,ネットワーク構成の再構築案を示す。

図1 ネットワーク構成の再構築案

ネットワークの再構築にあたり,新たに各機器への IP アドレスの割当てを行うこ

とになった。図 2 に示すように,IP アドレスの構成は,ネットワーク部及びホスト

部からなる。さらにホスト部はサブネット ID とホスト ID に分けられる。また,

ネットワーク IDとサブネット IDを合わせてサブネットワークアドレスという。

凡例 R:ルータ,H:スイッチングハブ,S:サーバ,C:クライアント

経理部

R31

H31

C3101 C3102 …

製造部

R41

H41

C4101 C4102 …

総務部

R11

H11

C1101 C1102

開発部

H21

C2101 C2102 … …

R21

営業部

インターネット

R02

C0101

R01

R03

… … C0102

R05 R04 H02

S0201

H01

Page 8: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 6 -

ネットワーク部 ホスト部

ネットワーク ID サブネット ID

サブネットワークアドレス ホスト ID

図2 IP アドレスの構成

サブネットワークアドレスが LAN を特定し,ホスト ID がその LAN の個々のホ

ストを特定する。したがって,五つの LAN それぞれにサブネット ID を,また,そ

れぞれの LAN の配下のホストにその LAN 内で一意なホスト ID を付与する。ここ

で,ホスト ID には,ビットがすべて“0”又はすべて“1”のパターンは使用できな

い。また,サブネット ID も,ビットがすべて“0”又はすべて“1”のパターンを使

用しないものとする。

なお,サブネットワークアドレスの指定は,個々のホストのサブネットマスクを

設定することにより行う。これらの条件に加えて,次に示す IP アドレス付与基準に

従って IPアドレスを付与する。

〔IPアドレスの付与基準〕

(1) ネットワーク IDは,“192.168.1.0”である。

(2) 営業部の LAN のサブネットワークアドレスは,できるだけ小さいものを割り当

てる。

(3) サブネット ID は,小さいほうから,総務部,経理部,開発部,製造部の順に付

与する。

再構築案によると,LAN の数は 5 なのでサブネット ID は最低 a ビッ

ト必要であるが,ホスト ID に使用できるビット数から 一つの LAN あたり

b 台となる。これでは社内のホストすべてに IP アドレスを割り当てるこ

とができない。そこで,表に示すように,LAN ごとにビット数の異なるサブネット

IDを付与することにした。

表 各 LAN のサブネットワークアドレスの割当て

LAN設置部署 サブネットワークアドレス サブネットマスク

営業部 192.168.1. c 255.255.255. d

総務部 192.168.1. e 255.255.255. f

経理部 192.168.1. g 255.255.255. f

開発部 192.168.1. h 255.255.255. f

製造部 192.168.1. i 255.255.255. f

Page 9: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 7 -

[設問6]説明文中の a , b に入れる適切な字句の組合せを,解

答群の中から選べ。

解答群

a b

ア 2 30

イ 3 30

ウ 3 62

エ 4 62

[設問7]表中の c , d に入れる適切な字句の組合せを,解答群

の中から選べ。

解答群

c d

ア 64 128

イ 64 192

ウ 192 192

エ 192 224

[設問8]表中の e , g に入れる適切な字句の組合せを,解答群

の中から選べ。

解答群

e g

ア 32 64

イ 32 128

ウ 64 128

エ 64 192

[設問9]表中の f に入れる適切な字句を,解答群の中から選べ。

解答群

ア 128 イ 192 ウ 224 エ 240

Page 10: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 8 -

[設問10]表中の h , i に入れる適切な字句の組合せを,解答群

の中から選べ。

解答群

h i

ア 128 192

イ 160 192

ウ 192 224

エ 192 240

Page 11: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 9 -

問3 リモートアクセスにおける認証及び暗号化通信に関する次の記述を読んで,設問

11~15 に答えよ。

社外から社内のネットワークにアクセスするには,セキュリティの観点からユー

ザ認証の方式について検討する必要がある。毎回同じ文字列を入力するパスワード

(以下,固定パスワードという)方式では,一度その固定パスワードが他人に盗ま

れてしまうと,本人になりすまして不正アクセスされてしまうことになる。また,

ユーザ ID や固定パスワードが平文のままネットワーク上を流れてしまうことによる

盗聴の問題もある。

これらの問題に対処するため,S/KEY と呼ばれる毎回異なるパスワードを入力

する(以下,ワンタイムパスワードという)方式を検討する。S/KEY による認証

の手順は,次のとおりである。

〔S/KEYによる認証手順〕

(1) ユーザに対して,ログイン可能回数(以下,Mという)を決定する。

(2) サーバは,ユーザ ID や固定パスワードを組み合わせた文字列(以下,パスワー

ド文字列という)を基に,ハッシュ関数によりハッシュ値を求め,OTP(1)とする。

また,そのハッシュ値を基に次のハッシュ値を求める。これを繰り返し,合わせて

M+1回行い,OTP(M+1)として保存する。

(3) クライアントは,1 回目のログインに際して,OTP(M)を作成し,それをサーバ

に送り認証を求める。

(4) サーバは,クライアントから送られてきた OTP(M)のハッシュ値を求め,あら

かじめ求めておいた OTP(M+1)と比較する。この二つが一致すれば認証が成功し

たことになる。その後,サーバは,クライアントの次のログインに備えて,OTP

(M+1)の値を OTP(M)に更新する。

(5) クライアントは,2 回目のログインに際しては,OTP(M-1)をサーバに送

り認証を求める。

ここで,n(1≦n≦M)回目のログインではクライアントは a を

サーバに送り,サーバは送られてきた a のハッシュ値を求め,前回

送られてきた値と比較することにより認証を行う。

例えば,簡単にするため,次の式で示すハッシュ関数を利用して,S/KEY に

よる認証の仕組みを説明する。

Hash(P) = CHAR(MOD(CODE(P),26) + 65)

〔ハッシュ関数 Hashの説明〕

(1) 関数 CODE は,与えられた文字型の引数 P に対して,次の表で示す文字に対応

する数値を返す。例えば,CODE('A')は 65となる。

Page 12: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 10 -

表 関数 CHAR 及び CODE の引数と返却値

関数 CODE 関数 CHAR

引数 P 返却値 引数 P 返却値

'A' 65 65 'A'

'B' 66 66 'B'

… … … …

'Z' 90 90 'Z'

(2) 関数 MOD は,除算の結果の剰余を返す関数である。例えば,MOD(15,11)=

4となる。

(3)関数 CHAR は,与えられた引数に対して,表で示す数値に対応する文字を返す。

例えば,CHAR(65)は'A'となる。

(4) 関数 Hash は,与えられた 1 けたの大文字の英字に対して 1 けたの文字を返す。

例えば,3けたの文字列のハッシュ値を求めるには,関数Hashを 3回使用する。

ログイン回数を 100 としてサーバに保存した OTP(101)が“ b ”のとき,

クライアントは,パスワード文字列として OTP(100)である“NOP”を送信する。

サーバはこの“NOP”を基にハッシュ値“ b ”を求め,OTP(101)と比較

する。ログイン後,サーバは,次のログインに備え,この“NOP”を保存する。

このように毎回異なるパスワードを送信するワンタイムパスワードを採用するこ

とによって,通信の傍受によるパスワードの漏洩対策を行うことができる。

認証後に行うサーバクライアント間の通信は,セション共通鍵方式による暗号通

信を行う。セション共通鍵方式では,データの暗号化のための共通鍵をセション開

始時に作成し,公開鍵暗号方式を使って暗号化して通信相手に送信する。実際の

データ通信は,セション開始時に作成された共通鍵を使って行う。このセション共

通鍵方式と公開鍵の第三者認証を利用した技術に SSL(Secure Socket Layer)があ

り,SSL が Web ブラウザ(以下,ブラウザという)と Web サーバ(以下,サーバ

という)に実装されていれば,SSLを利用した秘匿性の高い通信が可能となる。

SSLにおけるブラウザとサーバとのやり取りは,次のとおりである

〔SSLにおけるブラウザとサーバとのやり取り〕

(1) ブラウザは,サーバに SSLを使用した通信を要求する。

(2) サーバは,ブラウザの要求を受けてサーバの c をブラウザに送信す

る。

(3) ブラウザは,サーバから受け取ったサーバの c と,その中の認証機

関の d を基にして c の改ざんの有無を調べることにより,

サーバの信頼性を確認する。

(4) ブラウザは,セションごとに異なる鍵を生成するために乱数データを生成し,生

成した乱数データを基に共通鍵を作成する。

なお,この乱数データは c 中の e を使用し暗号化する。

Page 13: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 11 -

(5) ブラウザは,生成した乱数データを c 中の e を使用して

暗号化し,サーバに送信する。

(6) サーバは,ブラウザから受け取った暗号化された乱数データで f で

復号し,復号した乱数データを基に通信用の共通鍵を作成する。

(7) この時点において,両者間では同じ共通鍵をもつことになるので,これ以降は,

この共通鍵を使って通信を行う。

[設問11]説明文中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア OTP(n) イ OTP(M-n)

ウ OTP(M-n+1) エ OTP(M+n-1)

[設問12]説明文中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア ABC イ BCD ウ CDE エ EFG

[設問13]説明文中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア ディジタル証明書 イ ディジタル署名

ウ サーバの秘密鍵 エ 認証機関の秘密鍵

[設問14]説明文中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア クライアントの秘密鍵 イ ディジタル証明書

ウ ディジタル署名 エ 認証機関の秘密鍵

[設問15]説明文中の e , f に入れる適切な字句の組合せを,解

答群の中から選べ。

解答群

e f

ア クライアントの公開鍵 クライアントの秘密鍵

イ クライアントの秘密鍵 クライアントの公開鍵

ウ サーバの公開鍵 サーバの秘密鍵

エ サーバの秘密鍵 サーバの公開鍵

Page 14: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 12 -

問4 工程管理に関する次の記述を読んで,設問 16~20 に答えよ。

ある会社では,現在稼働中のあるシステム(以下,旧システムという)を新しい

システム(以下,新システムという)に置き換えることになった。新システムの置

換え作業は,休日を利用して行う。この作業の工程管理を行うため,新システムの

置換え作業にあたり実施しなければならない作業を洗い出し,表に示す作業リスト

を作成した。この作業リストには,洗い出した作業項目ごとに割り振った ID(以下,

作業 ID という),作業項目,その作業を実施する前に完了していなければならない

作業(以下,先行作業という)の作業 ID,見積もった作業時間(分)を記入した。

表 作業リスト

作業 ID 作業項目 先行作業 ID 作業時間(分)

W1 サーバ側データのバックアップ処理 - 120

W2 サーバデータの変換処理 W1 120

W3 サーバ側ソフトのバージョンアップ W1 180

W4 クライアント側ソフトのバージョンアップ - 90

W5 新データのサーバへのロード W2,W3 90

W6 サーバ/クライアント接続確認 W3,W4 60

W7 新データの確認 W5 60

W8 システム稼働確認 W6,W7 120

注“-”は,先行作業がないことを表す。

図 アローダイアグラム

この作業を 9:00 に開始すると,このアローダイアグラムから,作業全体が終了す

る時刻は, a になることがわかり,クリティカルパスは, b で

あることがわかる。また,作業 W2 以外の作業が見積もった時間で完了するとすれ

ば,作業 W2 の遅れが c 分以内であれば,全体の作業時間に影響しない

ことがわかる。

次に,作業 W3 及び W4 の作業時間を,それぞれ 60 分及び 30 分短縮し,それ

以外の作業は見積もった時間で完了するとした場合,作業全体が終了する時刻は,

W5 4

6

7 8

W3

W2

※ は,ダミー作業を表す。

W1

W4

2

W6

W7

W8

5

1 3

Page 15: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 13 -

d になる。このとき,上記(空欄b)以外のクリティカルパスとして,

e が存在することになる。

[設問16]説明文中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア 18:00 イ 18:30 ウ 19:30 エ 20:00

[設問 17]説明文中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア ①→②→③→④→⑥→⑦→⑧ イ ①→②→④→⑤→⑦→⑧

ウ ①→②→④→⑥→⑦→⑧ エ ①→⑤→⑦→⑧

[設問 18]説明文中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア 30 イ 60 ウ 90 エ 120

[設問 19]説明文中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア 17:00 イ 17:30 ウ 18:00 エ 18:30

[設問 20]説明文中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア ①→②→③→④→⑥→⑦→⑧ イ ①→②→④→⑤→⑦→⑧

ウ ①→②→④→⑥→⑦→⑧ エ ①→⑤→⑦→⑧

Page 16: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 14 -

問5 損益分岐点分析に関する次の記述を読んで,設問 21~25 に答えよ。

化粧品メーカの P 社では,来期より,新たに製品 X 及び製品 Y の製造販売を検討

することになり,これらの製品に対して,損益分岐点分析を行うことにした。損益

分岐点分析を行うための前提条件は,次のとおりである。

〔損益分岐点分析を行うための前提条件〕

(1) 製造にかかる費用が,固定費と変動費に分けられる。

(2) 固定費が一定である。

(3) 変動費が製造数量に比例して変動する。

(4) 製品の販売単価が一定である。

(5) a 。

P 社では,製品 X 及び製品 Y に関して,上記の前提条件を満たすことがわかった。

そこで,早速,製品 X及び製品 Yに対し,損益分岐点分析を行うことになった。

〔損益分岐点分析の説明〕

(1) 売上高が総費用(変動費+固定費)と等しくなる点を損益分岐点という。

(2) 損益分岐点における売上高では,利益が 0となることを意味する。

(3) 損益分岐点における売上高に対して,実際の売上高が少ないと損失,それを上回

ると利益になる。

(4) 図 1に,固定費,変動費及び売上高による損益分岐点を表すグラフを示す。

図1 損益分岐点を表すグラフ

なお,対象とする期間は来期のみとする。したがって,固定費は来期分のみを求

める。ここで,来期における,製品 X 及び製品 Y にかかる費用の内訳を次のように

整理した。

売上高

固定費

変動費

損益分岐点

製造数量/販売数量

費用/売上高

固定費 + 変動費 = 総費用

損失損失損失損失

利益利益利益利益

Page 17: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 15 -

〔費用の内訳〕

(1) 製品 X 及び製品 Y ともに,同じ機械設備で製造する。この機械設備の購入価額

は 400,000(千)円であり,耐用年数 8 年(償却率 0.125)として,定額法により 1

期分の減価償却費を算出する。

(2) 機械設備以外に製品 X 及び製品 Y の製造にかかわる固定費は,合計で 50,000

(千)円とする。

(3) X製品と Y製品への固定費の配賦の割合を 2:3とする。

(4) 製品 X 及び製品 Y の 1 個当たりの材料費は,それぞれ 100 円及び 200 円である。

(5) 材料費以外に製品 X 及び製品 Y の製造にかかわる変動費は,それぞれ 20円及び

40円である。

営業部,設計部及び製造部による価格設定会議において,製品 X 及び製品 Y の販

売価格を決定することになった。価格の決定には,営業部が調査した来期における

販売価格別の販売予測数量を参考にした。図 2 に,製品 X 及び製品 Y の販売価格別

の販売予測数量を示す。ここで,これらの製品 X 及び製品 Y の販売予測数量のいず

れの組合せに対しても,購入する機械設備で十分に製造できるものとする。

製品 X 製品 Y

販売価格(円) 販売予測数量(千個) 販売価格(円) 販売予測数量(千個)

240 400 600 180

320 250 720 140

420 150 960 100

540 100 1,200 70

図2 製品 X及び製品 Y の販売価格別の販売予測数量

最も利益が得られるように製品 X,及び製品 Y の販売価格を,それぞれ 320

円, b 円に設定した。このときの予測利益は,それぞれ 10,000(千)

円, c (千)円となる。また,そのときの製品 X 及び製品 Y の損益分岐点

売上高を求めると,それぞれ d (千)円,80,000(千)円となる。

なお,製品 X 及び製品 Y の安全余裕率について,小数第 3 位を四捨五入して

小数第 2 位まで求めると,それぞれ 0.20 及び e となる。ここで,安

全余裕率は,売上高が損益分岐点売上高をどのくらい上回っているかを示す比率で,

次の式で求められる。

損益分岐点売上高 安全余裕率 = 1 -

売上高

Page 18: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 16 -

[設問21]説明文中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア 在庫維持費用が無視できる

イ 製造数量と販売数量が一致する

ウ 販売数量より製造数量が多い

エ 変動費より固定費が多い

[設問22]説明文中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア 600 イ 720 ウ 960 エ 1,200

[設問23]説明文中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア 4,800 イ 7,200 ウ 12,000 エ 16,000

[設問24]説明文中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア 56,000 イ 60,000 ウ 64,000 エ 96,000

[設問25]説明文中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア 0.16 イ 0.17 ウ 0.19 エ 0.20

Page 19: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 17 -

次の問6は必須問題です。

答えは,ア~エの中から一つずつ選び,設問番号に対応したマークシートの解答番

号欄にマークしてください。なお,二つ以上マークした場合は不正解になります。

問6 次の後置表記法のアルゴリズムに関するプログラムの説明,擬似言語の記述形式な

どの説明及びプログラムを読んで,設問 26~30 に答えよ。

〔プログラムの説明〕

一般的な形式で記述された(以下,中置表記法という)数式を,後置表記法数式に

変換する副プログラム RPolである。

(1) 項 1,項 2からなる 2項の演算式において,中置表記法では,項 1,演算子,項 2

の順に記述するが,後置表記法では,項 1,項 2,演算子の順に記述する。例えば,

中置表記法数式“2+3×4”,“(1+2×(3+4))÷5”をそれぞれ後置表記法数式で

表現すると次のようになる。

234×+

1234+×+5÷

(2) 副プログラム RPolで処理される中置表記法数式の仕様は,次のとおりである。

① 数字は 1けたの整数のみである。

② 演算子は 2項演算子のみである。

③ 数式として正しく記述されている。

④ 数式が格納されている文字列の終端には,文字列の終了を意味する文字 NULL

が格納されている。

(3) スタックを利用して,次に示す手順で中置表記法数式を後置表記法数式に変換す

る。ここで,スタックの領域は十分あり,この処理によってあふれることはない。

① 入力文字が数字の場合は,そのまま出力する。

② 入力文字が開き括弧“(”の場合は,開き括弧“(”をスタックに格納する。

③ 入力文字が閉じ括弧“)”の場合は,最後にスタックに格納された内容(以下,

スタックの先頭位置という)が開き括弧“(”でない間,スタックから取り出し

て出力する。

④ 演算子の場合は,次の処理を行う。

・スタックへの格納数が 0でないときは,スタックの先頭位置の演算子の優先度

がこの演算子の優先度以上で,かつ,スタックへの格納数が 0でない間,スタッ

クから取り出して出力する。

・演算子をスタックに格納する。

⑤ 全文字を処理した後,スタックに格納されている演算子があれば,それを順に

出力する。

(4) 後置表記法数式の終端には,NULLを格納する。

Page 20: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 18 -

(5) 文字型配列 Stk[]の要素数は十分に大きいものとする。なお,配列の添字は 0か

ら始まる。

(6) 副プログラム RPolは,次に示す関数を使用する。

① 関数 NChkは,与えられた文字が数字かどうかをチェックする。

② 関数 OChkは,与えられた文字が演算子かどうかをチェックする。

③ 関数 OPriは,与えられた演算子の優先度を数値で返す。

(7) 副プログラム RPolの引数の仕様を表 1に,RPol で使用する関数を表 2~4に示

す。

表1 RPolの引数の仕様

引数 データ型 入出力 意味

IExp[] 文字型 入力 中置表記法で表現された数式の文字列で,文字

列の終端には,NULLが格納されている。

PExp[] 文字型 出力 後置表記法に変換された数式で,文字列の終端

には,NULLを格納する。

表2 NChk の引数と返却値の仕様

引数/返却値 データ型 入出力 意味

InChr 文字型 入力 調べられる文字

返却値 整数型 出力

InChrが数字の場合は 1,

InChrが数字以外の場合は 0

表3 OChk の引数と返却値の仕様

引数/返却値 データ型 入出力 意味

InChr 文字型 入力 調べられる文字

返却値 整数型 出力

InChrが演算子の場合は 1,

InChrが演算子以外の場合は 0

表4 OPriの引数と返却値の仕様

引数/返却値 データ型 入出力 意味

InChr 文字型 入力 調べられる演算子 返却値 整数型

出力

演算子の優先度で,大きいほど優先度が高い。

InChrが演算子でない場合は最も低い値とな

る。

Page 21: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 19 -

〔擬似言語の記述形式などの説明〕

(1) 記述形式

記述形式 説明

○ 手続,変数などの名前,型などを宣言する。

/* 文文文文 */ 文文文文に注釈を記述する。

・変数変数変数変数 ← 式式式式 変数変数変数変数に式式式式の値を代入する。

・手続手続手続手続( 引数引数引数引数, ・・・ ) 手続手続手続手続を呼び出し,引数引数引数引数を受け渡す。

▲ 条件式条件式条件式条件式

処理処理処理処理

単岐選択処理を示す。

条件式条件式条件式条件式が真のときは処理を実行する。

▲ 条件式条件式条件式条件式

処理処理処理処理 1

処理処理処理処理 2

双岐選択処理を示す。

条件式条件式条件式条件式が真のときは処理処理処理処理 1を実行し,偽のとき

は処理処理処理処理 2を実行する。

■ 条件式条件式条件式条件式

処理処理処理処理

前判定繰返し処理を示す。

条件式条件式条件式条件式が真の間,処理処理処理処理を繰り返し実行する。

処理処理処理処理

■ 条件式条件式条件式条件式

後判定繰返し処理を示す。

処理処理処理処理を実行し,条件式条件式条件式条件式が真の間,処理処理処理処理を繰り返

し実行する。

■ 変数変数変数変数: 初期値初期値初期値初期値, 条件式条件式条件式条件式, 増分増分増分増分

処理処理処理処理

繰返し処理を示す。

開始時点で変数変数変数変数に初期値初期値初期値初期値(定数又は式で与え

られる)が格納され,条件式条件式条件式条件式が真の間,処理処理処理処理

を繰り返す。また,繰り返すごとに,変数変数変数変数に

増分増分増分増分(定数又は式で与えられる)を加える。

(2) 演算子と優先順位

演算の種類 演算子 優先順位

単項演算 +,-,not 高

乗除演算 ×,÷,% 加減演算 +,- 関係演算 >,<,≦,≧,=,≠ 論理積 and 論理和 or 低

注 整数同士の除算では,商を結果として返す。%演算子は,剰余算を表す。

(3) 論理型の定数

true,false

Page 22: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 20 -

〔プログラム〕

・PExp[j] ← IExp[i]

・Stk[SNum] ← IExp[i]

■ a

▲ SNum ≠ 0

αααα

ββββ

γγγγ

δδδδ

○RPol(文字型: IExp[], 文字型: PExp[]) /* 中置表記法を後置表記法に変換 */

○文字型: Stk[]

○整数型: i, j, SNum

・SNum ← 0

・i ← 0

・j ← 0

■ IExp[i] ≠ NULL

▲ NChk(IExp[i]) = 1 /* 数字判定 */

・j ← j + 1

▼ ▲ IExp[i] = '(' /* 開き括弧判定 */

・SNum ← SNum + 1

▼ ▲ IExp[i] = ')' /* 閉じ括弧判定 */

・PExp[j] ← Stk[SNum - 1]

・j ← j + 1

・SNum ← SNum - 1

・SNum ← SNum - 1

▼ ▲ OChk(IExp[i]) = 1 /* 演算子判定 */

■ b

・PExp[j] ← Stk[SNum - 1]

・j ← j + 1

・SNum ← SNum - 1

・Stk[SNum] ← IExp[i]

・SNum ← SNum + 1

・i ← i + 1

Page 23: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 21 -

このプログラムの仕様では,入力される中置表記法数式における数字のけた数は 1

けたとなっているが,次の 2 行を d が示す位置の直前に追加することに

よって,出力される後置表記法数式の項間に区切り文字として空白文字を挿入するこ

とになり,2けた以上の整数を識別することができるようになる。

後置表記法では,最初に現れた演算子の前の 2項の演算結果を 1項に置き換えるこ

とを繰り返して解を求める。ここで,後置表記法における演算過程において,“1 2 3 4

+ × + 5 ÷”を例に示す。

回 演算前 演算後

1 1 2 3 4 + × + 5 ÷ → 1 2 7 × + 5 ÷

2 1 2 7 × + 5 ÷ → 1 14 + 5 ÷

3 1 14 + 5 ÷ → 15 5 ÷

4 15 5 ÷ → 3

図 後置表記法における解の求め方

この例に倣い,次に示す後置表記法数式

12 3 4 + 5 × + 65 + 4 - 3 ÷ 2 - 1 +

の解を求めると, e になる。

・PExp[j] ← ' '

・j ← j + 1

■ c /* スタックの残りを取り出す */

・PExp[j] ← Stk[i]

・j ← j + 1

・PExp[j] ← NULL

Page 24: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 22 -

[設問26]プログラム中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア Stk[SNum] = '(' イ Stk[SNum] ≠ '('

ウ Stk[SNum - 1] = '(' エ Stk[SNum - 1] ≠ '('

[設問27]プログラム中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア OPri(Stk[SNum]) ≧ OPri(IExp[i]) and SNum ≠ 0

イ OPri(Stk[SNum]) < OPri(IExp[i]) or SNum = 0

ウ OPri(Stk[SNum - 1]) ≧ OPri(IExp[i]) and SNum ≠ 0

エ OPri(Stk[SNum - 1]) < OPri(IExp[i]) or SNum = 0

[設問28]プログラム中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア i: SNum, i > 0, -1 イ i: SNum - 1, i > 0, -1

ウ i: SNum - 1, i ≧ 0, -1 エ j: SNum - 1, j ≧ 0, -1

[設問29]説明文中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア α イ β ウ γ エ δ

[設問30]説明文中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア 33 イ 34 ウ 35 エ 36

Page 25: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 23 -

次の問7~問11の5問については,この中から1問を選択して解答してください。

答えは,ア~エの中から一つずつ選び,設問番号に対応したマークシートの解答番

号欄にマークしてください。また,二つ以上マークした場合は不正解になります。

なお,マークシートの問題選択欄にマークがない場合は,選択問題については採点

の対象になりません。

問7 次の C プログラムの説明及びプログラムを読んで,設問 31~35 に答えよ。

〔プログラムの説明〕

テキストファイルに格納されているキーとデータを基に,2 分探索木を生成する関

数 BtrGen,及び 2分探索木内のデータのキーを基に検索する関数 BtrSrchである。

(1) テキストファイルの仕様は,次のとおりである。

① 1レコードにキー(5 文字以内)及びデータ(30文字以内)がコンマ区切り形

式で格納されている。

② キーの値が同じレコードは存在しない。

③ テキストファイルには,少なくとも1レコードは存在する。

(2) 一つの節から枝分かれを繰り返し,樹木が枝を伸ばすように広がっていくデータ構

造を木構造といい,次のような構造となっている。

① 階層構造をもち,節(以下,ノードという)と枝からなる。

② ノードは,複数の下位のノード(以下,子という)をもつことができる。

③ 子は,上位のノード(以下,親という)を一つのみもつことができる。

④ 親のないノードを根という。

⑤ 子のないノードを葉という。

⑥ ノードは,値(以下,キーという)をもつ。

(3) 木構造の中で,子の数が最大で 2 個あるものを 2 分木といい,任意のノード(以

下,ノード x という)に対して,あるノード(以下,ノード y という)が,左側の

子孫であれば,条件“ノード y のキー < ノード x のキー”が成り立ち,また,ノー

ド x に対して,ノード y が,右側の子孫であれば,条件“ノード y のキー > ノー

ド xのキー”が成り立つ 2分木を 2分探索木という。

図 2 分探索木の例

10

ノード 1

ノード 0

ノード 3 ノード 4

ノード 2

ノード 7

25

16

ノード 6

ノード 5

30

21

15

19

17

Page 26: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 24 -

(4) ノードは,次に示す構造体 Nodeで表現する。

struct Node {

char Key[6]; /* キー */

char Dat[31]; /* データ */

struct Node *L; /* 左側の子へのポインタ */

struct Node *R; /* 右側の子へのポインタ */

};

(5) 左側の子が存在しない場合は,左側の子へのポインタに,右側の子が存在しない場

合は,右側の子へのポインタに NULLを設定する。

(6) 関数 BtrGen及び BtrSrchの引数と返却値の仕様を,それぞれ表 1,表 2に示す。

表1 BtrGen の引数と返却値の仕様

引数と返却値 入出力 意味

Fnm[] 入力 Keyと Datが格納されているファイルの

ファイル名

返却値 出力 2分木の根のアドレスを返す。

表2 BtrSrch の引数と返却値の仕様

引数と返却値 入出力 意味

Root 入力 2分木の根のアドレス

Key[] 入力 検索するキー

返却値 出力 キーに一致するノードのアドレス

見つからない場合は,NULL

〔プログラム 1〕

#include <stdio.h>

#include <malloc.h>

#include <string.h>

#define BL 256

#define KL 6

#define DL 31

struct Node {

char Key[KL]; /* キー */

char Dat[DL]; /* データ */

struct Node *L; /* 左側の子へのポインタ */

struct Node *R; /* 右側の子へのポインタ */

};

Page 27: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 25 -

struct Node *BtrGen(char Fnm[])

{

FILE *Fp;

struct Node *Root, *Ptr, *Old;

char Buff[BL], Key[KL];

Fp = fopen(Fnm, "r");

if (Fp == NULL) return NULL;

if (fgets(Buff, BL, Fp) == NULL) {

fclose(Fp);

return NULL;

}

Root = malloc(sizeof(struct Node)); /* ルートノード */

a ;

strcpy(Key, strtok(Buff, ","));

strcpy(Root->Key, Key);

strcpy(Root->Dat, strtok(NULL, ",¥n"));

while (fgets(Buff, BL, Fp ) != NULL) {

strcpy(Key, strtok(Buff, ","));

b ; /* 木の探索 */

while (Ptr != NULL) {

Old = Ptr;

if ( c )

Ptr = Ptr->L;

else

Ptr = Ptr->R;

}

Ptr = malloc(sizeof(struct Node)); /* ノードを追加 */

strcpy(Ptr->Key, Key);

strcpy(Ptr->Dat, strtok(NULL, ",¥n"));

d ;

if (strcmp(Key, Old->Key) < 0)

Old->L = Ptr;

else

Old->R = Ptr;

}

fclose(Fp);

return Root;

}

Page 28: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 26 -

〔プログラム 2〕

#include <stdio.h>

#include <string.h>

struct Node *BtrSrch(struct Node *Root, char Key[])

{

struct Node *Ptr;

Ptr = Root;

while (Ptr != NULL) {

if (strcmp(Key, Ptr->Key) == 0)

return Ptr;

else

if ( e )

Ptr = Ptr->L; /* 左側の子へ移動 */

else

Ptr = Ptr->R; /* 右側の子へ移動 */

}

return NULL;

}

Page 29: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 27 -

[設問31]プログラム中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア Ptr->L = Ptr->R = NULL イ Root->L = Root->R

ウ Root->R = Root->L エ Root->L = Root->R = NULL

[設問32]プログラム中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア Old = Ptr イ Old = Root

ウ Ptr = Root エ Old = Ptr

[設問33]プログラム中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア strcmp(Key, Ptr->Key) < 0 イ strcmp(Key, Ptr->Key) > 0

ウ strcmp(Key, Root->Key) < 0 エ strcmp(Key, Root->Key) > 0

[設問34]プログラム中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア Ptr->L = Ptr->R イ Ptr->R = Ptr->L

ウ Ptr->L = Ptr->R = NULL エ Root->L = Root->R = NULL

[設問35]プログラム中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア strcmp(Key, Ptr->Key) < 0 イ strcmp(Key, Ptr->Key) > 0

ウ strcmp(Key, Root->Key) < 0 エ strcmp(Key, Root->Key) > 0

Page 30: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 28 -

問8 次の COBOL プログラムの説明及びプログラムを読んで,設問 36~40 に答えよ。

〔プログラムの説明〕

源泉ファイルと給与ファイルから税額ファイルを作成するプログラムである。

(1) 源泉ファイル(GEN-F)のレコード様式は,図 1に示すとおりである。

税額

(1) (2) (3) (4) (5) (6) (7) (8)

給与金額 7けた 7けた 7けた 7けた 7けた 7けた 7けた 7けた

図1 源泉ファイルのレコード様式

① レコードは,給与金額の昇順に整列済である。なお,源泉ファイルのレコード

件数は 400件以下である。

② 税額(1)~税額(8)には,それぞれ扶養人数が(添字-1)人のときの税額が格

納されている。例えば,税額(1)には,扶養人数なしのときの税額,税額(8)には,

扶養人数が 7 人のときの税額が格納されている。次に,税額表(TBL-ZEI)の内

容の一部を示す。

表 税額表(TBL-ZEI)

扶養人数

給与金額 0 1 2 ~ 7

以上 未満 税額

0 88,000 0 0 0 ~ 0

88,000 89,000 130 0 0 ~ 0

89,000 90,000 180 150 0 ~ 0

~ ~ ~ ~ ~ ~ ~ (2) 給与ファイル(KYU-F)のレコード様式は,図 2に示すとおりである。

社員番号 給与金額 扶養人数

5けた 9けた 2けた

図2 給与ファイルのレコード様式

(3) 税額ファイル(ZEI-F)のレコード様式は,図 3に示すとおりである。

社員番号 源泉税額

5けた 7けた

図3 税額ファイルのレコード様式

Page 31: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 29 -

(4) 税額ファイルは,次の手順で作成する。

① 源泉ファイルを読み込み,配列 TBL-ZEI に格納し,配列への格納数を変数

T-MAXに設定する。

② 給与ファイルを読み込み,次の条件に従って税額を計算する。

・条件 1:扶養人数が 7 人を超える場合,7 人のときの税額から,超えた人数×

1,500円を減額する。ただし,この値が負になるとき,税額は 0円とする。

・条件 2:給与ファイルの給与金額(以下給与とする)が,配列の T-MAX番目の

給与金額の値を超える場合は,税額は T-MAX番目の値で計算し,その税額に,

(給与 - 配列の T-MAX 番目の給与金額の値)× 0.3 を加算する(小数点以

下は切り捨て)。

〔プログラム〕

DATA DIVISION.

FILE SECTION.

FD GEN-F.

01 GEN-R.

03 GEN-KYUYO PIC 9(09).

03 GEN-ZEIGAKU PIC 9(07) OCCURS 8.

FD KYU-F.

01 KYU-R.

03 KYU-SNUM PIC X(05).

03 KYU-KYUYO PIC 9(09).

03 KYU-FUYO PIC 9(02).

FD ZEI-F.

01 ZEI-R.

03 ZEI-SNUM PIC X(05).

03 ZEI-ZEIGAKU PIC 9(07).

WORKING-STORAGE SECTION.

01 FLG-GEN PIC 9(01) VALUE 0.

88 GEN-EOF VALUE 1.

01 FLG-KYU PIC 9(01) VALUE 0.

88 KYU-EOF VALUE 1.

01 TBL-ZEI.

03 OCCURS 400.

05 TBL-KYUYO PIC 9(09).

05 TBL-ZEIGAKU PIC 9(07) OCCURS 8.

01 T-MAX PIC 9(03) VALUE 0.

01 IX PIC 9(03).

01 W-ZEIGAKU PIC S9(07).

PROCEDURE DIVISION.

PRO-STA.

OPEN INPUT GEN-F.

READ GEN-F

AT END SET GEN-EOF TO TRUE

Page 32: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 30 -

END-READ.

PERFORM UNTIL GEN-EOF

COMPUTE T-MAX = T-MAX + 1

MOVE GEN-KYUYO TO TBL-KYUYO(T-MAX)

PERFORM VARYING IX FROM 1 BY 1 UNTIL IX > 8

MOVE GEN-ZEIGAKU(IX) TO TBL-ZEIGAKU(T-MAX IX)

END-PERFORM

READ GEN-F

AT END SET GEN-EOF TO TRUE

END-READ

END-PERFORM.

CLOSE GEN-F.

OPEN INPUT KYU-F OUTPUT ZEI-F

PERFORM UNTIL KYU-EOF

READ KYU-F

AT END

SET KYU-EOF TO TRUE

NOT AT END

PERFORM VARYING IX FROM 1 BY 1

UNTIL a

CONTINUE

END-PERFORM

IF IX > T-MAX THEN

PERFORM CALC-ZEIGAKU

ELSE

PERFORM CALC-ZEIGAKU

END-IF

MOVE KYU-SNUM TO ZEI-SNUM

MOVE W-ZEIGAKU TO ZEI-ZEIGAKU

WRITE ZEI-R

END-READ

END-PERFORM.

CLOSE KYU-F ZEI-F.

STOP RUN.

CALC-ZEIGAKU.

IF KYU-FUYO > 7 THEN

IF W-ZEIGAKU < 0 THEN

END-IF

ELSE

MOVE TBL-ZEIGAKU(IX KYU-FUYO + 1) TO W-ZEIGAKU

END-IF.

Page 33: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 31 -

[設問36]プログラム中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア IX < T-MAX AND TBL-KYUYO(IX) < KYU-KYUYO

イ IX > T-MAX AND TBL-KYUYO(IX) > KYU-KYUYO

ウ IX > T-MAX OR TBL-KYUYO(IX) > KYU-KYUYO

エ IX > T-MAX OR TBL-KYUYO(IX) < KYU-KYUYO

[設問37]プログラム中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア MOVE IX TO T-MAX イ MOVE T-MAX TO IX

ウ MOVE 1 TO I エ MOVE 1 TO T-MAX

[設問38]プログラム中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア COMPUTE W-ZEIGAKU = W-ZEIGAKU + KYU-KYUYO * 1.3

イ COMPUTE W-ZEIGAKU = W-ZEIGAKU

+ (KYU-KYUYO - TBL-KYUYO(1)) * 0.3

ウ COMPUTE W-ZEIGAKU = W-ZEIGAKU

+ (KYU-KYUYO - TBL-KYUYO(T-MAX)) * 0.3

エ COMPUTE W-ZEIGAKU = W-ZEIGAKU + TBL-KYUYO(T-MAX) * 1.3

[設問39]プログラム中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア COMPUTE W-ZEIGAKU = TBL-ZEIGAKU(IX 7)

- (KYU-FUYO - 7) * 1500

イ COMPUTE W-ZEIGAKU = TBL-ZEIGAKU(IX 7)

- (KYU-FUYO - 8) * 1500

ウ COMPUTE W-ZEIGAKU = TBL-ZEIGAKU(IX 8)

- (KYU-FUYO - 7) * 1500

エ COMPUTE W-ZEIGAKU = TBL-ZEIGAKU(IX 8)

- (KYU-FUYO - 8) * 1500

Page 34: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 32 -

[設問40]プログラム中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア MOVE 0 TO W-ZEIGAKU

イ MOVE TBL-ZEIGAKU(IX 1) TO W-ZEIGAKU

ウ MOVE TBL-ZEIGAKU(IX 7) TO W-ZEIGAKU

エ MOVE TBL-ZEIGAKU(IX 8) TO W-ZEIGAKU

Page 35: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 33 -

問9 次の Javaプログラムの説明及びプログラムを読んで,設問 41~45に答えよ。なお,

Java プログラムで使用する API の説明は,この冊子の末尾を参照する。

〔プログラムの説明〕

スキー場に関する情報を,名前の辞書順と積雪量の多い順で並べ替えるプログラム

である。

名前の辞書順に並べ替える場合は,java.util.Arrays.sort(Object[])を使

用する。

積雪量の多い順に並べ替える場合は,java.util.Arrays.sort(Object[],

java.util.Comparator)を使用する。このメソッドは,引数で与えられた

Comparator のインスタンスのメソッド compare を呼び出し,配列中の要素を比較

して並べ替える。ここでは,インタフェース Comparator を実装するクラス

SkiComparatorを定義する。

(1) クラス SkiComparator

コンストラクタの引数で与えられたスキー場と積雪量からマップを作成する。積雪

量を取得するメソッド getSnowryou と,積雪量の降順でスキー場を並べ替えるメ

ソッド compareをオーバライドする。

(2) クラス TestSort

スキー場の名前を文字列配列で,それに対応する積雪量を数値配列で作成する。最

初に,スキー場の辞書順に並べ替え,次に,スキー場と積雪量からクラス

SkiComparatorのインスタンスを作成して,積雪量の多い順に並べ替える。

このプログラムの実行結果を以下に示す。ただし,%はシステムのコマンドプロンプ

トである。

%java TestSort

SORT SKIAREA_NAME ASC

[Biwako, Hakuba, Nozawa, Shigakougen, Zaou]

SORT SNOW_RYOU DESC

[Hakuba, Zaou, Shigakougen, Biwako, Nozawa]

[150, 120, 100, 100, 30]

Page 36: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 34 -

〔プログラム〕

import java.util.*;

public class TestSort {

public static void main(String[] args) {

String[] skiarea = {

"Zaou", "Shigakougen", "Nozawa", "Hakuba", "Biwako"

};

int[] snowryou = {120, 100, 30, 150, 100};

String[] skiarea2 = a ;

Arrays.sort(skiarea);

System.out.println("SORT SKIAREA_NAME ASC");

System.out.println(Arrays.toString(skiarea) + "¥n");

SkiComparator skicomparator =

new SkiComparator(skiarea2, snowryou);

Arrays.sort( b );

System.out.println("SORT SNOW_RYOU DESC");

System.out.println(Arrays.toString(skiarea2));

System.out.println("[" +

skicomparator.getSnowryou(skiarea2) + "]");

}

}

class SkiComparator implements c

{

private Map<String, Integer> map =

new HashMap<String, Integer>();

SkiComparator(String[] skiarea, int[] snowryou) {

for (int i = 0; i < skiarea.length; i++) {

map.put(skiarea[i], snowryou[i]);

}

}

public String getSnowryou(String[] skiarea2) {

String snowstring = "";

int i = 0;

for ( ; i < d ; i++) {

snowstring += map.get(skiarea2[i]);

snowstring += ", ";

}

snowstring += map.get(skiarea2[i]);

return snowstring;

}

public int compare(String skiplace1, String skiplace2) {

return e ;

}

}

Page 37: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 35 -

[設問41]プログラム中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア "" イ null

ウ skiarea エ skiarea.clone()

[設問42]プログラム中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア skiarea イ skiarea, skicomparator

ウ skiarea2 エ skiarea2, skicomparator

[設問43]プログラム中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア Comparator<int> イ Comparator<Integer>

ウ Comparator<String> エ Comparator<Object>

[設問44]プログラム中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア map.size() イ map.size() - 1

ウ map.size() + 1 エ map.size() - 2

[設問45]プログラム中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア map.get(skiplace1) - map.get(skiplace2)

イ map.get(skiplace2) - map.get(skiplace1)

ウ skiplace1.length() - skiplace2.length()

エ skiplace2.length() - skiplace1.length()

Page 38: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 36 -

問10 次のアセンブラプログラムの説明及びプログラムを読んで,設問 46~50に答えよ。

〔プログラムの説明〕

コンマによって区切られた数値(以下,CSV形式のデータという)を集計する副プ

ログラム CSVSUMである。

(1) 副プログラム CSVSUMは,GR1に CSV 形式のデータの先頭アドレスが設定されて

主プログラムから呼び出される。

(2) 副プログラム CSVSUMは,GR0に CSV 形式のデータ中の各数値の和を集計して主

プログラムに戻る。

(3) CSV形式のデータの仕様は,次のとおりである。

① 数値は,符号なし整数又は符号付き整数のいずれかである。

② コンマによって区切られた文字列の長さが 0の(コンマが連続する)場合,そ

の値は 0とする。

③ データの末尾には,#0000が格納されている。

④ CSV 形式のデータの例を図に示す。この例では,1,-12,0,+123 の 4 個

の数値が格納されている。

+0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10

(GR1) 1 , - 1 2 , , + 1 2 3 Nl

※“Nl”は,#0000を表す。

図 CSV 形式のデータの例

(4) CSV形式のデータは,仕様どおりに格納されているものとする。

(5) 和を求める計算において,けたあふれは発生しないものとする。

(6) 副プログラムから戻るとき,汎用レジスタ GR1~GR7の内容は元に戻す。

Page 39: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 37 -

〔プログラム〕

CSVSUM START

RPUSH

LAD GR0,0 ; 集計値を初期化

NEXT LAD GR2,0 ; CSV値を初期化

LAD GR3,0 ; 符号フラグを初期化

LOOP LD GR4,0,GR1

JZE LAST

CPL GR4,=',' ; 区切り文字か

JZE SUM

CPL GR4,='+' ; 正符号か

JNZ PASS1

JUMP LOOP

PASS1 CPL GR4,='-' ; 負符号か

JNZ PASS2

LAD GR1,1,GR1

JUMP LOOP

PASS2 c

SLA GR2,3

SLA GR5,1

AND GR4,=#000F ; 数値抽出

ADDA GR2,GR4

LAD GR1,1,GR1

JUMP LOOP

SUM CALL ADVAL

LAD GR1,1,GR1

JUMP NEXT

LAST CALL ADVAL

FIN RPOP

RET

ADVAL e

JZE RTN

XOR GR2,GR3

LAD GR2,1,GR2

RTN ADDA GR0,GR2

RET

END

Page 40: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 38 -

[設問46]プログラム中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア LAD GR1,1,GR1 イ LAD GR2,1,GR2

ウ LAD GR3,0 エ LAD GR3,1,GR3

[設問47]プログラム中の b に入れる適切な字句を,解答群の中から選べ。

解答群

ア LAD GR2,0 イ LAD GR3,0

ウ LAD GR3,#FFFF エ LAD GR4,#FFFF

[設問48]プログラム中の c に入れる適切な字句を,解答群の中から選べ。

解答群

ア LD GR2,GR3 イ LD GR2,GR5

ウ LD GR5,GR2 エ SUBA GR5,GR2

[設問49]プログラム中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア ADDA GR2,GR5 イ ADDA GR5,GR2

ウ SUBA GR2,GR5 エ SUBA GR5,GR2

[設問50]プログラム中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア CPA GR2,=0 イ CPA GR3,=0

ウ CPA GR3,=#FFFF エ CPA GR4,=#0000

Page 41: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 39 -

問11 次の表計算及びワークシートの説明を読んで,設問 51~55 に答えよ。

〔表計算の説明〕

ある倉庫における入出庫記録を基に期末在庫金額を求め,期末在庫金額による ABC

分析を行う。この表計算ソフトでは,次の表に示す関数が使用できる。

表 使用できる関数

書式 説明

文字列結合(セル 1,セル 2) セル 1の文字列の末尾にセル 2の文字列

を結合して一つの文字列にまとめ,関数

値として返す。セル 1,セル 2 が数値の場

合には,文字列に変換して結合する。

順位(セル,範囲,順序) 指定された範囲のセル全部に対する,与

えられたセルの順位を計算する。降順の

(より大きい値を順位として優先する)

場合は順序に 0 を,昇順の場合は順序に 1

を設定する。

条件付合計(範囲,検索条件,合計範囲) 検索条件で指定したセルの値と同じ値の

セルを範囲から探し,対応するセルの合

計値を関数値として返す。

垂直照合(照合値,照合範囲,列位置) “照合範囲”の最左端列を上から下に走

査し,“照合値”と等しい値を含むセルが

初めて現れる行を探す。次に,その行に

沿って“照合範囲”の最左端列から数え

て“列位置”を 1,2,3,…と付与し,

該当する“列位置”のセル値を関数値と

して返す。“照合範囲”は,ワークシート

中の長方形領域とし,領域の左上と右下

のセルを使って“左上~右下”の形で指

定する。

〔ワークシート:入出庫記録〕

(1) 倉庫の入出庫記録を基に,ワークシート“入出庫記録”を作成した。作成したワー

クシートを図 1に示す。

A B C D E

1 入出庫記録

2 日付 区分 商品番号 数量 区分・商品番号

3 2008-12-27 入庫 S0042 7,300 入庫 S0042

4 2008-12-30 出庫 S0036 7,150 出庫 S0036

… … … … … …

184 2009-12-21 出庫 S0033 120 出庫 S0033

185 2009-12-23 入庫 S0031 225 入庫 S0031

図1 ワークシート“入出庫記録”

Page 42: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 40 -

(2) 図 1中の各項目の説明は,次のとおりである。

① 倉庫への入庫の場合は,区分(セル B3~B185)に“入庫”,倉庫からの出庫の

場合は,区分に“出庫”が記録されている。

② 日付,商品番号及び数量は,入庫又は出庫した日付,商品番号,数量を表す。

③ 区分・商品番号ごとに集計を行うため,セル E3 に計算式 文字列結合(B3,

C3)を入力し,セル E4~E185に複写する。

〔ワークシート:商品一覧〕

(1) 商品ごとの期末在庫金額を求めるため,ワークシート“商品一覧”を作成した。作

成したワークシートを図 2に示す。

A B C D E F G H I J K

1 商品一覧

2 番号 一意値 一意値順位 商品番号 商品名 期首 単価 入庫 出庫 期末 在庫金額

3 1 1,199 27 S0001 商品名 01 80 2,600 50 55 75 195,000

4 2 2,148 8 S0002 商品名 02 0 2,500 830 155 675 1,687,500

… … … … … … … … … … … …

52 50 250 45 S0050 商品名 50 50 1,500 125 160 15 22,500

図2 ワークシート“商品一覧”

(2) 図 2中の各項目の説明は,次のとおりである。

① 番号(セル A3~A52)には,1~50の連続する番号があらかじめ入力されてい

る。

② 商品番号(セル D3~D52),商品名(セル E3~E52),期首在庫数量(セル F3

~F52),単価(セル G3~G52)は,あらかじめ入力されている。

③ 当期入庫数量及び当期出庫数量を求めるため,セル H3 に次の計算式を入力し,

セル H4~H52,セル I3~I52に複写する。

条件付合計(入出庫記録!$E$3~$E$185,

文字列結合( a ),入出庫記録!$D$3~$D$185)

④ 期末在庫数量を求めるため,セル J3に計算式 F3+H3-I3 を入力し,セル J4

~J52に複写する。

⑤ 期末在庫金額を求めるため,セル K3 に計算式 G3*J3 を入力し,セル K4~

K52に複写する。

⑥ 在庫金額の大きい順に順位を求めるが,同一金額を同一順位とせず,その中で

番号が小さい順に在庫金額が大きいものとして順位を求める。例えば,番号 12

の商品番号“S0012”と番号 47の商品番号“S0047”が,ともに在庫金額“630,000”

で 11 位の場合,商品番号“S0012”を 11位,商品番号“S0047”を 12位とする。

・重複しない順位“一意値順位”を求めるための作業用セルとして“一意値”を

用意し,そのセル B3に次の計算式を入力し,セル B4~B52に複写する。

順位(K3,K$3~K$52, b )*50-A3

Page 43: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 41 -

・重複しない順位“一意値順位”を求めるため,セル C3に計算式 順位(B3,B$3

~B$52, c )を入力し,セル C4~C52に複写する。

〔ワークシート:ABC分析〕

(1) 在庫金額による ABC 分析を行うため,ワークシート“ABC 分析”を作成した。

作成したワークシートを図 3に示す。

A B C D E F G H I

1 ABC分析 0.7 0.9

2 番号 商品番号 商品名 在庫金額 構成

比率

累計構

成比率

絶対値

(A 群)

絶対値

(B 群) クラス

3 1 S0018 商品名 18 8,094,000 0.1979 0.1979 0.5021 0.7021 A群

4 2 S0045 商品名 45 5,530,500 0.1352 0.3331 0.3669 0.5669 A群

… … … … … … … … … …

52 50 S0023 商品名 23 10,500 0.0003 1.0000 0.3000 0.1000 C群

53 合計 40,903,500 1.0000

図3 ワークシート“ABC分析”

(2) 図 3中の各項目の説明は,次のとおりである。

① 番号(セル A3~A52)は,1~50の連続する番号があらかじめ入力されている。

② 商品番号及び商品名を求めるため,セル B3 に次の計算式を入力し,セル B4

~B52,C3~C52に複写する。

垂直照合(A3,商品一覧!C$3~D$52,2)

③ 在庫金額を求めるため,セル D3 に次の計算式を入力し,セル D4~D52 に複

写する。

垂直照合(B3,商品一覧!D$3~K$52,8)

また,在庫金額の合計を求めるため,セル D53に計算式 合計(D3~D52)を

入力し,セル E53に複写する。

④ 構成比率を求めるため,セル E3に計算式 D3/D$53を入力し,セル E4~E52

に複写する。

⑤ 累計構成比率を求めるため,セル F3 に計算式 d を入力し,セル F4

~F52に複写する。

⑥ 絶対値(A群)及び絶対値(B群)は,次のとおりである。

・ セル G1及び H1に,それぞれ A群の目安 0.7,B群の目安 0.9を入力する。

・ セル G3 に計算式 e を入力し,セル G4~G52,H3~H52 に複写す

ることで,絶対値(A群)及び絶対値(B群)を求める。

⑦ 「当該行の絶対値(A 群)>次の行の絶対値(A 群)」又は当該行の絶対値(A 群)

が絶対値(A 群)の中で最も小さい場合,クラスを“A”とする。そうでない場合

は,「当該行の絶対値(B 群)>次の行の絶対値(B 群)」又は当該行の絶対値(B群)

が絶対値(B 群)の中で最も小さい場合,クラスを“B”とする。これらのいずれ

でもない場合は,クラスを“C”とする。

Page 44: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 42 -

なお,最終行のクラスは,在庫金額が前行と同一のときは,前行と同じクラス,

そうでないときは“C”とする。

・番号 1~49 の商品のクラスを求めるため,セル I3 に次の計算式を入力し,セ

ル I4~I51に複写する。

IF(論理和(G3>G4,G3=最小( f )),'A群',

IF(論理和(H3>H4,H3=最小( g )),'B 群','C 群'))

・ 番号 50の商品のクラスを求めるため,セル I52に次の計算式を入力する。

IF(D52=D51,I51,'C群')

[設問51]説明文中の a に入れる適切な字句を,解答群の中から選べ。

解答群

ア H2,D3 イ H$2,D$3

ウ H$2,$D3 エ $H2,D$3

[設問52]説明文中の b , c に入れる適切な字句の組合せを,解答

群の中から選べ。

解答群

b c

ア 0 0

イ 0 1

ウ 1 0

エ 1 1

[設問53]説明文中の d に入れる適切な字句を,解答群の中から選べ。

解答群

ア 合計(E3~E52) イ 合計(E$3~E3)

ウ 合計(E$3~E$52) エ 最大(E$3~E3)

Page 45: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 43 -

[設問54]説明文中の e に入れる適切な字句を,解答群の中から選べ。

解答群

ア IF(F$3<$G1,F$3-$G1,0)

イ IF(F$3>$G1,F$3-$G1,$G1-F$3)

ウ IF($F3<G$1,$F3-G$1,G$1-$F3)

エ IF($F3>G$1,$F3-G$1,G$1-$F3)

[設問55]説明文中の f , g に入れる適切な字句の組合せを,解答

群の中から選べ。

解答群

f g

ア G$3~G$52 H$3~H$52

イ H$3~H$52 G$3~G$52

ウ $G3~$G52 $H3~$H52

エ $H3~$H52 $G3~$G52

Page 46: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 44 -

■■■■JavaJavaJavaJava プログラムプログラムプログラムプログラムでででで使用使用使用使用するするするする APIAPIAPIAPI のののの説明説明説明説明

java.util

public interface Comparator<T>

オブジェクトのコレクションで「全体順序付け」を行う比較関数である。コンパレータ(Comparator)をソー

トメソッド(Collections.sortなど)に渡すと,ソート順を正確に制御でき,コンパレータを使用すると,

TreeSet又は TreeMapといったデータ構造の順序を制御できる。

メソッド

int compare(T o1, T o2)

順序付けのために二つの引数を比較する。最初の引数が 2番目の引数より小さい場合は負の整数,両方

が等しい場合は 0,最初の引数が 2番目の引数より大きい場合は正の整数を求める。

引数: o1 - 比較対象の最初のオブジェクト

o2 – 比較対象の 2番目のオブジェクト

戻り値:最初の引数が 2番目の引数より小さい場合は負の整数,両方が等しい場合は 0,最初の引数が 2

番目の引数より大きい場合は正の整数

java.util

public class HashMap<K, V>

Mapインタフェースのハッシュテーブルに基づく実装である。マップの任意のオペレーションをすべて実装

し,null 値及び null キーを使用できる。マップの順序については保証されない。マップは,キーと値を要

素として管理する。

コンストラクタ

HashMap()

初期容量 16で空のマップを作成する。

HashMap(Map<? extends K, ? extends V> m)

指定された Mapと同じマッピングで新規 HashMapを作成する。

メソッド

public int size()

マップ内のキーと値のマッピングの数を返す。

戻り値: マップ内のキーと値のマッピングの数

public V get(Object key)

このハッシュマップ内で指定されたキーにマップされている値を返す。マップがこのキーのマッピング

を保持していない場合は nullを返す。

引数: key 関連付けられた値が返されるキー

戻り値: マップが指定されたキーにマッピングしている値

このキーに対するマッピングがマップにない場合は null

public Set<K> keySet()

マップに格納されているキーのセットビューを返す。セットはマップを基にするため,マップへの変更

はセットで反映され,逆にセットへの変更はマップで反映される。

戻り値: マップに含まれているキーのセットビュー

public Set<Map.Entry<K, V>> entrySet()

マップに格納されているマッピングのコレクションビューを返す。返されたコレクションの各要素は

Map.Entry である。

戻り値: マップ内に保持されているマッピングのコレクションビュー

Page 47: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 45 -

java.util

public interface Map<K, V>

このインタフェースは,キーを値にマッピングするオブジェクトである。マップには,同一のキーを複数登

録することはできない。各キーは 一つの値にしかマッピングできない。

入れ子のクラスの概要

public static interface Map.Entry<K, V>

マップのエントリ(キーと値のペア)である。

K getKey()

エントリに対応するキーを返す。

戻り値: エントリに対応するキー

V getValue()

エントリに対応する値を返す。

戻り値: エントリに対応する値

Page 48: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 46 -

アセンブラ言語の仕様

1. システムCOMETⅡの仕様

1.1 ハードウェアの仕様

(1) 1語は 16ビットで,そのビット構成は,次のとおりである。

上位 8ビット 下位 8 ビット

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 (ビット番号)

符号(負:1,非負:0)

(2) 主記憶の容量は 65536語で,そのアドレスは 0~65535番地である。

(3) 数値は,16ビットの 2進数で表現する。負数は,2の補数で表現する。

(4) 制御方式は逐次制御で,命令語は 1語長又は 2語長である。

(5) レジスタとして,GR(16 ビット),SP(16ビット),PR(16ビット),FR(3ビット)の 4種類が

ある。

GR(汎用レジスタ,General Register)は,GR0~GR7の 8個があり,算術,論理,比較,シフトなど

の演算に用いる。このうち,GR1~GR7のレジスタは,指標レジスタ(index register)としてアドレスの修飾

にも用いる。

SP(スタックポインタ,Stack Pointer)は,スタックの最上段のアドレスを保持している。

PR(プログラムレジスタ,Program Register)は,次に実行すべき命令語の先頭アドレスを保持してい

る。

FR(フラグレジスタ,Flag Register)は,OF(Overflow Flag),SF(Sign Flag),ZF(Zero Flag)

と呼ぶ 3個のビットからなり,演算命令などの実行によって次の値が設定される。これらの値は,条件付き

分岐命令で参照される。

OF

算術演算命令の場合は,演算結果が-32768~32767に収まらなくなったとき 1になり,それ以外のときは 0になる。論理演算命令の場合は,演算結果が 0~65535 に収まらなくなったとき 1になり,それ以外のとき 0になる。

SF 演算結果の符号が負(ビット番号 15が 1)のとき 1,それ以外のとき 0になる。

ZF 演算結果が零(全部のビットが 0)のとき 1,それ以外のとき 0になる。

(6) 論理加算又は論理減算は,被演算データを符号のない数値とみなして,加算又は減算する。

1.2 命令

命令の形式及びその機能を示す。ここで,一つの命令コードに対し 2種類のオペランドがある場合,上段

はレジスタ間の命令,下段はレジスタと主記憶間の命令を表す。

書 き 方 命 令 命 令

コード オペランド

命 令 の 説 明 FR の設定

(1) ロード,ストア,ロードアドレス命令

r1,r2 r1 ← (r2) ロード LoaD

LD r,adr [,x] r ← (実効アドレス)

○*1

ストア STore

ST r,adr [,x] 実効アドレス ← (r)

ロードアドレス Load ADdress

LAD r,adr [,x] r ← 実効アドレス

Page 49: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 47 -

(2) 算術,論理演算命令

r1,r2 r1 ← (r1) + (r2) 算術加算 ADD Arithmetic

ADDA r,adr [,x] r ← (r) +(実効アドレス)

r1,r2 r1 ← (r1) +L (r2) 論理加算

ADD Logical ADDL

r,adr [,x] r ← (r) +L(実効アドレス)

r1,r2 r1 ← (r1) - (r2) 算術減算

SUBtract Arithmetic SUBA

r,adr [,x] r ← (r) -(実効アドレス)

r1,r2 r1 ← (r1) -L (r2) 論理減算 SUBtract Logical

SUBL r,adr [,x] r ← (r) –L(実効アドレス)

r1,r2 r1 ← (r1) AND (r2) 論理積 AND

AND r,adr [,x] r ← (r) AND(実効アドレス)

r1,r2 r1 ← (r1) OR (r2) 論理和 OR

OR r,adr [,x] r ← (r) OR(実効アドレス)

r1,r2 r1 ← (r1) XOR (r2) 排他的論理和 eXclusive OR

XOR r,adr [,x] r ← (r) XOR(実効アドレス)

○*1

(3) 比較演算命令

r1,r2

算術比較

ComPare Arithmetic CPA

r,adr [,x]

r1,r2

論理比較 ComPare Logical

CPL

r,adr [,x]

(r1)と(r2),又は(r)と(実効アドレス)

の算術比較又は論理比較を行い,比較結果によって,FR に次の値を設定する。

FR の値 比較結果

SF ZF

(r1)>(r2)

(r)>(実効アドレス) 0 0

(r1)=(r2)

(r)=(実効アドレス) 0 1

(r1)<(r2)

(r)<(実効アドレス) 1 0

○*1

(4) シフト演算命令

算術左シフト Shift Left Arithmetic

SLA r,adr [,x]

算術右シフト Shift Right Arithmetic

SRA r,adr [,x]

符号を除き,(r)を実効アドレスで指定したビット数だけ左又は右にシフトする。 シフトの結果,空いたビット位置には,

左シフトのときは 0,右シフトのときは符号と同じものが入る。

論理左シフト Shift Left Logical

SLL r,adr [,x]

論理右シフト Shift Right Logical

SRL r,adr [,x]

符号を含み,(r)を実効アドレスで指定したビット数だけ左又は右にシフトする。 シフトの結果,空いたビット位置には 0

が入る。

○*2

(5) 分岐命令

正分岐 Jump on PLus

JPL adr [,x]

負分岐 Jump on MInus

JMI adr [,x]

非零分岐 Jump on Non Zero

JNZ adr [,x]

零分岐

Jump on ZEro JZE adr [,x]

オーバフロー分岐

Jump on OVerflow JOV adr [,x]

FRの値によって,実効アドレスに分岐する。分岐しないときは,次の命令に進む。

分岐するときのFRの値 命令

OF SF ZF

JPL 0 0 JMI 1

JNZ 0

JZE 1

JOV 1

無条件分岐 unconditional JUMP

JUMP adr [,x] 無条件に実効アドレスに分岐する。

Page 50: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 48 -

(6) スタック操作命令

プッシュ PUSH

PUSH adr [,x] SP ← (SP) -L 1,

(SP) ← 実効アドレス

ポップ POP

POP r r ← ( (SP) ),

SP ← (SP) +L 1

(7) コール,リターン命令

コール CALL subroutine

CALL adr [,x] SP ← (SP) -L 1,

(SP) ← (PR),

PR ← 実効アドレス

リターン

RETurn from subroutine RET

PR ← ( (SP) ),

SP ← (SP) +L 1

(8) その他

スーパバイザコール SuperVisor Call

SVC adr [,x] 実効アドレスを引数として割出しを行

う。実行後の GR と FR は不定となる。

ノーオペレーション

No OPeration NOP 何もしない。

(注) r,r1,r2 いずれも GR を示す。指定できる GR は GR0~GR7

adr アドレスを示す。指定できる値の範囲は 0~65535

x 指標レジスタとして用いる GR を示す。指定できる GR は GR1~GR7

[ ] [ ]内の指定は省略できることを示す。

( ) ( )内のレジスタ又はアドレスに格納されている内容を示す。

実効アドレス adrと xの内容との論理加算値又はその値が示す番地

← 演算結果を,左辺のレジスタ又はアドレスに格納することを示す。

+L,-L 論理加算,論理減算を示す。

FR の設定 ○ :設定されることを示す。

○*1:設定されることを示す。ただし,OF には 0 が設定される。

○*2:設定されることを示す。ただし,OF にはレジスタから最後に送り出されたビットの値

が設定される。

- :実行前の値が保持されることを示す。

1.3 文字の符号表

(1) JIS X 0201 ラテン文字・片仮名用 8ビット符号で規

定する文字の符号表を使用する。

(2) 右に符号表の一部を示す。1文字は 8ビットからなり,

上位 4ビットを列で,下位 4ビットを行で示す。例えば,

間隔,4,H,¥のビット構成は,16進表示で,それぞれ

20,34,48,5C である。16進表示で,ビット構成が

21~7E(及び表では省略している A1~DF)に対応す

る文字を図形文字という。図形文字は,表示(印刷)装

置で,文字として表示(印字)できる。

(3) この表にない文字とそのビット構成が必要な場合は,

問題中で与える。

行 列 02 03 04 05 06 07

0 間隔 0 @ P ` p

1 ! 1 A Q a q

2 " 2 B R b r

3 # 3 C S c s

4 $ 4 D T d t

5 % 5 E U e u

6 & 6 F V f v

7 ' 7 G W g w

8 ( 8 H X h x

9 ) 9 I Y i y

10 * : J Z j z

11 + ; K [ k {

12 , < L ¥ l |

13 - = M ] m }

14 . > N ^ n ~

15 / ? O _ o

Page 51: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 49 -

2.アセンブラ言語CASLⅡの仕様

2.1 言語の仕様

(1) CASLⅡは,COMETⅡのためのアセンブラ言語である。

(2) プログラムは,命令行及び注釈行からなる。

(3) 1命令は1命令行で記述し,次の行へ継続できない。

(4) 命令行及び注釈行は,次に示す記述の形式で,行の1文字目から記述する。

行 の 種 類 記 述 の 形 式

オペランドあり [ラベル]{空白}{命令コード}{空白}{オペランド}[{空白}[コメント]] 命令行

オペランドなし [ラベル]{空白}{命令コード}[{空白}[{;}[コメント]]]

注釈行 [空白]{;}[コメント]

(注) [ ] [ ]内の指定が省略できることを示す。

{ } { }内の指定が必須であることを示す。

ラベル その命令の(先頭の語の)アドレスを他の命令やプログラムから参照するための名前である。長

さは 1~8 文字で,先頭の文字は英大文字でなければならない。以降の文字は,英大文字又は数

字のいずれでもよい。なお,予約語である GR0~GR7は,使用できない。

空白 1 文字以上の間隔文字の列である。

命令コード 命令ごとに記述の形式が定義されている。

オペランド 命令ごとに記述の形式が定義されている。

コメント 覚え書きなどの任意の情報であり,処理系で許す任意の文字を書くことができる。

2.2 命令の種類

命令は,4種類のアセンブラ命令(START,END,DS,DC),4 種類のマクロ命令(IN,OUT,RPUSH,

RPOP)及び機械語命令(COMETⅡの命令)からなる。その仕様を次に示す。

命令の種類 ラベル 命 令コード

オペランド 機 能

ラベル START [実行開始番地]

プログラムの先頭を定義 プログラムの実行開始番地を定義

他のプログラムで参照する入口名を定義

END プログラムの終わりを明示

[ラベル] DS 語数 領域を確保

アセンブラ命令

[ラベル] DC 定数 [,定数]… 定数を定義

[ラベル] IN 入力領域,入力文字長領域 入力装置から文字データを入力

[ラベル] OUT 出力領域,出力文字長領域 出力装置へ文字データを出力

[ラベル] RPUSH GR の内容をスタックに格納 マクロ命令

[ラベル] RPOP スタックの内容を GR に格納

機械語命令 [ラベル] (「1.2 命令」を参照)

2.3 アセンブラ命令

アセンブラ命令は,アセンブラの制御などを行う。

(1) START [実行開始番地]

START命令は,プログラムの先頭を定義する。

実行開始番地は,そのプログラム内で定義されたラベルで指定する。指定がある場合はその番地から,省

略した場合は START命令の次の命令から,実行を開始する。

また,この命令につけられたラベルは,他のプログラムから入口名として参照できる。

(2) END

END命令は,プログラムの終わりを定義する。

Page 52: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 50 -

(3) DS 語数

DS命令は,指定した語数の領域を確保する。

語数は,10 進定数(≧0)で指定する。語数を 0とした場合,領域は確保しないが,ラベルは有効である。

(4) DC 定数 [,定数]…

DC命令は,定数で指定したデータを(連続する)語に格納する。

定数には,10進定数,16 進定数,文字定数,アドレス定数の 4種類がある。

定数の種類 書き方 命 令 の 説 明

10進定数 n nで指定した 10進数値を,1語の 2進数データとして格納する。ただし,n

が-32768~32767 の範囲にないときは,その下位 16ビットを格納する。

16進定数 #h hは 4けたの 16進数(16進数字は 0~9,A~F)とする。hで指定した 16

進数値を 1 語の 2進数データとして格納する(0000≦h≦FFFF)。

文字定数 '文字列'

文字列の文字数(>0)分の連続する領域を確保し,最初の文字は第 1語の

下位 8ビットに,2番目の文字は第 2語の下位 8ビットに,…と順次文字デ

ータとして格納する。各語の上位 8ビットには 0のビットが入る。

文字列には,間隔及び任意の図形文字を書くことができる。ただし,アポス

トロフィ( ' )は 2個続けて書く。

アドレス定数 ラベル ラベルに対応するアドレスを 1語の 2進数データとして格納する。

2.4 マクロ命令

マクロ命令は,あらかじめ定義された命令群とオペランドの情報によって,目的の機能を果たす命令群を

生成する(語数は不定)。

(1) IN 入力領域,入力文字長領域

IN命令は,あらかじめ割り当てた入力装置から,1レコードの文字データを読み込む。

入力領域は,256語長の作業域のラベルであり,この領域の先頭から,1文字を 1語に対応させて順次入

力される。レコードの区切り符号(キーボード入力の復帰符号など)は,格納しない。格納の形式は,DC

命令の文字定数と同じである。入力データが 256文字に満たない場合,入力領域の残りの部分は実行前のデ

ータを保持する。入力データが 256文字を超える場合,以降の文字は無視される。

入力文字長領域は,1語長の領域のラベルであり,入力された文字の長さ(≧0)が 2進数で格納される。

ファイルの終わり(end of file)を検出した場合は,-1が格納される。

IN命令を実行すると,GR の内容は保存されるが,FR の内容は不定となる。

(2) OUT 出力領域,出力文字長領域

OUT命令は,あらかじめ割り当てた出力装置に,文字データを,1レコードとして書き出す。

出力領域は,出力しようとするデータが 1文字 1語で格納されている領域のラベルである。格納の形式は,

DC命令の文字定数と同じであるが,上位 8ビットは,OSが無視するので 0でなくてもよい。出力文字長領

域は,1語長の領域のラベルであり,出力しようとする文字の長さ(≧0)を 2 進数で格納しておく。

OUT命令を実行すると,GR の内容は保存されるが,FR の内容は不定となる。

(3) RPUSH

RPUSH命令は,GR の内容を,GR1,GR2,…,GR7の順序でスタックに格納する。

(4) RPOP

RPOP命令は,スタックの内容を順次取り出し,GR7,GR6,…,GR1の順序で GR に格納する。

Page 53: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 51 -

2.5 機械語命令

機械語命令のオペランドは,次の形式で記述する。

r, r1, r2 GR は,記号 GR0~GR7で指定する。

x 指標レジスタとして用いる GR は,記号 GR1~GR7で指定する。

adr アドレスは,10 進定数,16進定数,アドレス定数又はリテラルで指定する。

リテラルは,一つの 10進定数,16 進定数又は文字定数の前に等号(=)を付けて記述する。

CASLⅡは,等号の後の定数をオペランドとする DC命令を生成し,そのアドレスを adrの

値とする。

2.6 その他

(1) アセンブラによって生成される命令語や領域の相対位置は,アセンブラ言語での記述順序とする。ただし,

リテラルから生成される DC命令は,END命令の直前にまとめて配置される。

(2) 生成された命令語,領域は,主記憶上で連続した領域を占める。

3.プログラム実行の手引き

3.1 OS

プログラムの実行に関して,次の取決めがある。

(1) アセンブラは,未定義ラベル(オペランド欄に記述されたラベルのうち,そのプログラム内で定義されて

いないラベル)を,他のプログラムの入口名(START命令のラベル)と解釈する。この場合,アセンブラ

はアドレスの決定を保留し,その決定を OSに任せる。OSは,実行に先立って他のプログラムの入口名と

の連係処理を行いアドレスを決定する(プログラムの連係)。

(2) プログラムは,OS によって起動される。プログラムがロードされる主記憶の領域は不定とするが,プロ

グラム中のラベルに対応するアドレス値は,OS によって実アドレスに補正されるものとする。

(3) プログラムの起動時に,OSはプログラム用に十分な容量のスタック領域を確保し,その最後のアドレス

に 1を加算した値を SPに設定する。

(4) OSは,CALL命令でプログラムに制御を渡す。プログラムを終了し OSに制御を戻すときは,RET命令を

使用する。

(5) IN命令に対応する入力装置,OUT命令に対応する出力装置の割当ては,プログラムの実行に先立って利

用者が行う。

(6) OS は,入出力装置や媒体による入出力手続の違いを吸収し,システムでの標準の形式及び手続(異常処

理を含む)で入出力を行う。したがって,IN,OUT命令では,入出力装置の違いを意識する必要はない。

3.2 未定義事項

プログラムの実行等に関し,この仕様で定義しない事項は,処理系によるものとする。

Page 54: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 52 -

表計算ソフトの機能・用語

表計算ソフトの機能,用語などは,原則として次による。

1.ワークシート

表計算ソフトの作業領域をワークシートという。ワークシートの大きさは 256列(列 Aから列

Z,列 AA から列 AZ,さらに列 BA から列 BZ と続き,列 IV まで続く),10,000 行(行1から

行 10,000まで)とする。

2.セル

(1) ワークシートを縦・横に分割したときの一つのます目をセルという。列 A 行 1 のセルは A1

と表す。

(2) 長方形の形をしたセルの集まりを範囲として指定することができる。範囲の指定は A1~B3

のように表す。

(3) 範囲に名前を付けることができる。範囲名は[ ]を用いて,“セル A1~B3に[金額]と名

前を付ける”などと表す。

(4) データが入力されないセルを,空白セルという。

3.セルへの入力

(1) セルに数値,文字列,計算式を入力できる。

(2) セルを保護すると,そのセルへの入力を不可能にすることができる。セルの保護を解除する

と,そのセルへの入力が再び可能になる。

(3) セル A1に数値 5を入力するときは,“セル A1に 5を入力”と表す。

(4) セル B2に,文字列 ABCを入力するときは,“セル B2に'ABC'を入力”と表す。

(5) セル C3 に,セル A1 とセル B2 の和を求める計算式を入力するときは,“セル C3 に計算式

A1+B2を入力”などと表す。

4.セルの内容の表示

(1) セルに数値を入力すると,右詰めで表示される。

(2) セルに文字列を入力すると,左詰めで表示される。

(3) セルに計算式を入力すると,計算結果が数値ならば右詰めで,文字列ならば左詰めで表示さ

れる。

(4) セルの内容の表示については,左詰め,中央揃そろ

え,右詰めに変更できる。

5.計算式

(1) 計算式には,数学で用いられる数式が利用できる。

(2) 計算式で使用する算術演算子は,“+”(加算),“-”(減算),“*”(乗算),“/”(除算)及び

“^”(べき算)とする。

(3) 算術演算子による計算の優先順位は,数学での優先順位と同じである。

Page 55: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 53 -

6.再計算

(1) セルに計算式を入力すると,直ちに計算結果を表示する。

(2) セルの数値が変化すると,そのセルを参照しているセルも自動的に再計算される。この再計

算は A1,A2,A3,…,B1,B2,B3,…の順に1回だけ行われる。

7.関数

(1) 計算式には次の表で定義する関数を利用することができる。

関数名と使用例 解 説

合計(A1~A5) セル A1からセル A5までの範囲のすべての数値の合計を求める。

平均(B2~F2) セル B2からセル F2までの範囲のすべての数値の平均を求める。

平方根(I6) セル I6の値(正の数値でなければならない)の正の平方根を求める。

標準偏差(D5~

D19)

セル D5からセル D19までの範囲のすべての数値の標準偏差を求める。

最大(C3~E7) セル C3からセル E7までの範囲のすべての数値のうちの最大値を求める。

最小([得点]) [得点]と名前を付けた範囲のすべての数値のうちの最小値を求める。

IF(B3>A4,'北

海道','九州')

第 1 引数に指定された論理式が真(成立する)ならば第 2 引数が,偽(成立し

ない)ならば第 3引数が求める値となる。左の例では,セル B3が A4より大き

ければ文字列'北海道'が,それ以外の場合には文字列'九州'が求める値となる。

論理式中では,比較演算子として,=,≠,>,< ,≦,≧を利用することが

できる。第 2 引数,第 3 引数に,更に IF 関数を利用して,IF 関数を入れ子に

することができる。

個数(G1~G5) セル G1から G5までの範囲のうち,空白セルでないセルの個数を求める。

条件付個数(H5

~H9,'>25')

第 1 引数に指定された範囲のうち,第 2 引数に指定された条件を満たすセルの

個数を求める。左の例では,セル H5 から H9 までの範囲のうち,値として 25

より大きな数値を格納しているセルの個数を求める。

整数部(A3)

セル A3の値(数値でなければならない)を超えない最大の整数を求める。

例えば,

整数部 (3.9) =3

整数部 (-3.9) =-4

となる。

剰余(C4,D4)

セル C4 の値を被除数,D4の値を除数とし,被除数を除数で割ったときの剰余

を求める。剰余の値は常に除数と同じ符号をもつ。“剰余”関数と“整数部”

関数は,次の関係を満たしている。

剰余 (x,y) =x-y*整数部 (x/y)

論理積(論理式 1,

論理式 2,…)

引数として指定された論理式がすべて真であれば,真を返す。引数のうち一つ

でも偽のものがあれば,偽を返す。引数として指定できる論理式の数は任意で

ある。

論理和(論理式 1,

論理式 2,…)

引数として指定された論理式がすべて偽であれば,偽を返す。引数のうち一つ

でも真のものがあれば,真を返す。引数として指定できる論理式の数は任意で

ある。

否定(論理式) 引数として指定された論理式が真であれば偽を,偽であれば真を返す。

注 “合計”,“平均”,“標準偏差”,“最大”,“最小”は,引数で指定された範囲のセルの

うち,値として数値以外を格納しているものは無視する。

Page 56: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

- 54 -

(2) 関数の引数には,セルを用いた計算式,範囲,範囲名,論理式を指定することができる。

8.セルの複写

(1) セルに入力された数値,文字列,計算式を他のセルに複写することができる。

(2) セルに入力された計算式が他のセルを参照している場合は,複写先のセルでは相対的にセル

が自動的に変更される。例えば,セル A6に合計(A1~A5)を入力した場合,セル A6をセル B7

に複写すると,セル B7の計算式は合計(B2~B6)となる。

9.絶対参照

(1) 計算式を複写しても参照したセルが変わらない参照を絶対参照といい,記号$を用いて$A$1

などと表す。例えば,セル B1 に計算式$A$1+5 を入力した場合,セル B1 をセル C4 に複写

してもセル C4の計算式は$A$1+5のままである。

(2) 絶対参照は行と列の一方だけについても指定可能であり,$A1,A$1 などと表す。例えば,

セル D2に計算式$C1-3を入力した場合,セル D2をセル E3に複写すると,セル E3の計算

式は$C2-3となる。また,セル G3に計算式 F$2-3を入力した場合,セル G3を H4に複写

すると,セル H4の計算式は G$2-3となる。

10.マクロ

(1) ワークシートには幾つかのマクロを保存できる。マクロはマクロ P,マクロ Qなどと表す。

(2) マクロについては,“マクロ Pを実行するとワークシートを保存する。”,“セル A1からセ

ル A10までを昇順に並べ替える手続きをマクロ Qに登録する。”,“マクロ R:数値を入力。”,

“C列のデータがその数値以下のものを抽出する。”などと記述する。

11.その他

ワークシートの“保存”,“読出し”,“印刷”や,罫線機能,グラフ化機能など市販されて

いる多くの表計算ソフトに備わっている機能は使用できるものとする。

Page 57: 情報処理技術者能力認定試験 1 級 第2部1 級 第2部 解答時における注意事項 1.次の表に従って解答してください。 問題番号 問1~問5 問6

試験問題内容に関して,他人にこれを伝え,漏洩することを禁じます。

©CERTIFY Inc.2009 禁無断転載複写