Ввести три числа - x,y,z. Вычислить по усмотрению u=sin(x), u=cos(x) или u=tg(x). Найти по выбору максимальное из трех чисел: max(u,y,z). Cоздать форму, представленную на рис. 2., и написать соответствующую программу.
Рис. 3
8. Создайте форму, скорректировав текст надписей и положение окон TEdit.
9. Выберите в меню компонентов Standard кмпонент ТCheckBox и поместите его в нужное место формы. С помощью инспектора объектов измените заголовок (Caption) на maxabs. В зависимости от того, нажата или нет кнопка, булева переменная CheckBox1.Checked будет принимать значение true или false.
10. Выберите в меню компонентов Standard пиктограмму и поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroup1. Замените заголовок (Caption) на U(x).
Для того, чтобы разместить на компоненте кнопки, необходимо свойство Columns установить равным единице (кнопки размещаются в одном столбце). Дважды щелкните по правой части свойства Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три строки с именами: в первой строке - cos(x), во второй - sin(x), в третьей - tg(x), нажмите ОК.
После этого на форме внутри окаймления появится три кнопки- переключателя с введенными надписями.
Обратите внимание на то, что в тексте программы появится переменная RadioGroup1 типа TRadioGroup. Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroup1−>ItemIndex будет находиться номер нажатой клавиши (отсчитывается от нуля), что используется в тексте приведенной программы.
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Text="0,1";
Edit2->Text="0,356";
Edit3->Text="0";
Memo1->Clear();
Memo1->Lines->Add("Рез-ты ст. гр.920201 Петрова И.И.");
}
//-----------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x,y,z,u,ma;
// Ввод исходных данных и вывод в окно Memo1
x=StrToFloat(Edit1->Text);
Memo1->Lines->Add("x="+Edit1->Text);
y=StrToFloat(Edit2->Text);
Memo1->Lines->Add("y="+Edit2->Text);
z=StrToFloat(Edit3->Text);
Memo1->Lines->Add("z="+Edit3-z=StrToFloat(Edit3->Text);
Memo1->Lines->Add("z="+Edit3->Text);
// Проверка номера нажатой кнопки и выбор //соответствующей ей функции
switch(RadioGroup1->ItemIndex)
{
case 0: u=cos(x); break;
case 1: u=sin(x); break;
case 2: u=tan(x); break;
}
if (CheckBox1->Checked) // Проверка состояния //кнопки CheckBox1
{
u=fabs(u);
y=fabs(y);
z=fabs(z);
}
// Нахождение максимального из трех чисел
if (u>y) ma=u; else ma=y;
if (z>ma) ma=z;
if (CheckBox1->Checked) Memo1->Lines->Add("maxabc="+
FloatToStrF(ma,ffFixed,8,6));
else Memo1->Lines->Add("max="+
FloatToStrF(ma,ffFixed,8,6)); }