0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Jasmine TeaAdvent Calendar 2023

Day 3

Jasmine Teaで繰り返す!

Last updated at Posted at 2023-12-02

この記事は、 Jasmine Tea アドベントカレンダー 2023 の第3日目です。

はじめに

Jasmine Tea (ジャスミンティー) は、プログラミングの楽しさを多くの人に知ってもらうために作られたプログラミング言語です。初心者が学びやすい仕組みで、実際に社会で使われている多くのプログラミング言語に応用できる基礎が身に付きます。

ここでは、Jasmine Teaを実際に開いて、コンピューターにいっぱい仕事をしてもらうための方法を紹介します。

まず、Studio 画面を開いてください。もし Studio 画面をまだ開いたことがなければ、 Studio画面を表示する - Jasmine TeaでHello, world! を参考にして Jasmine Tea の試用を開始してください。

順番に行ってもらおう

コンピューターは、プログラムに書かれた指示を順番に行っていきます。さっそく、以下のプログラムをエディターに入力してみてください。

print random(1,6)
print random(1,6)
print random(1,6)
print random(1,6)
print random(1,6)
print random(1,6)
print random(1,6)
print random(1,6)
print random(1,6)
print random(1,6)

random 関数 を使って1〜6までの乱数を求めて print 命令 で実行画面に表示する、ということを10行分書いています。

スクリーンショット 2023-12-03 7.15.54.png!

では、実行してみましょう。エディターの下にある青色の「実行」ボタンを押してください。

スクリーンショット 2023-12-03 7.16.21.png

このように、複数の命令が順番に実行されることを「順次(実行)」と呼びます。順次実行は、プログラミングの基本中の基本です。「ただ順番に実行されるだけでしょ?」と思うことなかれ、その実行の順番を正しく把握し理解することが、プログラミングにおいてとても重要なことになります。

とはいえ、今回は同じことを10回行うだけだったので、 print random(1,6) を10回入力することは簡単でした。でも、これを1,000回、10,000回、1,000,000回以上やらないといけないとしたら... プログラムを手で入力していくことは困難です。

10回繰り返してみよう

コンピューターは計算が得意です。それだけでなく、実は多くのことをひたすら繰り返すことも得意です。プログラミングにおいて、「順次」と同じくらい便利で重要な仕組みとして、「繰り返し」があります。

では、まず先ほどの print random(1,6) を10回繰り返すプログラムを書いてみましょう。エディター内を一度全部消して、以下のプログラムを入力し直してください。

for i=1 to 10
  print random(1,6)
next

for 命令 は、 next 命令 と組み合わせて利用します。 for 命令で指示された回数分だけ、 next 命令が実行された時に for 命令に戻ります。つまり、 for 命令と next 命令の間にある命令群が繰り返し実行されます。

for 命令の後に書かれている i=1 は、変数と呼ばれる箱に最初の数を入れて、その数が 10 になるまで(to 10) 繰り返す、という指示になるのですが、変数など含めて、もっと後で説明しようと思います。ここでは「1〜10 まで 10回繰り返される」ということを覚えてください。

スクリーンショット 2023-12-03 7.57.22.png

では、「実行」ボタンを押して、実行してみてください。

スクリーンショット 2023-12-03 7.58.06.png

実行画面に乱数が10個表示されたことがわかります。先ほどは10行のプログラムでしたが、同じことを4行で実現できています。

では、for 命令に指定している 10010000 に変更して、実行してみてください。

for.gif

実行画面の上を、なかなかの勢いで数字が流れていきました。実際には、乱数が 10,000 個表示されたことになります。

「乱数を10,000個表示して意味があるのか?」と言われると「ない!」ですが、例えば「1〜6それぞれの出現回数」を10,000回乱数を発生させて検証することで、6分の1の確率の分布を確認する、といった数学の確率統計で出てくる課題をシミュレーションできたりします。

このように、プログラミングにおいて「繰り返し」のテクニックを使うことで、コンピューターに何度も繰り返し仕事をしてもらうプログラムを効率的に書くことができます。

ずっと繰り返してもらおう

for 命令を使うことで、決められた回数だけ繰り返すことができるようになりました。しかし、例えばゲームやアニメーションでは「ずっと繰り返される」という状況下でコンピューターにいろいろなことをお願いしていくことになります。

永遠に繰り返されることを「無限ループ」と呼びます。Jasmine Tea では、 do 命令loop 命令 を組み合わせて、無限ループを実現することができます。

では、エディター内を全部消して、以下のプログラムを入力し直してください。

do
  print random(1,6)
loop

「実行」ボタンを押して、プログラムを実行してみてください。

do-loop.gif

先ほどと違って、待っても待ってもずっと乱数が流れ続けます。

loop 命令が実行されると、無条件に do 命令まで戻ります。これにより、do 命令と loop 命令の間に書かれた命令群が永遠と実行されることになります。

とはいえ、プログラムを止めないとプログラミングを進められません。実行しているプログラムを強制的に止めるには、以下の2つの手段があります。

  • [ESPACE] [ESC] (エスケープ)キーを押す。
  • 実行画面の下にある黄色の「止める」ボタンを押す。

これらにより、いつでもプログラムの実行を止めることができますので、ご安心ください。

明日は何をつくるの?

for 命令でちょっとだけ登場した「変数」について、明日は取り上げようと思います。変数を使うことで、より「コンピューターらしい」計算ができるようになります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?