Проверьте программу, пожалуйста. Номер 3 Вообще ничего не выводит, и ошибки не пишет program three; var c,a,y,t,n:real; begin writeln('Введите с'); readln(c); y:=1; while (y меньше 14) do begin n:=sqr(y+2); t:=(c-3)/n+t; t:=-t;...
Проверьте программу, пожалуйста. Номер 3
Вообще ничего не выводит, и ошибки не пишет
program three;
var c,a,y,t,n:real;
begin
writeln('Введите с');
readln(c);
y:=1;
while (y<14) do begin
n:=sqr(y+2);
t:=(c-3)/n+t;
t:=-t;
end;
writeln(t);
end.
Ответ(ы) на вопрос:
Гость
У тебя цикл работает, пока Y меньше 14, но внутри цикла ты Y не увеличиваешь, поэтому программа работает бесконечно и не выдаёт ответ.
Я добавил переменную i:integer (integer - чтобы работал mod(остаток от деления на число)), потому-что у нас чередуются знаки + и -. Также убрал зацикливание
program three;
var c,a,y,t,n:real;
i:integer;
begin
writeln('Введите с');
readln(c);
y:=3;
t:=0;
i:=0;
while (y<14) do begin
i:=i+1;
n:=sqr(y);
if i mod 2 = 1 then t:=t-((c-3)/n)
else t:=t+((c-3)/n);
y:=y+2;
end;
writeln(t);
end.
Не нашли ответ?
Похожие вопросы