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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2013, 17:37   #1
Ильгизуля
Пользователь
 
Регистрация: 11.04.2013
Сообщений: 15
Восклицание паскаль,не могу найти ошибку в программе

Здравствуйте!
Помогите , пожалуйста найти ошибки в программах.
Первая программа реализует метод Ньютона поиска минимума функции и она зависает почему то, а вторая программа выводит ошибку в 14 строке( она реализует метод Эйлера).
Код:
 program _;
const e=0.01; p=0.004;
var
x,x1,x2,y1,y2,f,a,b:real;
begin
a:=0; b:=3;
repeat
x1:=1;
y1:=5*x1*x1*x1+30*x1*x1+6;
y2:=(9*sqr(x1)*sqr(x1)*sqr(x1)+69*sqr(x1)*sqr(x1)*x1-120*sqr(x1)*sqr(x1)-72*sqr(x1)-360*x1)/(4*sqrt(x1*x1*x1+3)*(x1*x1*x1+3));
x2:=x1-y1/y2;
x1:=x2;
until y1<e;
writeln('Минимальное значение f(x) = при x  = ',x:8:8);
end.


program _;
const e=0.01;
var
x,x1,x2,y1,y2,f,a,b,z1,z2,l,x0,y0:real;
begin
a:=1; b:=5;
repeat
x1:=a;
x2:=b;
z1:=5*x1*x1*x1+30*x1*x1+6;
z2:=5*x2*x2*x2+30*x2*x2+6;
if z1>z2 then l:=z1
else l:=z2;
y1:=(x1+10)*(sqrt(x1*x1*x1+3));
y2:=(x2+10)*(sqrt(x2*x2*x2+3));
x0:=(1/(2*l))*(y1-y2+l*(x1+x2));
y0:=0.5*(y1-y2+l*(a-b));
a:=x0;
a:=y0;
until l<e;
writeln('Минимальное значение f(x)  при x  = ',x:8:8);
end.

Последний раз редактировалось Stilet; 10.05.2013 в 18:11.
Ильгизуля вне форума Ответить с цитированием
Старый 10.05.2013, 18:21   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вы хотите, чтобы мы помогли Вам найти ошибки в программах или чтобы мы нашли их вместо Вас?
Если первое, то могу сообщить, что искать ошибки в правильно отформатированном тексте намного проще, чем в неотформатированном.

Итак, помогаю Вам советом:
1. Отформатируйте текст программ.
2. Напишите комментарии.
s-andriano вне форума Ответить с цитированием
Старый 11.05.2013, 11:01   #3
Joker_vad
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 42
По умолчанию

Код:
repeat
x1:=1;
каждый раз в начале цикла соответственно у1=41....
Это по первой
По поводу второй что за ошибка то
Joker_vad вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку в программе на С++ Jony217 Общие вопросы C/C++ 9 28.12.2011 21:53
Не могу найти ошибку в программе Doomsday Помощь студентам 1 14.11.2011 18:53
Ошибку не могу найти в программе Веселина Паскаль, Turbo Pascal, PascalABC.NET 7 26.05.2011 20:44
Не могу найти ошибку в программе Dawystrik Общие вопросы Delphi 9 19.03.2009 21:19
Паскаль, не могу найти ошибку в программе Julinja Помощь студентам 2 17.11.2008 20:42