.


:




:

































 

 

 

 


,

 

 

,

1

 

:

EM-111 ____________ ..

 

:

. ____________ \ ..

 

 

2013


1 . 4

2 .. 5

3 .. 6

3.1..... 6

3.2..... 7

3.3..... 31

4 .. 33

4.1..... 33

4.2..... 34

5 .. 36

6 .. 37

 


, , :
1. , : , , ..
2. , , .
3. ( ), .

. , . . MathCad, MathLab, Mathematika, Axum. : ( ). Windows (Calc.exe), [ 1 ],[ 2 ].


2.1 - , .

 

2.1 -


3.1 , , , .


3.1

About , 3.2

3.2

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, ExtCtrls,Math,clipbrd,UnitAbout;

type

TJournal=record

x,y,z:real;

cod:char;

end;

TForm1 = class(TForm)

bmod: TButton;

open_brace: TButton;

close_brace: TButton;

Button12: TButton;

Button13: TButton;

Button14: TButton;

Button15: TButton;

Button16: TButton;

Button17: TButton;

Button18: TButton;

Button6: TButton;

B7: TButton;

B8: TButton;

B9: TButton;

B4: TButton;

B5: TButton;

B6: TButton;

B3: TButton;

B2: TButton;

B1: TButton;

B0: TButton;

Button24: TButton;

Button25: TButton;

Button26: TButton;

Button27: TButton;

Button28: TButton;

Button_Calculate: TButton;

Button30: TButton;

BSqrt: TButton;

Button1: TButton;

Edit1: TEdit;

RadioGroup1: TRadioGroup;

MainMenu1: TMainMenu;

N2: TMenuItem;

CtrlC1: TMenuItem;

CtrlV1: TMenuItem;

N_Spravka: TMenuItem;

N_invokespravka: TMenuItem;

N7: TMenuItem;

N_aboutprogram: TMenuItem;

N8: TMenuItem;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

Button10: TButton;

Button11: TButton;

Button22: TButton;

Button23: TButton;

ListBox1: TListBox;

Button19: TButton;

procedure B9Click(Sender: TObject); //

procedure Button24Click(Sender: TObject);

procedure Button25Click(Sender: TObject);

procedure Button26Click(Sender: TObject);

procedure Button27Click(Sender: TObject);

procedure Button28Click(Sender: TObject);

procedure Button_CalculateClick(Sender: TObject);

procedure Button30Click(Sender: TObject);

