Задание 6 Вариант 2 Самостоятельная работа 4 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)
- Напишите программу вычисления произведения положительных, суммы отрицательных и количества нулевых элементов массива $$B[1..N]$$. Проверьте работу программы на заданном массиве $$B=\{63,\ 7.2,\ -4.5,\ 0,\ -10,\ 14,\ -310,\ 50,\ 11,\ -14,\ 5\}$$.
- Произведение положительных элементов равно: …
- Сумма отрицательных элементов равна: …
- Количество нулевых элементов равно: …
Нужно пройти по массиву и для каждого элемента выполнить одно из трёх действий:
- если $$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$$

