平成19年 春期 基本情報技術者 午前 問13

文字列Aが“aababx△”、文字列Bが“ab△”であるとき、流れ図の終了時点のkは幾らか。
ここで、文字列の先頭の文字を1番目と数えるものとし、A[i]はAのi番目の文字をB[j]はBのj番目の文字を、“△”は終端を示す文字を表す。

 ア  0
 イ  1
 ウ  2
 エ  4


答え ウ


解説
流れ図に図のような番号を振って処理を説明します。

まず、@の処理でi = 1、j = 1になる。
次に、Aの条件文「A[i]:B[j]」は、A[1] = “a”、B[1] = “a”なので、「=」のBに進む。
次に、Bの処理でi = 2、j = 2になる。
次に、Dの条件文「A[i] = “△” or B[j] = “△”」は、A[2] = “a”、B[2] = “b”なので、「No」のAに進む。
次に、Aの条件文「A[i]:B[j]」は、A[2] = “a”、B[2] = “b”なので、「≠」のCに進む。
次に、Cの処理でi = 2、j = 1になる。
次に、Dの条件文「A[i] = “△” or B[j] = “△”」は、A[2] = “a”、B[1] = “a”でなので、「No」のAに進む。
次に、Aの条件文「A[i]:B[j]」は、A[2] = “a”、B[1] = “a”なので、「=」のBに進む。
次に、Bの処理でi = 3、j = 2になる。
次に、Dの条件文「A[i] = “△” or B[j] = “△”」は、A[3] = “b”、B[2] = “b”なので、「No」のAに進む。
次に、Aの条件文「A[i]:B[j]」は、A[3] = “b”、B[2] = “b”なので、「=」のBに進む。
次に、Bの処理でi = 4、j = 3になる。
次に、Dの条件文「A[i] = “△” or B[j] = “△”」は、A[4] = “a”、B[3] = “△”なので、「Yes」のEに進む。
次に、Eの条件文「B[j] = “△”」は、B[3] = “△”なので、「Yes」のFに進む。
次に、Fの処理でi = 4、jmax = 2なので、k = 2(ウ)になる。


キーワード
・流れ図

キーワードの解説

戻る 一覧へ 次へ