- •Міністерство освіти і науки України
- •На курсову роботу з дисципліни "Проблемно-орієнтовані мови програмування" студенту групи кн-15 Головку р.М.
- •1.Формулювання задачі
- •2. Методи та засоби розв’язування задачі
- •3.Алгоритми розв’язування задачі
- •4.Програма та її опис
- •5.Технологія програмування, виконання та відлагодження програми
- •6.Інструкція користувачеві
- •7.Контрольний приклад та аналіз результатів комп’ютерної реалізації програми
- •Void Calculate(tEdit *Edit1, cCalc *Tc, char cd)
- •Void Numbers(tEdit *Edit1, cCalc *Tc, char num)
- •Void __fastcall tForm1::Button11Click(tObject *Sender)
- •Void __fastcall tForm1::Button31Click(tObject *Sender)
Void __fastcall tForm1::Button11Click(tObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (Edit1->Text.operator [](1)=='-')
Edit1->Text=Edit1->Text.Delete(1,1);
else if (Edit1->Text!="0,") Edit1->Text=Edit1->Text.Insert("-",1);
}
}
//===============================================================
//========================' , '==================================
void __fastcall TForm1::Button12Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (Edit1->Text!="0," && Tc->point==false)
Edit1->Text=Edit1->Text+',';
Tc->point=true;
}
}
//===============================================================
//========================' = '==================================
void __fastcall TForm1::Button17Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (Tc->a1)
{
Edit1->Text=FloatToStr(Tc->Action(StrToFloat(Edit1->Text)));
if (Tc->d=='e') Edit1->Text="Error!";
if (!Tc->b1) Tc->b1=true;
Tc->end=true;
}
}
}
//===============================================================
//========================================
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Tc->point=false;
}
//===============================================================
//================'корінь квадратний '==========================
void __fastcall TForm1::Button27Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (StrToFloat(Edit1->Text)>=0)
{
Edit1->Text=FloatToStr(pow(StrToFloat(Edit1->Text),0.5));
Tc->flag=true;
Tc->a1=false;
Tc->b1=false;
Tc->d='\0';
}
else
{
Edit1->Text="Error!";
Tc->d='e';
}
}
}
//===============================================================
//====================='квадрат'===============================
void __fastcall TForm1::Button28Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
Edit1->Text=FloatToStr(pow(StrToFloat(Edit1->Text),2));
Tc->flag=true;
Tc->a1=false;
Tc->b1=false;
Tc->d='\0';
}
}
//===============================================================
//===================='факторіал'==============================
void __fastcall TForm1::Button30Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (StrToFloat(Edit1->Text)>=0)
{
long double fact;
fact=1.0;
for (int i=1; i<(int)StrToFloat(Edit1->Text)+1; i++)
fact*=i;
Edit1->Text=FloatToStr(fact);
Tc->flag=true;
Tc->a1=false;
Tc->b1=false;
Tc->d='\0';
}
else
{
Edit1->Text="Error!";
Tc->d='e';
}
}
}
//===============================================================
//======================' Ln(x) '================================
Void __fastcall tForm1::Button31Click(tObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (StrToFloat(Edit1->Text)>0)
{
Edit1->Text=log(StrToFloat(Edit1->Text));
Tc->flag=true;
Tc->a1=false;
Tc->b1=false;
Tc->d='\0';
}
else
{
Edit1->Text="Error!";
Tc->d='e';
}
}
}
//===============================================================
//======================' Lg(x) '================================
void __fastcall TForm1::Button32Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (StrToFloat(Edit1->Text)>0)
{
Edit1->Text=FloatToStr(log10(StrToFloat(Edit1->Text)));
Tc->flag=true;
Tc->a1=false;
Tc->b1=false;
Tc->d='\0';
}
else
{
Edit1->Text="Error!";
Tc->d='e';
}
}
}
//===============================================================
//======================' Sin(x) '===============================
void __fastcall TForm1::Button33Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
float p;
if (RadioButton1->Checked) p=StrToFloat(Edit1->Text)*M_PI/180;
else p=StrToFloat(Edit1->Text);
Edit1->Text=FloatToStr(sin(p));
}
}
//======================' Cos(x) '===============================
void __fastcall TForm1::Button34Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
float p;
if (RadioButton1->Checked) p=StrToFloat(Edit1->Text)*M_PI/180;
else p=StrToFloat(Edit1->Text);
Edit1->Text=FloatToStr(cos(p));
}
}
//===============================================================
//===================' ArcSin(x) '===============================
void __fastcall TForm1::Button35Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (abs(StrToFloat(Edit1->Text))>1) Tc->d='e';
else
if (RadioButton1->Checked)
Edit1->Text=asin(StrToFloat(Edit1->Text))/M_PI*180;
else
Edit1->Text=asin(StrToFloat(Edit1->Text));
}
}
//===============================================================
//===================' ArcCos(x) '===============================
void __fastcall TForm1::Button36Click(TObject *Sender)
{
if (Tc->d=='e') Edit1->Text="Error!";
else
{
if (abs(StrToFloat(Edit1->Text))>1) Tc->d='e';
else
if (RadioButton1->Checked)
Edit1->Text=acos(StrToFloat(Edit1->Text))/M_PI*180;
else
Edit1->Text=acos(StrToFloat(Edit1->Text));
}
}
//===============================================================
//========================' MS '=================================
void __fastcall TForm1::Button21Click(TObject *Sender)
{
Tc->memory=StrToFloat(Edit1->Text);
Tc->mem=true;
}
//===============================================================
//========================' MR '=================================
void __fastcall TForm1::Button22Click(TObject *Sender)
{
if (Tc->mem) Edit1->Text=FloatToStr(Tc->memory);
}
//===============================================================
//========================' MC '=================================
void __fastcall TForm1::Button23Click(TObject *Sender)
{
Tc->mem=false;
}
//===============================================================
//========================' M+ '=================================
void __fastcall TForm1::Button24Click(TObject *Sender)
{
Tc->memory+=StrToFloat(Edit1->Text);
}
//===============================================================
//==========================' CE '===============================
void __fastcall TForm1::Button19Click(TObject *Sender)
{
Tc->a1=Tc->b1=Tc->point=Tc->end=Tc->flag=Tc->memory=false;
Tc->d='\0';
Edit1->Text="0,";
}
//===============================================================
//=========================' C '==================================
void __fastcall TForm1::Button20Click(TObject *Sender)
{
if (Tc->d!='e') Edit1->Text="0,";
}
//===============================================================
ЛІТЕРАТУРА
1) Кравець П. О. Методичні вказівки до виконання лабораторних робіт з дисципліни “Проблемно-орієнтовані мови програмування”, 2005.
2) Кравець П. О. Методичні вказівки до виконання курсової роботи з дисципліни “Проблемно-орієнтовані мови програмування”, 2005
3) Культин Н. С, С++ в задачах и примерах, Санкт-Петербург 2005.
4) Ричард Хезфилд, Лоуренс Кирби Исскуство программирования на С, Москва, Санкт-Петербург 2001
5) Павловская Т. А., Щупак Ю. А. С,С++ - программирование на языке високого уровня (Структурное программирование), Санкт-Петербург 2003
6) Романов Е. Л. Практикум по программированию на С++, Санкт-Петербург 2004
7) В.В. Войтенко С/С++ теорія та практика, навчально-методичний посібник.
8)Программирование в С++Builder 6 и 2006 (Архангельский А.Я., Тагин М.А., 2007)
9) Стівен Прата, Язык программирование С, 2002.