1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Sozialist, ты что изменил-то в основном цикле программы??? Зачем просто так Copy/Paste-ить?
Объясните вы мне РУССКИМ языком, зачем КОМБИНИРОВАТЬ 2 цикла (For + Repeat), если можно обойтись одним Repeat-ом, только не Until abs(p)<E ...
Особенно мне понравилось вот это:
Цитата
for n:=1 to n do begin
Program first; uses crt; var xn,p,E,summa3,summa2,next,x2:real; i,n:integer; begin clrscr; repeat writeln ('iveskyte xn [-1..1]'); readln(xn); until (xn>=(-1)) and (xn<=1);
{ !!! Этот кусок можно убрать - от него теперь никакого толка нет... Ты НЕ можешь одновременно считать и ДО определенной точности, и определенное число членов ряда... Или одно или другое... } repeat writeln ('iveskyte E='); readln(E); until E<>0; { ... !!! }
repeat writeln ('iveskyte n='); readln(n); until n > 0; { А если бы я при твоем условии задал -1 ? }
x2:=xn*xn; summa2:=xn; next:=xn; i:=3;
if n = 1 then p := 0 else repeat next:=-next*x2; { А вот сюда посмотреть уже 10 постов никто не догадался, я забыл здесь минус } p:=next/i; summa2:=summa2+p; i:=i+2; dec(n); until n <= 1;