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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2010, 21:48   #1
oban11
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 18
По умолчанию Runtime error

подскажите выбивает ошибку invalid floating point посмотрев ошибку показывает : Runtime error 207 at 0380:006 при значениях x=-2 y=0 z[1]=2
при построчной проверке выдает ошибку на строке : if abs(zn)>t then



Код:
program lab7part2;
uses crt;
const t=1e-10;
var z:array[1..15] of real;
    x,xn,xk,y,yn,yk,hx,hy,ch,zn,cosec,f:extended;
    ki,i:byte;
    d,kr,ks:byte;
BEGIN
  clrscr;
    ks:=0;
    write('Vvedite xn=');readln(xn);
    write('Vvedite xk=');readln(xk);
    write('Vvedite Hx=');readln(Hx);
    write('Vvedite yn=');readln(yn);
       write('Vvedite yk=');
        readln(yk);
         write('Vvedite Hy=');
         readln(Hy);
       write('Vvedite kol-vo elementov massiva Z ki=');
        readln(ki);
        clrscr;
     For i:=1 to ki do
      begin
         writeln('Vvedite Z[',i,']');
         readln(z[i]);
      end;
 for i:=1 to ki do
    begin
         x:=xn;
  while x < xk + t do
       begin
       inc(d);
       inc(kr);
        y:=yn;
        while y<yk+t do
           begin    {5}
           inc(d);
           inc(ks);
            write(ks:2,' x=',x:6:2,' y=',y:6:2,' z[',i,']=',z[i]:6:2);
        begin {4}
          ch:=cos(y);
          ch:=ch+exp(z[i]);
        if abs(sin(y+z[i]))>t then
          begin  {3}
            cosec:=1/sin(y+z[i]);
           if abs(cosec)>t then
             begin
              zn:=exp(cos(z[i])*ln(5))+exp(y*ln(x))+z[i];
               if abs(zn)>t then
                begin
                  f:=ch/zn+sin(x)/cosec;
                  writeln('f(x,y,z) =',f:12:6);
                end
                else
              writeln('f - no exist delenie na 0')
             end
            else
              writeln('f - no exist delenie na 0')
          end {3}
        else
          writeln('f - no exist delenie na 0')
       end;  {4}
      y:=y+hy;
     if d mod 20 = 0  then
      readkey
     end;  {5}  {while y}
    x:=x+hx;
   end; {while x}
  end;   {for i}
 readkey
END.
oban11 вне форума Ответить с цитированием
Старый 16.11.2010, 21:53   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

если х=-2 то Ln(-2) - ошибка
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 16.11.2010, 22:13   #3
oban11
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 18
По умолчанию

тьфу епт как я мог такое не заметить
это если -2 ошибка то как тогда возвести в степень?
oban11 вне форума Ответить с цитированием
Старый 16.11.2010, 22:14   #4
oban11
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 18
По умолчанию

тьфу епт как я мог такое не заметить
это если -2 ошибка то как тогда возвести в степень?
oban11 вне форума Ответить с цитированием
Старый 16.11.2010, 22:47   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

В модуле Math функция power
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Runtime Error ultrasfan Общие вопросы C/C++ 3 12.10.2010 16:16
Runtime Error RoS Qt и кроссплатформенное программирование С/С++ 7 06.09.2010 16:44
runtime error 2 в delphi Tina94 Общие вопросы Delphi 7 03.01.2010 21:23
Паскаль runtime error Лида200915 Помощь студентам 11 18.09.2009 22:00
Runtime error 201 mmx358 Паскаль, Turbo Pascal, PascalABC.NET 2 26.08.2009 11:38