opérateur de boucle for : recherche le nombre minimum d'entrées au clavier


Nombre maximum parmi les nombres donnés

Lors de l'étude de l'opérateur conditionnel, nous avons abordé le sujet de la recherche du nombre maximum parmi plusieurs nombres saisis. Dans le problème "Maximum de quatre nombres" nous avons utilisé l'algorithme suivant :
1. affecter la valeur de la variable M à la première des quatre variables ;
2. si la valeur de la deuxième variable est supérieure à la valeur de la variable M, alors remplacer la valeur de la variable par la valeur de la deuxième variable ;
3. si la valeur de la troisième variable est supérieure à la valeur de la variable M, alors remplacer la valeur de la variable M par la valeur de la troisième variable ;< br /> 4. si la valeur de la quatrième variable est supérieure à la valeur de la variable M, alors remplacez la valeur de la variable par la valeur de la quatrième variable.

On peut voir que chacun  le nombre (notons-le par X) que nous avons comparé avec la variable M, comme suit :
 
pseudocode
entrée X si (M < X) alors   M = X
L'essentiel dans ce code est de déterminer quelle valeur initiale aura la variable M.
Habituellement, lors de la résolution d'un problème de recherche d'un maximum ou d'un minimum, la valeur initiale de la variable M est attribuée égale au premier nombre.
Ainsi, le code ci-dessus doit être exécuté 1 fois moins que le nombre de nombres (car le premier nombre doit être saisi et stocké comme valeur initiale de la variable M).
Si nous avons le nombre de nombres définis au clavier (par exemple, dans la variable n), alors nous pouvons organiser un cycle (de 2 à n), en utilisant le même nombre pour stocker la variable nombre.

Essayez d'écrire le programme vous-même.

Maximum pas parmi tous

Si nous devons trouver le maximum (minimum) non pas parmi tous les nombres saisis, mais uniquement parmi les nombres qui satisfont à une certaine condition, nous devons alors tenir compte du fait que le premier nombre que nous prenons comme valeur initiale du maximum (minimum) ne satisfera pas toujours nos exigences.

Par exemple, si nous recherchons le nombre négatif maximum, alors avoir l'ensemble de données : \(\{5, -2, 4, 2, -1, -3\}\ ) nous obtiendrons le nombre 5 dans la valeur initiale du maximum, et il est positif et supérieur à tout négatif. Et donc la condition X > M sera toujours faux.

Par conséquent, il ne suffit pas d'ajouter une seule vérification pour un nombre négatif à l'algorithme du problème précédent, il faut également tenir compte du fait que le premier nombre peut ne pas satisfaire la condition requise (dans ce cas, être négatif ).

Vous pouvez résoudre ce problème en ajoutant la condition suivante dans la boucle :

pseudocode
si X est négatif, alors si M >= 0 ou M < X, alors M=X
Dans le code spécifié, la condition  M >= 0 permet d'effectuer l'action  M = X même si la condition la variable contient initialement une valeur évidemment supérieure aux autres (dans notre exemple, la valeur est égale à 5).

Nous notons également que si la plage de nombres est connue, le nombre minimum (maximum) de la plage spécifiée peut être considéré comme la valeur initiale du maximum (minimum).