【Scratch3.0】リスト内の検索(後方一致)
スクラッチでリスト内を検索して、指定した文字で終わる言葉を検索する方法です。
完成動作
https://scratch.mit.edu/projects/564497045
完成コード
適当なスプライトに以下のコードを作成
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-125-1024x625.png)
前提
・以下の3つの変数を作成
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-112.png)
・以下のリストを作成
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-75.png)
・"リスト"に任意の文字を追加
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-126.png)
解説
1.スタート(緑の旗)を押したら、検索したい言葉の入力を表示
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-127.png)
2.変数"現在の番号"を1にする(初期化)
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-100.png)
3.リストの長さ分繰り返す。
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-115.png)
4.変数"現在の番号"と"一致フラグ"を1にする(初期化)
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-116.png)
5."答え"の文字の長さ分繰り返す。("あいう"であれば3文字なので3回繰り返すということ)
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-117.png)
6."答え"の"比較文字番号"の文字と、リストの"現在の番号"番目の文字列の中のその文字列の長さから"答え"の長さを引いて"比較文字番号"を足した番目の文字を比較して、一致していたら何もせず、一致していなかったら"一致フラグ"を0(一致していない)にする。
※例えば、"答え"が"あいう"の場合、答えの1文字目とリストの1番目の最後から3番目の文字を比較して、次の繰り返しで最後から2番目の文字を比較する・・・というのを繰り返している。
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-128-1024x152.png)
7."比較文字番号"(比較する文字の番目)を1増やして次の文字の比較を繰り返す。
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-122.png)
8.すべての文字を比較し終えたら、一致フラグが1(一致している)かどうかを確認して、1であれば以下のように「〇番目の○○が○○で終わります」と言うようにする。
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-129.png)
9."現在の番号"を1増やして、リストの次の添え字の文字の比較を繰り返す。
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-123.png)
10.すべての比較を終えたら「以上!」と言って終了
![](https://programming.sincoston.com/wp-content/uploads/2021/08/image-124.png)
ディスカッション
コメント一覧
まだ、コメントがありません