Massimo non tra tutti
Se dobbiamo trovare il massimo (minimo) non tra tutti i numeri inseriti, ma solo tra i numeri che soddisfano una certa condizione, allora dobbiamo tenere conto del fatto che il primo numero che prendiamo come valore iniziale del massimo (minimo) non sempre soddisfa i nostri requisiti.
Ad esempio, se stiamo cercando il numero massimo negativo, avendo il set di dati:
\(\{5, -2, 4, 2, -1, -3\}\ ) otterremo il numero 5 nel valore iniziale del massimo, ed è positivo e maggiore di qualsiasi negativo. E quindi la condizione
X > M
sarà sempre false.
Pertanto, non è sufficiente aggiungere un solo controllo per un numero negativo all'algoritmo del problema precedente, è anche necessario tenere conto del fatto che il primo numero potrebbe non soddisfare la condizione richiesta (in questo caso essere negativo ).
Puoi risolvere questo problema aggiungendo la seguente condizione all'interno del ciclo:
pseudocodice
se X è negativo, allora
se M >= 0 o M < X, allora
M=X
Nel codice specificato, la condizione
M >= 0
consente di eseguire l'azione
M = X
anche se la condizione
M
la variabile contiene inizialmente un valore che è ovviamente maggiore del resto (nel nostro esempio, il valore è uguale a 5).
Notiamo anche che se l'intervallo di numeri è noto, il numero minimo (massimo) dall'intervallo specificato può essere preso come valore iniziale del massimo (minimo).