情報工学演習 課題25 単語の切り出し(構造体) 【問 5】 登録しようとしている単語テーブルの位置を tn、 tflag は単語ならば 1、区切り記号ならば 0 にします。 初期状態(事前にこの様にしておく) ① 状態フラグ tflag ② 単語表の記入位置 tn を 0 位置 tn→ 0 0 0 1 2 t a , ← 3 4 5 6 7 p o n ¥0 8 9 10 この様にしたと仮定して以下の問題を解いのてください を0 長さ 1 1 位置を 0 にする 2 長さを 1 にする 3 参照位置 0 (文字が t)の時の作業 前の状態(つまり初期状態のこと)は「区切り」の時、 現在の状態は文字 t を見ているので「単語」です。すなわ ち、問 4 の A「区切り記号走査中に,単語文字に出会った」という状態です。このときは以下の三つの作業をします。 ① 状態フラグ tflag を 1 にする ② 現在の参照位置(即ち 0)を ③ 単語テーブルの tn の「長さ」を 1 にする 位置 tn→ 0 1 単語テーブルの tn の「位置」に記憶する 長さ 0 長さを+1 2 3 ここを 2 にする 参照位置=1 (文字が a)の時の作業 問 4 の D「単語走査中に,単語文字に出会った」という状態です。このときは次の一つの作業をします。 ① 単語テーブルの tn の「長さ」に 1 加える 情報工学演習 課題25 単語の切り出し(構造体) 位置 0 0 tn→ 長さ 1 2 3 tn を 参照位置=2 +1 (文字が,)の時の作業 問 4 の C「単語走査中に,区切り記号」の状態です。このときは以下の2つをします。 ① 状態フラグ tflag を 0 にする。 ② 単語テーブルの記入位置 tn の値を 1 増やす(図に書いてあるので、ここでは特に記入する必要は無い) 位置 0 tn→ 0 長さ 2 1 2 3 参照位置=3 (文字がスペース)の時の作業 問 4 の B「区切り記号走査中に,区切り記号」に相当します。この場合は何もする必要がありません。 0 tn→ 位置 長さ 0 2 1 2 3 参照位置=4 (文字が p)の時 問4の A「区切り記号走査中に,単語文字に出会った」に相当します。この場合は参照位置=1 の場合と同じく ④ 状態フラグ tflag を 1 にする ⑤ 現在の参照位置(即ち 4)を ⑥ 単語テーブルの tn の「長さ」を 1 にする 単語テーブルの tn の「位置」に記憶する 情報工学演習 課題25 単語の切り出し(構造体) 情報工学演習 課題25 単語の切り出し(構造体)
© Copyright 2024 ExpyDoc