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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2009, 22:51   #1
DORINpwnz
Новичок
Джуниор
 
Регистрация: 25.11.2009
Сообщений: 3
По умолчанию Проблема с Unit. Паскаль.

Паскаль./

Собственно, части кода юнита:

Код:
interface
type fun=function(x,y:real):real;

function f(x,y:real):real;
procedure koren(f:fun;A,B:real; var x:real);

implementation

function f;
   begin
      f:=x-y*sqrt(x+1);
   end;

procedure koren;
   var E:real;
   begin
      E:=0.00001;
      repeat
         x:=(A+B)/2;
         if f(x,y)*f(B,y)>0 then B:=x
                                   else A:=x;
      until abs(B-A)<E
   end.

При компиляции ошибка "Unknown identifier", выделил где.

Без использования модуля - всё отлично.
Уже 2 часа голову ломаю, в чем косяк ):
Заранее, спасибо за помощь.

Последний раз редактировалось DORINpwnz; 25.11.2009 в 22:56.
DORINpwnz вне форума Ответить с цитированием
Старый 25.11.2009, 22:54   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

В процедуре koren не объявлена переменная y, о чём и говорит сообщение компилятора
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 25.11.2009, 22:59   #3
DORINpwnz
Новичок
Джуниор
 
Регистрация: 25.11.2009
Сообщений: 3
По умолчанию

Цитата:
В процедуре koren не объявлена переменная y, о чём и говорит сообщение компилятора
Без использования модуля всё отлично.
Если описывать данную переменную через var y:real - не правильно работает программа. Пробовал много раз.
Вообще, она является формальным параметром функции, которая, в свою очередь, является формальным параметром процедуры koren, поэтому это, собственно и не требуется, вроде бы =/

Последний раз редактировалось DORINpwnz; 25.11.2009 в 23:01.
DORINpwnz вне форума Ответить с цитированием
Старый 25.11.2009, 23:01   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Код:
procedure koren(f:fun;A,B:real; var x:real);
И где же в параметрах функции у Вас описана переменная y?
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 25.11.2009, 23:19   #5
DORINpwnz
Новичок
Джуниор
 
Регистрация: 25.11.2009
Сообщений: 3
По умолчанию

Ох.
Извините, мозг уже просто слегка кипит. Поэтому туплю.
/Часов 6 уже сижу за этим, 2 из которых парюсь над этой ошибкой../
Вообще там функция считается от (x,y), x задается в процедуре koren, второй фактический параметр - перед ней.
Куда мне тогда воткнуть то этот y?

Ох.
Всё, спасибо.
Сделал.
Действительно, нагрузка на мозг сказалась.

Код:
procedure koren(y:real; f:fun;A,B:real; var x:real);
в основном тексте программы просто опять же добавил этот параметр.
Почему то был уверен, что если он "описан" в функции, то тут уже не потребуется..

Greblin, Спасибо.

Последний раз редактировалось Stilet; 26.11.2009 в 08:53.
DORINpwnz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TP Проблема с Unit-ом ronayt Паскаль, Turbo Pascal, PascalABC.NET 8 10.02.2012 07:28
Удаление unit из проекта andirock2112 Общие вопросы Delphi 10 08.04.2009 10:47
Unit expected Net* Паскаль, Turbo Pascal, PascalABC.NET 2 14.05.2008 21:01
Работа с Unit SunKnight Общие вопросы Delphi 2 16.02.2008 15:45