Operatore for loop: cerca il numero minimo tra gli input da tastiera


Numero massimo tra i numeri dati

Durante lo studio dell'operatore condizionale, abbiamo toccato l'argomento della ricerca del numero massimo da diversi numeri inseriti. Nel problema "Massimo di quattro numeri" abbiamo utilizzato il seguente algoritmo:
1. assegnare il valore alla variabile M alla prima delle quattro variabili;
2. se il valore della seconda variabile è maggiore del valore della variabile M, allora sostituisci il valore della variabile con il valore della seconda variabile;
3. se il valore della terza variabile è maggiore del valore della variabile M, allora sostituisci il valore della variabile M con il valore della terza variabile;< br /> 4. se il valore della quarta variabile è maggiore del valore nella variabile M, sostituire il valore della variabile con il valore della quarta variabile.

Si può vedere che ogni  il numero (denotiamolo con X) lo abbiamo confrontato con la variabile M, come segue:
 
pseudocodice
ingresso X
se (M < X) allora
  M = X

La cosa principale in questo codice è determinare quale valore iniziale avrà la variabile M.
Di solito, quando si risolve un problema per trovare un massimo o un minimo, il valore iniziale della variabile M viene assegnato uguale al primo numero.
Pertanto, il codice di cui sopra deve essere eseguito 1 volte meno del numero di numeri (poiché il primo numero deve essere inserito e memorizzato come valore iniziale della variabile M).
Se abbiamo il numero di numeri impostati da tastiera (ad esempio, nella variabile n), allora possiamo organizzare un ciclo (da 2 a n), utilizzando il stesso numero per memorizzare la variabile numero.

Prova a scrivere tu stesso il programma.

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 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).