08.12.2011, 18:07 | #11 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
|
08.12.2011, 18:07 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Упрощу вам решение проблемы - вот список аналогичных обсуждений Программа вычисления интеграла на Паскале Задача на Паскале Программа на паскале |
10.12.2011, 19:11 | #13 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Не, ну до чего настырный товарищ!
Ладно, вот Вам Ваш рой. Программа прерывается нажатием любой клавиши. Код:
uses graph,crt; var j,gd,gm,i,c,R,T,dLx,dLy,MaxX,MaxY,Lx,Ly,r0,t0:integer; x,y,k:array [1..1000] of integer; b:boolean; Begin randomize; gd:=detect; initgraph(gd,gm,'d:\tp7\units\'); c:=6; r0:=12; MaxX:=GetMaxX; MaxY:=GetMaxY; for i:=1 to 1000 do begin R:=Random(50); T:=Random(360); x[i]:=50+Round(7*Sqrt(R)*Cos(Pi*T/180)); y[i]:=50+Round(7*Sqrt(R)*Sin(Pi*T/180)); putpixel(x[i],y[i],c); end; Lx:=10; Ly:=Round(SQRT(sqr(r0)-sqr(Lx))); REPEAT Repeat b:=false; i:=0; repeat Inc(i); dLx:=Round(0.4*Abs(Lx))-Random(Round(0.4*Abs(Lx))); dLy:=Round(0.4*Abs(Lx))-Random(Round(0.4*Abs(Lx))); putpixel(x[i],y[i],0); x[i]:=x[i]+Lx+dLx; y[i]:=y[i]+Ly+dLy; If (x[i]<0) or (x[i]>MaxX) or (y[i]<0) or (y[i]>MaxY) then begin b:=true; x[i]:=x[i]-Lx-dLx; y[i]:=y[i]-Ly-dLy; putpixel(x[i],y[i],c); end else putpixel(x[i],y[i],c); delay(1); until b or (i=1000); Until b or KeyPressed; If KeyPressed then begin CloseGraph; Halt(0); end; t0:=Random(360); Lx:=Round(r0*Cos(t0*Pi/180)); Ly:=Round(r0*Sin(t0*Pi/180)); UNTIL 0=1; End. |
11.12.2011, 14:27 | #15 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
11.12.2011, 14:40 | #16 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
не могли бы вы пояснить некоторые моменты
x[i]:=50+Round(7*Sqrt(R)*Cos(Pi*T/180)); y[i]:=50+Round(7*Sqrt(R)*Sin(Pi*T/180)); я так понял что это "делание" роя круглым? А что это: Lx:=10; Ly:=Round(SQRT(sqr(r0)-sqr(Lx))); ------------------------------------ Inc(i); dLx:=Round(0.4*Abs(Lx))-Random(Round(0.4*Abs(Lx))); dLy:=Round(0.4*Abs(Lx))-Random(Round(0.4*Abs(Lx))); putpixel(x[i],y[i],0); x[i]:=x[i]+Lx+dLx; y[i]:=y[i]+Ly+dLy; |
11.12.2011, 17:29 | #19 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
|
|
11.12.2011, 18:52 | #20 (permalink) |
Member
Регистрация: 21.11.2011
Сообщений: 56
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Рахмет большой
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|