Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник лабораторных работ(Delphi).doc
Скачиваний:
33
Добавлен:
16.08.2019
Размер:
3.26 Mб
Скачать

Лабораторная работа №17 Примеры использования командных кнопок

Цель работы: освоить навыки работы с компонентами Edit, Label, Button, научиться использовать их в программе «калькулятор»

Студент должен

знать:

  • что такое процедурные типы;

  • как описывать различные типы данных;

  • как использовать условный оператор If;

  • как использовать операторы циклов с предусловием (while), постусловием (repeat) и с параметром (for);

уметь:

  • работать с различными типами данных;

  • преобразовывать функции;

  • использовать в своей программе строковые типы данных;

Примеры и задания

I.Рассмотрите приведенный ниже пример, поясните процедуры.

Пример.

Написать программу «калькулятор», предусмотреть ситуацию деления на ноль.

Рекомендуемый вид формы приложения представлен на рисунке.

var Form1: TForm1; B:Boolean; D:Integer; X:Real; implementation {$R *.dfm} procedure TForm1.Button10Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; If (Edit1.Text<>'0') or (Edit1.text='') Then Edit1.Text:=Edit1.Text+'0'; end; procedure TForm1.Button1Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'1'; end; procedure TForm1.Button2Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'2'; end; procedure TForm1.Button3Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'3'; end; procedure TForm1.Button4Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'4'; end; procedure TForm1.Button5Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'5'; end; procedure TForm1.Button6Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'6'; end; procedure TForm1.Button7Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'7'; end; procedure TForm1.Button8Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'8'; end; procedure TForm1.Button9Click(Sender: TObject); begin If B Then Edit1.Text:=''; B:=False; Edit1.Text:=Edit1.Text+'9'; end; procedure TForm1.Button11Click(Sender: TObject); begin X:=StrToFloat(Edit1.Text); D:=1; B:=True; end; procedure TForm1.Button12Click(Sender: TObject); begin X:=StrToFloat(Edit1.Text); D:=2; B:=True; end; procedure TForm1.Button13Click(Sender: TObject); begin X:=StrToFloat(Edit1.Text); D:=3; B:=True; end; procedure TForm1.Button14Click(Sender: TObject); begin X:=StrToFloat(Edit1.Text); D:=4; B:=True; end; procedure TForm1.Button15Click(Sender: TObject); begin Case D of 1: If Edit1.Text<>'0' then Edit1.Text:=FloatToStr(X/StrToFloat(Edit1.Text)) Else Begin Edit1.Text:=’ Делить на ноль нельзя!!!'; B:=True; End; 2: Edit1.Text:=FloatToStr(X*StrToFloat(Edit1.Text)); 3: Edit1.Text:=FloatToStr(X-StrToFloat(Edit1.Text)); 4: Edit1.Text:=FloatToStr(X+StrToFloat(Edit1.Text)); End; B:=True; end; procedure TForm1.Button17Click(Sender: TObject); begin If Edit1.Text<>'' then Edit1.Text:=Edit1.Text+','; end; procedure TForm1.Button16Click(Sender: TObject); begin X:=0; B:=False; D:=4; Edit1.Text:=''; end; end.

В отчете по лабораторной работе ответьте письменно на вопросы:

  1. С помощью какой функции преобразуются строковый и вещественный типы, и наоборот.

  2. С помощью какого свойства объектов TButon, TLabel и TForm можно менять надписи на компонентах.

  3. Где и каким образом в программе проверяются попытки деления на ноль?

  4. В каких целях применяется булева переменная «B», целочисленная переменная «D» и переменная х ?