Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2012, 21:26   #1
Мельхиора
Новичок
Джуниор
 
Регистрация: 13.01.2012
Сообщений: 5
По умолчанию Метод Ньютона для систем нелин. уравнений(Pascal)

Добрый день. Необходимо написать программу для решения системы нелинейных уравнений методом Гаусса. Паскаль находит ошибку "Duplicate identifier" на выделенной красным строке. Не могу понять, что именно следует исправить, подскажите пожалуйста.


Код:
Program z3v;
uses crt;
const e=0.0001;
var
   x0,y0,x,y,gy,I,Ix,Iy,dx,dy:real;
   d:boolean;
Function f(x,y:real):real;
begin
     f:=2*sqr(x)+sqr(y)-1;
end;
function g(x,y:real):real;
begin
     g:=y+(sqr(x)*x);
end;
function fx(x:real):real;
begin
     fx:=2*x+2;
end;
function gx(x:real):real;
begin
     gx:=-1/(2*(x-1));
end;
function fy(y:real):real;
begin
     fy:=2*y+2;
end;
function gy(y:real):real;
     gy:=1;
end;
Begin  ClrScr;
       x0:=0; y0:=0.1; gy:=1;
  Repeat
        d:=false;
        I:=fx(x0)*gy-gx(x0)*fy(y0);
        Ix:=-f(x,y)*gy+g(x,y)*fy(y0);
        Iy:=-fx(x0)*g(x,y)+gx(x0)*f(x,y);
     dx:=Ix/I;
     dy:=Iy/I;
     x:=x0+dx;
     y:=y0+dy;
   if (abs(x-x0)<e) and (abs(y-y0)<e) then d:=true;
      x0:=x;
      y0:=y;
  Until d=true;
        writeln('Reshenie sistemy');
        writeln('x1=',x:4:3,' x2=',y:4:3);
 Readln;
End.
Мельхиора вне форума Ответить с цитированием
Старый 13.01.2012, 22:26   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

у тебя переменная gy и функция gy что-то надо переименовать
Poma][a вне форума Ответить с цитированием
Старый 13.01.2012, 22:53   #3
Мельхиора
Новичок
Джуниор
 
Регистрация: 13.01.2012
Сообщений: 5
По умолчанию

Исправила методом тыка
Код:
end;
function qy(y:real):real;
     gy:=1;
g на q, больше ошибки здесь не выдает, Но
Новая ошибка в строчке
Код:
begin
     g:=y+(sqr(x)*x);
end;
"205: Floating point overflow"
Мельхиора вне форума Ответить с цитированием
Старый 13.01.2012, 23:27   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Код:
function gy(y:real):real;
     gy:=1;
end;
begin'а нет

205 Floating point overflow (Переполнение при операции с плавающей запятой).
В результате выполнения операции с плавающей запятой получено слишком большое вещественное число.

Последний раз редактировалось Poma][a; 13.01.2012 в 23:31.
Poma][a вне форума Ответить с цитированием
Старый 13.01.2012, 23:55   #5
Мельхиора
Новичок
Джуниор
 
Регистрация: 13.01.2012
Сообщений: 5
По умолчанию

Begin заметила, дописала. Про плавающую точку нашла в интернете, но как, где и что конкретно здесь следует исправить, не пойму
Код:
Program z3v;
uses crt;
const e=0.0001;
var
   x0,y0,x,y,gy,I,Ix,Iy,dx,dy:real;
   d:boolean;
Function f(x,y:real):real;
begin
     f:=2*sqr(x)+sqr(y)-1;
end;
function g(x,y:real):real;
begin
     g:=y+(sqr(x)*x);
end;
function fx(x:real):real;
begin
     fx:=2*x+2;
end;
function gx(x:real):real;
begin
     gx:=-1/(2*(x-1));
end;
function fy(y:real):real;
begin
     fy:=2*y+2;
end;
function qy(y:real):real;
begin
     gy:=1;
end;
...
Мельхиора вне форума Ответить с цитированием
Старый 14.01.2012, 14:55   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

странно у меня ошибку не выдаёт...
Poma][a вне форума Ответить с цитированием
Старый 14.01.2012, 19:54   #7
Мельхиора
Новичок
Джуниор
 
Регистрация: 13.01.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
странно у меня ошибку не выдаёт...
Не могли бы вы, пожалуйста, написать ответ?
Задание уже решено методами Зейделя и Якоби, ответ
Решение системы: x[1]=0.001 x[2]=0.000
Мельхиора вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод Холесского (Краута) для решения систем линейных уравнений (скрин с алгоритмом вложен)) Bogdand Помощь студентам 0 24.06.2011 07:54
Turbo Pascal Решение уравнений методом касательных (Ньютона) Маша-Растеряша Помощь студентам 7 05.01.2011 23:41
метод Рунге-Кутта для систем дыф.уравнений 1 порядка Natok Помощь студентам 4 31.05.2009 02:37
Pascal, метод Ньютона, вычисление корня ф-ии. Qousio Помощь студентам 2 02.05.2009 19:47