1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
(Сам и контр)
Задание 6 Вариант 2 Самостоятельная работа 4 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)
Босова, Босова, Аквилянов
11 класс
Автор
Босова, Босова, Аквилянов

Задание 6 Вариант 2 Самостоятельная работа 4 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)

Задача

Произведение положительных элементов равно:………..
Сумма отрицательных элементов равна:………………
Количество нулевых элементов равно:………………..
program s4_v2_6;
const
n = 11;
var
b: array[1..n] of real;
i, k0: integer;
s, p: real;
begin
s := 0; k0 := 0; p := 1;
writeln(‘ввод массива’);
//randomize;
for i := 1 to n do
begin
readln(b[i]);
//b[i] := random * 20 — 10;
//writeln(‘b[‘, i, ‘]=’, b[i])
end;
for i := 1 to n do
begin
if b[i] > 0 then p := p * b[i];
if b[i] < 0 then s := s + b[i]; if b[i] = 0 then k0 := k0 + 1 end; writeln('p=', p:6:2, ' s=', s:6:2, ' k0=', k0); end. Произведение положительных элементов равно: 17463600.00 Сумма отрицательных элементов равна: -338.50 Количество нулевых элементов равно: 1 В программе предусмотрен (в комментариях) ввод массива через генератор случайных чисел. Можно воспользоваться им, для этого убрать // и закомментировать ввод с клавиатуры. Для изменения количества элементов измените n.

Подробный ответ

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

  • если $$b[i] > 0$$, то умножить его на текущее произведение $$p$$;
  • если $$b[i] < 0$$, то прибавить его к сумме $$s$$;
  • если $$b[i] = 0$$, то увеличить счётчик нулей $$k0$$ на 1.

Начальные значения: $$p=1$$, $$s=0$$, $$k0=0$$.

Для массива $$B=\{63,\,7.2,\,-4.5,\,0,\,-10,\,14,\,-310,\,50,\,11,\,-14,\,5\}$$ получаем:

  • положительные элементы: $$63,\,7.2,\,14,\,50,\,11,\,5$$;
  • отрицательные элементы: $$-4.5,\,-10,\,-310,\,-14$$;
  • нулевые элементы: $$0$$.

Вычислим:

$$p=63 \cdot 7.2 \cdot 14 \cdot 50 \cdot 11 \cdot 5 = 17463600$$

$$s=-4.5-10-310-14=-338.5$$

$$k0=1$$

program s4_v2_6;
const
  n = 11;
var
  b: array[1..n] of real;
  i, k0: integer;
  s, p: real;
begin
  s := 0; k0 := 0; p := 1;
  writeln(‘ввод массива’);
  for i := 1 to n do
  begin
    readln(b[i]);
  end;
  for i := 1 to n do
  begin
    if b[i] > 0 then p := p * b[i];
    if b[i] < 0 then s := s + b[i];
    if b[i] = 0 then k0 := k0 + 1;
  end;
  writeln(‘p=’, p:6:2, ‘ s=’, s:6:2, ‘ k0=’, k0);
end.

Ответ: $$p=17463600.00$$, $$s=-338.50$$, $$k0=1$$



Общая оценка
3.8 / 5
Другие учебники
Другие предметы