50491 (610154), страница 5
Текст из файла (страница 5)
Лістинг програми
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double kv,td,tk,te;
try
{
kv = Edit1->Text.ToDouble();
if (kv<0)
{
throw Exception("Неверный формат данных");
}
}
catch(...)
{ MessageBox(Form1->Handle, "Неверный формат данных. Проверте данные.","Ошибка данных",
MB_ICONWARNING);
return;
}
//------------------------
try
{
td = Edit2->Text.ToDouble();
if (td<0)
{
throw Exception("Неверный формат данных");
}
}
catch(...)
{ MessageBox(Form1->Handle, "Неверный формат данных. Проверте данные.","Ошибка данных",
MB_ICONWARNING);
return;
}
//--------------------
try
{
tk = Edit2->Text.ToDouble();
if (tk<0)
{
throw Exception("Неверный формат данных");
}
}
catch(...)
{ MessageBox(Form1->Handle, "Неверный формат данных. Проверте данные.","Ошибка данных",
MB_ICONWARNING);
return;
}
//---------------------
try
{
te = Edit2->Text.ToDouble();
if (te<0)
{
throw Exception("Неверный формат данных");
}
}
catch(...)
{ MessageBox(Form1->Handle, "Неверный формат данных. Проверте данные.","Ошибка данных",
MB_ICONWARNING);
return;
}
//------------------
Series1->Clear();
Series2->Clear();
double v, f, fg,pr;
for (int i=1; i<150; i++)
{
v=20*log10(kv/i)-20*log10(sqrt(1+td*td*i*i))-20*log10(sqrt(1+te*te*i*i));
if (v>-2)
{ if(v<2)
{
pr=180-abs(fg);
if (pr>10)
{ Form1->Edit3->Text="Система не стійка";
}
if (pr<10)
{
Form1->Edit3->Text="Система не стійка";
}
if (pr>=10)
{
if (pr<=30)
{
Form1->Edit3->Text=pr;
}
}
Form1->Edit5->Text=fg;
}
}
f=-(3.14/2)-atan(i*td)-atan(i*te);
fg=57.3*f;
Series1->AddXY(i,v,"",clRed);
Series2->AddXY(i,fg,"",clBlue);
}
}
Размещено на Allbest.ru
0>0>0>0>150>2>10>