LOGO
Главная Регистрация Вход RSS
Приветствую Вас, Гость
Категории раздела
Статистика
Яндекс.Метрика
Поделиться
Реклама
Вход на сайт
Популярное
[14.10.2015][ОГЭ]
Площадь четырёхугольника можно вычислить по формуле s=d1*d2*sin a/2 , где d1 и d2 — длины диагоналей четырехугольника, а —угол между диа (0)
[11.03.2016][ОГЭ]
Найдите площадь квадрата, описанного около окружности радиуса 9. (0)
[21.12.2014][ЕГЭ (П)]
Диагональ правильной четырёхугольной призмы наклонена к плоскости основания под углом 30°. Боковое ребро равно 3. Найдите диагональ призмы. (0)
[15.04.2015][ЕГЭ (П)]
В прямоугольном параллелепипеде ABCDA1B1C1D1 известны длины рёбер: АВ = 3, AD = 4, АА1 = 32. Найдите площадь сечения, про¬ходящего через вер (0)
[21.12.2014][ЕГЭ (П)]
Корень(9 - 4*корень(5)) - корень(5) или √9-4√5-√5 (0)
[21.12.2014][ЕГЭ (П)]
В случайном эксперименте симметричную монету бросают триж¬ды. Найдите вероятность того, что решка выпадет все три раза (0)
[14.10.2015][ОГЭ]
12. На клетчатой бумаге с размером клетки 1x1 изображён параллелограмм. Найдите его пло¬щадь (0)
[29.01.2016][ОГЭ]
Биссектриса равностороннего треугольника равна 9Корень(3) . Найдите его сторону. (0)
[11.02.2016][ОГЭ]
На клетчатой бумаге с размером клетки 1x1 изображена трапеция. Найдите длину её средней линии. (0)
[14.10.2015][ОГЭ]
После уценки телевизора его новая цена составила 0,57 старой. На сколько процентов уменьшилась цена телевизора в результате уценки? (0)
Главная » Статьи » Программирование » Pascal, Delphi, Lazarus

Lazarus. Калькулятор.

Сегодня,  наконец, закончим основу для простейшего калькулятора.

Рис. 11.1 Интерфейс программы калькулятор.

Для каждой кнопки с цифрой уже прописано:

form1.Edit1.Text:=form1.Edit1.Text+номер кнопки;

Теперь необходимо сделать так, чтобы после ввода первого числа при нажатии на операции происходила запись числа в переменную и очистка поля ввода.

Для  записи будем использовать обычную переменную вещественного типа.

А очистить поле можно так:

form1.Edit1.Text:='';

Но встает вопрос как же отличать операции? Давайте создадим целочисленную переменную в которую будем записывать цифру соответствующую операции.

1-    Сложение

2-    Вычитание

3-    Умножение

4-    Деление

И при нажатии на кнопку операции будем вносить эти значения в переменную.

А затем при нажатии на равно будем брать второе число и при помощи оператора Case будем выбирать какую же операцию сделать.

Для вычитания обработчик будет выглядеть так:

 

  x1:=strtofloat(edit1.Text);

  form1.Edit1.Text:='';

  op:=2;

 

Здесь x1-это переменная, в которую запишем первое число, op-код операции.

 Вот обработчик кнопки равно:

procedure TForm1.Button17Click(Sender: TObject);

begin

  x2:=strtofloat(edit1.Text);

  form1.Edit1.Text:='';

  case op of

  1:edit1.Text:=floattostr(x1+x2);

  2:edit1.Text:=floattostr(x1-x2);

  3:edit1.Text:=floattostr(x1*x2);

  4:edit1.Text:=floattostr(x1/x2);

  end;

end;

Тут x2-второе число.

Как видно для результата не создается специальная переменная, а сразу вставляется выражение соответствующее коду.

После того, как  все обработчики событий будут прописаны остается только создать кнопку для очистки поля ввода. Вот ее обработчик:

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  form1.Edit1.Text:=form1.Edit1.Text+'2';

end;

Рис. 11.2 Итоговый вид программы калькулятор.

 

Практическое задание.

1.     Вставить в калькулятор функцию извлечения корня.

2.     Вставить функцию возведения в квадрат.

3.     Вставить функции тригонометрии.

Категория: Pascal, Delphi, Lazarus | Добавил: Псих (04.08.2013)
Просмотров: 12818 | Рейтинг: 0.0/0