Найти сумму и произведение всех положительных элементов массива - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Задан массив В, состоящий из 20 целых чисел.Для решения использовать динамический массив B, значения элементов массива задаются с помощью клавиатуры.

Найти сумму и произведение всех положительных элементов массива.

Пример решения:

Решение задачи: «Найти сумму и произведение всех положительных элементов массива»

textual
Листинг программы
program L15_1;
 
type
  mas = array of real;
 
var
  b: mas; {указатель на массив}
  k, n, i: integer; {размерность, индекс, количество нулевых элементов массива}
  p, s: real;{сумма неотрицательных элементов массива}
 
begin
  {заполнение массива}
  n := 20;
  SetLength(b, n);
  for i := 0 to n - 1 do
  begin
    write('Введите элемент массива b[', i, ']');
    readln(b[i]);
  end;
  {вычисление суммы и количества}
  s := 0;
  p := 1;
  k := 0;
  for i := 0 to n - 1 do
  begin
    if b[i] > 0 then 
    begin
      s := s + b[i];
      p := p * b[i];
      inc(k);
    end;
  end;
  SetLength(b, 0); {уничтожение массива}
  if k <> 0 then
    writeln('S= ', s:8:4, ' p=', p:8:4) {вывод результата}
  else
    writeln('Нет положительных');
end.

Объяснение кода листинга программы

В данном коде на языке PascalABC.Net реализована задача поиска суммы и произведения всех положительных элементов массива.

  1. Объявление переменных:
    • b: mas; - указатель на массив;
    • k, n, i: integer; - размерность, индекс, количество нулевых элементов массива;
    • p, s: real; - сумма неотрицательных элементов массива.
  2. Заполнение массива. Используется цикл for i := 0 to n - 1 do, который позволяет заполнить массив b[i] значениями, введенными пользователем.
  3. Вычисление суммы и количества. Используется два вложенных цикла: внешний - для перебора элементов массива, внутренний - для проверки условия b[i] > 0. Если условие выполняется, то к сумме s прибавляется значение элемента b[i], к произведению p умножается значение элемента b[i], и к счетчику k прибавляется единица.
  4. Уничтожение массива. После окончания вычислений, когда массив b больше не нужен, его размерность устанавливается равной нулю, что приводит к освобождению памяти.
  5. Вывод результата. Если счетчик k не равен нулю, то выводятся значения суммы s и произведения p. В противном случае выводится сообщение Нет положительных.

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы