![]()
平成28年 秋期 基本情報技術者 午後 問08
問08 必須問題次のプログラムの説明及びプログラムを読んで,設問1〜3に答えよ。 事務計算においては,数値を見やすく表示(印字)するために,例えば3桁ごとに 区切りの“,”を挿入するなどの編集処理がよく行われる。 関数 Edit は,指定された編集パターンに従って,数値を編集するプログラムである。 表1に,関数 Edit を用いた編集例を示す。例1では,3桁ごとに区切りの“,”を挿入している。 例2では,例1の編集に加え,上位の空いた桁を“*”で埋めている。 例3では,数値の右端から2桁目と3桁目の間に“.”を挿入している。
![]() ここで,編集パターン中の文字 ![]() 〔プログラムの説明〕 (1) 関数 Edit は,次の形式で呼び出され,二つの引数をもつ。
(2) Pattern[] は,1文字以上から成る文字列であって,表示可能な図形文字及び
制御文字(
(3) Value[] は,数値を表す文字列であって,数字“0”〜“9”の並びの後に,
数値が正又は 0 なら“+”を,負なら“-”を付加した形式である。数字の個数は,
Pattern[] 中の文字 (4) 関数 Edit は,Value[] で与えられた数値を Pattern[] に従って編集し, 編集結果で Pattern[] を置き換える。 〔編集方法〕 Pattern[] 中の各文字について,先頭から順に1文字ずつ,次の@〜Bのいずれか一つの操作を実行していく。 @ 関数 Edit が呼び出されたときの Pattern[] 中の先頭の文字(以下,fill 文字という)で置き換える。 A Value[] 中の対応する桁の数字で置き換える。 B 置き換えないで,そのまま残す。 (5) 論理型変数 signif は,on 又は off の値を取る。この変数の実行開始時の値は off であり, Value[] 中に最上位から“0”が連続した後に“0”でない数字が見つかると on になる,などの使い方をする。 (6) 関数 Edit が呼び出されるとき,各引数には正しい値が設定されているものとする。 〔プログラム〕 ![]()
![]()
引数 Pattern[] 及び Value[] に幾つかのデータを与えて,関数 Edit を実行した結果を,表3に示す。
![]() a に関する解答群 ウ “******Ø#” エ “******Ø*” b,c に関する解答群 ウ “****.12#” エ “****.12*” オ “***Ø.12#” カ “***Ø.12*”
プログラム中の破線で囲んだ部分の処理(表2のケース1〜7の処理)を, 詳細なプログラムとして記述すると,次のようになる。
![]() d,e に関する解答群 ウ Value[v+1」= "-" エ Value[v+1] = "+" オ Value[v+1] ≠ "-" カ Value[v+1] ≠ "+"
関数 Edit では,例えば,fill 文字を “␣”とする編集パターンを 指定することによって,数値が正なら“␣␣1,234␣”, 負なら “␣␣1,234-”と編集することができる。 表2のケース1〜7のうち,数値が正なら数値の後に続く文字を fill 文字で置き換えるために 用意されたケースは ![]() f に関する解答群 ウ 4 及び 7 エ 5 及び 7
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| ||||||