Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаРГР_Программирование.doc
Скачиваний:
5
Добавлен:
17.11.2019
Размер:
1.13 Mб
Скачать

2.3.1.1Компоненты PageControl и TabSheet

Компонент PageControl иногда называют блокнотом в стиле Windows. Компонент позволяет размещать в одном окне несколько страниц и обеспечивает возможность переключения с одной страницы на другую. Примером использования такого компонента может служить окно Object Inspector, в котором есть две страницы – Properties и Events.

Компонент PageControl обычно располагается на закладке Win32. Найдите его и разместите на форме. После этого установите курсор в поле компонента и нажмите правую кнопку мыши. В появившемся меню выберите функцию New Page. Проделайте это два раза. В результате должно появиться две страницы блокнота. Страницы блокнота - это тоже компоненты, которые являются объектами класса TTabSheet. У объектов этого класса есть свойство Caption. Используя это свойство, измените заголовки станиц в соответствии со своим вариантом. Мы же озаглавим страницы так: «Корень», «Синус».

2.3.1.2Компонент CheckBox

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

Основное свойство этого компонента Checked может принимать значения true или false (включено или выключено). Анализируя это свойство в программе, мы можем управлять ходом вычислений.

В нашем проекте компоненту CheckBox присвоим имя CheckSteps.

2.3.1.3Дополнительные требования к интерфейсу

В проекте предполагается ввод большого количества числовых исходных данных. Поэтому в проекте целесообразно обеспечить контроль ввода данных в текстовые поля, используя событие onKeyPress и процедуру TestRealKey, созданную в четвертой лабораторной работе. Эта процедура должна была быть создана во время лабораторных работ и храниться в модуле UnitDop. В этом же модуле должна быть и функция для расчета по формуле, соответствующей вашему варианту. Если вы не сохранили модуль, создайте процедуру и функцию заново и включите ее в модуль. Подключите модуль UnitDop к проекту.

Напишите процедуру инициализации всех закладок формы, которая обеспечит заполнение полей ввода данными, которые соответствуют контрольным примерам. Это ускорит отладку.

2.3.2Создание закладки для вычисления корня

2.3.2.1Интерфейс страницы вычисления корня

Страницу для вычисления корня оформим, используя известные компоненты TLabel, TEdit, TButton, OleContainer и TMemo. Вид этой страницы блокнота был представлен выше, на рисунке 2.5.

Компоненты, имена которых понадобятся при программировании, назовем так:

edtA – для ввода числа, из которого извлекается корень,

edtEps1 – для ввода точности вычислений,

edtResult1 – для вывода полученного результата вычислений,

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

2.3.2.2Процедура вычисления корня

Следует заметить, что для вычисления корня кубического правильнее было бы написать функцию, или процедуру, которая возвращала бы значение корня. У Вас будет возможность написать их при защите работы. Мы же напишем процедуру, которая будет вызываться по событию onClick для кнопки «Найти корень кубический».

Рассматриваемая процедура, представленная на рисунке 2.6.

Рисунок 2.6 - Процедура вычисления кубического корня

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

Процедура также обеспечивает вывод последовательных приближений в компонент MemoSteps.

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

Затем реализуется алгоритм, рассмотренный в пункте 2.2.1.

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