На этой странице начинается группа задач, посвященная максимумам и минимумам, относящихся к последовательностям.
Minmax1. Дано целое число N и набор из N чисел. Найти минимальный и максимальный из элементов данного набора и вывести их в указанном порядке.
var
N, i: byte;
a, min, max: integer;
begin
write('N = ');
readln(N); { вводим количество чисел (N > 0) }
min := MaxInt; { начальное значение минимального элемента }
max := -min; { начальное значение максимального элемента }
randomize;
for i := 1 to N do begin
a := random(100);
write(' ', a); { выводим элемент }
if min > a then min := a; { запоминаем минимум }
if max < a then max := a { запоминаем максимум }
end;
writeln;
writeln('Ответ: ', min, ' ', max);
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647
**procedure** Randomize;
: Инициализирует датчик псевдослучайных чисел.2)**procedure** Randomize(seed: integer);
: Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности.**function** Random(maxValue: integer): integer;
: Возвращает случайное целое в диапазоне от 0 до maxValue - 1.2)**function** Random(a,b: integer): integer;
: Возвращает случайное целое в диапазоне от a до b.3)**function** Random: real;
: Возвращает случайное вещественное в диапазоне [0..1). Minmax2. Дано целое число N и набор из N прямоугольников, заданных своими сторонами — парами чисел (a, b). Найти минимальную площадь прямоугольника из данного набора.
var
i, N: byte;
a, b, S, min: real;
begin
write('N = ');
readln(N); //количество прямоугольников (N > 0)
randomize;
for i := 1 to N do begin
{ Вычисляем стороны: }
a := 10 * random;
b := 10 * random;
{ Выводим стороны: }
write(' (', a:0:2, ', ', b:0:2, ')');
S := a * b; { Вычисляем площадь }
if i = 1 then min := S { начальное значение площади }
else
if min > S then min := S { Сравниваем площадь с минимальной }
end;
writeln;
writeln('Минимальная площадь: ', min:0:2);
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308
**procedure** Randomize;
: Инициализирует датчик псевдослучайных чисел.2)**procedure** Randomize(seed: integer);
: Инициализирует датчик псевдослучайных чисел, используя значение seed. При одном и том же seed генерируются одинаковые псевдослучайные последовательности.**function** Random(maxValue: integer): integer;
: Возвращает случайное целое в диапазоне от 0 до maxValue - 1.2)**function** Random(a,b: integer): integer;
: Возвращает случайное целое в диапазоне от a до b.3)**function** Random: real;
: Возвращает случайное вещественное в диапазоне [0..1).**function** Random(maxValue: integer): integer;
: Возвращает случайное целое в диапазоне от 0 до maxValue - 1.2)**function** Random(a,b: integer): integer;
: Возвращает случайное целое в диапазоне от a до b.3)**function** Random: real;
: Возвращает случайное вещественное в диапазоне [0..1). Minmax3. Дано целое число N и набор из N прямоугольников, заданных своими сторонами — парами чисел (a, b). Найти максимальный периметр прямоугольника из данного набора.
var
i, N: byte;
a, b, P, max: real;
begin
write('N = ');
readln(N); { количество прямоугольников (N > 0) }
for i := 1 to N do begin
{ Вычисляем стороны: }
writeln(i, '-й прямоугольник:');
write(' a = ');
readln(a);
write(' b = ');
readln(b);
P := 2 * (a + b); { Вычисляем периметр }
if i = 1 then max := P { начальное значение периметра }
else
if max < P then max := P { Сравниваем периметр с минимальным }
end;
writeln;
writeln('Максимальный периметр: ', max:0:2);
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308 Minmax4. Дано целое число N и набор из N чисел. Найти номер минимального элемента из данного набора.
var
N, i, MinNumber: byte;
a, min: integer;
begin
write('N = ');
readln(N); { Вводим количество чисел (N > 0) }
writeln('Введите набор ', N, ' целых чисел: ');
for i := 1 to N do begin
write(i, ') ');
readln(a); { Вводим число }
if i = 1 then begin
MinNumber := 1; { Начальный номер минимального элемента }
min := a { Начальное значение минимального элемента }
end
else { Если предыдущий минимум больше а: }
if min > a then begin
min := a; { Минимальный элемент }
MinNumber := i { Его номер }
end
end;
writeln;
writeln('Номер минимального элемента: ', MinNumber);
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647 Minmax5. Дано целое число N и набор из N пар чисел (m, v) — данные о массе m и объеме v деталей, изготовленных из различных материалов. Вывести номер детали, изготовленной из материала максимальной плотности, а также величину этой максимальной плотности. Плотность P вычисляется по формуле P = m/v.
var
N, i, NumMaxP: byte;
m, v, P, MaxP: real;
begin
write('N = ');
readln(N); { Количество N > 0 }
MaxP := 0; { Начальная плотность }
NumMaxP := 0; { Номер детали максимальной плотности (в начале) }
writeln('Введите набор ', N, ' пар (m, v): ');
for i := 1 to N do
begin
write(i, ') ');
readln(m, v); { Вводим массу и объем }
P := m / v; { Вычисляем плотность }
if MaxP < P then { Сравниваем плотность с максимальной }
begin
MaxP := P; { Новое значение максимальной плотности }
NumMaxP := i { Номер детали }
end
end;
writeln;
writeln('Номер детали: ', NumMaxP);
writeln('Плотность: ', MaxP:0:3);
readln
end.
**type** byte;
: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255**type** real;
: Представляет число двойной точности с плавающей запятой.Размер: 8 байт Количество значащих цифр: 15 - 16 Диапазон значений: -1.8∙10308 .. 1.8∙10308