Задача Паскаль. Создать массив который заполняется рандомными числами потом найти максимально и минимальное число,и максимальное число кратное трём
Ответ нейросети
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.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



