<<
Squeakで学ぶプログラミング(初版)
/
アルゴリズムの組み立て
/
辞書を作ってみよう
/検索のアルゴリズム
>>
11.1 検索のアルゴリズム
M先生
このプロジェクトでは,「 絵辞書 」を作ってみようと思う.
Aさん
「絵辞書」って何ですか?
M先生
普通の辞書だと,「apple」を引くと「りんご」って出てくるでしょう?絵辞書は,「apple」と引くとりんごの絵が出てくるようなもの.
Aさん
難しそうですね.
M先生
そうだね,少し複雑になるので,順を追ってやっていこう.
Aさん
はい.
M先生
まず, 検索 のアルゴリズムを考えてみよう.
Aさん
検索って,また入れ物を使うのですか?
M先生
そうだよ.具体的に言うと,入れ物の中に,指定された文字が入っているカーソル位置を探すプログラムだ.アルゴリズムは簡単だよ.考えてごらん?
Aさん
ええと,カーソル位置を一つ一つ調べていって,文字が一致したらプログラムを止めればいいのかな?
M先生
その通り.基本的にはそのやり方でできる.でも,見つからなかったらプログラムはどうなる?
Aさん
ええと,,,
M先生
じゃあ,とりあえずそこまで作ってみようか.
Aさん
はい,とりあえず作ってみました.「探すテキスト」というオブジェクトに探したいテキストを入力して,スタートボタンでプログラムが動きます.
M先生
プログラムが止まった時点のカーソル位置が,検索結果というわけだね.じゃあ,入れ物に入っていないテキストで実行してみよう.
Aさん
プログラムがとまりません...
M先生
これでは,見つかったときにしかプログラムが止まらないから当然だよね.修正するにはどうしたらいい?
Aさん
ええと,カーソル位置が「 入れ物の要素数 」を超えてしまったら,全部探したけれども見つからなかったということなので,そこでプログラムが止まるようにします.
M先生
なるほど,うまく動くようになったね.
<<
Squeakで学ぶプログラミング(初版)
/
アルゴリズムの組み立て
/
辞書を作ってみよう
/検索のアルゴリズム
>>