![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.05.2009
Сообщений: 5
|
![]()
Помогите пожалуйста. Нужно было написать программу в Паскале по формуле Лагранжа. Программу я нашёл, но при запуске она выдаёт ошибку
![]() program FormLagr; const Nmax = 50; type massiv = array[0..Nmax] of real; var X,Y,D: massiv; P,x0: Real; i,j,n: Integer; exit:String; function Lagr(x0:real):Real; var s:real; begin s:=0; for i:=0 to n do s:=s+Y[i]/((x0-X[i])*D[i]+0); lagr:=P*s; end; begin Write('n= '); ReadLn(n); for i:=0 to n do begin Write('x',i,'= '); ReadLn(X[i]); Write('y',i,'= '); ReadLn(Y[i]); end; {D} for i:=0 to n do begin D[i]:=1; for j:=0 to n do if j<>i then D[i]:=D[i]*(X[i]-X[j]); end; {D} repeat Write('x= '); ReadLn(x0); {P} P:=1; for i:=0 to n do P:=P*(x0-X[i]); {P} WriteLn('y= ',lagr(x0):3:3); until false; end. |
![]() |
![]() |
![]() |
#2 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]()
Если ничего не путаю, то это деление на ноль. (что впринцыпе невозможно осуществить)
Убедитесь что у вас в строке s:=s+Y[i]/((x0-X[i])*D[i]+0); (функция Lagr) не получается в знаменателе ноль. (к стати, а зачем у вас там прибавляется ноль? В этом есть какой-то тайный смысл?)
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс Последний раз редактировалось ROD; 16.05.2009 в 12:29. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 16.05.2009
Сообщений: 5
|
![]()
Спасибо. Да, действительно дело было в формуле. Вопрос следущий: как составить блок-схему для этой программы?
|
![]() |
![]() |
![]() |
#4 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
![]()
Поищите ГОСТы на блок-схемы для программ, там достаточно исчерпывающе написанно как составлять блок-схемы программ. (ГОСТ еще советский, так что не пугайтесь, увидя советские ГОСТы для блоксхем программ)
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
график функции sinx, построит функцию на основе многочлена (по формуле Лагранжа). | Alexcomeback | Общие вопросы C/C++ | 2 | 18.04.2009 14:08 |
Интерполяционный многочлен лагранжа | 3.14oner | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 10.11.2008 17:30 |
Формула | Танечка | Microsoft Office Excel | 3 | 26.06.2008 09:11 |
Формула | Daniil2 | Microsoft Office Excel | 5 | 13.12.2007 18:33 |
Помогите с интерполяционными функциями Лагранжа | victor07 | Помощь студентам | 3 | 03.12.2007 15:47 |