Уразбаева К. Т., Мақамбаев М. Б. Компьютерлік модельдеу элементтері физика пәнінде



бет17/18
Дата20.06.2018
өлшемі0,85 Mb.
#43509
1   ...   10   11   12   13   14   15   16   17   18
Sila_Lorentsa программасы күш сызықтарының бағытына кезкелген бұрыш жасап кірген зарядталған бөлшектің магнит өрісіндегі қозғалысының траекториясын сызады.
Program Sila_Lorentsa;

uses Crt, Graph;

const m=9E-31; q=1.6E-19; B=1.0; V=0.8E7; k=1E6;

var w, Per, r, p, ug, Vx, Vy, t, dt, x, y, z: real;

Gd, Gm, x0, y0, x1, y1, j: integer; st: string;

begin


Gd:=detect; InitGraph(Gd,Gm,''); SetColor(12);SetTextStyle(7,0,2);

OutTextXY(140,10,'Dvigenie chastits v magnitnom pole');

SetTextStyle(0,0,1); SetColor(11);

Str(m*1E31:3:1,st); OutTextXY(264,70,'m = '+st+'E-31 кг');

Str(q*1E19:3:1,st); OutTextXY(264,90,'q = '+st+'E-19 K');

Str(B:3:1,st); OutTextXY(264,110,'B = '+st+' Тл');

Str(V*1E-7:3:1,st); OutTextXY(264,130,'Vo = '+st+'E7 м/с');

x0:=24; y0:=GetMaxY div 2+40; SetColor(7);

Line(x0,y0,640,y0); Line(x0,0,x0,y0); Line(x0,0,x0-4,12); Line(x0,0,x0+4,12);

Line(640,y0,628,y0-4); Line(640,y0,628,y0+4); Line(x0,y0,x0+180,y0+180);

Line(x0+180,y0+180,x0+170,y0+176); Line(x0+180,y0+180,x0+177,y0+171);

SetColor(11); SetTextStyle(0,0,1); OutTextXY(628,y0-15,'x');

OutTextXY(x0+8,0,'y'); OutTextXY(x0+184,y0+184,'z');

OutTextXY(x0-15,y0,'0');

w:=q*B/m; Per:=2*Pi/w; p:=1.42; dt:=Per/500;

Vx:=V*cos(p); Vy:=V*sin(p); t:=0; r:=m*Vy/(q*B);

Repeat

ug:=w*t; x:=Vx*t; y:=r*sin(ug); z:=r*(1-cos(ug));



x1:=Round(x0+(x+z/3)*k); y1:=Round(y0-(y+z/60)*k);

PutPixel(x1,y1,6); Delay(50); t:=t+dt;

until (x1>620) or KeyPressed;

Readln; CloseGraph;

end.
3.12 Резонанс. Айнымалы ток тізбегінде f кернеу жиілігі 0–ден 2 МГц–ке дейін артқанда конденсатор мен индуктивті катушкадағы кернеудің және қуат пен cosφ өзгеруін моделдеңдер (10 сурет). Тізбектегі резонанс құбылысының параметрлерін анықтаңдар. Тізбекке берілетін синусоидалық кернеу шамасы U=20 В, белсенді кедергі R=8 Ом, катушка индуктивтілігі L=15 мкГн, конденсатор сыйымдылығы C=1,05 нФ.

10 сурет. Резонанс


Айнымалы токтың тармақталмаған тізбегі үшін төмендегі қатынастар орындалады:

мұнда f – айнымалы токтың жиілігі, ωбұрыштық жиілік, z – тізбектің толық кедергісі, R – белсенді кедергі, L – катушканың индуктивтілігі, C – конденсатор сыйымдылығы, i – ток күші, U – тізбекке берілген кернеу, φфаза ығысуы, P – белсенді қуат, UL индуктивті катушкадағы кернеу, UC конденсатордағы кернеу.



Rezonans программасы UL, UC, P, cosφ шамаларының кернеу жиілігіне тәуелділігінің графиктерін сызады және олардың резонанстық мәндерін анықтайды.

