3. Лабораторный практикум Лабораторная работа 1. Разработка приложения Калькулятор
Задание 1.
Откройте новый проект и создайте следующую форму.
Запрограммируем реакцию на щелчок на кнопке +. Для этого определим локальные переменные типа Integer (целые) и опишем выполнение операции сложения.
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:Integer; //объявление переменных
begin
a:=StrToInt(Edit1.Text); //перевод символа в целое число
b:=StrToInt(Edit2.Text);
c:=a+b; //сложение чисел
Label4.Caption:=IntToStr(c); //вывод результата, преобразование числа
// в символ
end;
Операция сложения будет выполняться только с целыми числами.
Задание 2.
Для выполнения сложения с вещественными числами изменим их тип и преобразование выполним из символа в вещественное число. Внесем соответствующие изменения.
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:Real;
begin
a:=StrToFloat(Edit1.Text); //перевод символа в вещественное число
b:=StrToFloat(Edit2.Text);
c:=a+b;
Label4.Caption:=FloatToStr(c);
end;
Запустите программу, проверьте результат выполнения. Разделителем при вводе вещественных чисел является запятая.
Задание 3.
Для того чтобы предусмотреть ввод неправильного символа используем функцию преобразования типов Val. При вызове функции необходимо указывать три параметра (откуда, куда, как).
Откуда – строка, которую требуется перевести в число;
Куда – переменная целого или вещественного типа;
Как – вспомогательная переменная целого типа, несущая информацию о качестве преобразования.
В разделе описания переменных добавим две вспомогательные переменные code1 и code2. Заменим несколько операторов и получим следующую процедуру.
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:Real;
code1,code2:Integer;
begin
Val(Edit1.Text,a,code1);
Val(Edit2.Text,b,code2);
if (code1=0)and(code2=0) then
begin
c:=a+b;
Label4.Caption:=FloatToStr(c);
end
else
Label4.Caption:='Введите числа правильно';
end;
При использовании функции Val числа записываются через десятичную точку. Запустите программу и сравните ее выполнение с предыдущим вариантом.
Задание 4.
В Delphi имеются специальные меры защиты кода для предотвращения аварийной блокировки программ. Одно из таких средств применение специальной конструкции языка:
try
защищаемый код
except
действие при возникновении аварийной ситуации
end;
В нашем примере. Не прибегая к услугам функции Val, мы могли бы написать.
try
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=a+b;
Label4.Caption:=FloatToStr(c);
except
Label4.Caption:='Введите числа правильно';
end;
Для того, чтобы эта конструкция сработала, в главном меню нужно выбрать Tools, Debugger Options, Language Exceptions (Инструменты, отладочные средства, Исключение языка) убрать флажок в окне Stop on Delphi Exceptions (Остановка по исключительным ситуациям).
Задание 5.
При выполнении деления чисел необходимо предусмотреть деление на ноль. Событийная процедуру будет иметь вид:
procedure TForm1.Button4Click(Sender: TObject);
begin
try
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
if b<>0 then
begin
c:=a/b;
Label4.Caption:=FloatToStr(c);
end
else Label4.Caption:='Деление на ноль';
except
Label4.Caption:='Введите числа правильно';
end;
Задание 6.
Добавьте кнопки для выполнения встроенных функций.
Некоторые стандартные функции языка.
Inc(x,n) - увеличивает целое число х на целое число n
Dec(x,n) – уменьшает целое число х на целое число n
Round(x) – округляет вещественное число х до ближайшего целого числа
Trunc(x) – усекает число вещественного типа к ближайшему целому числу
Int(x) – возвращает целую часть числа
Frac(x) –возвращает дробную часть числа
Abs(x) – модуль числа х
ArcTan(x) - arctg(x)
Cos(x) – cos(x)
Sin(x) – sin(x)
Sqr(x) – x2
Sqrt(x) -
Exp(x) - ex
Ln(x) – ln(x)
Pi – 3,141592653…
Задание 7.
Для дополнительных математических вычислений существует специальный модуль Math.
Подключение модуля Math.
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Math;
Для возведения числа в степень используется функция Power. Создадим соответствующую кнопку и опишем событийную процедуру.
procedure TForm1.Button5Click(Sender: TObject);
begin
try
a:=StrToFloat(Edit1.Text);
b:=StrToFloat(Edit2.Text);
c:=Power(a,b);
Label4.Caption:=FloatToStr(c);
except
Label4.Caption:='Введите числа правильно';
end;
end;
Задание 8.
Добавьте несколько дополнительных кнопок (3-5) для реализации функций модуля Math .
Задание 9.
Добавьте кнопку F(x) для подсчета значения функции. Функцию необходимо выбрать согласно своему варианту. Предусмотреть ввод неправильного символа, деления на ноль и других ограничений.
1. | 6. |
2. | 7. |
3. | 8. |
4. | 9. |
5. | 10. |
Задание 10.
Для кнопки Command8 - "F2 ()" также необходимо запрограммировать вычисление функции, которая представлена следующим выражением:
1, при x = 0 F2 (x) = 1
при x = 1 F2 (x) = 10
при x = 2 F2 (x) = 50
сообщение об ошибке, при других значениях x.
- 1. Теоретические основы объектно – ориентированного программирования 5
- 2. Использование системы программирования Delphi для создания Windows-приложений 9
- 3. Лабораторный практикум 27
- Введение
- 1. Теоретические основы объектно – ориентированного программирования
- 1.1.Объектная модель и ее элементы.
- 1.2.Основные понятия объектно-ориентированного подхода - объект и класс.
- 1.3.Методы построения классов.
- 2. Использование системы программирования Delphi для создания Windows-приложений
- 2.1. Интерфейс интегрированной среды разработки Delphi
- 2.2. Синтаксические правила языка Object Pascal
- 2.3. Создание и структура пользовательских приложений в среде Delphi
- 2.4. Структура модуля (*.Pas)
- 2.5. Создание формы и написание откликов на события
- 1) Компоновка формы и задание свойств компонентов
- 2) Написание отклика на событие
- 2.6. Компиляция и исполнение программы
- 2.7. Ввод и вывод данных. Функции преобразования типов данных
- 3. Лабораторный практикум Лабораторная работа 1. Разработка приложения Калькулятор
- Лабораторная работа 2. Использование курсоров в приложениях Windows.
- Лабораторная работа 4. Создание простого текстового редактора.
- Лабораторная работа 5. Рисование мышью в форме
- Лабораторная работа 6. Применение графических компонентов
- Лабораторная работа 7.Создание числовых изображений
- Лабораторная работа 8. Создание текстурных заливок
- Лабораторная работа 9. Поддержка справочной системы. Создание всплывающих подсказок.
- Лабораторная работа 10.Создание видеопроигрывателя
- Лабораторная работа 12.Создание браузера
- Лабораторная работа 13. Работа с внешним файлом.
- Лабораторная работа 14. Работа с базами данных.
- Лабораторная работа 15. Создание многооконных приложений.
- Литература Основная литература
- Дополнительная литература