Вычислить сумму положительных и произведение отрицательных элементов массива написать программу в паскале

Тематика Информатика
Уровень 5 - 9 классы
массив положительные элементы отрицательные элементы сумма произведение программирование Паскаль алгоритм
0

вычислить сумму положительных и произведение отрицательных элементов массива написать программу в паскале

avatar
задан 2 месяца назад

3 Ответа

0

Конечно, давайте разберем, как вычислить сумму положительных и произведение отрицательных элементов массива в языке программирования Pascal.

Для начала, давайте определим план действий:

  1. Создадим массив и заполним его элементами.
  2. Инициализируем переменные для хранения суммы положительных элементов и произведения отрицательных элементов.
  3. Пройдемся по каждому элементу массива и проверим его знак.
  4. Если элемент положительный, добавляем его к сумме.
  5. Если элемент отрицательный, умножаем его на текущее произведение отрицательных элементов.
  6. Выведем результаты на экран.

Пример программы на Pascal:

program SumAndProduct;

var
  arr: array[1.10] of integer;
  i: integer;
  sumPositive: integer;
  productNegative: integer;
  hasNegative: boolean;

begin
  // Инициализация массива
  arr[1] := 3;
  arr[2] := -2;
  arr[3] := -7;
  arr[4] := 5;
  arr[5] := -1;
  arr[6] := 4;
  arr[7] := 0;
  arr[8] := -3;
  arr[9] := 8;
  arr[10] := 6;

  // Инициализация переменных
  sumPositive := 0;
  productNegative := 1;
  hasNegative := false;

  // Проход по массиву
  for i := 1 to 10 do
  begin
    if arr[i] > 0 then
    begin
      sumPositive := sumPositive + arr[i];
    end
    else if arr[i] < 0 then
    begin
      productNegative := productNegative * arr[i];
      hasNegative := true;
    end;
  end;

  // Вывод результатов
  writeln('Сумма положительных элементов: ', sumPositive);
  if hasNegative then
    writeln('Произведение отрицательных элементов: ', productNegative)
  else
    writeln('В массиве нет отрицательных элементов.');
end.

Разберем этот код более детально:

  1. Мы создаем массив arr размером 10 и заполняем его значениями. В реальной ситуации можно использовать ввод значений с клавиатуры или случайные числа.
  2. Инициализируем переменные sumPositive для хранения суммы положительных чисел и productNegative для хранения произведения отрицательных чисел. Переменная hasNegative используется для проверки наличия отрицательных чисел в массиве.
  3. В цикле for пробегаем по каждому элементу массива. Если элемент положительный, добавляем его к sumPositive. Если элемент отрицательный, умножаем его на текущее значение productNegative и устанавливаем hasNegative в true.
  4. После завершения цикла выводим результаты. Если в массиве есть отрицательные числа, выводим их произведение, иначе сообщаем, что отрицательных чисел нет.

Этот пример демонстрирует основные операции с массивами и использование базовой логики для решения задачи на языке Pascal.

avatar
ответил 2 месяца назад
0

Для вычисления суммы положительных и произведения отрицательных элементов массива в Паскале можно написать следующую программу:

program SumAndProduct;
const
  N = 5;
var
  arr: array[1.N] of integer;
  i, sumPos, productNeg: integer;
begin
  // Ввод элементов массива
  writeln('Введите элементы массива:');
  for i := 1 to N do
    read(arr[i]);
  
  // Инициализация переменных
  sumPos := 0;
  productNeg := 1;
  
  // Вычисление суммы положительных и произведения отрицательных элементов
  for i := 1 to N do
  begin
    if arr[i] > 0 then
      sumPos := sumPos + arr[i]
    else if arr[i] < 0 then
      productNeg := productNeg * arr[i];
  end;
  
  // Вывод результата
  writeln('Сумма положительных элементов: ', sumPos);
  writeln('Произведение отрицательных элементов: ', productNeg);
end.

Эта программа сначала запрашивает у пользователя ввод элементов массива, затем вычисляет сумму положительных и произведение отрицательных элементов. Результаты выводятся на экран.

avatar
ответил 2 месяца назад
0

Программа на Паскале:

program SumAndProduct;
var
  arr: array[1.10] of integer;
  i, sum, product: integer;
begin
  sum := 0;
  product := 1;
  
  writeln('Enter 10 numbers:');
  for i := 1 to 10 do
  begin
    readln(arr[i]);
    if arr[i] > 0 then
      sum := sum + arr[i]
    else if arr[i] < 0 then
      product := product * arr[i];
  end;
  
  writeln('Sum of positive elements: ', sum);
  writeln('Product of negative elements: ', product);
end.

avatar
ответил 2 месяца назад

Ваш ответ

Вопросы по теме