Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Написать программу для решения следующих четырех задач:
Рис. 1. Первая модальная форма
Исходные данные
A=3, B=4.
Ожидаемый результат
С=5.
Рис. 2. Вторая модальная форма
Исходные данные
V0=0, a=4, t=2.
Ожидаемый результат
V=8, t=8.
Y=A+B
Y=A/B
Y=A*B
Задача должна решаться в интерактивном режиме (см. рис. 3).
Рис. 3. Третья модальная форма
Исходные данные
A=2, B=4.
Ожидаемый результат
Или Y=7
Или Y=0,5
Или Y=8.
X=A+B
Y=A/B
Z=A*B
Исходные данные
A=2, B=4.
Ожидаемый результат
X=7
Y=0,5
Z=8.
Задача должна решаться в интерактивном режиме. На экран выводятся только выбранные пользователем значения (см. рис. 4).
Рис. 4. Четвертая модальная форма
Не забывайте по ходу выполнения лабораторной работы регулярно сохранять проект в этой папке. Иначе, в случае возникновения аварийной ситуации вам придется начинать выполнение работы с нуля.
Свойство |
Значение |
Описание |
Caption |
Не модальные окна |
|
DefaultMonitor |
dmMainForm |
|
Font\Size |
9 |
|
Position |
poScreenCenter |
|
WindowState |
wsMaximized |
Рис. 5. Редактирование списка пиктограмм
Свойство |
Значение |
Описание |
Images |
ImageList1 |
Выполнив п.п. настоящей инструкции вы сформировали основное окно приложения, назначение которого обеспечить различные способы доступа (основное меню, выпадающее меню, горячие клавиши, панель инструментов) ко всем задачам, решаемым приложением.
Свойство |
Значение |
Описание |
BorderStyle |
bsDialog |
|
Caption |
Задача № 1 |
|
Font\Size |
9 |
|
Position |
poMainFormCenter |
Свойство |
Значение |
Описание |
Align |
Bottom |
|
Caption |
Свойство |
Значение |
Описание |
Align |
alLeft |
|
Caption |
Исходные данные |
Свойство |
Значение |
Описание |
Align |
alClient |
|
Caption |
Результаты расчета |
Свойство |
Значение |
Описание |
Anchors\alLeft |
False |
|
Anchors\alTop |
False |
|
Anchors\alRight |
True |
|
Anchors\alBottom |
True |
|
Caption |
Выход |
|
ModalResult |
mrCancel |
Свойство |
Значение |
Описание |
Anchors\alLeft |
True |
|
Anchors\alTop |
True |
|
Anchors\alRight |
False |
|
Anchors\alBottom |
False |
|
Caption |
Расчет |
Свойство |
Значение |
Описание |
Text |
Свойство |
Значение |
Описание |
Caption |
&1-й катет |
|
FocusControl |
Edit1 |
Свойство |
Значение |
Описание |
Caption |
&2-й катет |
|
FocusControl |
Edit2 |
Свойство |
Значение |
Описание |
Align |
alClient |
|
Lines |
||
ReadOnly |
True |
|
ScrollBars |
ssVertical |
procedure TForm2.Edit1Change(Sender: TObject);
begin
Try
StrToFloat(Edit1.Text);
StrToFloat(Edit2.Text);
Button2.Enabled:=True;
Except
Button2.Enabled:=False;
end;
end;
procedure TForm2.Button2Click(Sender: TObject);
var
C:Real;
begin
C:=Sqrt(Sqr(StrToFloat(Edit1.Text))+
Sqr(StrToFloat(Edit2.Text)));
Memo1.Lines.Add('1-й катет '+Edit1.Text+' 2-й катет
'+Edit2.Text+' гипотенуза '+FloatToStr(C));
end;
Выполнив п.п. настоящей инструкции мы сформировали функциональность первого окна
Свойство |
Значение |
Описание |
Caption |
||
Hint |
Задача № 1 |
|
ImageIndex |
0 |
|
ShortCut |
Ctrl+A |
procedure TForm1.Action1Execute(Sender: TObject);
begin
Form2.Button1.Enabled:=False;
Form2.Button2.Enabled:=False;
Form2.Edit1.Text:='';
Form2.Edit2.Text:='';
Form2.Memo1.Clear;
Form2.ShowModal;
end;
Выполнив п.п. настоящей инструкции, вы создали процедуру Action1Execute, вызывающую форму Form2 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры реакции различных объектов.
Рис 6. Меню Линейные алгоритмы
Рис 7. Меню Ветвление
Свойство |
Значение |
Описание |
Caption |
Задача № 1 |
|
Action |
Action1 |
Выполнив п.п. настоящей инструкции вы запрограммировали возможность обращения к процедуре Action1 (вызов формы Form2) с помощью основного меню.
Рис 8. Выпадающее меню
Свойство |
Значение |
Описание |
Caption |
Задача № 1 |
|
Action |
Action1 |
Выполнив п.п. настоящей инструкции вы запрограммировали возможность обращения к процедуре Action1 (вызов формы Form2) с помощью выпадающего меню.
Свойство |
Значение |
Описание |
Action |
Action1 |
|
ShowHint |
True |
Выполнив п. настоящей инструкции, вы запрограммировали возможность обращения к процедуре Action1 (вызов формы Form2) с помощью кнопки на панели инструментов.
Свойство |
Значение |
Описание |
BorderStyle |
bsDialog |
|
Caption |
Задача № 2 |
|
Font\Size |
9 |
|
Position |
poMainFormCenter |
Свойство |
Значение |
Описание |
Align |
Bottom |
|
Caption |
Свойство |
Значение |
Описание |
Align |
alLeft |
|
Caption |
Исходные данные |
Свойство |
Значение |
Описание |
Align |
alClient |
|
Caption |
Результаты расчета |
Свойство |
Значение |
Описание |
Anchors\alLeft |
False |
|
Anchors\alTop |
False |
|
Anchors\alRight |
True |
|
Anchors\alBottom |
True |
|
Caption |
Выход |
|
ModalResult |
mrCancel |
Свойство |
Значение |
Описание |
Text |
Свойство |
Значение |
Описание |
Caption |
Начальная скорость |
|
FocusControl |
Edit1 |
Свойство |
Значение |
Описание |
Caption |
Ускорение |
|
FocusControl |
Edit2 |
Свойство |
Значение |
Описание |
Caption |
Время |
|
FocusControl |
Edit3 |
Свойство |
Значение |
Описание |
Text |
||
ReadOnly |
True |
Свойство |
Значение |
Описание |
Caption |
Конечная скорость |
Свойство |
Значение |
Описание |
Caption |
Расстояние |
procedure TForm3.Edit1Change(Sender: TObject);
var
A,T,V0,V,S:Real;
begin
Try
V0:=StrToFloat(Edit1.Text);
A:=StrToFloat(Edit2.Text);
T:=StrToFloat(Edit3.Text);
V:=V0+A*T;
S:=V0*T+A*Sqr(T)/2;
Edit4.Text:=FloatToStr(V);
Edit5.Text:=FloatToStr(S);
Button1.Enabled:=True;
Except
Button1.Enabled:=False;
End;
end;
Выполнив п.п. настоящей инструкции вы сформировали функциональность решения второй задачи
Свойство |
Значение |
Описание |
Caption |
||
Hint |
Задача № 2 |
|
ImageIndex |
1 |
|
ShortCut |
Ctrl+B |
procedure TForm1.Action2Execute(Sender: TObject);
begin
Form3.Edit1.Text:='';
Form3.Edit2.Text:='';
Form3.Edit3.Text:='';
Form3.Edit4.Text:='';
Form3.Edit5.Text:='';
Form3.Button1.Enabled:=False;
Form3.ShowModal;
end;
Выполнив п.п. настоящей инструкции, вы создали процедуру Action2Execute, вызывающую форму Form3 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры реакции различных объектов.
Свойство |
Значение |
Описание |
Caption |
Задача № 2 |
|
Action |
Action2 |
Свойство |
Значение |
Описание |
Caption |
Задача № 2 |
|
Action |
Action2 |
Свойство |
Значение |
Описание |
Action |
Action2 |
|
ShowHint |
True |
Выполнив п.п. настоящей инструкции вы запрограммировали возможность обращения к алгоритму решения второй задачи различными способами
Свойство |
Значение |
Описание |
BorderStyle |
bsDialog |
|
Caption |
Задача № 3 |
|
Font\Size |
9 |
|
Position |
poMainFormCenter |
Свойство |
Значение |
Описание |
Align |
Bottom |
|
Caption |
Свойство |
Значение |
Описание |
Align |
alLeft |
|
Caption |
Исходные данные |
Свойство |
Значение |
Описание |
Align |
alClient |
|
Caption |
Результаты расчета |
Свойство |
Значение |
Описание |
Anchors\alLeft |
False |
|
Anchors\alTop |
False |
|
Anchors\alRight |
True |
|
Anchors\alBottom |
True |
|
Caption |
Выход |
|
ModalResult |
mrCancel |
Свойство |
Значение |
Описание |
Caption |
Выберите способ расчета |
|
Items |
Y=A+B Y=A/B Y=A*B |
|
ItemIndex |
0 |
Свойство |
Значение |
Описание |
Text |
Свойство |
Значение |
Описание |
Caption |
A= |
|
FocusControl |
Edit1 |
Свойство |
Значение |
Описание |
Caption |
B= |
|
FocusControl |
Edit1 |
Свойство |
Значение |
Описание |
Text |
||
ReadOnly |
True |
|
Font\Size |
12 |
Свойство |
Значение |
Описание |
Caption |
Y= |
|
Font\Size |
12 |
procedure TForm4.Edit1Change(Sender: TObject);
var
A,B,Y:Real;
begin
try
A:=StrToFloat(Edit1.Text);
B:=StrToFloat(Edit2.Text);
case RadioGroup1.ItemIndex of
0: Y:=A+B;
1: Y:=A/B;
2: Y:=A*B;
end;
Edit3.Text:=FloatToStr(Y);
Button1.Enabled:=True;
except
Edit3.Text:='';
Button1.Enabled:=False;
end;
end;
Выполнив п.п. настоящей инструкции вы сформировали функциональность решения третьей задачи
Свойство |
Значение |
Описание |
Caption |
||
Hint |
Задача № 3 |
|
ImageIndex |
2 |
|
ShortCut |
Ctrl+С |
procedure TForm1.Action3Execute(Sender: TObject);
begin
Form4.Edit1.Text:='';
Form4.Edit2.Text:='';
Form4.Edit3.Text:='';
Form4.RadioGroup1.ItemIndex:=0;
Form4.Button1.Enabled:=False;
Form4.ShowModal;
end;
Выполнив п.п. настоящей инструкции, вы создали процедуру Action3Execute, вызывающую форму Form4 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры реакции различных объектов.
Свойство |
Значение |
Описание |
Caption |
Задача № 3 |
|
Action |
Action3 |
Свойство |
Значение |
Описание |
Caption |
Задача № 3 |
|
Action |
Action3 |
Свойство |
Значение |
Описание |
Action |
Action3 |
|
ShowHint |
True |
Выполнив п.п. настоящей инструкции вы запрограммировали возможность обращения к алгоритму решения третьей задачи различными способами
Свойство |
Значение |
Описание |
BorderStyle |
bsDialog |
|
Caption |
Задача № 4 |
|
Font\Size |
9 |
|
Position |
poMainFormCenter |
Свойство |
Значение |
Описание |
Align |
Bottom |
|
Caption |
Свойство |
Значение |
Описание |
Align |
alLeft |
|
Caption |
Исходные данные |
Свойство |
Значение |
Описание |
Align |
alClient |
|
Caption |
Результаты расчета |
Свойство |
Значение |
Описание |
Anchors\alLeft |
False |
|
Anchors\alTop |
False |
|
Anchors\alRight |
True |
|
Anchors\alBottom |
True |
|
Caption |
Выход |
|
ModalResult |
mrCancel |
Свойство |
Значение |
Описание |
Caption |
Выберите способ расчета |
Свойство |
Значение |
Описание |
Text |
Свойство |
Значение |
Описание |
Caption |
A= |
|
FocusControl |
Edit1 |
Свойство |
Значение |
Описание |
Caption |
B= |
|
FocusControl |
Edit2 |
Свойство |
Значение |
Описание |
Align |
alClient |
|
Lines |
||
ReadOnly |
True |
Свойство |
Значение |
Описание |
Caption |
X:=A+B |
Свойство |
Значение |
Описание |
Caption |
X:=A-B |
Свойство |
Значение |
Описание |
Caption |
X:=A*B |
procedure TForm5.Edit1Change(Sender: TObject);
var
A,B,X,Y,Z:Real;
begin
Button1.Enabled:=False;
Memo1.Clear;
Try
A:=StrToFloat(Edit1.Text);
B:=StrToFloat(Edit2.Text);
If CheckBox1.Checked
then
begin
X:=A+B;
Memo1.Lines.Add('X= '+FloatToStr(X));
Button1.Enabled:= true;
end;
If CheckBox2.Checked
then
begin
Y:=A-B;
Memo1.Lines.Add('Y= '+FloatToStr(Y));
Button1.Enabled:= true;
end;
If CheckBox3.Checked
then
begin
Z:=A*B;
Memo1.Lines.Add('Z= '+FloatToStr(Z));
Button1.Enabled:= true;
end;
Except
Button1.Enabled:=False;
end;
end;
Выполнив п.п. настоящей инструкции вы сформировали функциональность решения четвертой задачи
Свойство |
Значение |
Описание |
Caption |
||
Hint |
Задача № 4 |
|
ImageIndex |
3 |
|
ShortCut |
Ctrl+D |
procedure TForm1.Action4Execute(Sender: TObject);
begin
Form5.Edit1.Text:='';
Form5.Edit2.Text:='';
Form5.Memo1.Clear;
Form5.CheckBox1.Checked:=False;
Form5.CheckBox2.Checked:=False;
Form5.CheckBox3.Checked:=False;
Form5.Button1.Enabled:=False;
Form5.ShowModal;
end;
Выполнив п.п. настоящей инструкции, вы создали процедуру Action4Execute, вызывающую форму Form5 и внесли ее в список процедур для многократного вызова (из различных меню, кнопок и пр.), избавившись тем самым от необходимости многократно писать однотипные процедуры реакции различных объектов.
Свойство |
Значение |
Описание |
Caption |
Задача № 4 |
|
Action |
Action4 |
Свойство |
Значение |
Описание |
Caption |
Задача № 4 |
|
Action |
Action4 |
Свойство |
Значение |
Описание |
Action |
Action4 |
|
ShowHint |
True |
Выполнив п.п. настоящей инструкции вы запрограммировали возможность обращения к алгоритму решения третьей задачи различными способами
Свойство |
Значение |
Описание |
Caption |
||
Hint |
Выход |
|
ImageIndex |
5 |
|
ShortCut |
Ctrl+E |
procedure TForm1.Action5Execute(Sender: TObject);
begin
Close;
end;
1 Часть программы формируется автоматически. Полужирным шрифтом выделен текст, который набирается в ручную.