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

Задание 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$$



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