我该如何设置数学函数?

时间:2016-01-25 18:50:53

标签: delphi

我必须计算这个数学问题的答案:(√trunc(25.7)) - (2.2)^ 2

我的代码给了我一个错误说"不兼容的类型"。问题出在我的sqrt函数中。如果我删除sqrt我的程序可以正常工作。

显示的错误消息: [错误] Unit1.pas(32):不兼容的类型

我的代码:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    btnEnter: TButton;
    redOut: TRichEdit;
    procedure btnEnterClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnEnterClick(Sender: TObject);
var
  x: Real;

begin
  x := Sqrt(Trunc(25.7)) - Power(2.2,2);
  Writeln(FloatToStr(x));
end;

end.

1 个答案:

答案 0 :(得分:2)

编写代码编写。例如,这个完整的程序

const oneTimeStream = Kefir.constant('foo') // this ends after firing foo
const listener = function() { //... }

oneTimeStream.onValue(listener)
// do I need to unsubscribe #listener?

编译。

那么,为什么你的代码不能编译?唯一合理的解释是,您有另一个竞争的函数名称{$APPTYPE CONSOLE} uses SysUtils, Math; var x: Real; begin x := Sqrt(Trunc(25.7)) - Power(2.2,2); Writeln(FloatToStr(x)); end. SqrtTrunc。找到其他功能并将其删除。

例如,以下程序:

Power

无法使用以下错误进行编译:

  

[dcc32错误] E2010不兼容的类型:'红衣主教'和'扩展'

其他一些建议:

  1. 养成发布说明问题的完整程序的习惯。这个答案中出现的完整程序是您正在寻找的东西。制作最简单,最简单但完整的程序来说明问题。作为这样做的额外好处,您可能会自己解决问题。
  2. 始终逐字引用错误消息。错误消息包含有用的信息。通过传输部分错误消息,您拒绝我们访问该信息。事实上,一旦您意识到错误消息包含信息,那么您将自己更仔细地阅读它们,并能够使用这些信息来帮助您解决问题。