Исследование и моделирование с помощью компьютера электрических полей

Автор работы: Пользователь скрыл имя, 06 Ноября 2012 в 22:59, реферат

Краткое описание

Электрическое поле – особый вид материи, создаваемый электрическими зарядами, основное свойство которого заключается в действии на другие электрические заряды.

Содержание

ЭЛЕКТРИЧЕСКОЕ ПОЛЕ 2
КУЛОНОВСКАЯ СИЛА 2
ПОНЯТИЕ О КУЛОНОВСКОЙ СИЛЕ 2
КУЛОНОВСКИЕ СИЛЫ В СИСТЕМЕ ЗАРЯДОВ. ПРИНЦИП СУПЕРПОЗИЦИИ. 2
НАПРЯЖЕННОСТЬ 3
НАПРЯЖЕННОСТЬ КАК ФИЗИЧЕСКАЯ ВЕЛИЧИНА 3
ЛИНИИ НАПРЯЖЕННОСТИ 3
РАБОТА КУЛОНОВСКИХ СИЛ В ЭЛЕКТРИЧЕСКОМ ПОЛЕ. ПОТЕНЦИАЛ. 4
ПОТЕНЦИАЛЬНАЯ ЭНЕРГИЯ ЗАРЯДОВ 4
РАБОТА КУЛОНОВСКИХ СИЛ ПО ЗАМКНУТОМУ КОНТУРУ 4
ПОТЕНЦИАЛ КАК ФИЗИЧЕСКАЯ ВЕЛИЧИНА 4
РАЗНОСТЬ ПОТЕНЦИАЛОВ 5
ЭКВИПОТЕНЦИАЛЬНЫЕ ПОВЕРХНОСТИ 5
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ 5
МОДЕЛИРОВАНИЕ СИЛОВЫХ ЛИНИЙ 5
МОДЕЛИРОВАНИЕ ЭКВИПОТЕНЦИАЛЬНЫХ ЛИНИЙ 6
ВОЗМОЖНОСТИ ПРОГРАММЫ 6
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 7

Прикрепленные файлы: 1 файл

Электрическое поле.doc

— 161.00 Кб (Скачать документ)

    If (Vy>=0) and (Vx>0) then T:=T+180 else

    If (Vy<0) and (Vx>0) then T:=T+180 else

    If (Vy<0) and (Vx<0) then T:=T+360;

  end else If Vy>0 then T:=90 else T:=270;

  Form3.Label10.Caption:=FloatToStr(T);

  With Form3 do begin

   Label1.Left:=Label7.Left+Label7.Width+5;

   Label3.Left:=Label2.Left+Label2.Width+5;

   Label11.Left:=Label10.Left+Label10.Width+2;

   If Label1.Left+Label1.Width>Label3.Left+Label3.Width then Form3.Width:=Label1.Left+Label1.Width+20 else Form3.Width:=Label3.Left+Label3.Width+20;

  end;

  Form3.Show;

end;

end;

 

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);

begin

StatusBar1.Panels.Items[0].Text:='X = '+IntToStr(X);

StatusBar1.Panels.Items[1].Text:='Y = '+IntToStr(Y);

end;

 

procedure TForm1.N9Click(Sender: TObject);

begin

Stop; Prepare; ElRefresh;

If N10.Checked=True then PaintLines;

StatusBar1.Panels.Items[4].Text:='Исследование эквипотенциальных линий...';

 Form1.Image1.Repaint;

Form1.Image1.Canvas.Pen.Color:=clRed;

EkviExpl:=True;

end;

 

procedure TForm1.N10Click(Sender: TObject);

begin

N10.Checked:=not N10.Checked;

end;

 

procedure TForm1.N11Click(Sender: TObject);

begin

Stop; Redactor;

end;

 

procedure TForm1.N16Click(Sender: TObject);

begin

Form2.Show;

end;

 

procedure TForm1.N19Click(Sender: TObject);

begin

 StatusBar1.Panels.Items[4].Text:='Исследование линий напряженности...';

 Stop;

Prepare; ElRefresh;

Form1.Image1.Repaint;

Form1.Image1.Canvas.Pen.Color:=clSilver;

CalcA:=True;

end;

 

procedure TForm1.N20Click(Sender: TObject);

Var I,P:Byte;

    Ex:Boolean;

begin

Ex:=False;

For I:=0 to 63 do For P:=0 to 47 do If Qc[I,P]<>0 then Ex:=True;

If Ex=False then begin

  Application.MessageBox('В системе нет ни одного заряда!','Нет зарядов',mb_iconexclamation);

  Exit;

end;

 StatusBar1.Panels.Items[4].Text:='Исследование линий напряженности...';

 Stop;

Prepare; ElRefresh;

Form1.Image1.Repaint;

