ответ:
округлением чисел в python занимается встроенная функция round.
round(number[, ndigits]) - округляет число number до ndigits знаков после запятой (по умолчанию, до нуля знаков, то есть, до ближайшего целого)
тут есть одна особенность, о которой нужно знать, и о которой часто забывают.
со школы многие привыкли, что, когда (n + 1) знак = 5, а последующие знаки равны нулю, округление производится всегда в большую по модулю сторону.
однако, как видно из примеров, в python это не так. здесь используется так называемое "банковское округление", то есть округление к ближайшему чётному.
на практике это оказывается не так уж и важно
что-то не так, правда? на самом деле, всё именно так, как и задумывалось. просто из-за проблем с точностью чисел с плавающей точкой это число чуть больше, чем 2.85, а потому округляется до 2.9
"Ввести натуральное число". Какое число, что оно должно обозначать? Ну хорошо, ввели некое число.
Далее: "Ввести количество чисел". Количество - это значит, СКОЛЬКО чисел будет обрабатываться в программе. Допустим, 10.
И теперь: "Найти произведение...". А где взять значения этих чисел? А нигде! Зато дадут "много ". Ни языка программирования, ни даже намека на то, что нужна программа. А может, программа и не нужна, а нужна блок-схема?
... И только определенный опыт подсказывает, что "Ввести натуральное число" на самом деле означает "Ввести количество чисел", а "Ввести количество чисел" на самом деле подразумевает ввести сами эти числа в указанном количестве.
var
n,m,i:integer;
p:longint;
begin
Write('Количество чисел: '); Read(n);
p:=1;
Writeln('Введите указанное количество целых чисел');
for i:=1 to n do begin
Read(m);
if m<0 then p:=p*m
end;
Writeln('Произведение отрицательных числе равно ',p)
end.
Тестовое решение:
Количество чисел: 6
Введите указанное количество целых чисел
45 -12 -2 6 0 -8
Произведение отрицательных числе равно -192