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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2011, 19:55   #1
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию ошибка в использовании функции

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bible, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
x,A:real;
c:integer;
Function K(x:real;c:integer): real;
begin
K:=A/(x+(c/50))+ln(x);
end;
Function G(x:real;c:integer): real;
begin
G:=x/(x+c+x*x);
end;
Function F(j:integer): real;
begin F:=-(j-1)/(j);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
c: integer;
A,S,B,x: real;
begin
c:=5;
B:=Exloc(G;-c;c;1);//error here
A:=Ryad(F;1;0,001);
S:=IntF(K;A;B;0,001);
Edit1.text:=FloatToStr(S);
end;
end.
Ошибка
Код:
[Error] Unit1.pas(46): Incompatible types: 'Parameter lists differ'
Bible-подключённый модуль.
Помогите разобраться с ошибкой, зарание благодарю.
Repac123456 вне форума Ответить с цитированием
Старый 23.02.2011, 22:00   #2
Stranger333
Пользователь
 
Аватар для Stranger333
 
Регистрация: 19.05.2009
Сообщений: 98
По умолчанию

Я не могу понять. Вы где узяли такие функции Exloc, Ryad и IntF? Это из модуля какого то? если да то виложите его код!
Stranger333 вне форума Ответить с цитированием
Старый 24.02.2011, 01:38   #3
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

ф-и из модуля, вот их описание:
Код:
Function Exloc(F:fun; A,B,E: tip; M:integer): tip;
 Var h: tip;
begin   
Repeat h:= (B-A)/3;
If M*(F(A+h)- F(B-h)) < 0 
then A:= A+h 
else B:= B-hUntil B - A < E;
Exloc:= (A+B)/2
end;

Function IntF(F:fun; A,B,E: tip): tip;
 Var c,h,x,s,w,R:tip; k,m:integer;
begin R:=1E38; 
c:= (F(A)+F(B))/2;
 m:= 1;  
 Repeat w:= R; 
h:= (B-A)/m; s:= 0; x:= A + 0.5*h;
For k:= 1 to m do begin s:= s+F(x); x:= x+h end;
c:= c+s; R:= (c+s)*h/3; m:= m+m
Until (Abs(w-R) < E) or (m > 10000000);
 IntF:=R

Function Ryad(F:func; p,E:tip):tip;
 Var i: integer; R:tip;
begin R:= p;   
For i:= 2 to 100 do begin 
p:= p*F(i); R:= R + p;
 If Abs(p)< E then
 Break end;
 Ryad:=R
end;
tip это double

Последний раз редактировалось Repac123456; 24.02.2011 в 01:42.
Repac123456 вне форума Ответить с цитированием
Старый 24.02.2011, 02:42   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Параметры, передаваемые в функцию, при вызове функции, должны перечисляться через запятую.
Код:
B:=Exloc(G,-c,c,1);//error here
A:=Ryad(F,1,0.001); //В вещественных числах, дробная часть отделяется точкой, а не запятой
S:=IntF(K,A,B,0.001);
netrino вне форума Ответить с цитированием
Старый 24.02.2011, 11:50   #5
Repac123456
Пользователь
 
Аватар для Repac123456
 
Регистрация: 24.10.2010
Сообщений: 27
По умолчанию

ага, исправил, но теперь всё стало куда интереснее:
Код:
B:=Exloc(G,-c,c,1);  //error here
A:=Ryad(F,1,0.001);
S:=IntF(K,A,B,0.001)  //error here

ошибка та же самая.
Repac123456 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании ICQClient Mihanches Работа с сетью в Delphi 2 04.10.2010 21:27
Ошибка при использовании CreateProcess Sadowod Общие вопросы Delphi 7 20.08.2010 17:43
Не возвращается результат функции при использовании типа параметра ptResult superpyct БД в Delphi 2 09.06.2010 14:31
Ошибка при использовании copyfile The Best Общие вопросы Delphi 20 22.07.2009 13:26
Ошибка в использовании сегмента Miller-1981 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 10.06.2009 16:04