純粋スクラッチ

スクラッチ3.0で文字列から指定文字が何個あるかを調べる

 

作るプログラム

どんなシーンで使うかは疑問ですが、スクラッ3.0チのコマンドの中の文字検査コマンドを実験してみます。
下記のプログラムは、ある文字列の中に指定した文字が何回出現したかカウントしています。
このプログラムの例では、文字という変数に代入されている”1231233343533”から”3”が何個あるかを調べています。

基本的な考え方

スクラッチ3.0ではコード→演算の中には文字や文字列を検査したりするコマンドがあります。
今回はその中の2つ、<appleの1番目の文字> と<apple>の長さを使ってみます。(下の画面の下2つのブロック)

は、apple と書かれた部分の文字列の 1番目の文字を抜き出します。この場合は appleの1番目なので、このブロックの答えは”a” となります、apple も 1番目も自由に指定することができますから、例えば1を3とすれば答えは”p”になります。また、文字部分に abcdefg という文字列を指定して、1の部分を3とすれば答えは “c”となりあす。

今回のプログラムは、このappleという検査対象の文字列部分に変数に代入された文字列をおき、調べる場所を1から文字の長さまで順にずらしていきます。つまり1番目の文字、2番目の文字、3番目の文字というように、検査対象の文字列の先頭から最後まで、自動で1文字ずつぬきとるわけです。

を使えば検査する文字列の長さがわかりますから、検査する場所は1番目からここまで1つずつずらしてみていけばいいことがわかります。

解説

必要な変数 文字、回数、場所 はあらかじめ変数として新しく作って用意しておきます。
最初の3行は変数を初期化措定ます、
検査は、検査対象の文字列の1番目から文字の長さ分となります、
指定した場所の文字を、比較したい文字と比較し、=であれば見つかった回数を1つづつアップします。
検査する場所は、1番目からひとつづつ右へずらしていきます、

コメント

タイトルとURLをコピーしました