Program Atom4; uses graphABC,crt; const Ra=100; {радиус атома} Rc=15; {радиус ядра} Re=8; {радиус электрона} k=0.5; {коэффициент сжатия орбит электронов} Dr=30; {параметр изменения координат электрона} Step1=0.1; {шаг изменения положения электрона} Step=100; {время задержки - скорость движения электронов} var cx, cy, y, y1, y2, x, x1, x2, x3,y3:integer; I, I1, I2, I3: real; gd, gm: integer; begin cx:=windowwidth div 2; {определить центр экрана- положение ядра} cy:=windowheight div 2; setfontsize(15); //пишем текст SetFontColor(clGreen); SetFontStyle(fsBold); textout(cx-65,20,'Модель атома'); setbrushcolor(clYellow);//нарисовать ядро атома circle(cx,cy,Rc); setpencolor(clRed);//нарисуем плюс setpenwidth(3); line(cx-7, cy, cx+7, cy); line(cx, cy-5, cx, cy+5); i:=pi/4; {задать начальное положение 4 электронов} i1:=-pi/4; i2:=-pi/2; i3:=pi/2; setbrushstyle(bsClear); while not keypressed do {повторять, пока не нажата любая клавиша } begin x:=round(Ra*cos(i))+cx; Y:=round(k+Ra*sin(i))+cy; {определить координаты электронов} x1:=round((Ra+Dr)*cos(i1))+cx; y1:=round(k*(Ra+Dr)*sin(i1))+cy; x2:=round((Ra-Dr)*cos(I2))+cx; y2:=round(k*(Ra-Dr)*sin(i2))+cy; x3:=round((Ra-Dr)*cos(I3)*2.3)+cx; y3:=round (k*(Ra-Dr)*sin(I3)*2.3) +cy; setpencolor(clBlue); {установить синий цвет и нарисовать электроны} setpenwidth(3); circle(x,y,Re); setpencolor(clred); circle(x,y,Re-7); setpenwidth(3); circle(x1,y1,Re); setpencolor(clGreen); circle(x1,y1,Re-7); setpenwidth(3); circle(x2,y2,Re); setpencolor(clFuchsia); circle(x2,y2,Re-7); setpenwidth(3); circle(x3,y3,Re); setpencolor(clPurple); circle(x3,y3,Re-7); delay(Step); setpenwidth(3); setpencolor(clWhite); {нарисовать электроны цветом фона} circle(x,y,Re); circle(x1,y1,Re); circle(x2,y2,Re); circle(x3,y3,Re); i:=i+Step1; {задать изменение положения электронов} i1:=i1-Step1; i2:=i2+Step1; i3:=i3+Step1; end; {конец цикла} end.