- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::FormCreate(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
ЗАДАНИЕ 1
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
При x = 3.7410-2, y = –0.825, z = 0.16102 v = 1.0553.
Текст программы:
//--------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
double v,x,y,z,a1,a2,a3,a4;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
x=StrToFloat(Edit1->Text);
y=StrToFloat(Edit2->Text);
z=StrToFloat(Edit3->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Memo1->Lines->Clear();
Memo1->Lines->Add("Задача 1");
a1=1+pow(sin(x+y),2);
a2=fabs(x-(2*y)/(1+pow(x,2)*pow(y,2)));
a3=pow(x,fabs(y));
a4=pow(cos(atan(1/z)),2);
v=(a1/a2)*a3+a4;
Memo1->Lines->Add(FloatToStrF(v,ffFixed,10,4));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Lines->Add("Задача 1");
}
//---------------------------------------------------------------------------
Результат работы программы:
Ответ: При x = 3.7410-2, y = –0.825, z = 0.16102 v=0,0592.
ЗАДАНИЕ 2
Вычислить значение y в зависимости от выбранной функции φ(x), аргумент которой определяется из поставленного условия. Возможные значения функции φ(x): 2x, x2, х/3 (в оконном приложениии выбор выполнить с помощью компоненты RadioGroup). Предусмотреть вывод сообщений, показывающих, при каком условии и с какой функцией производились вычисления у.
, где
Текст программы:
//--------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//--------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
double x,y,f,z,a,b;
TForm1 *Form1;
//--------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------
Void __fastcall tForm1::Button1Click(tObject *Sender)
{
a=StrToFloat(Edit1->Text);
b=StrToFloat(Edit2->Text);
z=StrToFloat(Edit3->Text);
Memo1->Lines->Clear();
Memo1->Lines->Add("Задача №2");
if (z<1){ x=z; Memo1->Lines->Add("z<1");}
else /*if (z>=1)*/
{x=sqrt(pow(z,3)); Memo1->Lines->Add("z>=1");}
switch(RadioGroup1->ItemIndex){
case 0: f=2*x;
Memo1->Lines->Add("f(2*x)= "+FloatToStrF(f,ffFixed,8,6));
break;
case 1: f=pow(x,2);
Memo1->Lines->Add("f(x^2)= "+FloatToStrF(f,ffFixed,8,6));
break;
case 2: f=x/3;
Memo1->Lines->Add("f(x/3)= "+FloatToStrF(f,ffFixed,8,6));
break;
}
y=-M_PI*f+a*pow(cos(pow(x,3)),2)+b*pow(sin(pow(x,2)),3);
Memo1->Lines->Add("y="+FloatToStr(y));
}
//--------------------------------------------------------------------------
Void __fastcall tForm1::FormCreate(tObject *Sender)
{
Memo1->Lines->Clear();
Edit1->Text="0";
Edit2->Text="0";
Edit3->Text="0";
Memo1->Lines->Add("Задача №2");
Form1->Caption=("Задача №2");
}
//--------------------------------------------------------------------------
Результат работы программы:
Ответ: Вычислили значение у в зависимости от выбранной функции (например, х2), аргумент которой определяется из поставленного условия (в данном случае z>=1).
ЗАДАНИЕ 3
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x) – S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента x (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух–четырех позициях после десятичной точки.
Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания.
Текст программы:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
double a,b,h,s,y=1,x,r,z;
int k,t,n;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
a=StrToFloat(Edit1->Text);
b=StrToFloat(Edit2->Text);
h=StrToFloat(Edit3->Text);
n=StrToInt(Edit4->Text);
Memo1->Lines->Add(" S Y Z ");
for (x=a;x<b;x+=h)
{
r=1;t=0;s=0;
for (k=0;k<n;k++)
{
if (k==0) t=1;
else t=t*k;
r=(cos((k*M_PI)/4)/t)*pow(x,k);
s=s+r;
}
y=exp(x*cos(M_PI/4))*cos(x*sin(M_PI/4));
z=fabs(y-s);
Memo1->Lines->Add(" "+FloatToStrF(s,ffFixed,6,6)+" "+ FloatToStrF(y,ffFixed,6,6)+" "+FloatToStrF(z,ffFixed,6,15));
}
}
//---------------------------------------------------------------------------