Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как обойти ошибку 207?

60K
20 июня 2010 года
go0dw1ne
2 / / 30.05.2010
Суть проблемы такова: при изменении n=100 на n=1000 компилятор ТП ругается error'ом 207. Как я подозреваю, это происходит из-за того, что величина h1*h1 очень-очень мала и почти равна нулю. Возможно ли как-то решить данную проблему?

Программа находит такие значения переменных al1 и cc, при которых функция ky отличается от nz не более, чем на 0.051 на всём отрезке от -5 до 5.
al1 и cc изменяются в диапазонах от 0.1 до 0.3 и от 0.5 до 10 соответственно.


Вот листинг:

Код:
{$N+}
uses crt;
{--------------------------------------------}
function step(a,n1:real):real;
  begin
    step:=exp(ln(a)*n1);
  end;
{--------------------------------------------}

var
  ky,nz,al1,cc,xir,c3,h1:extended;
  b:boolean;
  i,j,g,m:integer;
  xr,n:integer;

  begin
    clrscr;
    n:=100;
    xir:=-5;
    xr:=0;

    b:=false;
    for i:=50 to 1000 do
      begin
        for j:=1 to 30 do
          begin
            cc:=i/n;
            al1:=j/n;
            h1:=cc*step(n,al1);
            m:=0;
            xir:=-5;
            for g:=0 to n do
              begin
                ky:=exp(-sqr((xr-xir)/(h1*h1)))/(sqrt(2*Pi)*h1);
                nz:=exp(-sqr(xir)/2)/sqrt(2*Pi);
                xir:=xir+10/n;
                c3:=abs(ky-nz);
                if c3>0.051 then break;
                if g=n then
                  begin
                    b:=true;
                    writeln(cc*step(n,al1):2:6);
                    writeln(cc:2:2);
                    writeln(al1:2:2);
                    writeln(g);
                    writeln;
                    break;
                  end;
                inc(m);
               { if b=true then break;}
              end;
          end;
          {if b=true then break;        }
      end;
readln;
   end.
60K
20 июня 2010 года
go0dw1ne
2 / / 30.05.2010
Проблема решена
1
20 июня 2010 года
kot_
7.3K / / 20.01.2000
И в чем была проблема?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог