Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Помогите плиз!

Автор: Dimas 16.12.2007 14:16

Ребят,посмотри плиз и подскажите где не правельно. Вот условие : найти сумму первого N членов ряда y=1+x/2-x^2/3+x^3/4-.... вот решение:

Цитата
program Nryad;
uses crt;
var a,k,i,x,N:integer; summ,z :real;
begin clrscr;
writeln('vvedite kol-vo elementov ryada N= ');readln(n);
writeln('vvedite znachenie x= ');readln(x);
summ:=1;a:=1;k:=1;write;
for i:=1 to N do begin
z:=k*(x/(i+1));writeln;
x:=x*x;
k:=k*(-1);
summ:=summ+z+a;
write(z:8:2);
end;
writeln;
write('summa elementov=',summ:5:2);
readln;
readln;
end.

Автор: Client 16.12.2007 15:41

Если ты про то что она не правильно считает, то убери а здесь:

summ:=summ+z;
И создай новую переменную для хранения стапени х

Автор: andriano 16.12.2007 15:42

Программу принято снабжать комментариями. В частности, необходимо указать назначение всех используемых переменных.
В частности, что такое а?
И еще: writeln без параметров просто переводит (пустую) строку, а что делает write без параметров?
Ну и программа, если я не ошибаюсь, сделана так, чтобы находить сумму N+1, а не N членов ряда.
Еще: у тебя каждый раз находится x*x, т.е. "икс квадрат", поэтому последовательность будет: x, x^2, x^4, x^8, x^16...