Добавил:
masterdos
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Т.С.П.П / Махинации с ТСПП / Махинации с ТСПП / ТПСПП_ира / ТПСПП_2 / ТПСПП_2 / vetvlenie
.cpp//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "math.h"
#include "vetvlenie.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
Edit3->Clear();
Edit4->Clear();
Edit5->Clear();
Edit6->Clear();
Label8->Caption="";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
if (IsCharAlpha(Key) || Key=='-' || Key=='.') Key=0;
if(Key==VK_RETURN) {Edit3->SetFocus(); return;}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit4KeyPress(TObject *Sender, char &Key)
{
if (IsCharAlpha(Key) || Key=='-' || Key=='.') Key=0;
if(Key==VK_RETURN) {Edit5->SetFocus(); return;}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit6KeyPress(TObject *Sender, char &Key)
{
if (IsCharAlpha(Key) || Key=='-' || Key=='.') Key=0;
if(Key==VK_RETURN) {Button1->SetFocus(); return;}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int a,x;
switch(RadioGroup1->ItemIndex) {
case 0:
x=StrToFloat(Edit7->Text);
if (x>1.1) {a=9-x;} else if(x<1.1) {a=(sin(3*x)/((x*x*x*x)+1));}
if (x==1.1) Label10->Caption="Для даного значення функція непередбачена";
else
{
Label10->Caption="Відповідь = "+FloatToStrF(a,ffFixed,5,3);
} break;
case 1: x=StrToFloat(Edit7->Text);
if (x>=7) {a=-(x*x);} else a=(pow(2,-x))/((x*x)-9);
{
Label10->Caption="Відповідь = "+FloatToStrF(a,ffFixed,5,3);
} break;
case 2: x=StrToFloat(Edit7->Text);
if (x>=13) {a=(-(x*x)-9);} else a=-(1/((x*x)+9));
{
Label10->Caption="Відповідь = "+FloatToStrF(a,ffFixed,5,3);
} break;
case 3: x=StrToFloat(Edit7->Text);
if (x<=0)
{
a=0;
}
else
{
if (x<=1)
{
a=x;
}
else
{
a=x*x*x*x;
}
{
Label10->Caption="Відповідь = "+FloatToStrF(a,ffFixed,5,3);
} break;
}} }
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
RadioGroup1->ItemIndex=0;
RadioGroup2->ItemIndex=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit7KeyPress(TObject *Sender, char &Key)
{
if (IsCharAlpha(Key) || Key=='-' || Key=='.') Key=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
Edit7->Clear();
Label10->Caption="Відповідь";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN) {Edit2->SetFocus(); return;}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit3KeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN) {Edit4->SetFocus(); return;}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit5KeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN) {Edit6->SetFocus(); return;}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String name1,name2,name3,bestName;
double res1,res2,res3,bestRes;
name1=Edit1->Text; name2=Edit3->Text; name3=Edit5->Text;
res1=StrToFloat(Edit2->Text);
res2=StrToFloat(Edit4->Text);
res3=StrToFloat(Edit6->Text);
if (res1-floor(res1)>=0.6) { ShowMessage("Введені некоректні дані"); Edit2->SetFocus();}
else if(res2-floor(res2)>=0.6){ ShowMessage("Введені некоректні дані"); Edit4->SetFocus();}
else if (res3-floor(res3)>=0.6){ ShowMessage("Введені некоректні дані"); Edit6->SetFocus();}
else{
if (res1<res2 && res1<res3) {bestName=name1;bestRes=res1;}
else
if (res2<res1 && res2<res3) {bestName=name2; bestRes=res2;}
else
{bestName=name3;bestRes=res3;}
Label8->Caption="Найкращий результат у "+bestName+" час= "+FloatToStr(bestRes);
} }
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit8KeyPress(TObject *Sender, char &Key)
{
if (((Key>='0') && (Key<='9')) || (Key=='-') || (Key==',') || (Key==VK_BACK))
return;
if(Key==VK_RETURN)
Button1->SetFocus();
Key=0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
Edit8->Clear(); Label12->Caption="Відповідь ";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
float x,f;
if((Edit8->Text).Length()==0)
{ShowMessage("Ви не заповнили поле 'x'!"); Edit8->SetFocus();}
else
{
x=StrToFloat(Edit8->Text);
switch(RadioGroup2->ItemIndex){
case 0: if((x>=0)&&(x<=1)) f=x*x-x; else f=x*x-sin(3.14*x*x); break;
case 1: if (x>=8) f=-x*x+x-9; else f=1/(pow(x,4)-6); break;
case 2: if (x>=-3,5) f=4*x*x+x*2-19; else f=-(2*x)/(-4*x+1); break;
case 3: if (x<=3) f=-x*x+3*x+9; else f=x/(x*x+1); break;}
Label12->Caption="Відповідь "+FloatToStrF(f,ffFixed,8,4);
}
}
//---------------------------------------------------------------------------