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

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

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





 

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

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