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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2011, 15:53   #1
Gamst
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 58
Стрелка Прошу указать на ошибку

Программа компилируется, но не запускается. Выдает ошибку Floating point overflow. Уже попробовал вставить вместо real и double, и extended. Все равно ошибка.

PHP код:
program iter_snu;

uses crt;
const 
eps=0.001;
var 
x0y0xyalfabettagammadelta:real;

function 
f1(x,y:real):real;
begin
     f1
:=-sqr(x)+25*sqr(y);
end;

function 
f2 (x,y:real):real;
begin
     f2
:=x*y-5;
end;

begin
     clrscr
;
     
x0:=4;y0:=1;alfa:=-4/34;betta:=1;gamma:=1/34;delta:=-1/5;
     
writeln(x0:5:2,'    ',y0:5:2,'    ',abs(f1(x0,y0)):8:2,'     ',abs(f2(x0,y0)):8:2);
     while (
abs(f1(x0,y0))>=eps) or (abs(f2(x0,y0))>=eps)
     do 
begin
           x
:=x0+alfa*f1(x0,y0)+betta*f2(x0,y0);
           
y:=y0+gamma*f1(x0,y0)+delta*f2(x0,y0);
           
x0:=xy0:=y;
           
writeln(x0:5:3,y0:5:3,abs(f1(x0,y0)):8:5,abs(f2(x0,y0)):8:5);
     
end;
     
writeln('Reshenie   ',x0:5:3,'   ',y0:5:3'  ');
end
Gamst вне форума Ответить с цитированием
Старый 26.12.2011, 18:09   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Неплохо бы и условие задачи показать, иначе могу лишь сказать что числа слишком большие, да и последовательность по модулю возростает постоянно. См вывод
Код:
 4.00     1.00        9.00         1.00
1.941  1.465  49.86592   2.15675
-6.082  3.363  245.70124  25.45244
-60.441  15.680  2493.25276  952.69055
-1306.455  279.549  246863.12605  365222.89182
-395572.068  80584.807  5870518603.20852  31877098845.87461
-32568143665.378  6548162665.841  11276875649217163000.00000  213261502445387350000.00000
-214588193730805000000.000  42983973308837900000.000   1.4245614672291636E+0038   9.2238531917166416E+0039
-9.24061273838993E+039   1.84896052501165E+039   7.7451795389692621E+0076   1.7085528180202770E+0079
-1.70946401561310E+079   3.41938363002260E+078   7.7888164058603568E+0154   5.8453132711001284E+0157
Runtime error 207 at $080480BF
  $080480BF
  $08048479
  $08062683

-5.84622960244199E+157   1.16929173705549E+157  

------------------
(program exited with code: 207)
Press return to continue

Последний раз редактировалось eoln; 26.12.2011 в 18:11.
eoln вне форума Ответить с цитированием
Старый 26.12.2011, 19:00   #3
Gamst
Пользователь
 
Регистрация: 21.04.2010
Сообщений: 58
По умолчанию

Вот условие задачи:


Это решение:

Последний раз редактировалось Gamst; 26.12.2011 в 19:05.
Gamst вне форума Ответить с цитированием
Старый 26.12.2011, 19:25   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Частная производная от (-x^2 + 25y^2) по х равна -2х + 0 = -2х => -8
Частная производная от (-x^2 + 25y^2) по y равна 0 + 2 * 25y = 50y => 50
Ну и соответственно, дальше решение системы будет другим
eoln вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Debug - как заставить Delphi точно указать на строку кода вызывающую ошибку? delphicoding Общие вопросы Delphi 16 30.07.2011 10:47
Прошу помочь найти ошибку.Текст внутри BackSlash Помощь студентам 3 21.12.2009 12:13
Прошу найти ошибку в программе Ант@н Помощь студентам 0 22.11.2009 10:11
Не могу найти ошибку в программе. Прошу помощи Chaplen89 Общие вопросы Delphi 0 27.10.2009 17:31
Указать на ошибку valerij Microsoft Office Excel 15 26.10.2008 13:31