Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Пример 3. Вычисление арифметического выражения




Дано: выражение Y:= A/(5-X);

текстовое поле LabeledEdit1 – для ввода значения A;

текстовое поле LabeledEdit2 – для ввода значения X;

текстовое поле LabeledEdit3 – для вывода значения Y;

процедура TForm1.LabeledEdit1KeyPress(Sender: TObject; var Key: Char) обеспечивает контроль ввода вещественных значений переменной A, аналогично примеру 1 или 2;

процедура TForm1.LabeledEdit2KeyPress(Sender: TObject; var Key: Char) обеспечивает контроль ввода вещественных значений переменной X;

Требуется: разработать процедуру, обеспечивающую вычисления значения Y после наступления события «Нажатие кнопки» (событие OnKeyPress).

 

После установки компонента TButton назначим событие OnKeyPress, 1 Object TreeView®Button1 1Object Inspector ®ÌEvents ®OnKeyPress, в разделе interface будет объявлена процедура Button1Click(Sender: TObject).

В разделе implementation появится текст шаблона этой процедуры.

 

Текст, добавленный разработчиком, выделен курсивом.

procedure TForm1.Button1Click(Sender: TObject);

Var A, X, Y: Real; //описание локальных переменных

Begin

{Преобразование строковых значений полей в вещественные переменные А и Х }

A:= StrToFloat(LabeledEdit1.Text);

X:= StrToFloat(LabeledEdit2.Text);

Y:= A/(5-X); //вычисление Y

{Преобразование вещественной переменной Y в строковое значение и вывод в поле LabeledEdit3}

LabeledEdit3.Text:=FloatToStr(Y);

End;

……….

Недостатки программы:

· аварийное завершение в случаях пустых значений в полях ввода;

· аварийное завершение при Х=5

Процедура ShowMessage

ShowMessage(const Msg: string) - выводит простое окно сообщения с кнопкой OK, и останавливает выполнение программы до нажатия кнопки.

Msg – строковая константа - сообщение

Заголовок окна сообщения соответствует названию приложения.

Пример 4. Простое сообщение

Дано: программа, вычисляющая выражение Y:= A/(5-X), см. пример 3.

Требуется: для исключения аварийного завершения программы, дополнить процедуру TForm1.Button1Click сообщениями о пустых полях ввода А и Х, и деления на 0 при Х=5.

 

На рисунке представлено окно сообщения, появляющееся при событии нажатия кнопки «Вычислить», если в окно Х не введено значение.

 

Введите А!
True
Начало
Схема алгоритма. Контроль пустых полей и деления на 0 procedure TForm1.Button1Click(Sender: TObject)    
Exit
Exit
поле LabeledEdit1 не пустое  
А присвоено значение поля LabeledEdit1  
Введите А!
False
поле LabeledEdit2 не пустое  
Х присвоено значение поля LabeledEdit2  
Х<>5  
Вычисление Y  
При Х=5 - деление на 0!
Конец
True
True
False
False
Вывод Y в поле LabeledEdit3  

Текст процедуры обработки события с проверкой пустых полей ввода и деления на 0 приведён ниже. Изменения выделены курсивом.

 

procedure TForm1.Button1Click(Sender: TObject);

Var A, X, Y: Real; //описание локальных переменных

Begin

if LabeledEdit1.Text <> '' //поле А не пустое

then A:= StrToFloat(LabeledEdit1.Text)

else begin ShowMessage('Введите А'); //сообщение

exit; //завершение процедуры

End;

if LabeledEdit2.Text <> '' //поле Х не пустое

then Х:= StrToFloat(LabeledEdit2.Text)

else begin ShowMessage('Введите Х'); //сообщение

exit; //завершение процедуры

End;

if X <> 5 // проверка деления на 0 при Х=5

Then begin

Y:= A/(5-X);

LabeledEdit3.Text:=FloatToStrF(Y, ffGeneral, 5, 3);

{Формат вывода: всего знаков – 7, после запятой - 3}

End

else ShowMessage('При Х=5 - деление на 0');

End;





Поделиться с друзьями:


Дата добавления: 2016-10-27; Мы поможем в написании ваших работ!; просмотров: 342 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Логика может привести Вас от пункта А к пункту Б, а воображение — куда угодно © Альберт Эйнштейн
==> читать все изречения...

2227 - | 2156 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.