Program z;vars:real;i,x,n:integer;beginwriteln('ввод x,n');readln(x,n);for i:=n to 1...

0 голосов
108 просмотров

Program z;
var
s:real;
i,x,n:integer;
begin
writeln('ввод x,n');
readln(x,n);
for i:=n to 1 do
s:=s*(((-1)*exp(i+1)*ln(1))/exp(i+ln(2*x+1)));
writeln('ответ s=',s);
end.

По какой причине S ,независимо то значений X и N, получается равным нулю?


Информатика (42 баллов) | 108 просмотров
0

изначально в переменных находится либо мусор, либо 0 => s:=s*(((-1)... происходит s:=0*(((-1)... =0

Дан 1 ответ
0 голосов

Так у тебя же S не вводиться с клавиатуры. Как тебе уже писали в ячейке памяти где находиться переменная S по-умолчанию имеется какое-то значение. Не обязательно это должен быть 0. Сделай следуйщее:
- задай значение переменной S=1; По скольку первое значение S в примере не будет равен 0. Но если ты будешь делать какой-то цикл, то значение S ,будет каждый раз меняться и не будет равно 0. 

(204 баллов)
0

Если задать S за 1, то цикл даже не будет начинаться. Программа будет выводить S:=1 как окончательный ответ.

0

В цикле мы не выводим S, а выводим после цикла. Прогер.... Ты проверь а потом что то пиши !