Здравствуйте, гость ( Вход | Регистрация )
| otherside |
1.4.2008, 15:05
Сообщение
#1
|
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 98 Регистрация: 29.2.2008 Город: красноярск Учебное заведение: КрижтИрГупс Вы: студент |
подскажите пожалуйста как сделать, нужно в паскале написать программу, которая бы высчитывала значения функций y=(1/2)*ln{(1+x)/(1-x)} и s=x+(x^3)/3+(x^5)/5+(x^7)/7 при x{0,2;0.8} с шагом dx=0,2. после всех вычислений программа должна сравнить значения у и s, так чтобы разница между ними не превышала 0,01, и если такое значение получилось, то программа должна вывести то значение х при котором погрешность равна 0,01. я так поняла что s это сумма {x^(2n-1)}/2n-1
|
![]() ![]() |
| creer |
2.4.2008, 7:09
Сообщение
#2
|
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 121 Регистрация: 28.10.2007 Город: Екатеринбург Учебное заведение: УГТУ-УПИ Вы: студент |
Добавлю свои комментарии (IMG:style_emoticons/default/smile.gif)
Цитата Program laba4; Var x,y,n,s:real; Begin x:=0.2; While x<=0.8 do Begin y:=1/2*ln((1+x)/(1-x)); x:=x+0.2; //y и s будут считаться при разных x! Нужно либо перенести в начало, либо в конец цикла. Begin //Begin просто так? n:=1; s:=x+(exp(n*ln(x)))/n; //Сумма вычислится неверно, формула же другая? Правильно s:=(exp((2*n-1)*ln(x)))/(2*n-1). При n равном 1 как раз получится x, отдельно его писать не нужно. If abs(y-s)<=0.001 then //Если разница между первыми двумя (у меня только первым) членами меньше 0.001, тогда посчитать следующий член суммы? Можно написать while abs(y-s)>0.001 do, тогда можно вычислить при каком значении n погрешность становится меньше 0,001 begin n:=n+1; s:=s+(exp(n*ln(x)))/n; //Формула аналогично формулы выше s:=s+... . end; end; //End от ненужного Begin'а writeln('x=', x); end; end. Хотя судя по всему, нужно просто написать написать x:=0.2; while x<=0.8 do begin y:=(1/2)*ln((1+x)/(1-x)); s:=x+exp(3*ln(x))/3+exp(5*ln(x))/5+exp(7*ln(x))/7; if abs(y-s)<0.01 then writeln('При x=', x, ' погрешность менее 0.01'); x:=x+0.2; end; |
otherside программа по вичислению рядов в паскале 1.4.2008, 15:05
creer Вначале несложно, степень можно вычислить через ло... 1.4.2008, 16:37
otherside
Вначале несложно, степень можно вычислить через л... 1.4.2008, 17:09
creer Я немного переформулирую задачу, поскольку чем бли... 1.4.2008, 19:47
otherside
Я немного переформулирую задачу, поскольку чем бл... 2.4.2008, 3:51
otherside Program laba4;
Var x,y,n,s:real;
Begin
x:=0.2;
Whi... 2.4.2008, 5:43
otherside
Добавлю свои комментарии :)
Хотя судя по всему, н... 2.4.2008, 13:09
creer А если так? Цифр стало больше :).
Program laba4;
... 2.4.2008, 18:33
otherside
А если так? Цифр стало больше :).
Program laba4;... 3.4.2008, 4:41
creer А вроде задание было другим ;).
Пишем функцию, выч... 3.4.2008, 11:39
otherside
Думаю теперь Вы сможете составить программу :).
... 3.4.2008, 12:08
creer Хм. А чем плохи функции? С ними же удобнее...
var... 3.4.2008, 13:02
otherside
Хм. А чем плохи функции? С ними же удобнее...
va... 3.4.2008, 13:07
creer Вместо
for n:=1 to 5 do //Для n от 1 до 5 выводим ... 3.4.2008, 13:26
otherside
Вместо
for n:=1 to 5 do //Для n от 1 до 5 выводим... 3.4.2008, 14:10
creer Мне так захотелось :).
Можно поставить любое число... 3.4.2008, 14:24
otherside
Мне так захотелось :).
Можно поставить любое числ... 3.4.2008, 14:43
creer
Это число знаков после запятой при выводе и табул... 3.4.2008, 15:32
otherside
Это число знаков после запятой при выводе и табул... 3.4.2008, 15:35
creer Удачи в изучении Паскаля :yes: 3.4.2008, 16:03
otherside
Удачи в изучении Паскаля :yes:
спасибо огромное... 3.4.2008, 16:45![]() ![]() |
|
Текстовая версия | Сейчас: 19.4.2026, 11:44 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru