Кафедра: автоматика и инф. технологии
Лабораторная работа
На тему:
"Создание приложения вещественного деления в среде 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. Дополните программу обработчика события таким образом, чтобы перед операцией деления выполнялась проверка делителя на равенство нулю. В случае равенства нулю вместо деления в окне Edit3 должно отображаться сообщение "На ноль делить нельзя".
Решение: для этого вставьте в процедуру обработчика события 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;