Program Rezonans;

uses Crt, Graph;

const R=8.0; L=15.0E-6; C=1.05E-9; U=20.0; x0=28; y0=462;

var Gd,Gm,x1,y1,j: integer;

w, f, frez, df, z, cosp, cosprez, UC, UL, Urez, i, P, Prez: real;

s: string;

begin


Gd:=Detect; InitGraph(Gd,Gm,''); SetColor(7); Line(0,y0,640,y0);

Line(x0,0,x0,480); Line(640,y0,630,y0-4); Line(640,y0,630,y0+4);

Line(x0,0,x0-4,10); Line(x0,0,x0+4,10);

SetColor(11); OutTextXY(560,y0-10,'f(∙105 Гц)');

OutTextXY(x0+8,0,'U(B)'); OutTextXY(16,y0+8,'0'); SetColor(8);

For j:=1 to 20 do

begin

str(30*j:3,s); line(x0-5,y0-30*j,640,y0-30*j);



OutTextXY(0,y0-30*j-8,s); str(j:2,s);

line(x0+30*j,0,x0+30*j,y0+5); OutTextXY(30*j+16,y0+8,s);

end;

SetTextStyle(7,0,2); SetColor(14); OutTextXY(160,2,'Rezonans napragenii');



SetTextStyle(0,0,1); SetColor(11);

Str(R:4:2,s); OutTextXY(200,44,'R = '+s+' Oм');

Str(L*1E6:4:2,s); OutTextXY(200,64,'L = '+s+'∙10-6 Гн');

Str(C*1E9:4:2,s); OutTextXY(200,84,'C = '+s+'∙10-9 Ф');

Str(U:4:2,s); OutTextXY(200,104,'U = '+s+' B');

f:=1; df:=200; frez:=f; Urez:=0; SetColor(14);

Repeat

w:=2*Pi*f; z:=sqrt(sqr(R)+sqr(w*L-1/(w*C)));



i:=U/z; UC:=i/(w*C); UL:=i*w*L;

x1:=Round(x0+f/3.3E3); y1:=Round(y0-UC);

PutPixel(x1,y1,10); y1:=Round(y0-UL);

PutPixel(x1,y1,12); Delay(10);

if UL>Urez then begin Urez:=UL; frez:=f; end;

f:=f+df;


until f>2E6;

SetColor(10); OutTextXY(324,390,'UC');

SetColor(12); OutTextXY(494,390,'UL'); SetColor(11);

Str(fmax/1E6:4:2,s); OutTextXY(200,124,'fmax = '+s+'∙106 Гц');

Str(Umax:3:0,s); OutTextXY(200,144,'Umax = '+s+' B');

Readln; ClearDevice;

SetColor(7); Line(0,y0,640,y0); Line(x0,0,x0,480);

Line(640,y0,630,y0-4); Line(640,y0,630,y0+4);

Line(x0,0,x0-4,10); Line(x0,0,x0+4,10);

SetColor(11); OutTextXY(560,y0-10,'f(∙105 Гц)');

OutTextXY(x0+8,0,'P(Bт)'); OutTextXY(16,y0+8,'0'); SetColor(8);

For j:=1 to 20 do

begin

str(5*j:3,s); line(x0-5,y0-40*j,640,y0-40*j);



OutTextXY(0,y0-40*j-8,s); str(j:2,s);

line(x0+30*j,0,x0+30*j,y0+5); OutTextXY(30*j+16,y0+8,s);

end;

SetTextStyle(7,0,2); SetColor(14); OutTextXY(200,2,'Zavisimost P(f)');



f:=1; df:=100; Prez:=0; frez:=0; SetColor(14);

Repeat


w:=2*Pi*f; z:=sqrt(sqr(R)+sqr(w*L-1/(w*C)));

i:=U/z; P:=sqr(i)*R; x1:=Round(x0+f/3.3E3); y1:=Round(y0-P*8);

PutPixel(x1,y1,10); Delay(10);

if P>Prez then begin Prez:=P; frez:=f; end;

f:=f+df;

until f>2E6;

SetTextStyle(0,0,1); SetColor(11);

Str(fmax/1E6:4:2,s); OutTextXY(200,64,'fmax = '+s+'∙106 Гц');

Str(Pmax:4:1,s); OutTextXY(200,84,'Pmax = '+s+' Bт');

Readln; ClearDevice;

SetColor(7); Line(0,y0,640,y0); Line(x0,0,x0,480);

Line(640,y0,630,y0-4); Line(640,y0,630,y0+4);

Line(x0,0,x0-4,10); Line(x0,0,x0+4,10);

SetColor(11); OutTextXY(560,y0-10,'f(∙105 Гц)');

OutTextXY(x0+8,0,'cosφ'); OutTextXY(16,y0+8,'0'); SetColor(8);

For j:=1 to 20 do

begin

str(0.1*j:3:1,s); line(x0-5,y0-40*j,640,y0-40*j);



OutTextXY(0,y0-40*j-8,s); str(j:2,s);

line(x0+30*j,0,x0+30*j,y0+5); OutTextXY(30*j+16,y0+8,s);

end;

SetTextStyle(7,0,2); SetColor(14); OutTextXY(200,2,'Zavisimost cosφ(f)');



f:=1; df:=200; cosprez:=0; frez:=0; SetColor(14);

Repeat


w:=2*Pi*f; z:=sqrt(sqr(R)+sqr(w*L-1/(w*C)));

cosp:=R/z; x1:=Round(x0+f/3.3E3); y1:=Round(y0-cosp*400);

PutPixel(x1,y1,10); Delay(10);

if cosp>cosprez then begin cosprez:=cosp; frez:=f; end;

f:=f+df;

until f>2E6;

SetTextStyle(0,0,1); SetColor(11);

Str(frez/1E6:4:2,s); OutTextXY(200,64,'frez = '+s+'∙106 Гц');

Str(cosprez:4:2,s); OutTextXY(200,84,'cosφrez = '+s);

Readln;


CloseGraph;

end.
3.13 Дросселді зерттеу. Өзегінің ұзындығы d=10 см, қима ауданы S=1 см2 және орам саны N=1000 болатын дросселге (11 сурет) жиілігі f=50 Гц тең әртүрлі кернеулер бергенде тізбектегі өлшеуіш құралдардың көрсетуі мына түрде болған:




i, А

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1,0

U, В

43,9

50,2

51,0

51,6

53,5

54,6

55,3

57,0

59,9

62,1

P, Вт

0,06

0,24

0,54

0,96

1,50

2,16

2,95

3,86

4,91

6,08


z(i), R(i), L(i), cosφ(i) және μ(i) тәуелділіктерінің сәйкес графиктерін тұрғызыңдар.

Берілген тізбек үшін z, R, L, cosφ және μ шамаларын есептеп табуға төмендегі формулаларды пайдаланамыз:



. μ0 = 1,26∙10-6 .


11 сурет. Дросселді зерттеу


Issledovanie_drossela программасы z(i), R(i), L(i), cosφ(i) және μ(i) тәуелді-ліктерінің диаграммаларын тұрғызады.
Program Issledovanie_drossela;

uses Crt, Graph;

const mi0=1.26E-6; k=10;

var Gd,Gm,x0,y0,x1,y1,ip,jp: integer;

i, U, R, z, f, w, L, mi, cosp, N, S, d: real; st: string;

Ue: array[1..k] of real;

Ie: array[1..k] of real;

Pe: array[1..k] of real;

Procedure Decart;

begin


SetColor(7); SetLineStyle(0,0,1); SetTextStyle(0,0,1);

Line(0,y0,640,y0); Line(x0,0,x0,480);

Line(640,y0,630,y0-4); Line(640,y0,630,y0+4);

Line(x0,0,x0-4,10); Line(x0,0,x0+4,10);

