例えば、「ワン」と、10回吠えたい
我が家の愛犬『コロ』
趣味:しっぽ回しそう、人間、時には、犬にでもなって、〜ワンワン吠えているだけの〜、そんな気楽な存在になりたいと、思ったことがあるかもしれません。しかし、実際、ワンワン吠えるだけでは、空しいのです。
(犬だって、理由がなければ吠えません!)
意味もなく、自分で吠えるのも、なんですので、ひまわりに、吠えさせて、「ワンワン」ほえるだけの存在が、どれだけ空しいか体感してみましょう。
ひまわりで、「ワン」と、10回表示するには、以下のようにします。
10回、「ワン」と、表示。
実行させてみましたか?
・・・
ワン
ワン
ワン
ワン
ワン
ワン
ワン
ワン
ワン
ワン
・・・やっぱり、空しいですよね。
一目瞭然ですが、何かを繰り返すにはという、書式で、文を書きます。
?回、(命令)。
さてさて、上のプログラムが、なぜ、空しいのか考えてみると、一度表示して、それ以後、動きがないから、空しいんです。
そこで、吠えるにしても、時間差をつけて、吠えることにしましょう。
10回(「ワン」と、表示。1秒、待つ。)。
これは、ワンと表示して、1秒待って、再び、ワン・・・という具合に動きます。
・・・いや、これでも、十分むなしい・・・どうしたら、この心の隙間を埋めることができるのだろう?・・・
空しいのは、置いておいて、一番目のプログラムと違うのは、10回の後に、丸カッコ()があることです。これは、カッコの中を、10回実行します!という意味になります。
では、最後の手段。色と、音を、付けてみましょう!
文字サイズ=16。’文字の大きさを16に変更
文字色=茶色。’色は犬っぽさを強調して茶色なんてどうでしょう
10回(
「ワン」と、表示。
ランタイムのパス&『tools\to.wav』を、演奏。{←音声ファイルの再生}
1秒、待つ。
)。
回数の後に(・・・)を書くのは同じなんですが、繰り返したい内容が長いので、複数行にわたって記述しています。
(・・・)の内容を、複数行にかけて、書く場合には、上の例のように、タブか、スペースで、インデントしておくと、()の範囲が見やすくなります。
どうでしょうか?色や音が付くとやっぱり、少し、色気が出ますよね。
ただ、根本的なことなんですけど、ワンワン吠えるだけなんて・・・。
お気楽なのはいいんですが、でもやっぱり、犬では、パソコンのキー叩けないし・・・。
美味しいもの食べに行けなし・・・。
1+2+3+4+5+6+7+8・・・・は?
さて、実際、この繰り返しを、何に使うのか?ということですが、小学生の頃に、友人たちから、「1+2+3+4+5+6+7+8+9・・・」で、『100まで足したら、何になる?』なんて、クイズ出されて、ムキになって計算した思い出はないでしょうか?
(回想モード)
そう、あれは、懐かしい学生時代の思い出・・・
ある日、私たちの仲良しグループで、『小学生最大の謎(1から100まで足すといくつか?)』に終止符を打とうじゃないか!ということになりました。
それで、早くしかも正確な答えを出したものには、クラスのマドンナ「みよちゃん」に、チュッってしてもらえる!(たぶん、というか、ぜったいに、本人の意思はそっちのけ)の、賞品がついたから、たまらない!!(誰がそんな破廉恥なこと思いついたんだろう?)
算数の好き嫌いに関わらず、みんな、異様な盛り上がりの中で、計算しはじめました。
しかし、いざ、頑張って計算してみたところ・・・。みんな答えがバラバラ。一体誰が正しいのか?一番早かったのは、ソロバン得意のAくんだが、算数の成績が良いBくんの答えは、信頼性があるけれど、ガキ大将の、C坊は・・・みんな自分が正しいと言い張って、結局喧嘩になりました
・・・
さて、そんなときに活躍するのが、ひまわりです。(えっ本当?)これで、1から100までの数を足した数を求めています。
答え=0
足す数=1
100回(
答え=答え+足す数
足す数=足す数+1
)
答えと、言う。
(あの時、ひまわりが、手元にあったなら、あんなに喧嘩しなくてすんだのに・・・)
マメ知識:
皆さん、ご存知の方が多いと思いますが、方程式でも解くことも出来ます。
こちらを使う方が、インテリっぽいですよね?でも、かっこつけて公式を使って解いて、間違っていると、余計に恥ずかしいので、注意しましょうね。
初め=1
終り=100
個数=終り−初め+1
答え=個数×個数÷2+個数÷2
答えと、言う。
それから、カッコを、ネスト(重ねる)することで、複雑な繰り返し文も記述できます。
{多重繰り返しの例:赤と青の丸を100個描く}
a = 0; { ; を書くのと、「。」は、同じ意味です。}
10回(
b = 0;
10回(
{色の決定}
c = (b + a) % 2; { % は、割り算の余りを求める演算子です。}
(c = 0)?ならば、塗り色は、赤色。違えば、塗り色は、青色。
{円の描画}
(a × 30, b × 30)から、(a×30 + 29, b×30 + 29)へ、円形。
b=b+1;
)。
a=a+1;
) 。
→実行結果
・・・赤と青の丸を、交互に、10*10=100個描くというプログラムです。このような幾何学模様を描くプログラムが、面白いかどうかというのは、好みの問題ですが、私は、プログラムによって、幾何学模様を描くのが好きです。
()で囲むとき
上の例で、と、あるように、()で、括るときには、上のように、処理をインデントした方が見やすくなります。
5回(
{何かの処理}
)。
このインデントは、特に、強制ではありませんので、
と、書いても良いです。ですが、しかし・・・
5回({何かの処理})。
![]()
先輩からのアドバイス:
とにかく、プログラムは、ややこしくなりがちなので、常に、「なんとしても、出来る限り見やすく」書いていくのがポイントです。
多少、手間がかかっても、後になって、修正する時のこと(*1)を考えれば、見やすく書いておくべきです。かくいう私も、しばしば、そういう場面に直面し、「ああ、もっと見やすく書いておけばよかった!」と、後悔する羽目になるのです。
(*1)こんなの、その場限り、二度と使わないだろうと、汚く書いたプログラムにかぎって、また使う必要が出てくるものです!
ひまわりの一文
ひまわりの、一文は、「。」、か、行末(改行)までと、なっています。文末まで読むと、ひまわりは、その文法が正しいかどうかを、チェックします。と、書いても、問題なく実行されますが、各命令ごとに、改行した方が、タイプミスを発見しやすいので、
「あ」と、表示。「い」と、表示。「う」と、表示。「え」と、表示。「お」と、表示。・・・
と、書いていく方法を、お勧めします。
「あ」と、表示
「い」と、表示
「う」と、表示
また、文と、文を、「○○して」という形でつなげて、
と、書いても同じ意味です。
「あ」と、表示して、
「い」と、表示して、
「う」と、表示。