for ループ演算子: キーボード入力の中から最小の数値を検索します。


指定された数値の最大数

条件演算子を学習するときに、入力された複数の数値から最大の数値を見つけるというトピックに触れました。 「数字は最大4つまで」という問題では次のアルゴリズムを使用しました。
1. 変数 M の値を 4 つの変数の最初の変数に代入します。
2. 2 番目の変数の値が変数 M の値より大きい場合、変数 の値を 2 番目の変数の値で置き換えます。
3. 3 番目の変数の値が変数 M の値より大きい場合、変数 M の値を 3 番目の変数の値に置き換えます。< br /> 4. 4 番目の変数の値が M 変数の値より大きい場合、 変数の値を 4 番目の変数の値で置き換えます。

それぞれのことがわかります。次のように、変数 M と比較した数値 (X で表します):
 
疑似コード
<プレ> 入力X (M < X) の場合   M = X
このコードの主な目的は、変数 M の初期値を決定することです。
通常、最大値または最小値を求める問題を解くとき、変数 M の初期値は最初の数値に等しく割り当てられます。
したがって、上記のコードは数値の数よりも 1 回少なく実行する必要があります (最初の数値を変数 M の初期値として入力して保存する必要があるため)。
キーボードから数値の数を設定した場合 (たとえば、変数 n 内)、次のコマンドを使用してサイクル (from 2 to n) を編成できます。数値変数を格納するには同じ数値を
入力します。
自分でプログラムを書いてみてください。

最大ではない

入力されたすべての数値の中からではなく、特定の条件を満たす数値の中からのみ最大値 (最小値) を見つける必要がある場合は、最初の数値が最大値の初期値であるという事実を考慮する必要があります。 (最小) が常に要件を満たすとは限りません。

たとえば、最大の負の数を探している場合、データセットは次のとおりです: \(\{5, -2, 4, 2, -1, -3\}\ ) 最大値の初期値で数値 5 を取得します。これは正であり、負の値よりも大きくなります。したがって、条件 X > は次のようになります。 M は常に false になります。

したがって、前の問題からアルゴリズムに負の数のチェックを 1 つだけ追加するだけでは十分ではなく、最初の数が必要な条件を満たさない可能性があるという事実も考慮する必要があります (この場合、負の.

これを修正するには、ループ内に次の条件を追加します:

疑似コード
<プレ> X が負の場合、 M >= 0 または M < の場合X、それから M=X
指定されたコードでは、 M >= 0 条件により、M = X アクションを実行できます。 > 変数には最初、残りの値よりも明らかに大きい値が含まれています (この例では、値は 5 です)。

また、数値の範囲がわかっている場合は、指定された範囲の最小 (最大) 数値を最大 (最小) の初期値として使用できることにも注意してください。