☆ 演習6−2 ☆(アルゴリズムの学習の準備2)
演習6-1の最大値を導き出すアルゴリズムでは、分岐シンボルと処理シンボルを用いていたが、これを条件値判定繰返しシンボルと分岐シンボル、処理シンボルを用いるように変更しなさい。
演習6-1の応用ですね。
用意する変数は演習6-1と変わりません。
では、また作成するシートを分割しながら少しずつ解説していきましょう。
実行結果は演習6-1と変わりません。
数値を変えてみましたが、それでもしっかりと最大得点が出力されました。
このように、ただ最大値を求める方法にもいろいろあります。
いろいろ探してみるのも面白いですよ。
始めは演習6-1と変わりません。
3教科分ですので、3回点数を入力させ、それを配列に格納します。
違うのはその後の処理。
まず、maxに最初に入力された数値A[1]を入れておくんです。
ここでは、条件値の終了値が2になっていますね。
これは、もう始めに入力された数値の一つをmaxに格納してあるためです。
分岐処理シンボルには『max>A[i+1]』と入っています。
ここで解りにくいのは[i+1]の部分ですよね。
冷静に考えてみたら簡単です。
maxには、A[1]の数値がもう入っています。
ということは、A[1]はもうmaxと比べても意味がないですよね。
しかし条件は配列iに入った数値を1つめから比較しようとしています。
そこで、iに1を足すことにより、数値を一つ大きくして比較しているんです。
それだけではありません。
条件値を見てみると、2回右の処理を繰返すことがわかりますか?
となると、A[2]だけ比較したのではしょうがありません。
そこにまた+1をすることにより、A[3]も比較させています。
これで、全ての数値とmaxが比較されたのがわかりますね。
では、実行結果を見てみましょう。