döngü operatörü için: klavye girişleri arasında minimum sayıyı arayın


Verilen sayılar arasındaki maksimum sayı

Koşullu operatörü incelerken, girilen birkaç sayıdan maksimum sayıyı bulma konusuna değindik. "En fazla dört sayı" probleminde aşağıdaki algoritmayı kullandık:
1. M değişkeninin değerini dört değişkenden ilkine atayın;
2. ikinci değişkenin değeri M değişkenindeki değerden büyükse, değişkeninin değerini ikinci değişkenin değeriyle değiştirin;
3. üçüncü değişkenin değeri M değişkenindeki değerden büyükse, M değişkeninin değerini üçüncü değişkenin değeriyle değiştirin;< br /> 4. dördüncü değişkenin değeri M değişkenindeki değerden büyükse, değişkeninin değerini dördüncü değişkenin değeriyle değiştirin.

Görüldüğü gibi her  M değişkeni ile karşılaştırdığımız sayı (X ile gösterelim) aşağıdaki gibidir:
 
sözde kod
X girişi
eğer (M < X) o zaman
  M = X

Bu koddaki ana şey, M değişkeninin hangi başlangıç ​​değerine sahip olacağını belirlemektir.
Genellikle, bir maksimum veya minimum bulma problemini çözerken, M değişkeninin başlangıç ​​değeri ilk sayıya eşit olarak atanır.
Bu nedenle yukarıdaki kod, sayı sayısından 1 kat daha az çalıştırılmalıdır (çünkü ilk sayının M değişkeninin başlangıç ​​değeri olarak girilip saklanması gerekir).
Klavyeden ayarlanan sayı sayısına sahipsek (örneğin, n değişkeninde), o zaman aşağıdakileri kullanarak bir döngü (2'den n'ye) düzenleyebiliriz. sayı değişkenini depolamak için aynı sayı.

Programı kendiniz yazmaya çalışın.

Maksimum hepsi arasında değil

Girilen tüm sayılar arasında değil, yalnızca belirli bir koşulu sağlayan sayılar arasında maksimum (minimum) bulmamız gerekiyorsa, o zaman maksimumun başlangıç ​​​​değeri olarak aldığımız ilk sayının olduğu gerçeğini dikkate almalıyız. (minimum) her zaman gereksinimlerimizi karşılamaz.

Örneğin, maksimum negatif sayıyı arıyorsak, o zaman veri kümesine sahibiz: \(\{5, -2, 4, 2, -1, -3\}\ ) maksimumun ilk değerinde 5 sayısını alacağız ve bu pozitiftir ve herhangi bir negatiften daha büyüktür. Ve dolayısıyla koşul X > M her zaman yanlış olacaktır.

Bu nedenle, önceki problemden algoritmaya negatif bir sayı için yalnızca bir kontrol eklemek yeterli değildir, ayrıca ilk sayının gerekli koşulu sağlamayabileceğini (bu durumda negatif olabilir) dikkate almak gerekir. ).

Bunu, döngünün içine aşağıdaki koşulu ekleyerek düzeltebilirsiniz:

sözde kod
X negatif ise, o zaman
  M >= 0 veya M < ise; X, o zaman
    M=X

Belirtilen kodda  M >= 0 koşulu, M = X eylemini gerçekleştirmenize izin verir. > değişkeni başlangıçta açıkça diğerlerinden daha büyük bir değer içerir (bizim örneğimizde değer 5'e eşittir).

Ayrıca, sayı aralığı biliniyorsa, belirtilen aralıktaki minimum (maksimum) sayının maksimumun (minimum) ilk değeri olarak alınabileceğini de not ediyoruz.