Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - простая задача на pascal

Ответить
Настройки темы
Разное - простая задача на pascal

Аватара для Glareone

Старожил


Сообщения: 281
Благодарности: 46


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Glareone
Дата: 15-07-2010
простая задача на решение уравнения с заданной точностью.
Но корректно работает не всегда. Написал 2 разных кода на паскаль, решил на черновике-все должно сходиться,а понять где ошибка не могу.

Само уравнение:

Y = 1 – X / 2 + (1*3*X^2) / (2*4) – (1*3*5*X^3) / (2*4*6) + (1*3*5*7*X^4) / (2*4*6*8) – ...


Код: Выделить весь код
  program run1;
  uses crt;
  var q,up_k,k1,k2,znak :integer;
  var x,y,x_st,eps,slag :real;
 begin
  writeln('write X and eps');
  read(x,eps);
  
  znak:=-1;
  x_st:=x*x; {otvechaet za stepen x}
  k1:=1;        {mnojitel #1}
  k2:=2;        {mnojitel #2}
  slag:=0;     {slagaemoe}
  up_k:=2;    {uvelichenie mnojiteley}
  y:=(1-x)/2;
  
repeat
  znak:=znak*(-1);   {otvechaet za znak slagaemogo}
  slag:=(znak*k1*(up_k+1)*x_st)/(k2*(up_k+2)); {podschet ocherednogo slagaemogo}
  y:=y+slag;    {osnovnoe uravnenie}

  x_st:=x_st*x; {//otvechaet za stepen X}
  k1:=k1*(up_k+1);  {otvechaet za mnojitel pri X, uvelichivaetsya}
  k2:=k2*(up_k+2);  {otvechaet za chastnoe, uvelichivaetsya }
  up_k:=up_k+2;
until abs(slag)<eps;     {uslovie cikla}
  writeln('zaversheno!');
  writeln('y= ',y);        {vivod}
  read(q);
 end.

-------
Имеющий глаза,да узрит, Имеющий уши,да внемлет.


Отправлено: 15:28, 15-07-2010

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Цитата Glareone:
Само уравнение: »
на уравнение не похоже (не задано y). Больше похоже на функцию y(x)

Причём эта функция расходится (т.е. расходится ряд, а функция не имеет конечного значения) , думаю что при |x| >= 1 (хотя границы ещё можно проверить)

Отправлено: 20:26, 15-07-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Glareone

Старожил


Сообщения: 281
Благодарности: 46

Профиль | Отправить PM | Цитировать


Тоже думаю, что ряд расходящийся. Ряды последний раз решал так давно,что сейчас уже и не вспомню как Даламбером решать такие Ладно,разберусь.Тут задача скорее математическая(деление на ноль надо поймать),нежели программирования.

-------
Имеющий глаза,да узрит, Имеющий уши,да внемлет.


Отправлено: 19:45, 16-07-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - простая задача на pascal

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Всё о TURBO PASCAL (обсуждение, помощь в написание программ, ошибки, Pascal ABC) Loading Программирование и базы данных 41 20-05-2015 15:28
Прочие БД - Простая таблица в Access zi0n Программирование и базы данных 6 05-10-2008 18:48
C/C++ - [решено] самая простая графическая библиотека FRZ Программирование и базы данных 6 22-04-2008 17:18
Прочее - простая сеть Shera_Best Сетевые технологии 11 11-04-2008 09:28
Delphi - Простая задача rim_muvies Программирование и базы данных 13 31-03-2008 13:44




 
Переход