procedure BSqrtClick(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure B0Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button18Click(Sender: TObject);

procedure Button17Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure open_braceClick(Sender: TObject);

procedure Button13Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure B1Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button14Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button19Click(Sender: TObject);

procedure Button20Click(Sender: TObject);

procedure close_braceClick(Sender: TObject);

procedure B2Click(Sender: TObject);

procedure Button21Click(Sender: TObject);

procedure Button22Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button23Click(Sender: TObject);

procedure B3Click(Sender: TObject);

procedure B4Click(Sender: TObject);

procedure B5Click(Sender: TObject);

procedure B6Click(Sender: TObject);

procedure B7Click(Sender: TObject);

procedure B8Click(Sender: TObject);

procedure CtrlC1Click(Sender: TObject);

procedure CtrlV1Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N_invokespravkaClick(Sender: TObject);

procedure N_aboutprogramClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

const

journal_max=1000;

var

Form1: TForm1;

code: char;

op1, y, z: real;

x1, y1, z1: Integer;

mem_str,journal_str:String;

journal_array:array[1..journal_max] of TJournal;

ji:Integer;

implementation

{$R *.dfm}

procedure TForm1.B9Click(Sender: TObject); //

begin

Edit1.Text:=Edit1.Text+'9';

end;

procedure TForm1.Button24Click(Sender: TObject); //

begin

Edit1.Text:=Edit1.Text+',';

end;

procedure TForm1.Button25Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '+';

Edit1.Clear;

end;

procedure TForm1.Button26Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '-';

Edit1.Clear;

end;

procedure TForm1.Button27Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '*';

Edit1.Clear;

end;

procedure TForm1.Button28Click(Sender: TObject);

begin

if edit1.Text<>'' then op1:=strtofloat(edit1.text);

code:= '/';

Edit1.Clear;

end;

procedure TForm1.Button_CalculateClick(Sender: TObject); //

begin

if edit1.Text<>'' then y:=strtofloat(edit1.text);

journal_array[ji].x:=op1;

journal_array[ji].y:=y;

journal_array[ji].cod:=code;

journal_str:=FloatToStr(op1);

journal_str:=journal_str+ code + FloatToStr(y);

ListBox1.Items.Add(journal_str);

case code of

'+': z:=op1+y;

'-': z:=op1-y;

'*': z:=op1*y;

'/': z:=op1/y;

'^': z:=Power(op1,y);

'[': z:=Trunc(op1) Mod Trunc(y);

']': z:=Trunc(op1) Div Trunc(y);

'{': z:=Power(op1,1/y);

end;

edit1.Text:=floattostr(z); // Edit1 z

journal_array[ji].z:=z;

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.Button30Click(Sender: TObject); //

begin

op1:= strtofloat(edit1.text);

z:=1/op1;

edit1.Clear; //

edit1.Text:=floattostr(z);

end;

procedure TForm1.BSqrtClick(Sender: TObject); //

begin

op1:= strtofloat(edit1.text);

z:=Power(op1,1/2);

edit1.Clear;

edit1.Text:=floattostr(z);

end; //

procedure TForm1.Button2Click(Sender: TObject); //

begin

op1:= strtofloat(edit1.text);

z:=(op1*(-1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.B0Click(Sender: TObject); //

begin

Edit1.Text:=Edit1.Text+'0';

end;

procedure TForm1.Button6Click(Sender: TObject); // ,

op1:=0; //

begin

y:=0;

z:=0;

Edit1.Clear;

end;

procedure TForm1.Button18Click(Sender: TObject); //

begin //

Edit1.Text:='';

end;

procedure TForm1.Button17Click(Sender: TObject); //

var

st:string;

begin

st:=Edit1.Text;

delete(st,length(st),1);

Edit1.Text:=st;

if Edit1.Text='' then begin

Edit1.Text:='';

end;

end;

procedure TForm1.Button3Click(Sender: TObject); //

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=cos(op1)/sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=cos(op1)/sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=cos(gradtorad(op1))/sin(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

end;

procedure TForm1.Button4Click(Sender: TObject); //

begin

op1:= strtofloat(edit1.text);

z:=Power(op1,2);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button1Click(Sender: TObject); //

begin

op1:= strtofloat(edit1.text);

code:= '^';

edit1.Clear;

end;

procedure TForm1.open_braceClick(Sender: TObject);//

begin

op1:= strtofloat(edit1.text);

code:= '{';

edit1.Clear;

end;

procedure TForm1.Button13Click(Sender: TObject); //

begin

mem_str:='';

mem_str:=Edit1.Text;

end;

procedure TForm1.Button5Click(Sender: TObject); //

i:Integer; //

result:Real;

begin

result:=1;

op1:=strtofloat(edit1.text);

if (Trunc(op1) < 0) then begin

Edit1.Text:=' ';

end

else if (Trunc(op1) = 0) then begin

Edit1.Text:='1';

end

else begin

for i:= 1 to Trunc(op1) do begin

result:= result * i;

end;

Edit1.Text:=FloatToStr(result);

end;

end;

procedure TForm1.Button7Click(Sender: TObject); //

begin //

op1:= strtofloat(edit1.text);

z:=log10(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.B1Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'1';

end;

procedure TForm1.Button8Click(Sender: TObject);//

begin //

op1:=strtofloat(edit1.text);

z:=ln(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button14Click(Sender: TObject); //

begin //

if (mem_str<>'') then Edit1.Text:=mem_str else Edit1.Text:='';

end;

procedure TForm1.Button9Click(Sender: TObject); // Pi

begin

edit1.Text:='3,141592653589793';

end;

procedure TForm1.Button10Click(Sender: TObject); //

Var

rcs:Real;

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=sin(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=sin(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

journal_array[ji].x:=op1;

journal_array[ji].y:=0;

journal_array[ji].cod:='0';

journal_array[ji].z:=z;

journal_str:=FloatToStr(op1);

journal_str:='sin('+journal_str+')';

ListBox1.Items.Add(journal_str);

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.Button11Click(Sender: TObject); //

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=cos(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

journal_array[ji].x:=op1;

journal_array[ji].y:=0;

journal_array[ji].cod:='0';

journal_array[ji].z:=z;

journal_str:=FloatToStr(op1);

journal_str:='cos('+journal_str+')';

ListBox1.Items.Add(journal_str);

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.Button19Click(Sender: TObject); //

begin

if RadioGroup1.ItemIndex=0 then begin

op1:=(strtofloat(edit1.text)*3.141592653589793)/180;

z:=sin(op1)/cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=1 then begin

op1:=strtofloat(edit1.text);

z:=sin(op1)/cos(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

if RadioGroup1.ItemIndex=2 then begin

op1:=strtofloat(edit1.text);

z:=sin(gradtorad(op1))/cos(gradtorad(op1));

edit1.Clear;

edit1.Text:=floattostr(z);

end;

journal_array[ji].x:=op1;

journal_array[ji].y:=0;

journal_array[ji].cod:='0';

journal_array[ji].z:=z;

journal_str:=FloatToStr(op1);

journal_str:='tan('+journal_str+')';

ListBox1.Items.Add(journal_str);

Inc(ji);

if ji=journal_max then ji:=1;

end;

procedure TForm1.close_braceClick(Sender: TObject); //

begin

op1:= strtofloat(edit1.text);

code:= '}';

edit1.Clear;

end;

procedure TForm1.B2Click(Sender: TObject); // 2

begin

Edit1.Text:=Edit1.Text+'2';

end;

procedure TForm1.Button21Click(Sender: TObject); //

Var

e:Real;

begin

e:=2.7182818284;

op1:= strtofloat(edit1.text);

z:=Power(e,op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button22Click(Sender: TObject); // 10

begin

op1:= strtofloat(edit1.text);

z:=Power(10,op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.Button12Click(Sender: TObject); //

begin

mem_str:='';

end;

procedure TForm1.Button23Click(Sender: TObject); //

begin

op1:= strtofloat(edit1.text);

z:=Frac(op1);

edit1.Clear;

edit1.Text:=floattostr(z);

end;

procedure TForm1.B3Click(Sender: TObject); // 3

begin

Edit1.Text:=Edit1.Text+'3';

end;

procedure TForm1.B4Click(Sender: TObject); // 4

begin

Edit1.Text:=Edit1.Text+'4';

end;

procedure TForm1.B5Click(Sender: TObject); // 5

begin

Edit1.Text:=Edit1.Text+'5';

end;

procedure TForm1.B6Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'6';

end;

procedure TForm1.B7Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'7';

end;

procedure TForm1.B8Click(Sender: TObject);

begin

Edit1.Text:=Edit1.Text+'8';

end;

procedure TForm1.CtrlC1Click(Sender: TObject); //

begin

Edit1.SelectAll;

Edit1.CopyToClipboard;

end;

procedure TForm1.CtrlV1Click(Sender: TObject); //

begin

Edit1.SelectAll;

Edit1.PasteFromClipboard;

end;

procedure TForm1.N8Click(Sender: TObject); //

begin

Form1.Close;

end;

procedure TForm1.N_invokespravkaClick(Sender: TObject); //

begin

WinExec('hh.exe calc.htm',SW_SHOW);

end;

procedure TForm1.N_aboutprogramClick(Sender: TObject); //

begin

AboutBox.Show;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

ji:=1;

end;

procedure TForm1.ListBox1Click(Sender: TObject); //

var

ind:Integer;

begin

ind:=(ListBox1.ItemIndex);

Inc(ind);

z:=journal_array[ind].z;

Edit1.Text:=FloatToStr(z);

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //

begin

if key='+' then begin Button25Click(Sender);Edit1.Clear; end;

if key='-' then begin Button26Click(Sender);Edit1.Clear; end;

if key='*' then begin Button27Click(Sender);Edit1.Clear; end;

if key='/' then begin Button28Click(Sender);Edit1.Clear; end;

if key='=' then Button_CalculateClick(Sender);

end;

end.

:

code: char;

op1, y, z: real; , .

type

TJournal=record

x,y,z:real;

cod:char;

end;

mem_str,journal_str:String;

journal_array:array[1..journal_max] of TJournal;

.

ji:Integer; .

,

:

Math clipbrd.

journal_array ListBox

.

MR m,

M Panel1. MC

m Panel1.caption.

F1 ->

chm HTML HELP

Workshop.

3.3 .


3.3

4.1 .

35, 50, 1750.

105, 16,6

, -0,818.

100, -100,818447253158

4.1

, . , , , , , , . . ListBox, .

, . . , , NUMLOCK.

:

;

+ (), - (), * () / ();

;

;

;

=.

, MS.

, MR.

, MC.

, ,

M+. , MR.

M. , , .

:

1. F1

2. F10


, , , . Delphi. , Delphi . Delphi , , , . : Object Pascal; - (properties); , Delphi, ( C++/MFC) [ 3 ]. , VCL , - Windows, Windows API. , " ". , Delphi - , , , . , . , , , , . - RAD-. (code completion) [ 4 ]. - . , Object Pascal , , , Delphi .


1. . Delphi 6. Object Pascal. .:-,2002., 356.

2. .. Delphi 6. . .: .., 2001., 150.

3. . Delphi 7: . - .:-,2003., 231.

4. .. Delphi. .: . 2003., 566.



<== | ==>
? | .
:


: 2016-12-18; !; : 559 |


:

:

: , , , , .
==> ...

1298 - | 1198 -


© 2015-2024 lektsii.org - -

: 0.224 .