Студопедія
рос | укр

Головна сторінка Випадкова сторінка


КАТЕГОРІЇ:

АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія






Завдання першого рівня складності


Дата добавления: 2015-10-02; просмотров: 351



Задача №1.В данном варианте программы для каждой цифровой кнопки создана отдельная процедура обработки событий Click.

Implementation

{$R *.dfm}

Var

accum: real; // аккумулятор

oper: integer; // операция: 1 — '+'; 2 — '-';

// 0 — "выполнить" (кнопка "=")

f: integer;

// кнопка 0

procedureTForml.ButtonOClick(Sender: TObject);

Begin

if f = 0 // первая цифра числа

Then begin

Edit1.Text := '0';

f := 1; // ждем остальные цифры

End

Else

ifEdit1.Text <> '0'

// чтобы на индикаторе не было

// нескольких нулей в начале числа

thenEdit1.Text := Edit1.Text + 'О';

end;

 

// кнопка 1

procedureTForm1.Button1Click(Sender: TObject);

Begin

if f = 0 // первая цифра числа

Then

Begin

Edit1.Text := ‘1’;

f := 1; // ждем остальные цифры

End

elseEdit1.Text := Edit1.Text +'1';

end;

 

// кнопка 2

procedureTForml.Button2Click(Sender: TObject);

Begin

if (f = 0) // первая цифра числа

Then

Begin

Edit1.Text := '2';

f := 1; // ждем остальные цифры

End

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

end;

 

// кнопка 3

procedureTForml.Button3Click(Sender: TObject);

Begin

if f = 0

Then begin

Edit1.Text := '3';

f := 1;

End

elseEdit1.Text := Edit1.Text + '3';

end;

 

// кнопка 4

procedureTForml.Button4Click(Sender: TObject);

Begin

if f = 0 then

Begin

Edit1.Text := '4';

f := 1;

End

elseEdit1.Text := Edit1.Text + '4';

end;

// кнопка 5

procedureTForml.Button5Click(Sender: TObject);

Begin

if (f = 0)

Then begin

Edit1.Text := '5';

f := 1;

End

elseEdit1.Text := Edit1.Text +'5';

end;

 

// кнопка 6

procedureTForml.Button6Click(Sender: TObject);

Begin

if f = 0

Then begin

Edit1.Text := '6';

f := 1;

End

elseEdit1.Text := Edit1.Text + '6';

end;

 

// кнопка 7

procedureTForml.Button7Click(Sender: TObject);

Begin

if f = 0

Then begin

// первая цифра числа

Edit1.Text := '7';

f := 1;

End

elseEdit1.Text := Edit1.Text + '7';

end;

 

// кнопка 8

procedureTForml.Button8Click(Sender: TObject);

Begin

if f = 0

Then begin

Edit1.Text := '8';

f := 1;

End

elseEdit1.Text := Edit1.Text + '8';

end;

 

// кнопка 9

procedureTForml.Button9Click(Sender: TObject);

Begin

if f = 0 // первая цифра числа

Then begin

Edit1.Text := '9';

f := 1; // ждем остальные цифры

End

elseEdit1.Text := Edit1.Text + '9';

end;

 

// десятичная точка

procedureTForm1.ButtonZClick(Sender: TObject);

Begin

ifEdit1.Text = '0'

Then begin

Edit1.Text := '0,';

f := 1;

end;

if Pos(',',Edit1.Text) = 0

Then

Edit1.Text := Edit1.Text + ',';

end;

 

// выполнение операции

procedureDoOper;

Var

numb: real; // число на индикаторе

Begin

// accum содержит результат предыдущей

// операции, ореr — код операции, которую

// надо выполнить. Операнд находится

// на индикаторе.

numb := StrToFloat(Form1.Edit1.Text);

caseoper of

0: accum := numb;

1: accum := accum + numb;

2: accum := accum — numb;

end;

Form1.Edit1.Text := FloatToStr(accum);

end;

// кнопка "+".

procedureTForm1.ButtonPlusClick(Sender: TObject); { Надо выполнить предыдущую операцию, вывести результат на индикатор,

запомнить текущую операцию и установить режим ожидания первой цифры нового числа }

Begin

if f = О // ждем первую цифру, но пользователь // щелкнул на кнопке операции

then oper :=1 // запомним операцию

Else begin

// на индикаторе есть число

DoOper; // выполнить предыдущую операцию

oper:=1; // запомнить текущую операцию

f:=0; // ждем первую цифру нового числа

end;

end;

// кнопка "-"

procedureTForm1.ButtonMinusClick(Sender: TObject);

// см. комментарий к процедуре обработки OnClick на "+"

Begin

if f = 0 // ждем первую цифру

thenoper:= 2


<== предыдущая лекция | следующая лекция ==>
Завдання першого рівня складності | Завдання першого рівня складності
1 | <== 2 ==> | 3 | 4 | 5 |
Studopedia.info - Студопедия - 2014-2024 год . (0.209 сек.) російська версія | українська версія

Генерация страницы за: 0.209 сек.
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7