Form1.Image1.Canvas.Pen.Color:=clSilver;

CalcA:=True;

end;

 

procedure TForm1.N14Click(Sender: TObject);

begin

Form4.Show;

end;

 

end.

 

Модуль Option.pas

 

unit Option;

 

interface

 

uses

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

  StdCtrls, ComCtrls, Spin, ExtCtrls;

 

type

  TForm2 = class(TForm)

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    Button1: TButton;

    Label1: TLabel;

    SpinEdit1: TSpinEdit;

    TabSheet2: TTabSheet;

    Label2: TLabel;

    Edit1: TEdit;

    Label3: TLabel;

    Label4: TLabel;

    Bevel1: TBevel;

    Label5: TLabel;

    Edit2: TEdit;

    Label6: TLabel;

    Label7: TLabel;

    ComboBox1: TComboBox;

    Image1: TImage;

    Edit3: TEdit;

    Bevel2: TBevel;

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    Panel1: TPanel;

    RadioButton3: TRadioButton;

    RadioButton4: TRadioButton;

    CheckBox1: TCheckBox;

    CheckBox2: TCheckBox;

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure ComboBox1Change(Sender: TObject);

    procedure RadioButton2Click(Sender: TObject);

    procedure RadioButton1Click(Sender: TObject);

    procedure RadioButton3Click(Sender: TObject);

    procedure RadioButton4Click(Sender: TObject);

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

type Table=record

Name:String[30];

Di:Real;

end;

 

var

  Form2: TForm2;

  F:Text;

  Tab:Array of Table;

 

implementation

 

uses Main;

 

{$R *.DFM}

 

procedure TForm2.Button1Click(Sender: TObject);

begin

Z:=SpinEdit1.Value;

Form2.Close;

end;

 

procedure TForm2.FormCreate(Sender: TObject);

Var S:String;

    I,P:Integer;

begin

Z:=SpinEdit1.Value; I:=0;

AssignFile(F,'dielectr.dat'); Reset(F);

SetLength(Tab,1);

While not Eof(F) do begin

  Readln(F,S); SetLength(Tab,Length(Tab)+1);Inc(I);

  Tab[I].Name:=Copy(S,1,Pos('$',S)-1);

  Delete(S,1,Pos('$',S));

  Tab[I].Di:=StrToFloat(S);

end;

CloseFile(F);

For P:=1 to I do ComboBox1.Items.Add(Tab[P].Name);

end;

 

procedure TForm2.ComboBox1Change(Sender: TObject);

Var I:Integer;

begin

For I:=1 to Length(Tab) do If ComboBox1.Text=Tab[I].Name then begin

Edit3.Text:=FloatToStr(Tab[I].Di); Break; End;

end;

 

procedure TForm2.RadioButton2Click(Sender: TObject);

begin

Edit3.Enabled:=True;

ComboBox1.Enabled:=False;

ComboBox1.Text:='Другая...';

end;

 

procedure TForm2.RadioButton1Click(Sender: TObject);

begin

Edit3.Enabled:=False;

ComboBox1.Enabled:=True;

end;

 

procedure TForm2.RadioButton3Click(Sender: TObject);

begin

CheckBox1.Enabled:=False;

CheckBox2.Enabled:=False;

end;

 

procedure TForm2.RadioButton4Click(Sender: TObject);

begin

CheckBox1.Enabled:=True;

CheckBox2.Enabled:=True;

end;

 

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin

If (StrToFloat(Edit1.Text)=0) or

    (StrToFloat(Edit2.Text)=0) then begin

     Application.MessageBox('Некорректно  введены некоторые данные','Ошибка  данных',mb_iconstop);

end;

end;

 

end.

 

Модуль Calc.pas

 

unit Calc;

 

interface

 

uses

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

  ExtCtrls, StdCtrls;

 

type

  TForm3 = class(TForm)

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Label11: TLabel;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form3: TForm3;

 

implementation

 

{$R *.DFM}

 

end.

 

Модуль About.pas

 

unit About;

 

interface

 

uses

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

  StdCtrls, ExtCtrls, RXCtrls, ComCtrls;

 

type

  TForm4 = class(TForm)

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    SecretPanel1: TSecretPanel;

    Label1: TLabel;

    Label2: TLabel;

    Image1: TImage;

    procedure TabSheet1Exit(Sender: TObject);

    procedure TabSheet1Enter(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form4: TForm4;

 

implementation

 

{$R *.DFM}

 

procedure TForm4.TabSheet1Exit(Sender: TObject);

begin

SecretPanel1.Active:=False;

end;

 

procedure TForm4.TabSheet1Enter(Sender: TObject);

begin

SecretPanel1.Active:=True;

end;

 

end.




Информация о работе Исследование и моделирование с помощью компьютера электрических полей