文字列処理の試験問題への適用

本番では文字列を1文字ずつ走査し、個数を数えたり、条件に合う文字だけ連結したりする。配列同様、添字と現在文字を分けて追う。

この単元で学ぶこと

  • 文字走査の意味と役割を説明できる
  • 文字カウントの意味と役割を説明できる
  • フィルタ連結の意味と役割を説明できる
  • 文字列走査でカウンタ・結果文字列・位置を同時にトレースできる

本文解説

ループで文字列を処理するときは、長さnなら有効位置が何番までかを仕様に合わせて決める。カウンタ・結果文字列・現在位置を同時に追跡する。

文字走査 文字列を先頭から1文字ずつ調べる処理。 長さと添字範囲を合わせる。

文字カウント 条件に合う文字数を数える処理。 countを0で初期化する。

フィルタ連結 条件に合う文字だけ結果文字列へ追加する。 元の順序を保つ処理が多い。

大文字小文字 比較時にケースを区別するか仕様で決まる。 正規化してから比較する場合もある。

位置記録 一致した文字の添字を保存する。 最初/最後の一致を区別する。

i、現在文字s[i]、count、resultの列を作る。

s="ABCA"を0始まりで走査しAを数えると、i=0と3でcountが増え最終2。

図解

文字列走査のトレース表
位置・現在文字・カウント・結果文字列を反復ごとに追う。

重要ポイント

  • 文字走査: 文字列を先頭から1文字ずつ調べる処理。
  • 文字カウント: 条件に合う文字数を数える処理。
  • フィルタ連結: 条件に合う文字だけ結果文字列へ追加する。
  • 大文字小文字: 比較時にケースを区別するか仕様で決まる。
  • 文字列も配列と同じく、位置と値を別々に書く。

間違えやすい点

  • 条件不成立の文字まで結果へ連結しない。
  • 大文字小文字の仕様を無視しない。
  • 最初の一致を求めるのに最後まで位置を上書きしない。

用語解説

文字走査
文字列を先頭から1文字ずつ調べる処理。
文字カウント
条件に合う文字数を数える処理。
フィルタ連結
条件に合う文字だけ結果文字列へ追加する。
大文字小文字
比較時にケースを区別するか仕様で決まる。
位置記録
一致した文字の添字を保存する。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。