Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Программа построения множества силовых линий





 

program sil_linii;

uses graph,crt;

label 1,2,3,4,5;

type mas=array[1..10] of string;

mas1=array[1..3] of integer;

var

q1,q2,k,w,r,y1,y2,y,i,l,qq:integer;

x,x1,x2,x3,x4,fx,fy,r1,r2,r3,r4,r5,r6,u,o,a,a1,n:real;

p:mas;

aass:text;

t1:mas1;

t:mas1;

st:string;

ch,key,chh:char;

functionkey:boolean;

procedure grinit;

var gd,gm:integer;

begin

gd:=detect;

initgraph(gd,gm,'');

if graphresult<>grok then halt(1);

end;

procedure wait;

begin

repeat

until keypressed

end;

procedure mes1(tt,tt1:mas1;pp:mas);

begin

setcolor(250);

outtextxy(t[i],t1[i],p[k]);

end;

procedure lin(qq1,qq2,ll:integer;aa:real);

begin

y:=y2;

repeat

x3:=x-l/2;

x4:=x+l/2;

r1:=sqrt(sqr(x3)+sqr(y));

r2:=sqrt(sqr(x4)+sqr(y));

r5:=r1*r1*r1;

r6:=r2*r2*r2;

fx:=q1*x3/r5+q2*x4/r6;

fy:=(q1/r5+q2/r6)*y;

if fy=0 then exit;

x1:=y2*fx/fy;

x:=x+x1;

u:=y+130;

o:=x+320;

if (u<320) and (u>0) and (o<638) and (u*o>0) then

begin

writeln(aass,o,u);

putpixel(round(o),round(u),250);

end;

y:=y+y2;

until (y<220/y2);

end;

procedure lin1(qq1,qq2,ll:integer;aa:real);

begin

y:=y2;

repeat

x3:=x-l/2;

x4:=x+l/2;

r1:=sqrt(sqr(x3)+sqr(y));

r2:=sqrt(sqr(x4)+sqr(y));

r5:=r1*r1*r1;

r6:=r2*r2*r2;

fx:=q1*x3/r5+q2*x4/r6;

fy:=(q1/r5+q2/r6)*y;

if fy=0 then exit;

x1:=y2*fx/fy;

x:=x+x1;

u:=y+130;

o:=x+320;

if (u<320) and (u>0) and (o<638) and (u*o>0) then

begin

writeln(aass,o,u);

putpixel(round(o),round(u),250);

end;

y:=y+y2;

until (y>220/y2);

end;

procedure ugol(yy,aa:real;yy1,yy2,qq1,qq2:integer);

begin

repeat

if (q2>0) and (q1>0) then a:=a+a1*q1/q2

else

if q1=0 then a:=a+a1*0.5

else

if q2=0 then a:=a+a1

else

a:=a+a1*abs(q1/q2);

repeat

if(a>0) and (a<pi) then

begin

y2:=y1;

x:=l/2+y2/(sin(a)/cos(a));

end;

if (a>pi) and (a<2*pi) then

begin

y2:=-y1;

x:=l/2+y2/(sin(a)/cos(a));

end;

if (a>2*pi) and (a<3*pi) then

begin

y2:=y1;

x:=-l/2+y2/(sin(a)/cos(a));

end;

if (a>3*pi) and (a<4*pi) then

begin

y2:=-y1;

x:=-l/2+y2/(sin(a)/cos(a));

end;

lin(q1,q2,l,a);

lin1(q1,q2,l,a);

setfillstyle(10,2);

fillellipse(round(320+l/2),130,abs(q1),abs(q1));

fillellipse(round(320-l/2),130,abs(q2),abs(q2));

if a<2*pi then a:=a+a1;

until a>2*pi

until a>4*pi;

setcolor(250);

if q2<>0 then outtextxy(205,260,'q2='+' '+chr(abs(q2)+48));

if q1<>0 then outtextxy(430,260,'q1='+' '+chr(abs(q1)+48));

if q1>0 then outtextxy(455,260,'+') else

if q1<0 then outtextxy(455,260,'-');

if q2>0 then outtextxy(230,260,'+') else

if q2<0 then outtextxy(230,260,'-');

end;

{=====================}

BEGIN

assign(aass,'c:\aaasss.dat');

rewrite(aass);

grinit;

settextstyle(0,0,0);

setbkcolor(9);

t[1]:=10;

t[2]:=10;

t[3]:=200;

t1[1]:=360;

t1[2]:=380;

t1[3]:=310;

q1:=10;

q2:=10;

l:=300;

a1:=0.5;

y1:=2;

a:=0;

ugol(y,a,y1,y2,q1,q2);

i:=1;

k:=9;

i:=2;

k:=10;

wait;

closegraph;

close(aass);

end.

Движение заряженной частицы в магнитном поле

program Zar_mg_pole;

const N=2000;

var H,A,V,ALFA:REAL;

i:integer;

x,y,vx,vy:array[0..N] of real;

RR:TEXT;

begin

assign (RR,'C:\electron.DAT'); rewrite(RR);

A:=80; V:=1.4;

ALFA:=3.14*A/180;

h:=0.05;

x[0]:=1.0; y[0]:=0.0; VX[0]:=V*COS(ALFA);

VY[0]:=V*SIN(ALFA);

for i:=0 to N-1 do

begin

vx[i+1]:=VX[i]+h*vy[i]/x[i];

vy[i+1]:=vy[i]-h*vx[i]/x[i];

x[i+1]:=x[i]+vx[i]*h;

y[i+1]:=y[i]+vy[i]*h;

end;

for i:=0 to n do begin

writeln(RR,x[i],' ',y[i])

end;

close(RR);

end.

Возмущение орбиты электрона в однородном

Магнитном поле движущимся протоном

Program elipr;

Const b=0.000544662;

Const n=1200;

Var i:integer;

xe,ye,vxe,vye,xp,yp,vxp,vyp:array[0..n] of real;

ee,pp:text;

h:real;

begin

assign(ee,'C:\elektron.dat');rewrite(ee);

assign(pp,'C:\proton.dat');rewrite(pp);

h:=0.01;

xe[0]:=0;ye[0]:=-1;vxe[0]:=1;vye[0]:=0;

xp[0]:=0;yp[0]:=1;vxp[0]:=1;vyp[0]:=0;

for i:=0 to n-1 do

begin

xe[i+1]:=xe[i]+vxe[i]*h;

ye[i+1]:=ye[i]+vye[i]*h;

vxe[i+1]:=vxe[i]+h*(-vye[i]+(xp[i]-xe[i])/3*exp(abs(xp[i]-xe[i])));

vye[i+1]:=vye[i]+h*(vxe[i]+(yp[i]-ye[i])/3*exp(abs(yp[i]-ye[i])));

xp[i+1]:=xp[i]+vxp[i]*h;

yp[i+1]:=yp[i]+vyp[i]*h;

vxp[i+1]:=vxp[i]+b*h*(vyp[i]-(xp[i]-

xe[i])/3*exp(abs(xp[i]-xe[i])));

vyp[i+1]:=vyp[i]+(-b)*h*(vxp[i]+(yp[i]-

ye[i])/3*exp(abs(yp[i]-ye[i])));

end;

for i:=0 to n do begin

writeln(ee,xe[i],' ',ye[i]);

writeln(pp,xp[i],' ',yp[i])

end;

close(ee);

close(pp);

end.

Пространственный осциллятор

program os;

const w=2;n=1000;a=0.05;

var i:integer;

h,k,w1,w2,w3:real;

x,y,z,vx,vy:array [0..n] of real;

os1,os2,os3:text;

begin

assign(os1,'d:\os1.dat');rewrite(os1);

assign(os2,'d:\os2.dat');rewrite(os2);

assign(os3,'d:\os3.dat');rewrite(os3);

begin h:=0.02;w1:=2;w2:=2;w3:=2;

x[0]:=10;x[1]:=10;z[0]:=0;

y[0]:=10;y[1]:=10;z[1]:=0;

for i:=1 to (n-1) do begin

x[i+1]:=-w1*w1*x[i]*h*h+w*(y[i]-y[i-1])*h+2*x[i]-x[i-1]-a*(x[i]-x[i-1])*h;

y[i+1]:=-w2*w2*y[i]*h*h-w*(x[i]-x[i-1])*h+2*y[i]-y[i-1]-a*(y[i]-y[i-1])*h;

z[i+1]:=-w3*w3*z[i]*h*h+2*z[i]-z[i-1];

vx[i]:=(x[i]-x[i-1])/h;

vy[i]:=(y[i]-y[i-1])/h;

end;

for i:=0 to n do

begin

writeln(os1,x[i]+1000,y[i]+1000);

writeln(os2,i*h,' ',x[i]+1000);

writeln(os3,vx[i]+1000,vy[i]+1000);

end;

close(os1); close(os2); close(os3);

end;

Движение заряженных частиц

В кулоновском поле

program SG;

const N=1200;

var H,A,V,ALFA:real;

i:integer;

X,y,vx,vy:array [0..N] of real;

rr:text;

begin

assign (rr,'c:\m nb4.dat');rewrite(rr);

a:=60; v:=1.4;

alfa: =3.14*a/180;

h:=0.001;

x[0]:=1.0;y[0]:=0.0;

vx[0]:=v*cos(alfa);

vy[0]:=v*sin(alfa);

for i:=0 to N-1 do

begin

vx[i+1]:=vx[i]-h*ABS(x[i])/((x[i]*x[i]+y[i]*y[i])*

(sqrt(x[i]*x[i]+y[i]*y[i])));

vy[i+1]:=vy[i]-h*y[i]/((y[i]*y[i]+x[i]*x[i])*

(sqrt(x[i]*x[i]+y[i]*y[i])));

x[i+1]:=x[i]+vx[i]*h;

y[i+1]:=y[i]+vy[i]*h;

end;

for i:=0 to n do begin

writeln (rr,x[i],' ',y[i])

end;

close (rr);

end.







Дата добавления: 2015-10-12; просмотров: 395. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


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


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия