Аналогичным образом создайте процедуры обработки всех кнопок-цифр.
Розрахувати річну економію від зменшення рівня захворюваності. Вихідні дані: 1) кількість днів непрацездатності через хвороби на 100 працівників до проведення заходів з поліпшення умов праці (Д1) — 2653; 2) кількість днів непрацездатності після проведення заходів (Д2) — 2131; 3) річна середньооблікова чисельність працівників, чол. (Ч3) — 347; 4) вартість виробленої товарної продукції за зміну на одного працівника промислово-виробничого персоналу, грн. (Зв) — 74; 5) вартість річної товарної продукції підприємства, грн. (Рп) — 122 235; 6) середньорічна чисельність промислово-виробничого персоналу, чол. (Чср) — 284; 7) середньорічна заробітна плата одного працівника разом з відрахуваннями на соцстрахування, грн. (Зр). — 2500; 9) умовно-постійні витрати у собівартості продукції, тис. грн. — 4596,0; 10) сума допомоги (Пд) – 600,0грн. Практическая работа № 4
Тема: Программа «Калькулятор»
Объекты: Form, Edit, Button
Цель работы. Создать программу «Калькулятор», выполняющую сложение и вычитание (см. рис. 13)
Теоретические сведения. Ход работы
Загрузите среду визуального программирования Delphi.
2. Измените заголовок формы с "Form1" на "Калькулятор" (без кавычек) и уменьшите ее размеры.
3. Сохраните форму в своей папке (File Þ SaveAll).
4. Расположите на форме поле редактирования Edit1 и соответствующие кнопки для цифр и математических действий (см. рис. 13).
5. В окне текста программы после раздела implementation введите описание переменных программы: var Form1: TForm1; {Эта запись уже есть в заготовке модуля} асcum: real; // аккумулятор oper: integer; // операция: 1 - '+'; 2 - '—‘; 0 — "выполнить" (кнопка "=") f: integer; { f = 0 ждем первую цифру нового числа, например, после выполнения операции, когда на индикаторе результат, f = 1 ждем остальные цифры. } 6. Запрограммируйте кнопки для цифр, создав процедуру обработки события onClick, следующим образом:
//процедура обработки нажатия кнопки 0
procedure TForml.ButtonOClicMSender: TObject); begin if f = 0 // первая цифра числа then begin Editl.Text:= '0'; f:= 1; // ждем остальные цифры end else if Editl.Text <> '0' // чтобы на индикаторе не было // нескольких нулей в начале числа then Editl.Text:= Editl.Text + '0'; end;
Аналогичным образом создайте процедуры обработки всех кнопок-цифр. Сохраните выполненную на данный момент форму в папке для работы 3.
8. Для обработки нажатия кнопки «Десятичная точка» создайте следующую подпрограмму. procedure TForml.ButtonZClick(Sender: TObject); begin if Editl.Text = '0' then begin Editl.Text: = ' 0, '; f:= 1; end; if Pos(',',Editl.Text) = 0 then Editl.Text:= Editl.Text + ','; end; В данном примере используется функция Pos, которая имеет следующие параметры: Pos(ps,s) - Позиция начала подстроки - Возвращает позицию первого вхождения подстроки ps в строку s. Если ps в s не входит, то возвращаемое значение - 0. Например, POS(‘Pasсal’, ’Object Pasсal’) будет равняться 8;
9. Выполнение нужной математической операции осуществляется в следующей подпрограмме процедуре: procedure DoOper; var numb: real; // число на индикаторе begin // accum содержит результат предыдущей // операции, oper — код операции, которую // надо выполнить. Операнд находится на индикаторе. numb:= StrToFloat(Forml.Editl.Text); case oper of 0: accum:= numb; 1: accum:= accum + numb; 2: accum:= accum — numb; end; Forml.Editl.Text:= FloatToStr(accum); end;
|