基本情報技術者試験の過去問と解説
[TOP] [午前分野別] [午後分野別] [キーワード索引] [令和元年秋午前] [令和元年秋午後]

平成14年 秋期 基本情報技術者 午後 問04
問04   文字列の編集し

 次のプログラムの説明,擬似言語の記述形式の説明及びプログラムを読んで, 設問1,2に答えよ。

〔プログラムの説明〕

 英数字及び記号からなる長さ N の文字列を,編集して出力する副プログラム TextPrint である。

(1) 文字列は,Text[1],Text[2],… ,Text[N](N ≧ 1)の各要素に 1文字ずつ格納されている。

(2) 編集の仕様は,次のとおりである。

@ ピリオド(“.”)で改行する。

A 指定した最大文字数(引数 Moji)で改行する。

B 指定した最大行数(引数 Gyo )で改ページする。

C 指定した文字数(引数 Yohaku )だけ,左側に余白を挿入する。

(3) TextPrint は,1行分の文字列を取り出す副プログラム GetLine , 編集結果の1ページ分の文字列を出力する副プログラム PageOut , 配列を空白文字で初期化する副プログラム ArrayInit を使用する。 各副プログラムの引数の仕様を表1〜4に示す。

        表1 TextPrint の引数

変数名 入力/出力 意  味
Text[] 入力 出力対象である文字型の1次元配列
N 入力 Text[] 中の最後の文字の要素番号(N ≧ 1)
Gyo 入力 出力する1ページの最大行数(1 ≦ Gyo ≦ 50)
Moji 入力 出力する1行の最大文字数(Moji ≧ 1)
Yohaku 入力 左側の余白の文字数
(Yohaku ≧ 0 かつ 1 ≦ (Moji+Yohaku) ≦ 90)

        表2 GetLine の引数

変数名 入力/出力 意  味
Text[] 入力 出力対象である文字型の1次元配列
N 入力 Text[] 中の最後の文字の要素番号(N ≧ 1 )
Sp 入力 開始位置
Moji 入力 1 行の最大文字数
Ep 出力 Text[Sp] から行末を探し,その位置を返す。
行末の条件は次のいずれか。
  • 文字列の最後に達したとき
  • ピリオド(“.”)が見つかったとき
  • Moji 文字分に達したとき

        表3 PageOut の引数

変数名 入力/出力 意  味
Page[][] 入出力 出力対象である文字型の2次元配列
出力処理後,空白文字で初期化される。
Gyo 入力 出力する行数
Gyo = 0 の場合は出力しない。
Retsu 入力 出力する1行の文字数

        表4 ArrayInit の引数

変数名 入力/出力 意  味
Page[][] 入出力 初期化対象である文字型の2次元配列
Gyo 入力 2次元配列の最初の次元の要素数
Retsu 入力 2次元配列の2番目の次元の要素数
Value 入力 初期化に用いる指定文字

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

〔プログラム〕

基本情報技術者試験


設問1  プログラム中の に入れる正しい答えを, 解答群の中から選べ。

解答群

ア Ep < (Sp + Dan)       イ Ep < (Sp + Moji)

ウ Ep < (Sp + Moji − 1)    エ Mp ≦ Ep

オ Mp < Ep            カ Sp ≦ Ep

キ Sp < Ep

解答 a ←クリックすると正解が表示されます

解答 b ←クリックすると正解が表示されます

基本情報技術者試験


設問2 図のように,各ページを2段組で出力するようにプログラムの α , β , γ 部分を変更した。 1段目と2段目の間は2文字分空ける。 変更部分中の に入れる正しい答えを, 解答群の中から選べ。 ここで,最大文字数(引数 Moji )の値は4以上の偶数とする。


     図 2段組のページ

〔変更部分〕

c に関する解答群

ア Moji / 2    イ (Moji − 2) / 2    ウ Moji / 2 − 2

d,e に関する解答群

ア Mp ← Yohaku            イ Mp ← Yohaku + 1

ウ Mp ← Yohaku + Dan        エ Mp ← Yohaku + Dan + 1

オ Mp ← Yohaku + Dan + 2    カ Mp ← Yohaku + Dan + 3

f,g に関する解答群

ア Gp      イ Gp − 1      ウ Gyo      エ Gyo − 1

解答 c ←クリックすると正解が表示されます

解答 d ←クリックすると正解が表示されます

解答 e ←クリックすると正解が表示されます

解答 f ←クリックすると正解が表示されます

解答 g ←クリックすると正解が表示されます

[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]