基本情報技術者過去問題 平成27年春期 午後問9

問9 

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

[プログラムの説明]
 平文(ひらぶん)の文字列を暗号化する手法として,平文の文字を換字(かえじ)表に 従って別の文字に置き換える方法がある。関数 enc_str は,与えられた平文を,換字表を用いて暗号文に変換するプログラムである。
  • 平文は,JIS X 0201(7ビット及び8ビットの情報交換用符号化文字集合)の文字で構成されている。
  • 置換の対象となる文字(以下,置換対象文字という)は,英字(A〜Z,a〜z),数字(0〜9),空白文字,"."及び","の65種類の文字であり,換字表に格納されている。
  • 換字表は5行13列の2次元文字型配列であり,全ての要素に異なる文字が格納されている
  • 換字表による置換の方法について,図1に示す平文と暗号文の対応の例を用いて説明する。平文の文字列の先頭から置換対象文字を2文字ずつ選び出して行い,置換されたそれぞれの文字を暗号文の文字として,暗号文中で平文と同じ位置に入れる。ここで,置換対象文字の組合せによって,置換後の文字の組合せが決まる。置換対象文字数が奇数の場合,最後の置換対象文字については1文字で置換を行う。置換対象文字以外の文字については,平文中の文字をそのまま暗号文中で平文と同じ位置に入れる。
  • 関数 enc_str の仕様は次のとおりである。ここで,引数の値に誤りはないものとする。
    機能:
    文字列 str を,換字表 xchg_t を用いて平文から暗号文に変換する。
    引数:
    str   文字列
    xchg_t 換字表

設問1

図2の平文と換字表を引数として関数 enc_str を実行したとき,プログラムの動作に関する次の記述中の に入れる正しい答えを,解答群の中から選べ。
pm09_3.gif/image-size:400×304
  • プログラムのαの行が最初に実行されるとき,変数 flg の値は 1,i の値は 0,col の値はa, row の値はbになっている。
  • プログラムのβの行が最初に実行されるとき,引数 str,配列cp,rp,pos に格納されている値は,図3に示すとおりである。
    pm09_4.gif/image-size:371×189
  • プログラムのβの行が5回目に実行されるとき,pos[1] の値は 9, 引数 str[9] の値はdになっている。
  • プログラムのβの行が6回目に実行されるとき,pos[1] の値はeになっている。
a,b に関する解答群
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 10
c に関する解答群
  • 'F'
  • 'S'
  • 't'
  • 'v'
  • '7'
d に関する解答群
  • 'n'
  • 'O'
  • 'y'
  • 'Z'
  • 空白文字
e に関する解答群
  • 11
  • 12
  • 13
  • 14
  • 15

解答選択欄

  • a:
  • b:
  • c:
  • d:
  • e:

解答

  • a=
  • b=
  • c=
  • d=
  • e=

解説

この設問の解説はまだありません。

設問2

図2に示す換字表を使って平文"IPA"を暗号文に変換した結果として正しい答えを,解答群の中から選べ。
解答群
  • CVa
  • iAP
  • iCN
  • iNC
  • PIa
  • VCa

解答選択欄

  •  

解答

  •  

解説

この設問の解説はまだありません。
【27年春期 午後問題】
 問1 問2 問3 問4 問5 問6 問7 問8 問9 問10 問11 問12 問13
© 2010-2019 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop