プログラム電卓(Blockly)(2)
「Blockly | Google Developers」を使って簡単なプログラムを作ることができる「プログラム電卓(Blockly)」でリストを扱うことができるようにしました。
使い方

- (1) ブロックを選択する領域(ツールボックス)
- (2) ブロックを表示する領域
- (3) ボタンの領域(ボタン1~ボタン5)
- (4) 変数の領域(
)
- (5) リストを表示する領域(変数名:list)
- (6) リストを表示する領域(変数名:list2)
- (7) リストを表示する領域(変数名:list3)
- (8) リストを階層表示するチェックボックス
- (9) テキストを表示する領域(変数名:text)
- (10) ブロックの領域に読み込むボタン
- (11) サンプルを選択するリスト
- (12) ブロックの領域をテキストにしたものを入力する領域
- (13) ブロックの領域をテキストにしたものを表示するボタン
- (14) ブロックの領域をテキストにしたものを表示する領域
(1)の領域からブロックを選択して(2)の領域にドラッグ&ドロップしてつなげていってプログラムを作り、(4)の領域に変数の値を入力し、(3)のボタンのどれかを押すと、プログラムが実行されて(4)の領域に変数の値が表示されます。
(5)の領域には変数 list の値、(6)の領域には変数 list2 の値、(7)の領域には変数 list3 の値、(9)の領域には変数 text の値が表示されます。
(8)のチェックボックスをチェックすると、(5)、(6)、(7)の領域にはリストが階層的に表示されます。このとき変数 list、list2、list3 はリストを設定してください。
「もし」と「ボタン1」から「ボタン8」までのブロックをつなげたところに実行する内容をつなげると、指定したボタンを押したときにそのプログラムが実行されます。「もし」は(1)の領域の「Logic」以下の「If」以下にあります。「ボタン1」から「ボタン8」までは(1)の領域の「Logic」以下の「Button」以下にあります。

「ボタン…実行」ブロックと数値(1 から 8 まで)のブロックを組み合わせると「ボタン1」から「ボタン8」までを実行することができます。「ボタン…実行」は(1)の領域の「Logic」以下の「Button」以下にあります。

(13)のボタンを押すと(2)の領域の内容をJSONで表したテキストが(14)の領域に表示されます。これをテキストエディタなどにコピー&ペーストして保存しておくと、これを読み出して(12)の領域にコピー&ペーストの後(10)のボタンを押すと(2)の領域を復元することができます。
(11)のリストを選択すると(12)の領域にサンプルのテキスト(JSON)が表示されます。その後(10)のボタンを押すと(2)の領域にサンプルが表示されます。
「ユークリッドの互除法」の使い方
(11)のリストから「ユークリッドの互除法」を選択すると(12)の領域にサンプルのテキスト(JSON)が表示されます。その後(10)のボタンを押すと(2)の領域に「ユークリッドの互除法」のサンプルが表示されます。
(I) (4)の と
の領域に正の整数を入力してください(これを
と
とします)。
(II) (3)の「1」のボタンを押してください。(4)の領域に 、
、
、
が表示されます。
(III) (3)の「2」のボタンを、(4)の領域が になるまで繰り返し押してください。
が
と
の最大公約数となります。
となります。
(I)の後(3)の「3」のボタンを押すと(II)と(III)を続けて実行できます。
この手順を実行中、、
が成り立っています。よって最終的に最大公約数は
となります。