Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2008, 21:39   #1
Romens
Новичок
Джуниор
 
Регистрация: 07.12.2008
Сообщений: 1
По умолчанию Помогите разобраться как это работает! Пожалуйста

cleardevice;
{fi[i] это масив наших данных}
for i:=1 to 10 do
begin
xx[i]:=i*i;
rel[i]:=-2*ln(fi[i]);
nor[i]:=-2*ln(sqrt(2*3.14)*(fi[i]));
end;

max1r:=0; min1r:=0; max1n:=0; min1n:=0;

{здесь поиск максимумов и минимумов}
for i:=1 to 10 do
begin
if rel[i]>=max1r then max1r:=rel[i]
else if rel[i]<min1r then min1r:=rel[i];
if nor[i]>=max1n then max1n:=nor[i]
else if nor[i]<min1n then min1n:=nor[i];
end;

{а что происходит дальше я вообще не понимаю...}
s1:=0;s2:=0;s3r:=0;s4r:=0;s3n:=0;s4 n:=0;

for i:=1 to 10 do
begin
s1:=s1+sqr(xx[i]);
s2:=s2+xx[i];
s3r:=s3r+rel[i];
s4r:=s4r+rel[i]*xx[i];
s3n:=s3n+nor[i];
s4n:=s4n+nor[i]*xx[i];
end;

del:=10*s1-s2*s2;
kr:=(10*s4r-s2*s3r)/del;
br:=(s1*s3r-s4r*s2)/del;
kn:=(10*s4n-s2*s3n)/del;
bn:=(s1*s3n-s4n*s2)/del;


maxr:=0;minr:=0;maxn:=0;minn:=0;
for i:=1 to 10 do begin
rela[i]:=(kr*xx[i]+br);
nora[i]:=(kn*xx[i]+bn);
if rela[i]>=maxr then maxr:=rela[i]
else if rela[i]<minr then minr:=rela[i];
if nora[i]>=maxn then maxn:=nora[i]
else if nora[i]<minn then minn:=nora[i];
end;

moveto(trunc(10+2*1),trunc(getmaxx/2-500*rela[1]/2/(max1r-min1r)));
for i:=1 to 10 do begin
x:=trunc(10+2*xx[i]);
y:=trunc(getmaxx/2-500*rela[i]/2/(max1r-min1r));
lineto(x,y);
end;

moveto(trunc(2*1+300),trunc(0.1*get maxx/2-500*nora[1]/2/(max1n-min1n)));
for i:=1 to 10 do begin
x:=trunc(300+2*xx[i]);
y:=trunc(0.1*getmaxx/2-500*nora[i]/2/(max1n-min1n));
lineto(x,y);
end;

for i:=1 to 10 do begin
x:=trunc(10+2*xx[i]);
y:=trunc(getmaxx/2-500*rel[i]/2/(max1r-min1r));
putpixel(x,y,white);
x:=trunc(300+2*xx[i]);
y:=trunc(0.1*getmaxx/2-500*nor[i]/2/(max1n-min1n));
putpixel(x,y,white);
end;
Romens вне форума Ответить с цитированием
Старый 08.12.2008, 22:16   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Я, конечно, все понимаю, только понять не могу - не как, а ЧТО это работает ))) Хоть опиши как-нибудь...
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться в поверхности: цилиндр это или нет Taisja Помощь студентам 7 18.06.2008 21:12
ГОРИТ ДИПЛОМ!!!! пожалуйста помогите разобраться с программой alexs2141 Фриланс 6 03.06.2008 20:30
Пожалуйста помогите разобраться) Atij1 Общие вопросы C/C++ 4 13.04.2008 20:32