ЯП
Янина Плетнёва

помогите плз, не могу понять что я не так сделал (задача в паскале)



а вот мое решение:
program drv;
var
i: integer;
s: real;
begin
for i := 1000 downto 1 do
if i mod 2 = 0 then s := s - (1 / i) else
s := s + (1 / i);
writeln(s)
end.
Я НЕ МОГУ ПОНЯТЬ ГДЕ ОШИБСЯ???

прога мне выдает 0.0000000000Е+00

VK
Vladimir Kir'yazev

а цикл что от 1000 идет?
по логике от 1 до 1000
1/1 - 1/2 + 1/3 - 1/4
заметно, что знак при четном i минус, а при нечетном +
да и s в начале принять 0, я понимаю, что в паскале привыкли, ну ладно
Где-то так, сам попробуй сделать

Вот кто такие задачи задает, что справа палево 🙂

А так ответ Ваш вроде правильный, ну разве че после writeln(s) поставить ; и особо не вижу проблем

ИС
Иван Стамов

Ты ошибся, когда решил, что ошибся. Для сравнения, предпоследняя строка:
writeln('Получилось ',s,'; стандартная функция дает ',ln(2),'; разность ',abs(s-ln(2)))
разность меньше последнего слагаемого, так что все правильно.

Ну и обнулять переменные желательно (я про s), но в данном случае это несущественно.

Похожие вопросы
помогите плз по паскалю
Помогите плз с задачей по программированию на Паскале
помогите по Паскалю! ! задача по файлам. понимаю задачу но не знаю как сделать.
не могу решить задачу на паскале
Помогите плз с задачей (на паскале) !
помогите плз сделать прогу в паскале
Помогите пожалуйста сделать задачу по паскалю
помогите плз решить задачу по фри паскаль
не могу сделать. Паскаль
Не понял задачу паскаля...