Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2014, 23:32   #1
Amfetamin
Новичок
Джуниор
 
Регистрация: 15.12.2014
Сообщений: 14
По умолчанию Не совпадает ряд (Pascal)

program project1;
var x, e, fx:real;
procedure fact(z, eps:real; var f:real);
var yi,y0,zi,z0: real;
begin
y0:=z;
z0:=z-1;
yi:=y0-(y0/2)*z0;
zi:=(z0*z0/4)*(z0-3);
while abs(y0-yi)>eps do
begin
y0:=yi;
z0:=zi;
yi:=y0*y0-(y0/2)*z0;
zi:=(z0*z0/4)*(z0-3);
f:=yi;
writeln(y0:10:5, yi:10:5);
f:=zi;
writeln(z0:10:5, zi:10:5);
readln;
end;
end;
begin
readln(x,e);
fx:=sqrt((1+x)/(sqrt(1+x*x))-(1/x));
fact(x, e, fx);
fact(fx+x, e, fx);
fact(fx+x, e, fx);
writeln(x:10:5, fx);
readln;
end.

Функция-

Ряд-

Должно быть 2 столбика и 2 строчки, как у меня и получилось.

Они должны как-то уменьшаться и увеличиваться медленно,и после 5 ряда они должны стать одинаковыми.(Вот это не получается)
Amfetamin вне форума Ответить с цитированием
Старый 16.12.2014, 23:51   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Цитата:
Сообщение от Amfetamin Посмотреть сообщение
.. Они должны как-то уменьшаться и увеличиваться медленно,и после 5 ряда они должны стать одинаковыми.(Вот это не получается)
Кто они ? y и z ?
При каких значениях x ?
Вручную проверяли, просто на калькуляторе без программы ?
type_Oleg вне форума Ответить с цитированием
Старый 17.12.2014, 00:30   #3
Amfetamin
Новичок
Джуниор
 
Регистрация: 15.12.2014
Сообщений: 14
По умолчанию

Ряды, x мы заменяем на z.
Нет а как проверить через калькулятор ?
Amfetamin вне форума Ответить с цитированием
Старый 17.12.2014, 00:43   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,504
По умолчанию

Цитата:
Сообщение от Amfetamin Посмотреть сообщение
...Нет а как проверить через калькулятор ?
Берете например x=2, подставляете
y0=x=2
z0=x-1=1
y1=y0-y0*z0/2=2-2*1/2=1
z1=z0*z0*(z0-3)/4=..=-0,5
y2= и т.д.

Я не знаю, как у вас связаны эти два рисунка ( думаю, вы и сами не знаете).
Если нужна процедура для второго рисунка - то вот.
Входные параметры - x, эпислон
Выходные - y,z
Но имейте в виду - ряды расходятся при некоторых Х , поэтому программа может зависнуть. Сами принимайте меры.
Код:
procedure IterYZ(x,eps:Real;var z,y:Real);
var dy:Real;
begin
 y:=x;
 z:=x-1;
 repeat
  dy:=y*z/2;
  z:=z*z*(z-3)/4;
  y:=y-dy;
 until Abs(dy)<eps;
end;
Можно в Excel проверить вместо калькулятора.
Вложения
Тип файла: rar pasc.rar (243.5 Кб, 9 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 17.12.2014, 01:45   #5
Amfetamin
Новичок
Джуниор
 
Регистрация: 15.12.2014
Сообщений: 14
По умолчанию

Спасибо большое за эксель, я думаю не правильно именно здесь :
Цитата:
begin
readln(x,e);
fx:=sqrt((1+x)/(sqrt(1+x*x))-(1/x));
fact(x, e, fx);
fact(fx+x, e, fx);
fact(fx+x, e, fx);
writeln(x:10:5, fx);
readln;
Обращение к процедуре нужно поменять.
А именно не верно что то здесь :
Цитата:
fact(x, e, fx);
fact(fx+x, e, fx);
fact(fx+x, e, fx);
Amfetamin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ряд задач в Pascal Freya16 Помощь студентам 2 22.10.2012 19:25
Вычисление ф-ии (ряд Тейлора) Pascal..!! Ekaterina_ Помощь студентам 1 13.04.2012 21:16
Ряд Тейлера на Pascal PaRaZuT Помощь студентам 10 21.01.2010 14:46
Ряд вопросов по массивам, pascal ene21 Помощь студентам 4 02.09.2009 22:02
Pascal. Степенной ряд.. Тончость - e??? neon2k Помощь студентам 1 07.03.2009 01:41