|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Member
Регистрация: 24.03.2016
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() Составить и отладить програму на паскаль, которая реализует введение входных даных; расчет значения функцыи, заданой таблично, при каком-либо значении n і хр; виведение результатов в удобной форме на екран и в файл; помогите пожалуйста сделать таблицу значений из этого: y=ln(1+x)\(1-x) а если можно, то и программу. Заранее спасибо. |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Несколько похожих на вашу тем уже создавались Паскаль Построить интерполяционный многочлен Лагранжа Паскаль Полином |
![]() |
#2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
![]()
Уточните вид функции: знаменатель (1-х) находится под знаком логарифма, т.е.
y = ln[(1+x)/(1-x)] или же так: y = [ln(1+x)]/(1-x)? Кстати, знак деления - это прямой слэш "/", а не обратный. Ладно, будем считать, что правилен первый вариант. Тогда Код:
Type Arr=Array[0..3] of Real; Var Xi,Yi:Arr; a,b,D,X,Y,Step:Real; i,j:Byte; f:Text; Function Fun(z:real):Real; begin Fun:=Ln((1+z)/(1-z)); end; Function Lagr(NL:Byte; XL,YL:Arr; ZL:Real):Real; var S,T:Real; k,p:Byte; begin S:=0; for k:=0 to NL do begin T:=1; for p:=0 to NL do if p<>k then T:=T*(ZL-XL[p])/(XL[k]-XL[p]); S:=S+YL[k]*T; end; Lagr:=S; end; Begin Writeln(' Attention! -1<a,b<+1; a<b'); Repeat Write(' a = '); Readln(a); Write(' b = '); Readln(b); Until (a>-1) and (a<1) and (b>-1) and (b<1) and (a<b); D:=(b-a)/3; {Formation of Table} Writeln(' Number of point Xi Yi'); for i:=0 to 3 do begin Xi[i]:=a+D*i; Yi[i]:=Fun(Xi[i]); Writeln(i:8,Xi[i]:16:3,Yi[i]:16:3); end; Writeln; {Calculation of Lagrange interpolation} Write(' Step (Step<(b-a))! = '); Readln(Step); Assign(f,'Result.txt'); Rewrite(f); Writeln(' X Lagrange interpolation Accurate value'); Writeln(f,' X Lagrange interpolation Accurate value'); X:=a; Repeat Writeln(X:8:3,Lagr(3,Xi,Yi,X):18:3,Fun(X):26:3); Writeln(f,X:8:3,Lagr(3,Xi,Yi,X):18:3,Fun(X):26:3); X:=X+Step; Until X>b; Close(f); Readln End. |
![]() |
![]() |
![]() |
#3 (permalink) |
Member
Регистрация: 24.03.2016
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Большое спасибо за программу!!!
|
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|