SetColor(11); OutTextXY(16,y0+8,'0');

end;


begin

{************************************************************}

d:=0.10; S:=1E-4; N:=1000; f:=50;

Ie[1]:=0.1; Ie[2]:=0.2; Ie[3]:=0.3; Ie[4]:=0.4; Ie[5]:=0.5;

Ie[6]:=0.6; Ie[7]:=0.7; Ie[8]:=0.8; Ie[9]:=0.9; Ie[10]:=1.0;

Ue[1]:=43.9; Ue[2]:=50.2; Ue[3]:=51.0; Ue[4]:=51.6; Ue[5]:=53.5;

Ue[6]:=54.6; Ue[7]:=55.3; Ue[8]:=57.0; Ue[9]:=59.9; Ue[10]:=62.1;

Pe[1]:=0.06; Pe[2]:=0.24; Pe[3]:=0.54; Pe[4]:=0.96; Pe[5]:=1.50;

Pe[6]:=2.16; Pe[7]:=2.95; Pe[8]:=3.86; Pe[9]:=4.91; Pe[10]:=6.08;

{************************************************************}

Gd:=Detect; InitGraph(Gd,Gm,''); SetTextStyle(7,0,4); SetColor(11);

OutTextXY(210,10,'D r o s s e l'); SetTextStyle(0,0,1); SetLineStyle(0,0,1);

OutTextXY(200,56,'(Opredeleie charakteristiki)'); SetColor(14);

OutTextXY(163,100,'U'); OutTextXY(110,112,'z = ------ ;');

OutTextXY(163,126,'i');

OutTextXY(318,100,'P'); OutTextXY(260,112,'R = ------- ;');

OutTextXY(315,126,'i2');

OutTextXY(496,100,'R'); OutTextXY(420,112,'cosφ = ------- ;');

OutTextXY(496,126,'z');

OutTextXY(160,170,'√(x2-R2)'); OutTextXY(110,182,'L = ----------- ;');

OutTextXY(200,196,'ω');

OutTextXY(410,170,'L∙d'); OutTextXY(330,182,'μ = ------------- ;');

OutTextXY(394,196,'μ0∙N2∙S');

SetColor(13); OutTextXY(240,280,'Rezultati izmerenii:'); x0:=12; y0:=310;

For jp:=0 to 2 do

begin


y1:=y0+jp*40; SetColor(13);

if jp=0 then OutTextXY(x0+14,y1+16,'i(A)')

else if jp=1

then OutTextXY(x0+14,y1+16,'U(B)')

else OutTextXY(x0+12,y1+16,'P(Вт)');

For ip:=0 to k do

begin

x1:=x0+ip*56; SetColor(9); Rectangle(x1,y1,x1+56,y1+40);



if ip>0 then begin

if jp=0 then str(Ie[ip]:4:1,st)

else if jp=1 then str(Ue[ip]:5:1,st)

else str(Pe[ip]:5:2,st);

SetColor(11); OutTextXY(x1+8,y1+16,st);

end;


end;

end;


Readln; ClearDevice;

x0:=36; y0:=460; Decart; OutTextXY(600,y0-15,'i(A)');

OutTextXY(x0+8,0,'z(Oм)'); SetColor(8);

For jp:=1 to 10 do

begin

str(50*jp:3,st); line(x0-5,y0-45*jp,540,y0-45*jp);



OutTextXY(6,y0-45*jp-8,st); str(0.1*jp:3:1,st);

line(x0+50*jp,0,x0+50*jp,y0+5);

OutTextXY(x0+50*jp-10,y0+8,st);

end;


SetTextStyle(7,0,2); SetColor(12); OutTextXY(220,10,'Zavisimost z(i)');

SetLineStyle(0,0,3);

For ip:=1 to k do

begin


z:=Ue[ip]/Ie[ip]; x1:=x0+ip*50; y1:=Round(y0-z); Line(x1,y1,x1,y0);

end;


Readln; ClearDevice;

