新しい記事はこちらです.
最大値を求める手続きについて
最大値は,データを読み込む際に,次に読み込んだデータが前のデータより大きければ,最大値を置き換える処理を繰り返すことにより求めることができる.その一例を以下に示した.読み込んだ最初のデータをmaxと置き,2番目以降のデータがmaxより大きい場合は,maxをそのデータで置き換えることで,最大値を求めることができる.
配列変数を用いずに最大値を求める基本プログラムの例(対話型)
配列(リスト)の利用
今回は,Scratchの配列を学習するのが目的のため,リスト(配列)に読み込んだ値を利用して最大値を求めるプログラムを作成してみた.
前回作成した平均値計算プログラムに,「最大値を求める処理手続き「を追加するのが早道である.
データを開き,「リストを作る」をクリックすると「新しいリスト」が表示されるので,リスト名(変数名)を空欄に入力する.
変数名(試験の点数を想定し t とした)を入力し,OKを押すとその変数に対する各種の処理が表示される.
Scratchでは,配列はリストとなっているが,その方が子ども向きである.配列(リスト)に値が入るとステージ画面に表示される.まさにリストそのものである.表には番号が付けられ,データが記憶される.データを呼び出すときは5番目のAのように指定する.
平均値計算プログラムの入力データを順番に配列に取り込んでいくために, aを t▼(配列)に追加するの行を aを 答えにするの下に追加した.5行目の すべて番目を t▼から削除するは初期化のために追加した.この前処理を省くと前の計算の表示結果が残る.
最大値を求める処理は,上述に準ずるが,リストから番号で呼び出す点が異なる.
1番目の配列値を最大値 (max) と置く
2番目の値とmaxを比較する
もし,2番目の値が max より大きければ,max を2番目の値にする.小さければ何もせずに読み込みを続行する.
この操作を(データ数−1)回繰り返せば,最大値が求められる.繰り返し処理の内側に条件分岐があるだけの単純な構文である.
次図は8人の試験結果を点数で入力し,平均値を計算し,最高点(最大値と書いてしまった)を吹き出しに表示させたプログラムである.
大量のデータを処理するには向いていないかもしれないが,処理の内容を理解させるにはコマンドを用いるプログラミングより分かりやすいものと思われる.
配列を利用すると,並べ替え(昇順,降順),最小値,偏差値等の処理手続きを順次追加することが可能である.