Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi_Ч1.doc
Скачиваний:
7
Добавлен:
02.11.2018
Размер:
2.38 Mб
Скачать

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

Вид страницы для вычисления синуса показан на рисунке 5.8.

Рисунок 5.8 – Закладка для вычисления синуса

Страницу оформлена как и предыдущая, с учетом особенностей вычисления ряда.

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

edtХ – ввод числа, для которого вычисляется синус,

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

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

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

      1. Создание процедур и функций Процедура для контроля ввода данных

Процедура testRealKey уже использовалась в предыдущих работах и должна содержаться в дополнительном модуле. Подключите дополнительный модуль и организуйте вызов этой процедуры через процедуру обработки события onKeyPreess для всех полей, куда вводятся исходные данные вещественного типа. В нашем случае это компоненты EditA, EditХ, EditEps1 и EditEps2. Код процедуры обработки события onKeyPreess представлен на рисунке 5.9.

Рисунок 5.9 - Процедура обработки события onKeyPress

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

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

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

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

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

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

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

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

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

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

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

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

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

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