配列に格納されている数字で一番大きな値を調べよう


のように複数の数字が入った配列内で一番大きな数字を調べてみます。

後に使いやすいように、一番大きな数字はいくつ?という関数を作って、



ボタンAで関数が実行されるようにしておきます。


MakeCodeの標準機能で配列内で最も大きな値を取り出すというブロックはありませんので、配列の0番目の値から順に調べていく必要があります。

※今回の関数の引数の引数名のリストですが、実際は最初に作成しました数字のリストと同じ配列になりますが、紛らわしくなりますので名前を別にしています。



始めに一番大きい数字の候補という変数を用意して、数字のリストの0番目の数字(今回であれば 5 )を入れておきます。


緑色の繰り返しブロックは配列内の値の数分(今回であれば値が 6 個なので 6 回)繰り返します。

繰り返す際に繰り返しブロックで事前に用意されていた数字の変数に配列内の数字を順に入れて繰り返しの処理を行います。


最も大きい数字を探す時は 0 番目と 1 番目の値を比較して、大きな方を一番大きい数字の候補の変数に記録しておき、次の数字と一番大きい数字の候補の数字を比較しながら、一番大きな数字を探っていきます。




今回のコードをMicroPythonで書き換えてみます。

from microbit import *

numbers = [
	5,
	9,
	8,
	2,
	7,
	6
]

def max(list):
	tempMax = list[0]
	for i in list:
		if i > tempMax:
			tempMax = i
    
	return tempMax

while True:
	if button_a.is_pressed():
		display.show(str(max(numbers)))
京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
同じカテゴリーの記事
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。