Root /ArchiveAbout
()

Минимумы и максимумы

Минимумы и максимумы

На этой странице начинается группа задач, посвященная максимумам и минимумам, относящихся к последовательностям.

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** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

**type** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

**type** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

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** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

**type** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

**type** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

**type** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

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** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

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** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255

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** byte;: Представляет 8-битовое целое число без знака.Диапазон значений: 0..255