Для решения задачи заполнения массива случайными числами из интервала от 0 до 50 и вывода его на экран, а также нахождения суммы его четных элементов, можно использовать два подхода: с использованием отдельных циклов для заполнения и вывода массива, а также объединение этих операций в одном цикле.
Рассмотрим оба подхода на примере массива из 10 элементов, хотя для вашего варианта можно легко изменить размер массива.
Первый способ (ввод и вывод массива отдельными циклами)
Program RandomArray;
Var
A: array[1.10] of integer;
i, sum: integer;
Begin
Randomize; { Инициализация генератора случайных чисел }
{ Заполняем массив случайными числами }
For i := 1 to 10 do
A[i] := Random(51); { Генерируем случайное число от 0 до 50 }
{ Выводим массив на экран }
For i := 1 to 10 do
Write(A[i]:5);
Writeln; { Переход на новую строку }
{ Находим сумму четных элементов }
sum := 0;
For i := 1 to 10 do
if A[i] mod 2 = 0 then
sum := sum + A[i];
{ Выводим сумму четных элементов }
Writeln('Sum of even elements: ', sum);
End.
Второй способ (ввод и вывод массива в одном цикле)
Program RandomArray;
Var
A: array[1.10] of integer;
i, sum: integer;
Begin
Randomize; { Инициализация генератора случайных чисел }
sum := 0;
{ Заполняем массив случайными числами и сразу выводим }
For i := 1 to 10 do
begin
A[i] := Random(51); { Генерируем случайное число от 0 до 50 }
Write(A[i]:5);
{ Сразу проверяем на четность и добавляем к сумме }
if A[i] mod 2 = 0 then
sum := sum + A[i];
end;
Writeln; { Переход на новую строку }
{ Выводим сумму четных элементов }
Writeln('Sum of even elements: ', sum);
End.
Объяснение кода:
Инициализация генератора случайных чисел:
Randomize
используется для инициализации генератора случайных чисел, чтобы каждый запуск программы генерировал разные последовательности случайных чисел.
Заполнение массива случайными числами:
A[i] := Random(51)
заполняет массив случайными числами от 0 до 50 включительно.
Вывод массива на экран:
Write(A[i]:5)
выводит элемент массива с отступом в 5 символов для удобства чтения.
Нахождение суммы четных элементов:
if A[i] mod 2 = 0 then sum := sum + A[i];
проверяет, является ли элемент массива четным, и если да, добавляет его к сумме.
Итог:
- Первый способ разделяет операции заполнения и вывода массива на две отдельные части, что может быть полезно для лучшего понимания кода.
- Второй способ объединяет эти операции, что может быть более эффективно и компактно.
Оба подхода корректны и могут быть использованы в зависимости от предпочтений и требований задачи.