Кафедра: автоматика и инф. технологии
Лабораторная работа
На тему:
"Создание приложения вещественного деления в среде
Delphi".
Екатеринбург, 2008
Задание 1. Создайте приложение, реализующее ввод двух целых чисел, по щелчку на кнопке с символом "=" вычисляющее результат операции вещественного деления и выводящее значение результата на экран.
Решение:
Запустите Delphi и создайте новый проект (см. лаб. раб. №1). В окне Save
As
создайте новую папку для файлов проекта, папку назовите "Вещественное деление". Затем откройте созданную папку и задайте в поле Имя Файла
имя main
и щелкнете по кнопке Сохранить
. После сохранения файла модуля main.
pas
откроется окно сохранения проекта Save
Project
As
, в котором следует задать имя файла проекта Delenie
, а затем нажать кнопку Сохранить
.
1. Измените свойства формы. Измените надпись в заголовке формы с помощью Инспектора объектов в свойстве Caption
задайте новое значение "Вещественное деление двух целых чисел".
2. Разместите на форме компоненты Edit1, 2, 3, Label1, 2, 3, 4 и Button1, как показано на рис.2. Удалите текст Edit1, 2, 3 из соответствующих компонентов (воспользуйтесь свойством Text).
3. Задайте свойство Caption компонента Label1 значение "/", компонента Label2 значение "Делимое", для Label3 - "Делитель", для Label4 - "Частное", для Button1 - "=". Измените размеры символов и начертание соответствующих компонентов (см. лаб. раб. №1).
Рис.2 Пример формы с компонентами
Чтобы приложение выполняло вычисление при щелчке мышью на кнопке с изображением "=", следует написать код обработки этого события.
4. Выбелите на форме компонент Button1
, затем на странице события дважды щелкните мышью на пустом поле списка в событии OnClick
. После этого курсор получит фокус в окне Редактора кода.
5. В раздел описания переменных следует ввести следующее:
Var
A, b: integer;
C: real;
В тело обработки события введите текст:
A: =StrToInt (Edit1. text);
B: =StrToInt (Edit2. text);
C: =
A/
B;
Edit3.
text: =
FloatToStrF (
c,
ffGeneral, 7,4);
{преобразование вещественного числа в текстовую строку}
6. Запустите программу на выполнение при помощи команды RUN и проверти результат работы.
Задание 2. Дополните программу обработчика события таким образом, чтобы перед операцией деления выполнялась проверка делителя на равенство нулю. В случае равенства нулю вместо деления в окне Edit
Решение: для этого вставьте в процедуру обработчика события TForm1. Button1Click оператор if then else.
В тело процедуры введите дополнительный текст:
If b<>0 then begin
C: =A/B;
Edit3. text: =FloatToStrF (c, ffGeneral, 7,4);
End
Else
Edit3.
text: =’На ноль делить нельзя! ’;
Сохраните изменения и запустите программу на выполнение.
Задание 3. Измените программу, чтобы сообщение "На ноль делить нельзя!" выводилось красным цветом.
Решение: для этого дополните код следующим оператором:
Edit3.
Font.
Color: =
clRed;
{установить красный цвет шрифта}
Откомпилируйте и запустите программу на выполнение. Проверьте ее работу, задавая различные варианты решения. Обратите внимание, что в случае ввода в качестве делителя нуля, сообщение выводится красным цветом. Причем цвет шрифта остается красным, даже если при следующей итерации делитель не был равен нулю. Чтобы восстановить черный цвет шрифта в окне Edit3, дополните код модуля перед оператором if then else следующей строкой:
Edit3.
Font.
Color: =
clBlack;
{установить черный цвет шрифта}
Сохраните изменения и проверти работу программы. Обратите внимание, что текст сообщения "На ноль делить нельзя" отображается не целиком.
Задание 4. Измените программу, чтобы ширина окна Edit3 изменялась в ходе выполнения программы.
Решение: для того, чтобы ширина окна Edit3 изменялась в ходе выполнения программы, отредактируйте код модуля дополнив его следующими операторами:
Edit3.
Width: =130;
{увеличение ширины компонента Edit3}
Edit3.
Width: =81;
{восстановить первоначальную ширину}
Сохраните изменения и запустите программу на выполнение.
Задание 5. Измените программу таким образом, чтобы текст "На ноль делить нельзя" выводился в отдельном окне.
Решение:
Чтобы не вносить изменения в проект, созданный в предыдущих заданиях, сохраните проект под новым именем Delenie2
, а текст программы под именем - main2.
pas.
Отредактируйте текст модуля main2 следующим образом:
Begin
A: = StrToInt (Edit1. text);
B: = StrToInt (Edit2. text);
Edit3. text: = ‘ ‘;
If
b=0
then
ShowMessage (‘ На ноль делить нельзя!
‘)
Else begin
C: = A/B;
Edit3. text: = FloatTo Str (C);
End;
End;