平成29年度後期 情報システム試験...

36
文部科学省後援 平成29年度後期 情報検定 <実施 平成30年2月11日(日)> プログラミングスキル (説明時間 10:00~10:10) (試験時間 10:10~11:40) ・試験問題は試験開始の合図があるまで開かないでください。 ・解答用紙(マークシート)への必要事項の記入は,試験開始の合図と同時 に行いますので,それまで伏せておいてください。 ・試験開始の合図の後,次のページを開いてください。<受験上の注意>記載されています。必ず目を通してから解答を始めてください。 ・試験問題は,すべてマークシート方式です。正解と思われるものを1つ選 び,解答欄の をHBの黒鉛筆でぬりつぶしてください。2つ以上ぬりつ ぶすと,不正解になります。 ・辞書,参考書類の使用および筆記用具の貸し借りは一切禁止です。 ・電卓の使用が認められます。ただし,下記の機種については使用が認めら れません。 <使用を認めない電卓> 1.電池式(太陽電池を含む)以外 .. の電卓 2.文字表示領域が複数行ある電卓(計算状態表示の一行は含まない) 3.プログラムを組み込む機能がある電卓 4.電卓が主たる機能ではないもの *パソコン(電子メール専用機等を含む),携帯電話(PHS), スマートフォン,タブレット,電子手帳,電子メモ,電子辞書, 翻訳機能付き電卓,音声応答のある電卓,電卓付き腕時計,時計型 ウェアラブル端末等 5.その他試験監督者が不適切と認めるもの 一般財団法人 職業教育・キャリア教育財団 情報システム試験

Upload: others

Post on 27-Oct-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

1

プログラミングスキル

文部科学省後援

平成29年度後期 情報検定

<実施 平成30年2月11日(日)>

プログラミングスキル (説明時間 10:00~10:10)

(試験時間 10:10~11:40)

・試験問題は試験開始の合図があるまで開かないでください。

・解答用紙(マークシート)への必要事項の記入は,試験開始の合図と同時

に行いますので,それまで伏せておいてください。

・試験開始の合図の後,次のページを開いてください。<受験上の注意>が

記載されています。必ず目を通してから解答を始めてください。

・試験問題は,すべてマークシート方式です。正解と思われるものを1つ選

び,解答欄の をHBの黒鉛筆でぬりつぶしてください。2つ以上ぬりつ

ぶすと,不正解になります。

・辞書,参考書類の使用および筆記用具の貸し借りは一切禁止です。

・電卓の使用が認められます。ただし,下記の機種については使用が認めら

れません。

<使用を認めない電卓>

1.電池式(太陽電池を含む)以外..

の電卓

2.文字表示領域が複数行ある電卓(計算状態表示の一行は含まない)

3.プログラムを組み込む機能がある電卓

4.電卓が主たる機能ではないもの

*パソコン(電子メール専用機等を含む),携帯電話(PHS),

スマートフォン,タブレット,電子手帳,電子メモ,電子辞書,

翻訳機能付き電卓,音声応答のある電卓,電卓付き腕時計,時計型

ウェアラブル端末等

5.その他試験監督者が不適切と認めるもの

一般財団法人 職業教育・キャリア教育財団

情報システム試験

Page 2: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

2

プログラミングスキル

<受験上の注意>

1.この試験問題は33ページあります。ページ数を確認してください。

乱丁等がある場合は,手をあげて試験監督者に合図してください。

※問題を読みやすくするために空白ページを設けている場合があります。

2.解答用紙(マークシート)に,受験者氏名・受験番号を記入し,受験番号下欄の数字

をぬりつぶしてください。正しく記入されていない場合は,採点されませんので十分注

意してください。

3.試験問題についての質問には,一切答えられません。自分で判断して解答してくださ

い。

4.試験中の筆記用具の貸し借りは一切禁止します。筆記用具が破損等により使用不能と

なった場合は,手をあげて試験監督者に合図してください。

5.試験を開始してから30分以内は途中退出できません。30分経過後退出する場合は,も

う一度,受験番号・マーク・氏名が記載されているか確認して退出してください。なお,

試験終了5分前の合図以降は退出できません。試験問題は各自お持ち帰りください。

6.試験後にお知らせする合否結果(合否通知),および合格者に交付する「合格証・認定

証」はすべて,Webページ(PC,モバイル)での認証によるデジタル「合否通知」,

デジタル「合格証・認定証」に移行しました。

①団体宛にはこれまでと同様に合否結果一覧ほか,試験結果資料一式を送付します。

②合否等の結果についての電話・手紙等でのお問い合わせには,一切応じられませんの

で,ご了承ください。

Page 3: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

1

プログラミングスキル

<問題の構成>

必須問題 全員解答

選択問題 次の問題から1問選択し解答せよ。

