Новая Школа - онлайн-школа подготовки к ЕГЭ
Информатика · 9 класс Задача №3497817
А
Аноним
10 ноября 2025 18:06 · публичный вопрос
А
Аноним

Задача Паскаль. Создать массив который заполняется рандомными числами потом найти максимально и минимальное число,и максимальное число кратное трём

Ответ нейросети
10 ноября 2025 18:06

Задача понятна. Нужно: создать массив, заполнить его случайными числами, найти минимальное и максимальное значение в массиве, а также максимальное число, кратное трём.

Подход и объяснение (для 9 класса, цель "Понять"):

  • Определяем размер массива N и диапазон случайных значений.
  • Заполняем массив случайными числами с помощью Randomize и Random.
  • Проходим по массиву один раз и одновременно:
    • обновляем минимальное значение (minVal),
    • обновляем максимальное значение (maxVal),
    • отслеживаем максимум среди чисел, кратных трём (maxDiv3) и флажок hasDiv3, чтобы узнать есть ли такие элементы.
  • Выводим результат. Если в массиве нет элементов, кратных 3, сообщаем об этом.

Пример кода на Pascal (Free Pascal/Turbo Pascal):

program TaskPascal; uses crt;

const N = 20; // размер массива

var a: array[1..N] of Integer; i: Integer; minVal, maxVal: Integer; maxDiv3: Integer; hasDiv3: Boolean;

begin Randomize; // инициализация случайности

// 1) Заполнение массива случайными числами (пример: -50..50) for i := 1 to N do a[i] := Random(101) - 50;

// 2) Инициализация для поиска min, max и max, кратного 3 minVal := a[1]; maxVal := a[1]; maxDiv3 := 0; hasDiv3 := False;

// 3) Одним проходом по всем элементам обновляем min, max и maxDiv3 for i := 1 to N do begin if a[i] < minVal then minVal := a[i]; if a[i] > maxVal then maxVal := a[i];

if (a[i] mod 3 = 0) then
begin
  if (not hasDiv3) or (a[i] > maxDiv3) then
  begin
    maxDiv3 := a[i];
    hasDiv3 := True;
  end;
end;

end;

// 4) Вывод результатов writeln('Массив:'); for i := 1 to N do writeln(i, ': ', a[i]);

writeln('Минимальное: ', minVal); writeln('Максимальное: ', maxVal); if hasDiv3 then writeln('Максимальное число, кратное 3: ', maxDiv3) else writeln('Нет элементов, кратных 3'); end.

Пояснения по ключевым моментам:

  • Randomize ставим один раз в начале, чтобы получить разные последовательности чисел при каждом запуске.
  • Random(101) возвращает числа от 0 до 100; вычитаем 50, чтобы получить диапазон -50..50.
  • maxDiv3 хранит максимальное значение среди элементов, кратных 3. hasDiv3 сообщает, встречался ли такой элемент хотя бы один раз.
  • Если в массиве нет элементов, кратных 3, программа выводит соответствующее сообщение.

Если хочешь изменить размер массива или диапазон значений, просто поправь константу N и выражение для заполнения a[i]. Например, чтобы использовать диапазон 0..99, можно писать a[i] := Random(100); Чтобы диапазон -100..100, можно a[i] := Random(201) - 100.