Садржај
3 Променљиве, подаци, типови
3.5 Текстуални подаци (стрингови, ниске)
4 Гранања
4.7 Гранања - разни задаци
5 Петље
5.1 Врсте петљи
5.2 Наредбе break и continue
6 Статички методи
6.4 Корист од метода
7 Низови
7.2 Низови - вежбање
8 Матрице
9 Кориснички дефинисани типови
10 Фајлови

Одређивање минимума и максимума

Нека променљиве \(a_1\), \(a_2\), \(a_3\), и \(a_4\) садрже 4 броја од којих треба одредити највећи. Одредићемо најпре највећи број у ужем скупу вредности, а затим постепено проширивати скуп док не обухватимо све дате бројеве. Означимо са \(M_1\), \(M_2\), \(M_3\) и \(M_4\) редом максимуме скупова \(S_1 = \{ a_1 \}\), \(S_2 = \{ a_1, a_2 \}\), \(S_3 = \{ a_1, a_2, a_3 \}\), \(S_4 = \{ a_1, a_2, a_3, a_4 \}\). Очигледно је да је \(M_1 = a_1\). Даље, за свако k важи да је максимум \(M_{k+1}\) скупа \(S_{k+1}\) једнак већем од бројева \(М_k\) и \(a_{k+1}\).

На основу уочених релација можемо да формулишемо следећи поступак за одређивање највећег од 4 дата броја:

najveci = a1;
if (a2 > najveci)
    najveci = a2;

if (a3 > najveci)
    najveci = a3;

if (a4 > najveci)
    najveci = a4;

Врло сличним поступком можемо да одредимо и најмањи од неколико, на пример 5 датих бројева:

najmanji = a1;
if (a2 < najmanji)
    najmanji = a2;

if (a3 < najmanji)
    najmanji = a3;

if (a4 < najmanji)
    najmanji = a4;

if (a5 < najmanji)
    najmanji = a5;

Уместо if наредби у ову сврху могу да се употребе и функције Math.Max и Math.Min из стандардне библиотеке. На пример, наредбe

if (a4 > najveci)
    najveci = a4;

if (a5 < najmanji)
    najmanji = a5;

имају исти ефекат као и наредбe

najveci = Math.Max(najveci, a4);

najmanji = Math.Min(najmanji, a5);

Пример - све три награде:

У једној популарној телевизијској емисији три спонзора деле своје производе присутнима у публици. Први спонзор награђује гледаоце на местима од \(a_1\) до \(a_2\), други на местима од \(b_1\) до \(b_2\), а трећи на местима од \(c_1\) до \(c_2\) (укључујући и границе), при чему се ови бројеви мењају у свакој емисији.

Написати програм који учитава бројве \(a_1, a_2, b_1, b_2, c_1, c_2\), а затим исписује број посетилаца који су добили све три награде.

Дата су нам три интервала својим почетком и крајем. Да бисмо решили задатак, прво ћемо да одредимо највећи почетак интервала као највећи од бројева \(a_1, b_1, c_1\) и најмањи крај интервала као најмањи од бројева \(a_2, b_2, c_2\). Гледаоци који су добили производе сва три спонзора постоје ако је највећи почетак мањи или једнак најмањем крају и у том случају број таквих гледалаца је \(min(a_2, b_2, c_2)+1-max(a_1, b_1, c_1)\). Програм који решава задатак може да се напише овако:

Решавањем задатака који следе проверите да ли сте научили како да израчунате и комбинујете минимуме и максимуме малих серија бројева.

(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+