Проверьте программу, пожалуйста. Номер 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.
Answers & Comments
Verified answer
У тебя цикл работает, пока 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.