(選択した問題は解答用紙「選択欄」に必ずマークすること...............

※選択欄にマークがなく,解答のみマークした場合は採点を行いません。

問題1~問題4

3 ページ~17 ページ

・C言語の問題 20 ページ~23 ページ

・表計算の問題 24 ページ~29 ページ

・アセンブラの問題 31 ページ~33 ページ

Page 4: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

2 2

プログラミングスキル

問題を読みやすくするために,

このページは空白にしてあります。

Page 5: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

3

プログラミングスキル

必須問題

問題1 次の文字列の置換に関する記述を読み,各設問に答えよ。

配列 str に格納された文字列の一部を配列 repl に格納された文字列で置換する。

なお,配列 str は処理に十分な要素数を持つものとする。また,配列 str 内の置換対

象となる文字数を変数 size,配列 repl の文字数を変数 len で表すものとする。なお,

各配列の添字は 0 から始まるものとする。

<設問1> 次の size と len が同じ場合の置換処理に関する流れ図中の (1) に入

れるべき適切な字句を解答群から選べ。

図1のように,配列 str 内の文字列"cd"を配列 repl に格納されている文字列で置

換する場合で,配列 str 内の置換対象となる文字数(size)と len が同じ場合のプログ

ラムを考える。なお,配列 str 内の置換対象文字列"cd"の先頭文字"c"が格納されて

いる位置を変数 p で表す。

図1 配列 str の文字列 cd を repl の文字列 xy で置換

この場合,配列 repl の文字を配列 str に 1 文字ずつ転送すれば良いので,次のよ

うな流れ図になる。

開 始

i ← 0

ループi < len

の間繰り返す

(1)

i ← i + 1

ループ

終 了

図2 文字列を転送する流れ図

(1) の解答群

ア.str[i] ← repl[i]

イ.str[i] ← repl[p+i]

ウ.str[p] ← repl[i]

エ.str[p+i] ← repl[i]

… a b c d e f … str

repl x y … a b x y e f …

p

len

size

必須問題

Page 6: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

4 4

プログラミングスキル

<設問2> 次の size と len が異なる可能性のある場合の置換処理に関する記述中の

(1) に入れるべき適切な字句を解答群から選べ。

配列 str の中の置換対象文字列の文字数(size)と len が異なる場合は,配列 str の

中で置換対象となっていない文字を移動する処理が必要になる。

まず,図3のように,配列 str の置換対象文字列の文字数が,len より小さい場合

を考える。

図3 size が len より小さい場合

配列 repl の文字列を配列 str の置換対象文字列が格納されている位置に全て転送

することはできないので,配列 str の置換対象文字列に続く文字列を後方へ移動する

処理が必要になる。この時,各文字の移動量は (2) である。なお,図2の流れ

図のような配列 repl から配列 str へ転送する処理と後方へ移動する処理は, (3) 。

次に,図4のように,配列 str の置換対象文字列の文字数(size)が,len より大き

い場合を考える。

図4 size が配列 len より大きい場合

配列 repl の文字列を配列 str の置換文字列が格納されている位置へ転送すると余

る要素が発生する。そこで,配列 str の置換対象文字列に続く文字列を前方へ移動し

なければならない。この時,各文字の移動量は (4) である。なお,図2の流れ

図のような配列 repl から配列 str へ転送する処理と前方へ移動する処理は,

(5) 。

… a b c d e f … str

repl x y

… a b x y f …

len

size

… a b c d e f … str

repl x y z

… a b x y e f … z

len

size

Page 7: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

5

プログラミングスキル

(2) ,(4) の解答群

ア.len - 1 イ.len ウ.len - size

エ.size オ.size - len

(3) ,(5) の解答群

ア.必ず移動処理を行ってから転送処理を行う

イ.必ず転送処理を行ってから移動処理を行う

ウ.どちらから行っても良い

Page 8: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

6 6

プログラミングスキル

問題2 次の二分探索に関する記述を読み,各設問に答えよ。

[二分探索法の説明]

二分探索法は,整列済みの一次元配列に対して行われる手法である。なお,配列の

大きさは n に,探したいデータは X に,探索対象のデータは一次元配列 Y[0]~Y[n-1]

に昇順に格納済みとする。

1.探索範囲の先頭要素の添字を B,末尾要素の添字を H とする。なお,初期値は,

B=0,H=n-1 である。

2.探索範囲の中央要素となる Y[M]と比較する。ただし,M=(B+H)÷2 とし,小数点

以下は切り捨てる。

(a) Y[M]<X なら,B=M+1 とし,次の探索範囲を,配列の要素位置が M より大き

い方とする。

X 90

B M H

Y 5 ……… 50 ……… 120

← 次 の 探 索 範 囲 →

図1 比較例1

(b) Y[M]>X なら,H=M-1 とし,次の探索範囲を,配列の要素位置が M より小さ

い方とする。

X 20

B M H

Y 5 ……… 50 ……… 120

← 次 の 探 索 範 囲 →

図2 比較例2

(c) Y[M]=X なら,見つかったので,処理を終了する。

3.B>H または Y[M]=X となるまで,2を繰り返す。B>H の場合は,探したいデータ

X と同じ値が配列 Y に存在しないことになる。

<設問1> 次の流れ図の説明を読み,流れ図中の (1) に入れるべき適切な字句

を解答群から選べ。

Page 9: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

7

プログラミングスキル

[流れ図の説明]

要素数がn個の一次元配列 Y[k](k=0, 1, …, n-1)から二分探索法によりデータ

X を探索する流れ図である。なお,見つかった場合はその位置(添字の値)を,見つか

らなかった場合は-1 を,変数 S に求めるものとする。

[流れ図]

図3 二分探索の流れ図

(1) の解答群

ア.B < H イ.B ≦ H

ウ.B > H エ.B ≧ H

(2) ,(3) の解答群

ア.B ← M - 1 イ.B ← M + 1

ウ.H ← M - 1 エ.H ← M + 1

Page 10: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

8 8

プログラミングスキル

<設問2> 次の二分探索における比較回数に関する記述中の (1) に入れるべき

適切な字句を解答群から選べ。

二分探索では一度の比較で次回の探索範囲がほぼ半分に減少する。図4に示すよう

に, n=8 の場合は, 大 4 回の比較が必要となり,これが 大比較回数である。なお,

網掛けの要素が探索範囲の中央の要素で,見つからない場合は探索範囲が無くなるま

で繰り返される。

添字 0 1 2 3 4 5 6 7

1 回目 Y

0 1 2 4 5 6 7

2 回目

0 2 4 6 7

3 回目

7

4 回目

図4 n=8 の比較の流れ

一般的に 大比較回数は,「log2n を超える 小の整数」となるが,log 関数を用い

て計算しなくても,次のようにしておおよその比較回数を求めることができる。

1+2+4+8+…のように「2 のべき乗の合計が n を超えるまで繰り返し,このとき加算され

た項数」が 大比較回数である。これにより,n=10 では,1+2+4+8=15 から,項数が 4

になるので 大比較回数は 4 回になる。また,n=100 では 大比較回数は (4) 回

となる。

なお,平均比較回数は (5) 回となる。

(4) の解答群

ア.4 イ.7 ウ.9 エ.10

(5) の解答群

ア. 大比較回数-1 イ. 大比較回数-2

ウ. 大比較回数÷2 エ. 大比較回数÷4

Page 11: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

9

プログラミングスキル

問題3 次のプログラム設計に関する記述を読み,各設問に答えよ。

衣料品の販売をしている J 社は,各地域に 30 店舗を持ち,各店舗の販売情報は本

社の販売システムに随時登録される。販売システムの担当者であるA君は,販売シス

テムに登録されたデータから販売一覧表を作成することにした。

[システムで使用するファイル]

・販売ファイル

販売情報は,図1の形式で販売ファイルに登録される。販売 ID は一回の販売ご

とに生成される一意な番号であり,店舗間で重複することはない。販売 ID,商品コー

ドの昇順に整列済みである。

販売 ID 商品コード 店舗コード 販売日 販売数量 販売金額

図1 販売ファイルのレコード形式

・商品ファイル

商品に関する情報は,図2の形式で商品ファイルに登録されている。商品コード

の昇順に整列済みである。

商品コード 商品名 商品分類名

図2 商品ファイルのレコード形式

[販売一覧表の形式]

販売一覧表は,図3の形式で商品分類名ごとに販売金額と販売数量を集計したもの

を販売金額合計の多い順に出力する。なお,集計期間はキーボードから入力するもの

とし,指定した期間の販売レコードは必ず 1 件以上存在する。また,販売金額合計が

同じ場合は同順位として商品分類名の昇順に出力する。

図3 販売一覧表の形式

販売一覧表 集計期間 XXXX/XX/XX ~ XXXX/XX/XX

順位 商品分類名 販売金額合計 販売数量合計

1 男児用シャツ 192,326,280 12,329

2 紳士用ジャケット 163,285,580 8,736

3 婦人用カーディガン 126,287,380 10,032

… … … …

Page 12: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

10 10

プログラミングスキル

[販売一覧表の作成手順]

図4 販売一覧表の作成までの流れ

Page 13: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

11

プログラミングスキル

① 「レコードの抽出」は,キーボードから入力した集計期間に基づいて,販売ファ

イルのレコードを「抽出した販売データ」へ出力する。レコード形式を図5に示す。

販売 ID 商品コード 販売数量 販売金額

図5 抽出した販売データのレコード形式

② 「整列処理1」は,「突合せ処理」を行うための準備として (1) の昇順に

並べ替える。なお,「整列済みファイル1」のレコード形式は,図5と同じである。

③ 「突合せ処理」は,「整列済みファイル1」と「商品ファイル」から,商品コー

ドに対応する商品分類名を含めたレコードを生成する。「作業ファイル1」のレコー

ド形式を図6に示す。

商品コード 商品分類名 販売数量 販売金額

図6 作業ファイル1のレコード形式

④ 「整列処理2」は,「集計処理」を行う準備として (2) の昇順に並べ替え

る。なお,「整列済みファイル2」のレコード形式は,図6と同じである。

⑤ 「集計処理」は,商品分類名ごとに販売数量と販売金額を集計する。「作業ファ

イル2」のレコード形式を図7に示す。

商品分類名 販売数量合計 販売金額合計

図7 作業ファイル2のレコード形式

⑥ 「整列処理3」は,「順位付けと一覧表作成」を行う準備として,第一キーを

(3) の降順,第二キーを (4) の昇順にして並べ替える。

<設問1> [販売一覧表の作成手順]の (1) に入れるべき適切な字句を解答群

から選べ。解答は重複して選んでも良い。

(1) ~ (4) の解答群

ア.商品コード イ.商品名 ウ.商品分類名

エ.販売 ID オ.販売金額 カ.販売金額合計

キ.販売数量 ク.販売数量合計

Page 14: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

12 12

プログラミングスキル

<設問2> 図4の「集計処理」に関する次の流れ図中の (1) に入れるべき適切

な字句を解答群から選べ。なお,流れ図中で使用している 高値は,コンピュータで

表現できる一番大きな値であり,コードや名称に使われないものである。

ループ2

の間繰り返す

ループ2

開 始 ファイル入力

整列済みファイル2を読む

← 最高値

出 口

YES

NO

販売金額合計 ← 0販売数量合計 ← 0

旧分類名 ← 商品分類名

(5)

ファイル入力

(8)

ループ1

商品分類名≠最高値の間繰り返す

(6)

ファイル入力

ループ1

終 了

図8 集計処理の流れ図

(5) の解答群

ア.旧分類名 = 高値 イ.旧分類名 ≠ 高値

ウ.旧分類名 = 商品コード エ.旧分類名 = 商品分類名

Page 15: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

13

プログラミングスキル

(6) の解答群

ア.販売金額合計 ← 販売金額合計 + 販売金額

販売数量合計 ← 販売数量合計 + 販売数量

イ.販売金額合計 ← 販売金額合計 - 販売金額

販売数量合計 ← 販売数量合計 + 販売数量

ウ.販売金額合計 ← 販売金額合計 + 販売金額 × 販売数量

販売数量合計 ← 販売数量合計 + 販売数量

エ.販売金額合計 ← 販売金額合計 - 販売金額 × 販売数量

販売数量合計 ← 販売数量合計 + 販売数量

(7) の解答群

ア.旧分類名,販売数量,販売金額を出力

イ.旧分類名,販売数量合計,販売金額合計を出力

ウ.商品分類名,販売数量,販売金額を出力

エ.商品分類名,販売数量合計,販売金額合計を出力

(8) の解答群

ア.商品コード イ.商品分類名

ウ.販売金額 エ.販売数量

<設問3> 図4の「順位付けと一覧表作成処理」に関する次の流れ図中の (1) に

入れるべき適切な字句を解答群から選べ。なお,販売金額合計が同じ場合は同順位と

する。例えば,1 位の値が 2 件ある場合は,「1 位,1 位,3 位,4 位,…」となる。

(9) ,(10) の解答群

ア.旧合計 ← 販売金額合計 イ.旧合計 ← 販売数量合計

ウ.件数 ← 件数 + 1 エ.順位 ← 順位 + 1

オ.順位 ← 件数 + 1 カ.販売金額合計 ← 販売数量合計

Page 16: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

14 14

プログラミングスキル

開 始

集計期間情報を入力

集計期間を出力

件数 ← 0順位 ← 0旧合計 ← 0sw ← 0

ループ

sw = 0の間繰り返す

整列済みファイル3を読む

(9)

NO

YES

順位 ← 件数

YES

NO

(10)

順位,商品分類名,販売金額合計,販売数量合計を出力

ループ

sw ← 1

終 了

図9 順位付けと一覧表作成処理の流れ図

Page 17: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

15

プログラミングスキル

問題4 次のプログラムの説明を読み,プログラム中の に入れるべき適切な字

句を解答群から選べ。

[プログラムの説明]

単方向リストの削除,追加を行うプログラム list_update である。単方向リストと

は,データを記録するデータ部と次のデータの格納位置を示すポインタ部で表すデー

タ構造である。そのため,リストの先頭から順番にデータをたどることはできるが,

後戻りはできない。

ここでは,すべて異なった値の n 個のデータが昇順に整列された単方向リストを2

次元配列 list で表現している。配列の添字は 1 から始まり,処理に十分な大きさを

持っているものとする。

各列には次の内容が格納されている。

1列目:データ

2列目:次のデータの格納位置。リストの末尾の要素は 0

また,変数 head は,単方向リストの先頭データの添字を表している。

ここで,与えられたパラメータ(parm)により,次の処理を行う。なお,パラメー

タは,0 または 1 とし,変数 s_dat には,削除データまたは追加データが設定される。

0:データ(s_dat)の削除。削除データが配列 list に存在しない場合は,パラ

メータに-1 を設定する。

1:データ(s_dat)の追加。追加データは配列 list の n+1 番目に格納し,デー

タが昇順になるようポインタを付け替える。

head 4

配列 list [1] [2]

[1] 17 6

[2] 13 1

[3] 31 0

[4] 5 2

[5] 28 3

[6] 25 5

データ 次ポインタ

図 配列で表現した単方向リスト

Page 18: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

16 16

プログラミングスキル

[擬似言語の記述形式の説明]

記述形式 説明

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

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

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

▲ 条件式

・処理1

・処理2

選択処理を示す。

条件式が真の時は処理1を実行し,

偽の時は処理2を実行する。

■ 条件式

・処理

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

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

[擬似言語の記述形式の説明]

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

単項演算 +,-,not 高

乗除演算 ×,÷,%

加減演算 +,―

関係演算 >,<,≧,≦ ,=,≠

論理積 and

論理和 or

(1) の解答群

ア.list[curr][1] = s_dat

イ.list[curr][1] ≠ s_dat

ウ.list[curr][2] < s_dat

エ.list[curr][2] > s_dat

(2) ,(4) ,(5) の解答群

ア.list[curr][2] ← 0

イ.list[curr][2] ← n + 1

ウ.list[curr][2] ← list[prev][2]

エ.list[n+1][2] ← 0

オ.list[prev][2] ← list[curr][2]

カ.list[prev][2] ← n + 1

(3) の解答群

ア.list[curr][1] = s_dat

イ.list[curr][1] ≠ s_dat

ウ.list[curr][1] < s_dat

エ.list[curr][1] > s_dat

Page 19: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

17

プログラミングスキル

[プログラム]

〇プログラム名:list_update(整数型:list[][], 整数型:head,

整数型:n, 整数型:parm, 整数型:s_dat)

〇整数型:prev, curr

▲ parm = 0 /* 削除の処理 */

・curr ← head

■ (1) and list[curr][2] ≠ 0

・ prev ← curr

・ curr ← list[curr][2]

▲ curr = head /* 先頭のデータ */

・ head ← list[head][2]

▲ s_dat = list[curr][1] /* 中間のデータ */

・ (2)

・parm ← -1 /* データなし */

・list[n+1][1] ← s_dat

・curr ← head

■ (3) and list[curr][2] ≠ 0

・ prev ← curr

・ curr ← list[curr][2]

▲ curr = head /* 先頭に追加 */

・ list[n+1][2] ← head

・ head ← n + 1

▲ list[curr][2] = 0 /* 末尾に追加 */

・list[curr][2] ← n + 1

・ (4)

・list[n+1][2] ← list[prev][2] /* 途中に追加 */

・ (5)

Page 20: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

18 18

プログラミングスキル

< 選 択 問 題 >

選択問題は問題から1つ選択し解答せよ。

選択した問題は必ず,解答用紙「選択欄」にマークすること。

※選択欄にマークがなく,解答のみの場合は採点を行いません。

各構成は以下のとおり。

選択問題

・C言語の問題 20 ページ~23 ページ

・表計算の問題 24 ページ~29 ページ

・アセンブラの問題 31 ページ~33 ページ

Page 21: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

19

プログラミングスキル

問題を読みやすくするために,

このページは空白にしてあります。

Page 22: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

20 20

プログラミングスキル

選択問題 C言語の問題

次のKMP法による文字列検索に関する記述を読み,各設問に答えよ。

[KMP法について]

KMP(クヌース・モーリス・プラット)法とは,文字列検索アルゴリズムの一種であ

る。検索対象文字列(以下t)から検索文字列(以下w)を一文字ずつ照合しながら検索す

る場合,不一致となる位置とwの内容から,次に検索を再開する位置を適切に決定す

ることで効率化を図るものである。

KMP法では,検索を再開する時のwの添字をどこにするかを管理するため,再開位置

を管理するテーブル(以下kmpTable)を用いる。tの添字は,途中まで一致していた場

合は,不一致になった位置から検索を再開し,先頭文字で不一致になる場合は1を加

算する。

図1は,wが"ababc"の場合におけるkmpTableの内容である。

0 1 2 3 4

w a b a b c

0 1 2 3 4

kmpTable 0 0 1 2 0

図1 wに対するkmpTable

例えば,図2のようなtからwを検索する場合を考える。

0 1 2 3 4 5 6 7 8

t a b a b a b c a b

0 1 2 3 4

w a b a b c

図2 検索対象文字列tと検索文字列w

tとwを1文字ずつ先頭から照合すると,t[4]とw[4]で不一致となる。

0 1 2 3 4 5 6 7 8

t a b a b a b c a b

w a b a b c

0 1 2 3 4

図3 tとwの照合で不一致となる

不一致

Page 23: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

21

プログラミングスキル

この場合,検索を再開する位置は,t:不一致になったt[4]から,w:直前まで一致

していたw[3]に対応したkmpTable[3]の値を用いてw[2]からにする。

0 1 2 3 4 5 6 7 8

t a b a b a b c a b

w a b a b c

0 1 2 3 4

図4 検索の再開

このように,不一致になったwの位置に応じてwの添字を変更することで,検索処理

を効率よく進める。

<設問1> 次の kmpTable の作成に関する記述中の (1) に入れるべき適切な字句

を解答群から選べ。

kmpTableに格納する値は,wの中に同じ文字の並びがあるかどうかで決まる。同じ

文字並びが存在すれば検索を再開するための位置,存在しなければ0を格納する。こ

こでは,次のような手順で作成する。なお,基準となる位置をx,比較する位置をyと

する。

・1文字目および2文字目で不一致になる場合はwの先頭から検索を再開するので,

kmpTable[0]には0を格納する。

・xを1,yを0から開始し,w[x]とw[y]を比較する。同じ文字であれば, yに1増加

した値を設定し,異なる文字であればyに0を設定する。この時のyをkmpTable[x]

に格納する。なお,xは1文字の比較をするたびに1増加した値を設定する。

この手順を図5の内容で検証する。

0 1 2 3 4

w a b a b c

図5 wの内容

・kmpTable[0]に0を設定する。

・w[1]と w[0]は異なる文字であるから,y を 0 に設定し,kmpTable[1]は 0 を設定

する。

・w[2]と w[0]は同じ文字であるから,y に 1 を加え,kmpTable[2]は 1 を設定する。

・w[3]と w[1]は同じ文字であるから,y に 1 を加え,kmpTable[3]は 2 を設定する。

・w[4]と w[2]は異なる文字であるから,y を 0 に設定し,kmpTable[4]は 0 を設定

する。

以上のことから,図1のような結果が得られる。

ここで,wの文字列として"abxabx"を設定した場合のkmpTableは次のようになる。

検索の再開位置

選択問題

C言語

Page 24: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

22 22

プログラミングスキル

0 1 2 3 4 5

kmpTable 0 0 0 (1) (2) (3)

図6 wに"abxabx"を設定した時のkmpTableの内容

(1) ~ (3) の解答群

ア.0 イ.1 ウ.2 エ.3

<設問2> 次の kmpTable を作成する makeKmpTable 関数中の (1) に入れるべき

適切な字句を解答群から選べ。

[makeKmpTable関数の説明]

引 数:w(検索文字列)

機 能:検索再開位置を配列 kmpTable に設定する

戻り値:なし

#define SIZE 256

char kmpTable[SIZE];

void makeKmpTable(char *w) {

0000int x, y, len;

0000len = strlen(w);

0000kmpTable[0] = 0;

0000y = 0;

0000for(x=1; x<len; x++) {

00000000if (w[x] == w[y]) {

000000000000 (4)

00000000} else {

000000000000 (5)

00000000}

0000}

}

(4) ,(5) の解答群

ア.y = 0;

kmpTable[x] = y;

イ.y = 0;

kmpTable[y] = x;

ウ.y++;

kmpTable[y] = x;

エ.y++;

kmpTable[x] = y;

Page 25: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

23

プログラミングスキル

<設問3> 次の KMP 法による文字列検索を行う kmpSearch 関数中の (1) に入れ

るべき適切な字句を解答群から選べ。なお,この kmpSearch 関数を実行する前には,

必ず makeKmpTable 関数が実行されているものとする。

[kmpSearch関数の説明]

引 数:t(検索対象文字列),w(検索文字列)

機 能:t から w を検索し,t の中に存在する先頭の位置を返す

戻り値:t に w が存在した場合は先頭の位置,存在しなければ-1

#define SIZE 256

char kmpTable[SIZE];

int kmpSearch(char *t, char *w) {

0000int tLen, wLen, i = 0, k = 0, sw = 0, p = -1;

0000tLen = strlen(t);

0000wLen = strlen(w);

0000while(sw == 0) {

00000000if (t[i] == '¥0') {

000000000000sw = 1;

00000000} else {

000000000000if (t[i] == w[k]) {

0000000000000000i++;

0000000000000000k++;

0000000000000000if (k >= wLen) {

00000000000000000000p = i - k;

00000000000000000000 (6) ;

0000000000000000}

000000000000} else {

0000000000000000if (k == 0) {

00000000000000000000 (7) ;

0000000000000000} else {

00000000000000000000 (8) ;

0000000000000000}

000000000000}

00000000}

0000}

0000return p;

}

(6) ~ (8) の解答群

ア.i++ イ.k++

ウ.k = kmpTable[i-1] エ.k = kmpTable[k-1]

オ.sw = 0 カ.sw = 1

Page 26: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

24 24

プログラミングスキル

選択問題 表計算の問題

次の表計算ソフトの記述を読み,各設問に答えよ。

この問題で使用する表計算ソフトの仕様は下記のとおりである。

AND 関数

引数すべての論理式が真である場合に真を返す。

書式:AND(論理式1,論理式2,…)

HLOOKUP関数

検索値を先頭に含む列を範囲の中から検索し,指定した行位置の値を返す。検索

の型に0を指定すると検索値と完全に一致する値を検索し,1を指定すると検索値

と一致する値がない場合に,検索値未満で一番大きい値を検索する。

書式:HLOOKUP(検索値,範囲,行位置,検索の型)

INDEX 関数

範囲の中かから行位置と列位置を 1 から始まる相対値で指定したセルの値を返

す。

書式:INDEX(範囲,行位置,列位置)

IF関数

条件が真のときに真の場合,偽のときに偽の場合の計算結果や値を返す。

書式:IF(条件,真の場合,偽の場合)

MATCH関数

検査範囲内での相対的な位置を返す。位置は検査範囲で指定した範囲内の も左

上に位置するセルが1となる。照合の型は-1,0,1のいずれかを指定する。-1は検

査値以上の 小の値,0は検査値と等しい値,1は検査値以下の 大の値を検索す

る。なお,0を指定した場合で検査範囲に指定した検査値が含まれない場合はエ

ラー値が返される。

書式:MATCH(検査値, 検査範囲, 照合の型)

RANK 関数

範囲内の数値を並べたときに何番目になるか(順位)を返す。順序は,降順の場

合は0,昇順の場合は1 を指定する。なお,範囲内の検査値に同じものがあれば

同じ順位を返し,以降の順位に欠番が生じる。

書式:RANK(検査値,範囲,順序)

Page 27: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

25

プログラミングスキル

VLOOKUP関数

検索値を左端に含む行を範囲の中から検索し,指定した列位置の値を返す。検索

の型に0を指定すると検索値と完全に一致する値を検索し,1を指定すると検索値

と一致する値がない場合に,検索値未満で一番大きい値を検索する。

書式:VLOOKUP(検索値,範囲,列位置,検索の型)

=に続けて計算式や関数などを入力する。

セル番地の参照

セル番地に$を付けることで,絶対番地(絶対参照)を表す。

他のワークシートの参照

「ワークシート名!セル番地」とすることで他のワークシートのセルを参照する

ことができる。また,ワークシート名を"sheet1:sheet5"のように記述すると,ワー

クシート範囲を指定することができる。

ホームセンターJ店では,表計算ソフトを利用し,過去3年間の販売実績を分析す

ることになった。手始めとして,2014年~2016年の4種別の各5つの商品についてサン

プリングし,試すことになった。サンプリングとして取り出した商品の情報は,「商

品表」ワークシートの21 行までにまとめられている。2行目からA列に種別,B列に

商品コード,C列に商品名,D列に単価が21行まで入力されている。

A B C D

1 種別 商品コード 商品名 単価

2 D01 バスタオル 4,104

3 D02 トイレットペーパー 298

4 D03 電池セット 1,980

5 D04 アルミホイル 258

6 D05 キッチンペーパー 298

7 K01 土鍋 980

8 K02 フライパン 1,280

9 K03 鍋セット 9,800

10 K04 洗い桶 1,560

11 K05 キッチンタイマ 890

… … … …

20 E004 タイルマット 3,781

21 E005 大型ゴミ袋 4,874

日用品

キッ

チン用品

図1 「商品表」ワークシート

「2014 年売上表」ワークシートにサンプリング商品のデータを入力後,各月および

売上高合計の合計と平均を表示するため,セル B24 と B25 に式を入力し,セル C24~

N25 まで複写する。

選択問題

表計算

Page 28: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

26 26

プログラミングスキル

なお,「2015 年売上表」ワークシートと「2016 年売上表」ワークシートも同様に作

成する。

A B C … M N

1

2 2014年売上表

3 商品コード 1月 2月 … 12月 売上高合計

4 D01 1,222,992 915,192 … 993,168 3,133,336

5 D02 2,191,536 3,406,320 … 1,042,416 6,640,535

6 D03 1,161,432 2,368,008 … 3,759,264 7,289,008

7 D04 952,128 2,129,976 … 2,917,944 6,001,035

8 D05 3,652,560 4,026,024 … 3,283,200 10,963,072

9 K01 1,342,008 3,155,976 … 2,142,288 6,650,081

10 K02 3,164,184 1,091,664 … 238,032 4,495,450

11 K03 1,616,976 1,362,528 … 3,886,488 6,866,893

… … … … … …

24 合計 39,041,352 43,182,288 … 48,414,888 510,705,864

25 平均 1,952,068 2,159,114 … 2,420,744 25,535,293

図2 「2014 年売上表」ワークシート

<設問1> 「分析表」ワークシートの作成に関する次の記述中の (1) に入れる

べき適切な字句を解答群から選べ。

図3 「分析表」ワークシート

「分析表」ワークシートを作成するため,セル A4~A23 まで「商品表」ワークシー

トより商品コードを複写する。

Page 29: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

27

プログラミングスキル

各商品の 2014 年の1月~12 月の売上高合計を求めるため,セル B4 に次の式を入力

し,セル B5~B23 まで複写した。

= (1)

同様に,2015 年と 2016 年の1月~12 月の売上高合計を求め,各年の合計と平均を

集計した。

次に,前々年度比を求めるため,セル E4 に次の式を入力し,セル E5~E23 まで複

写した。なお,表示形式を小数点以下第1位までのパーセント表示にした。

= (2)

さらに,前年度比を求めるため,セル F4 に次の式を入力し,セル F5~F23 まで複

写した。なお,表示形式を小数点以下第1位までのパーセント表示にした。

= (3)

前々年度比と前年度比から評価を求めるため,セル G4 に次の式を入力し,セル G5

~G23 まで複写した。評価は,前々年度比と前年度比の両方が 100%以上の場合は“◎”,

前々年度比と前年度比の両方が 100%未満の場合は“×”,該当しない場合は空白とす

る。

=IF( (4) , "◎", IF( (5) , "×", "") )

(1) の解答群

ア.SUM(2014 年売上表!B4:M4)

イ.SUM(2014 年売上表!B$4:$M4)

ウ.SUM(2014 年売上表!B$4:M$4)

エ.SUM(2014 年売上表!$B$4:$M$4)

(2) ,(3) の解答群

ア.B4/D4 イ.C4/D4

ウ.D4/B4 エ.D$4/B$4

オ.D4/C4 カ.D$4/C$4

(4) ,(5) の解答群

ア.AND(E4<1, F4<1) イ.AND(E4<=1, F4<=1)

ウ.AND(E4<=100, F4<=100) エ.AND(E4>1, F4>1)

オ.AND(E4>=1, F4>=1) カ.AND(E4>=100, F4>=100)

Page 30: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

28 28

プログラミングスキル

<設問2> 「分析表」ワークシートの拡張に関する次の記述中の (1) に入れる

べき適切な字句を解答群から選べ。

「分析表」ワークシートに,ワースト順位とワースト順位に対応する商品コードと

商品名を追加する。

A … G H I J K L

1

2 分析表

3 商品コード … 評価 ワースト順位 ワースト順位 商品コード 商品名

4 D01 … ◎ 10 1 K03 鍋セット

5 D02 … 13 2 D03 電池セット

6 D03 … × 2 3 K04 洗い桶

7 D04 … × 8 4 K01 土鍋

8 D05 … 20 5 E03 キッチンペーパー

9 K01 … × 4

10 K02 … ◎ 11

… … … …

23 E05 … 19

24 合計 … - -

25 平均 … - -

図4 拡張した「分析表」ワークシート

前年度比の低い順に順位を求めるため,セル H4 に次の式を入力し,セル H5~H23

まで複写した。

= (6)

次に,求めたワースト順位(1~5 位)に対応する商品コードを表示するため,セル

K4 に次の式を入力し,セル K5~K8 まで複写した。なお,同順位は発生しないものと

する。

= (7)

さらに,求めたワースト順位(1~5 位)に対応する商品名を表示するため,セル

L4 に次の式を入力し,セル L5~L8 まで複写した。

= (8)

(6) の解答群

ア.RANK(F4, F4:F23, 0)

イ.RANK(F4, F$4:F$23, 0)

ウ.RANK(F4, F$4:F$23, 1)

エ.RANK(F4, $F4:$F23, 1)

Page 31: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

29

プログラミングスキル

(7) の解答群

ア.INDEX(A4:A23, MATCH(J4, H4:H23, 0))

イ.INDEX(A$4:A$23, MATCH(J4, H$4:H$23, 0))

ウ.INDEX(A4:A23, MATCH(J4, H$4:H$23, 1))

エ.INDEX(A$4:A$23, MATCH(J$4, H4:H23, 1))

(8) の解答群

ア.HLOOKUP(K4, 商品表!B$2:C$21, 2, 0)

イ.HLOOKUP(K4, 商品表!B$2:C$21, 2, 1)

ウ.VLOOKUP(K4, 商品表!B$2:C$21, 2, 0)

エ.VLOOKUP(K4, 商品表!B$2:C$21, 2, 1)

Page 32: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

30 30

プログラミングスキル

問題を読みやすくするために,

このページは空白にしてあります。

Page 33: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

31

プログラミングスキル

選択問題 アセンブラの問題

次のアセンブラ言語CASLⅡプログラムの説明を読み,各設問に答えよ。

[プログラムの説明]

要素数 N の 1 次元配列 A を,挿入法により昇順に整列するプログラム SSORT である。

配列 A は,A 番地以降に連続して格納済みであり,要素数 N は N 番地に格納済みで

ある。ただし,N は,2 以上 100 以下とする。

SSORT は,図1のような形式でパラメータが格納された先頭番地を GR1 に設定して

呼び出される。

アドレス

(GR1) + 0 ラベル N のアドレス

+ 1 ラベル A のアドレス

図1 パラメータの構造

[挿入法の手順]

1次元配列Aが,A~A+(k-1)番地まで昇順に整列されているとき,A+(k)番地の内容

を挿入する手順は,次のようになる。なお,kの値は1~N-1とする。

① A+(k)番地の内容をWに退避する。

② 作業用にmを用意し,k-1とする。

③ A+(m)番地の内容がw以下であれば,格納すべき位置を見つけたことになるので

④に進む。そうでなければ,A+(m)番地の内容をA+(m+1)番地へ格納してmから1を

引き,③へ戻る。

④ wをA+(m+1)番地へ格納する。

図2 挿入法の例(N=10)

0 1 2 3 4 5 6 7 8 9

3 5 8 10 9 15 1 17 6 12

k A+(k-1)番地まで整列済み

w 9

0 1 2 3 4 5 6 7 8 9

3 5 8 9 10 15 1 17 6 12

A+(k)番地まで整列する

選択問題

アセンブラ

Page 34: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

32 32

プログラミングスキル

[プログラム]

行番号 ラベル 命令 オペランド コメント

100 SSORT START

110 RPUSH

120 LD GR3,0,GR1

130 LD GR2,1,GR1

140 ST GR2,TOP ; 配列の先頭番地

150 LD GR4,0,GR3

160 (1)

170 SUBL GR4,=1

180 ST GR4,LAST ; 配列の末尾番地

190 LOOP1 ADDL GR2,=1

200 LD GR1,0,GR2 ; 挿入データの退避

210 (2)

220 LOOP2 SUBL GR3,=1

230 CPL GR3,TOP ; 先頭まで比較したか?

240 (3)

250 CPA GR1,0,GR3

260 JPL FIND ; 挿入位置の確定

270 JZE FIND ; 挿入位置の確定

280 LD GR4,0,GR3

290 ST GR4,1,GR3

300 JUMP LOOP2

310 FIND (4)

320 CPL GR2,LAST

330 JMI LOOP1

340 RPOP

350 RET

360 TOP DS 1

370 LAST DS 1

380 END

<設問1> プログラム中の (1) に入れるべき適切な字句を解答群から選べ。

(1) の解答群

ア.ADDL GR4,GR2 イ.ADDL GR4,GR3

ウ.ADDL GR4,0,GR2 エ.ADDL GR4,0,GR3

Page 35: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

33

プログラミングスキル

(2) の解答群

ア.LD GR3,GR1 イ.LD GR3,GR2

ウ.LD GR3,0,GR1 エ.LD GR3,0,GR2

(3) の解答群

ア.JMI FIND イ.JMI LOOP1

ウ.JZE FIND エ.JZE LOOP1

(4) の解答群

ア.ST GR1,0,GR2 イ.ST GR1,0,GR3

ウ.ST GR1,1,GR2 エ.ST GR1,1,GR3

<設問2> 行番号 190 の命令は,他の命令に置き換えても実行結果に影響しない。置

換可能な命令を解答群から選べ。ただし,ラベル(LOOP1)はそのままとする。

(5) の解答群

ア.LAD GR2,1 イ.LAD GR2,1,GR2

ウ.OR GR2,=1 エ.XOR GR2,=1

<設問3> 次のトレースに関する記述を読み,記述中の (1) に入れるべき適切

な字句を解答群から選べ。

N=10,A から A+(9)番地のデータが図3の場合で,プログラムを実行すると,挿入

データ(A+(1)番地から A+(9)番地)が,データ領域の先頭(A)に挿入される場合が

(6) 回,元の位置に格納される場合が (7) 回である。

0 1 2 3 4 5 6 7 8 9

10 5 8 3 15 9 1 17 6 12

図3 A から A+(9)番地の内容

(6) ,(7) の解答群

ア.1 イ.2 ウ.3 エ.4 オ.5

Page 36: 平成29年度後期 情報システム試験 プログラミングスキルの問題jken.sgec.or.jp/docs/past_test/180211_mondaijs02.pdf · <使用を認めない電卓> 1.電池式(太陽電池を含む)以外

34 34

プログラミングスキル