Задание 7 Вариант 2 Самостоятельная работа 4 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)
Произведение ненулевых элементов, принадлежащих промежутку [-20, 20], равно:……
program s4_v2_7;
const
n = 11;
var
b: array[1..n] of real;
i: integer;
p: real;
begin
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
if b[i] < > 0 then
if (b[i] > = -20) and (b[i] < = 20) then p := p * b[i];
writeln('p=', p:6:2);
end.
Произведение ненулевых элементов, принадлежащих промежутку [-20, 20], равно: -3492720.00
В программе предусмотрен (в комментариях) ввод массива через генератор случайных чисел. Можно воспользоваться им, для этого убрать // и закомментировать ввод с клавиатуры. Для изменения количества элементов измените n.
Нужно перемножить все элементы массива, которые одновременно удовлетворяют двум условиям: $$b[i] \ne 0$$ и $$-20 \le b[i] \le 20$$.
Для заданного массива $$B = \{63,\ 7.2,\ -4.5,\ 0,\ -10,\ 14,\ -310,\ 50,\ 11,\ -14,\ 5\}$$ подходят элементы:
$$7.2,\ -4.5,\ -10,\ 14,\ 11,\ -14,\ 5$$
Вычислим их произведение:
$$7.2 \cdot (-4.5) = -32.4$$
$$-32.4 \cdot (-10) = 324$$
$$324 \cdot 14 = 4536$$
$$4536 \cdot 11 = 49896$$
$$49896 \cdot (-14) = -698544$$
$$-698544 \cdot 5 = -3492720$$
Значит, программа должна вывести:
$$-3492720.00$$
program s4_v2_7;
const
n = 11;
var
b: array[1..n] of real;
i: integer;
p: real;
begin
p := 1;
writeln(‘ввод массива’);
for i := 1 to n do
begin
readln(b[i]);
end;
for i := 1 to n do
if b[i] <> 0 then
if (b[i] >= -20) and (b[i] <= 20) then
p := p * b[i];
writeln(‘p=’, p:6:2);
end.
Ответ
$$-3492720.00$$