Decart; OutTextXY(600,y0-15,'i(A)'); OutTextXY(x0+8,0,'R(Oм)'); SetColor(8);

For jp:=1 to 10 do

begin


str(jp:2,st); line(x0-5,y0-40*jp,540,y0-40*jp);

OutTextXY(16,y0-40*jp-8,st); str(0.1*jp:3:1,st);

line(x0+50*jp,50,x0+50*jp,y0+5); OutTextXY(x0+50*jp-10,y0+8,st);

end;


SetTextStyle(7,0,2); SetColor(9); OutTextXY(220,10,'Zavisimost R(i)');

SetLineStyle(0,0,3);

For ip:=1 to k do

begin


R:=Pe[ip]/sqr(Ie[ip]); x1:=x0+ip*50; y1:=Round(y0-R*40);

Line(x1,y1,x1,y0);

end;

Readln; ClearDevice;



Decart; OutTextXY(600,y0-15,'i(A)'); OutTextXY(x0+8,0,'cosf'); SetColor(8);

For jp:=1 to 10 do

begin

str(0.01*jp:4:2,st); line(x0-6,y0-40*jp,540,y0-40*jp);



OutTextXY(0,y0-40*jp-8,st); str(0.1*jp:3:1,st);

line(x0+50*jp,50,x0+50*jp,y0+5); OutTextXY(x0+50*jp-10,y0+8,st);

end;

SetTextStyle(7,0,2); SetColor(13); OutTextXY(220,10,'Zavisimost cosφ(i)');



SetLineStyle(0,0,3);

For ip:=1 to k do

begin

cosp:=Pe[ip]/(Ie[ip]*Ue[ip]); x1:=x0+ip*50; y1:=Round(y0-cosp*4000);



Line(x1,y1,x1,y0);

end;


Readln; ClearDevice;

Decart; OutTextXY(600,y0-15,'i(A)'); OutTextXY(x0+8,0,'L(Gn)'); SetColor(8);

For jp:=1 to 10 do

begin


str(0.2*jp:3:1,st); line(x0-5,y0-40*jp,540,y0-40*jp);

OutTextXY(6,y0-40*jp-8,st); str(0.1*jp:3:1,st);

line(x0+50*jp,50,x0+50*jp,y0+5); OutTextXY(x0+50*jp-10,y0+8,st);

end;


SetTextStyle(7,0,2); SetColor(14); OutTextXY(220,10,'Zavisimost L(i)');

w:=2*Pi*f; SetLineStyle(0,0,3);

For ip:=1 to k do

begin


L:=sqrt(sqr(Ie[ip]*Ue[ip])-sqr(Pe[ip]))/(sqr(Ie[ip])*w);

x1:=x0+ip*50; y1:=Round(y0-L*200); Line(x1,y1,x1,y0);

end;

Readln; ClearDevice;



Decart; OutTextXY(600,y0-15,'i(A)'); OutTextXY(x0+8,0,'μ'); SetColor(8);

For jp:=1 to 11 do

begin

str(100*jp:4,st); line(x0-5,y0-40*jp,540,y0-40*jp);



OutTextXY(0,y0-40*jp-8,st);

if jp<11 then

begin

str(0.1*jp:3:1,st); line(x0+50*jp,10,x0+50*jp,y0+5);



OutTextXY(x0+50*jp-10,y0+8,st);

end;


end;

SetTextStyle(7,0,2); SetColor(10); OutTextXY(220,10,'Zavisimost μ(i)');

w:=2*Pi*f; SetLineStyle(0,0,3);

For ip:=1 to k do

begin

L:=sqrt(sqr(Ie[ip]*Ue[ip])-sqr(Pe[ip]))/(sqr(Ie[ip])*w);



mu:=L*d/(mu0*sqr(N)*S); x1:=x0+ip*50; y1:=Round(y0-mu*0.4);

Line(x1,y1,x1,y0);

end;

Readln; CloseGraph;



end.



Достарыңызбен бөлісу:
1   ...   10   11   12   13   14   15   16   17   18




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет