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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.06.2011, 01:12   #1
Natashka Milashka
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 14
По умолчанию прокоментируйте пограмму в некоторых местах

В некоторых местах (я пометила вопросиками) мне не понятно....
Весь код программы я скинула для того что бы было понятно что к чему...
Код:
TColeb = class(TmathDU)
public
g,L,teta         : float;
t0,teta0, tetad0 : float;
shag, omega      : float;
n                : int;
vec              : vector;
result           : matrix;
function smallColeb (teta0, omega,t : float): float;
procedure N2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
var
Form1   : TForm1;
MathCol : TColeb;
implementation
uses Unit2;
{$R *.dfm}
function Tcoleb.smallColeb(teta0, omega, t : float): float;
begin
Result:=teta0*cos(omega*t);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,k          : int;
Tempcount      : int;
countl, countN : Int;
ti             : int;
tx,ty,eps : float;
matrix3      : matrix; // матрица для выполнения третьго задания
matL,matN    : matrix; // временные матрицы для выполнения третьго задания
begin
series1.Clear;
series2.Clear;
MathCol.t0:=StrToFloat(Edit4.Text);
MathCol.teta0:=StrToFloat(Edit2.Text);
MathCol.tetad0:=StrToFloat(Edit3.Text);
MathCol.L:=StrToFloat(Edit1.Text);
MathCol.n:=StrToInt(Edit5.Text);
MathCol.g:=StrToFloat(Edit6.Text);
eps:=StrToFloat(Edit7.Text);
MathCol.shag:=2*pi/(MathCol.n);
MathCol.omega:=sqrt(mathCol.g/mathCol.L);
StringGrid1.RowCount:=MathCol.n+3;
MathCol.teta0:=MathCol.teta0*pi/180;
MathCol.RungeKutt4(MathCol.shag,MathCol.omega,
MathCol.t0,MathCol.teta0,MathCol.tetad0,MathCol.n,1,MathCol.result);   ???
for i:=1 to MathCol.n+1 do ???
MathCol.vec[i]:=MathCol.result[i,2];        ???
if RadioButton1.Checked=true then
begin
Label8.Caption:=RadioButton1.Caption;
StringGrid1.Cells[2,0]:='Тета аналит';
for i:=1 to MathCol.n+1 do    ???
mathCol.result[i,3]:=mathCol.smallColeb(MathCol.teta0,MathCol.omega,
mathCol.result[i,1]);       ???
for i:=1 to MathCol.n+1 do   ???
begin
for j:=1 to 3 do
StringGrid1.Cells[j-1,i]:=FloatToStr(MathCol.result[i,j]);
StringGrid1.Cells[3,i]:=FloatToStr(MathCol.result[i,2]-MathCol.result[i,3]);
series1.AddXY(MathCol.result[i,1],MathCol.result[i,2]);
series2.AddXY(MathCol.result[i,1],MathCol.result[i,3]);
end;
end;
if RadioButton2.Checked=true then
begin
Label8.Caption:=RadioButton2.Caption;
StringGrid1.Cells[2,0]:='Тета мал чис';
MathCol.RungeKutt4(MathCol.shag,MathCol.omega,
MathCol.t0,MathCol.teta0,MathCol.tetad0,MathCol.n,2,MathCol.result);
for i:=1 to MathCol.n+1 do
mathCol.result[i,3]:=MathCol.vec[i];
for i:=1 to MathCol.n+1 do
begin
for j:=1 to 3 do
StringGrid1.Cells[j-1,i]:=FloatToStr(MathCol.result[i,j]);   ???
stringGrid1.Cells[3,i]:=FloatToStr(MathCol.result[i,2]-MathCol.result[i,3]);
series1.AddXY(MathCol.result[i,1],MathCol.result[i,2]); ???
series2.AddXY(MathCol.result[i,1],MathCol.result[i,3]);
end;
end;
if RadioButton3.Checked=True then
begin
Label8.Caption:=RadioButton3.Caption;
StringGrid1.Cells[1,0]:='Период лин';
StringGrid1.Cells[2,0]:='Период нелин';
StringGrid1.Cells[3,0]:='';
tx:=80/(MathCol.n+1);
for i:=1 to MathCol.n+1 do
begin
Matrix3[i,1]:=i*tx;
end;
for i:=1 to MathCol.n+1 do
begin
MathCol.RungeKutt4(MathCol.shag,MathCol.omega,MathCol.t0,matrix3[i,1],MathCol.tetad0,MathCol.n,1,matl);
MathCol.RungeKutt4(MathCol.shag,MathCol.omega,MathCol.t0,matrix3[i,1],MathCol.tetad0,MathCol.n,2,matn);
ti:=10;
Countl:=ti;
Countn:=ti;
tempcount:=0;
for k:=ti+1 to MathCol.n+1 do
begin
Inc(countN);   ???
if abs(matn[k,2]-matn[ti,2])<=eps then    ???
inc(tempCount);   ???
if tempcount=1 then break;
end;
if tempCount=0 then CountN:=1;
tempcount:=0;
for k:=ti+1 to MathCol.n+1 do
begin
inc(countL);          ???
if abs(matl[k,2]-matl[ti,2])<=eps then        ???
inc(tempCount);     ???
if tempcount=1 then break;
end;
if tempcount=0 then CountL:=1;            ???
matrix3[i,2]:=matl[CountL,1];         ???
matrix3[i,3]:=matn[countN,1];
end;
StringGrid1.RowCount:=Mathcol.n+2;   ???
For i:=1 to StringGrid1.RowCount do    ???
for j:=0 to mm do                   ???
StringGrid1.Cells[j,i]:=' ';
for i:=1 to MathCol.n+1 do
begin
StringGrid1.Cells[0,i]:=FloatToStr(matrix3[i,1]);
StringGrid1.Cells[1,i]:=FloatToStr(matrix3[i,2]);
StringGrid1.Cells[2,i]:=FloatToStr(matrix3[i,3]);
series1.AddXY(matrix3[i,1],matrix3[i,2]);
series2.AddXY(matrix3[i,1],matrix3[i,3]);
end;
end;
end;// конец процедуры

procedure TForm1.Button2Click(Sender: TObject);
var
MSWord:OLEvariant;
begin        //  открываем нашу теорию...
MsWord := CreateOleObject('Word.Application');
MSWord.Documents.Open(ExtractFilePath(Application.ExeName) + 'MathPendulum.doc');
MsWord.Visible := True;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
 Form2.Show;
 Form1.Enabled:=false;
end;
initialization
MathCol:=TColeb.Create;
end.
Natashka Milashka вне форума
Старый 07.06.2011, 01:43   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что программа-то хоть делает (какое задание)?
И используйте тег [CODE] (значок #) для сохранения форматирования и подсветки кода в сообщении.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума
Старый 07.06.2011, 06:25   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
MathCol.RungeKutt4(MathCol.shag,Mat hCol.omega,
 MathCol.t0,MathCol.teta0,MathCol.te tad0,MathCol.n,1,MathCol.result); ???
Вызов метода класса, по названию прдеполагаю, что реализация Рунге - Кутта 4-го порядка.

Код:
for i:=1 to MathCol.n+1 do ???
 MathCol.vec[i]:=MathCol.result[i,2]; ???
Цикл копирования результата.

Код:
StringGrid1.Cells[j-1,i]:=FloatToStr(MathCol.result[i,j]); ???
Результат в СтринГрид.

Код:
series1.AddXY(MathCol.result[i,1],MathCol.result[i,2]); ???
Результат в последовательнось для постройки графика.

И так далее, большинство вопросов у вас по стандартному дельфовому.
p51x вне форума
Старый 13.06.2011, 02:15   #4
Natashka Milashka
Пользователь
 
Регистрация: 14.05.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
MathCol.RungeKutt4(MathCol.shag,Mat hCol.omega,
 MathCol.t0,MathCol.teta0,MathCol.te tad0,MathCol.n,1,MathCol.result); ???
Вызов метода класса, по названию прдеполагаю, что реализация Рунге - Кутта 4-го порядка.

Код:
for i:=1 to MathCol.n+1 do ???
 MathCol.vec[i]:=MathCol.result[i,2]; ???
Цикл копирования результата.

Код:
StringGrid1.Cells[j-1,i]:=FloatToStr(MathCol.result[i,j]); ???
Результат в СтринГрид.

Код:
series1.AddXY(MathCol.result[i,1],MathCol.result[i,2]); ???
Результат в последовательнось для постройки графика.

И так далее, большинство вопросов у вас по стандартному дельфовому.
спасибо, вы мне помогли)))
Natashka Milashka вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прокоментируйте строчку... Natashka Milashka Общие вопросы Delphi 4 20.05.2011 07:54
Прокоментируйте код Romario92 Общие вопросы C/C++ 13 30.10.2010 22:49
Белый цвет становится прозрачным в некоторых местах Crystallon Общие вопросы Delphi 5 05.04.2010 18:13
Прога на подсчет значений функции: не разрешает в некоторых местах использование jo!! Masha)) Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 20.11.2009 20:24
Помогитпе написать пограмму в delphi Кот)) Свободное общение 0 01.11.2009 12:28