|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - простая задача на pascal |
|
Разное - простая задача на pascal
|
Старожил Сообщения: 281 |
Профиль | Отправить PM | Цитировать
простая задача на решение уравнения с заданной точностью.
Но корректно работает не всегда. Написал 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 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата Glareone:
Причём эта функция расходится (т.е. расходится ряд, а функция не имеет конечного значения) , думаю что при |x| >= 1 (хотя границы ещё можно проверить) |
|
Отправлено: 20:26, 15-07-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 281
|
Профиль | Отправить PM | Цитировать Тоже думаю, что ряд расходящийся. Ряды последний раз решал так давно,что сейчас уже и не вспомню как Даламбером решать такие Ладно,разберусь.Тут задача скорее математическая(деление на ноль надо поймать),нежели программирования.
|
------- Отправлено: 19:45, 16-07-2010 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Всё о 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 |
|