平成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(ウ)になる。


キーワード
・流れ図

キーワードの解説
  • 流れ図(フローチャート)
    処理の内容を図にしたもので、模擬的なプログラム言語で書くことが多い。(実際に使用するプログラム言語を用いて書くこともある。)
    図の意味は四角が処理、ひし形が条件文である。
    情報処理試験では模擬的なプログラム言語で書かれていて、“→”、“←”は代入を表している。
    また、条件文(ひし形)において、“=”は等しいかどうか、“:”は比較である。

もっと、「流れ図」について調べてみよう。

戻る 一覧へ 次へ