چه طوری میشه سینوس را محاسبه کرد (فوری) ..... اگه ممکنه سورسشو میخواستم ....
چه طوری میشه سینوس را محاسبه کرد (فوری) ..... اگه ممکنه سورسشو میخواستم ....
سلام
از راهنماي دلفي استفاده كنيد : تابع Sin
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ممنون . ولی من این طوری نوشتم مشکلش کجاس.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function Fact(n: Word): Longint;
var
f: LongInt;
i: Integer;
begin
f := 1;
for i := 2 to 8 do f := f * i;
Result := f;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
sin,fact,x:real;
begin
x:=-1;
x:=strtofloat(edit1.Text);
while i<=15 do
i:=0;
sin:=x-x*2*i+1/2*i+fact ;
i:=2*i+1;
edit2.Text:=floattostr(sin);
end;
end.
سلام
1- كد را داخل تگ Code قرار دهيد.
2- چرا تمام خط ها را از سر خط شروع مي كنيد؟! تا به حال با واژه "كدخوانا" برخورد كرده ايد؟!
3- شما بايد بگيد مشكل كجاست ، نه من.
قسمتی که آبیه اونجارو مشکل دارم جواب درست در نمیاد.unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function Fact(n: Word): Longint;
var
f: LongInt;
i: Integer;
begin
f := 1;
for i := 2 to 8 do f := f * i;
Result := f;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
sin,fact,x:real;
begin
x:=-1;
x:=strtofloat(edit1.Text);
while i<=15 do
i:=0;
sin:=x-x*2*i+1/2*i+fact ;
i:=2*i+1;
edit2.Text:=floattostr(sin);
end;
end.
Last edited by derpase; 21-05-2008 at 13:55.
سلام
برنامه را به تكه هاي كوچك تقسيم كنيد، بعد ببينيد مشكل از كجاست.
چيزي كه با يك نگاه ميشه فهميد اينه كه بعد از While آخر بايد يه Begin-End باشه ، چون در حالتي كه الان وجود داره اگر i كوچكتر از 15 باشه ، 15 بار مقدار i را برابر 0 خواهد كرد، ولي به ظاهر بايد 3 خط بعد هم اجرا شود.
سینوس هر زاویه (برحسب رادیان) به راحتی با تابع sin محاسبه می شود البته می بایست یونیت Math به پروژه اضافه شود.
و اگر می خواهید بدون استفاده از تابع سینوس دلفی سینوس یک زاویه را حساب کنید
با توجه به بسط مک لورن سینوس که به صورت زیر است:
Sinx=x-x^3/3!+x^5/5!-x^7/7!+...
تابع محاسبه سینوس به صورت زیر خواهد بود (تابع 15 جمله اول سری را را به عنوان سینوس زاویه بر می گرداند):
x برحسب رادیان می باشد.
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Last edited by YBB; 25-05-2008 at 15:36.
دقيقا. شما باسد درجه را به راديان تبديل كنيد و بعد توي سينوس ازش استفاده نمائيد.
موفق باشي.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)