Вычислить площадь треугольника двумя способами: по трем сторонам и по двум сторонам и углу по формулам
S = и S = a*b* sin(a^b), где p – полупериметр; a, b, c – стороны
Пошаговая инструкция для выполнения задания.
ÞИзмените свойство Caption окна Form1 на «Вычисление площади треугольника», а Name на MyFirstForm.
ÞДобавьте на форму 4 окна редактирования: Edit1, Edit2, Edit3, Edit4 и поменяете имена компонентов соответственно на InpA, InpB, InpC, Result. Для этого необходимо изменить соответствующие свойства Name в Инспекторе Объектов.
Þ Чтобы выровнять компоненты, нужно их выделить, затем выбрать пункт меню View/Alignment Palette и выбрать нужную кнопку.
ÞСотрите текст из окон редактирования (либо в самом компоненте, либо в свойстве Text).
ÞРядом с окнами редактирования поместите поясняющие надписи - компоненты Label1, Label2, Label3, Label4 и измените надписи у меток соответственно на « Введите сторону А», «Введите сторону B», «Введите сторону С» и «Площадь треугольника».Чтобы изменить надпись у Label1, необходимо выбрать компонент и в свойстве Caption ввести соответствующую строку.
|
|
ÞДобавьте компонент GroupBox1 и измените заголовок группы на «Способ вычисления».
ÞДля реализации выбора одного из двух вариантов вычисления площади поместите на контейнер радиокнопки RadioButton1 и RadioButton2, измените имена на GeronRadioButton и SinusRadioButton и поменяйте надписи на «По трем сторонам» и «По двум сторонам и углу».
ÞВ обработчике события OnCreate формы необходимо задать по выбранный по умолчанию способ вычисления (например, по трем сторонам), т.е. написать
GeronRadioButton.Checked:= true;
ÞПри нажатии на SinusRadioButton (событие OnClick) пользователь должен вводить угол между сторонами a и b. Для этого измените в обработчике события SinusRadioButtonClick надпись на метке Label3 «Величина угла в градусах», а в обработчике GeronRadioButtonClick – на «Введите сторону С»
ÞДобавьте на форму кнопку Button1, измените надпись (Caption) на кнопке на «Вычислить», а название на StartCountButton.
ÞОпределим действие, которое будет выполняться при нажатии на кнопку StartCount. При этом совершается событие OnClick. Нам необходимо записать операторы для вычисления суммы в обработчике этого события. Перейдите к нему можно одним из двух способов, описанных выше. В пустой обработчик добавьте
Uses Math
procedure TMyForm.StartCountButtonClick(Sender: TObject);
var
s,p: real; //площадь треугольника
a, b, c: integer; //стороны
begin
if ((InpA.Text <> ‘’) and (InpB.Text <> ‘’) and (InpC.Text <> ‘’))
then
begin
a:= StrToInt(InpA.Text); b:= StrToInt(InpB.Text);
if (GeronRadioButton.Checked = true)
then
c:= StrToInt(InpC.Text);
p:=(a+b+c)/2; //полупериметр
s:= sqrt(p*(p-a)*(p-b)*(p-c));
Result.Text:= FloatToStr(s);
end;
else
begin
p:= StrToInt(InpC.Text);
s:= a*b*sin(p*3.141592654/180);
Result.Text:= FloatToStr(s);
end;
end;
end.
ÞДобавьте на форму компонент ComboBox1. Измените имя на ColorComboBox. В нем мы будем изменять цвет фона у компонентов InpA, InpB, InpC при выборе соответствующего цвета из списка., например на желтый или серый. Для этого в свойстве Items необходимо набрать названия цветов, а в обработчике события OnChange компонента написать
|
|
case (ColorComboBox.ItemIndex) of
0: begin
InpA.Color:=clYellow;
InpB.Color:=clYellow;
InpC.Color:=clYellow;
end;
1: begin
InpA.Color:=clSilver;
InpB.Color:= clSilver;
InpC.Color:= clSilver;
end;
end;
ÞЗатем поместите на форму компонент CheckBox1, который будет следить за отображением ColorComboBox, т.е. есть галочка - выпадающий список появляется, нет – исчезает. Назовите его ColorSwitchShowCheckBox Таким образом, необходимо обрабатывать событие OnClick компонента ColorSwitchShowCheckBox
… if (ColorSwitchShowCheckBox.Checked = true)
then ColorComboBox.Visible:= true;
else ColorComboBox.Visible:= false; …
ÞОткомпилируйте и запустите приложение (F9).