Калькулятор

                            <- Назад                  Вперед ->


Запустите среду программирования Lazarus (Приложения – Программирование – Lazarus).

 

Объект это существительное.  

 (То, что мы видим на экране это объекты.)

Свойства – это прилагательные.

(Они характеризуют объект. Их значения уже установлены автоматически при установке объекта на форму. Но Вы их можете менять.)
Form1 Форма

Name – Имя объекта

Caption – Значение надписи на объекте

Text – текст в окне ввода

Color – Цвет

Font – Шрифт. Имеет дополнительное меню свойств ( шрифт, начертание, размер букв)

Size – Размер
Batton1 Кнопка для запуска событийных процедур
Label1 Надпись на форме
Edit1 Окно для ввода текста
SpeedButton1 У кнопок SpeedButton, как и у других кнопок, имеется свойство Caption — надпись, но в этих кнопках оно обычно оставляется пустым, так как вместо надписи используется пиктограмма.

События – это действия пользователя при выполнении программы.
Если курсор находится над объектом, то пользователь может выбрать один из нескольких  разных способов действий. А программист может написать несколько программ реакции на эти события, если объект допускает над собой эти события.

  • OnClick – Одинарный щелчок по левой кнопке мыши.

Задание № 1.

1) Разместите на форме:

  •  три текстовых поля Edit1,  Edit2 для ввода числовых данных и Edit3 для вывода;
  • надписи Label1, Label2 и Label3 для обозначения имен текстовых полей;
  • кнопку Button1 для создания событийной процедуры сложения.

2) С помощью свойства Text измените надпись на кнопке a+b, ОЧИСТИТЕ текстовые поля и измените надписи Label на  число a, число b и результат

3) Измените надпись на Форме. В строке заголовка выведите текст Калькулятор.

4) Запустите проект. Введите в левое  текстовое поле число 5, а в среднее число 3. Щелкните по кнопке Сумма. Ничего не произошло, так как для кнопки не было написано никакой процедуры. Остановите проект.

5) Двойной щелчок мышью по кнопке Сумма  вызывает окно Unit1 (Программный код)   с пустой заготовкой событийной процедуры.  

 


6) Введите в Программный код оператор

Edit3.Text:=FloattoStr(StrtoFloat(Edit1.Text)+ StrtoFloat(Edit2.Text));

Преобразование строк
StrToFloat(s) преобразует символы из строки s в вещественное число
StrToInt(s) преобразует символы из строки s в целое число

7) Запустите проект. Введите любые два числа и проверьте, что получится

8) Поместите на форму и  запрограммируйте остальные 3 кнопки (разность, произведение, частное).

  • В языках программирования умножение обозначается звездочкой *, а деление – косой чертой /.
  • Предусмотрите запрет деления на нуль, в поле  Edit3 в этом случае должна появиться соответствующая надпись

if StrtoFloat(edit2.Text)=0 then edit3.text:='деление на 0' else ...

9) Создайте кнопку очистки текстовых полей  edit1.Text:='';

 

Задание №2. Создаем кнопку с изображением, используем в вычислениях переменные.

1) Для создания изображения формулы ab  воспользуйтесь текстовым процессором OpenOffice.org Writer.

  •  Выполните Вставка – Объекта – Формула. Воспользуйтесь конструктором или в поле ввода формулы наберите следующий текст a^{b}
  • Выполните снимок формулы ( Приложения – Стандартные – Сделать снимок экрана – Захватить выбранную область). Сохраните снимок в папке с проектом.

2) Разместите на форме кнопку SpeedButton1 вкладки  Additional.

3) Чтобы изображение появилось на кнопке, активизируйте свойство Glyph объекта SpeedButton1


4) Заметим, что программный код получается громоздким. Для компактной записи более сложных математических формул введем глобальные переменные.

 var

Form1:TForm1;

a,b:real;

 s:string;

5) Для  возведения числа a в степень b. Используйте формулу  ab =exp⁡(b*ln⁡(a))

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

  a:=StrtoFloat(edit1.Text);

  b:=StrtoFloat(edit2.Text);

  s:=FloattoStr(exp(b*ln(a)));

  edit3.Text:=s; 

6) Разместите на форме кнопку для вычисления logb⁡a , используйте правило приведения логарифма к новому основанию logb⁡a=ln(a)/ln(b), область определения – a>0, b>0, b<>1

7) Создайте кнопки вычисления синуса,  косинуса, тангенса и котангенса. Не забывайте о том, что градусная мера должна быть переведена в радианную.

Яндекс.Метрика

©   2012 - 2024