Пример выполнения задания. Вычислить площадь треугольника двумя способами: по трем сторонам и по двум сторонам и углу по формулам

Вычислить площадь треугольника двумя способами: по трем сторонам и по двум сторонам и углу по формулам

S = и S = a*b* sin(a^b), где p – полупериметр; a, b, c – стороны

Пошаговая инструкция для выполнения задания.

Þ Измените свойство Caption окна Form1на «Вычисление площади треугольника».

Þ Добавьте на форму 4 окна редактирования: Edit1, Edit2, Edit3, Edit4 и поменяете имена компонентов соответственно на InpA, InpB, InpC, Result. Для этого необходимо изменить соответствующие свойства Nameв Инспекторе Объектов.

Þ Чтобы выровнять компоненты, нужно их выделить, затем выбрать пункт меню View/Alignment Palette и выбрать нужную кнопку.

Þ Сотрите текст из окон редактирования (либо в самом компоненте, либо в свойствеText).

Þ Рядом с окнами редактирования поместите поясняющие надписи - компоненты Label1, Label2, Label3, Label4 и измените надписи у меток соответственно на«Введите сторону А», «Введите сторону B», «Введите сторону С» и «Площадь треугольника».Чтобы изменить надпись у Label1, необходимо выбрать компонент и в свойстве Caption ввести соответствующую строку.

Þ Добавьте компонент GroupBox1 и измените заголовок группы на «Способ вычисления».

Þ Для реализации выбора одного из двух вариантов вычисления площади поместите на контейнер радиокнопки RadioButton1 и RadioButton2 и поменяйте надписи на «По трем сторонам» и «По двум сторонам и углу».

Þ В обработчике события OnCreate формы необходимо задать по выбранный по умолчанию способ вычисления (например, по трем сторонам), т.е. написать

{ RadioButton1->Checked = true; }

Þ При нажатии на RadioButton2 (событие OnClick) пользователь должен вводить угол между сторонами a и b. Для этого измените в обработчике события RadioButton2Click надпись на метке Label3 «Величина угла в градусах», а в обработчике RadioButton1Click – на «Введите сторону С»

Þ Добавьте на форму кнопку Button1, измените надпись (Caption) на кнопке на «Вычислить».

Þ Определим действие, которое будет выполняться при нажатии на кнопку Button1. При этом совершается событие OnClick. Нам необходимо записать операторы для вычисления суммы в обработчике этого события. Перейдите к нему можно одним из двух способов, описанных выше. В пустой обработчик добавьте

 

#include <math.h>

void __fastcall TForm1::Button1Click(TObject *Sender)

{ float s,p; //площадь треугольника

int a, b, c; //стороны

if ((InpA->Text != "")&&(InpB->Text != "")&&(InpC->Text != ""))

{ a = StrToInt(InpA->Text); b = StrToInt(InpB->Text);

if (RadioButton1->Checked == true)

{ c = StrToInt(InpC->Text);

p =(a+b+c)/2; //полупериметр

s = sqrt(p*(p-a)*(p-b)*(p-c));

Result->Text = FloatToStr(s);

}

else

{ p = StrToInt(InpC->Text);

s = a*b*sin(p*3.141592654/180);

Result->Text = FloatToStr(s); }

}

}

Þ Добавьте на форму компонент ComboBox1. В нем мы будем изменять цвет фона у компонентов InpA, InpB, InpC при выборе соответствующего цвета из списка., например на желтый или серый. Для этого в свойстве Items необходимо набрать названия цветов, а в обработчике события OnChange компонента написать

switch (ComboBox1->ItemIndex)

{case0: InpA->Color=clYellow; InpB->Color=clYellow; InpC->Color=clYellow;

break;

case1: InpA->Color=clSilver;InpB->Color=clSilver;InpC->Color=clSilver;break;}

Þ Затем поместите на форму компонент CheckBox1, который будет следить за отображением ComboBox1, т.е. есть галочка - выпадающий список появляется, нет – исчезает. Таким образом, необходимо обрабатывать событие OnClick компонента CheckBox1

{ if (CheckBox1->Checked == true)

ComboBox1->Visible = true;

else

ComboBox1->Visible = false;

}

Þ Откомпилируйте и запустите приложение (F9).