- •Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- •Содержание
- •4.1.4 Разработка интерфейса проекта 66
- •5.1.7 Разработка интерфейса проекта 81
- •Введение
- •Лабораторная работа № 1. Знакомство с интегрированой средой разработки (иср)“Delphi 7”
- •Краткие теоретические сведения о иср “Delphi 7”
- •Конструктор стартовой формы
- •Главное окно иср “Delphi 7”
- •Главное меню
- •Панели инструментов
- •Палитра компонентов
- •Окно просмотра дерева объектов
- •Окно редактора кода
- •Закладка редактора кода модуля
- •Закладка редактора кода файла проекта
- •Окно Object Inspector
- •Закладка описания свойств объекта
- •События и процедуры обработки событий
- •Создание простейшего проекта
- •Разработка интерфейса проекта
- •Создание процедуры инициализации приложения
- •Создание процедуры вычисления результата
- •Улучшение проекта
- •Сохранение проекта
- •Продолжение работы с проектом на другом компьютере
- •Содержание отчета
- •Контрольные вопросы и задания
- •Рекомендованая литература
- •Лабораторная работа № 2. Вещественный тип данных. Расчеты по формулам
- •Краткие теоретические сведения
- •Язык программирования Object Pascal
- •Объекты, переменные и константы
- •Классы и типы
- •Объявление объектов и переменных
- •Вещественный тип данных
- •Выражение
- •Стандартные функции для данных вещественного типа
- •Инструкция присваивания
- •Форматирование результатов расчетов
- •Создание проекта «Расчет по формуле»
- •Создание интерфейса
- •Компонент ole-контейнер
- •Компонент Group Box
- •Компонент Memo
- •Завершение работы над интерфейсом
- •Создание процедур обработки событий Процедура очистки протокола
- •Процедура инициализации формы
- •Процедура выполнения расчета по формуле
- •Контольный пример
- •Трассировка процедуры
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
- •Лабораторная работа № 3. Подпрограммы Краткие теоретические сведения
- •Правила написания подпрограмм
- •Описание процедуры
- •Вызов процедуры
- •Описание функции
- •Вызов функции
- •Способы передачи параметров в подпрограммы
- •Передача параметров по значению
- •Передача параметров по наименованию
- •Расположение подпрограмм
- •Подпрограммы обработки событий класса формы
- •Другие подпрограммы класса формы
- •Размещение подпрограмм в модуле
- •Размещение подпрограмм в других модулях
- •Размещение подпрограмм внутри других подпрограмм
- •Область действия имен
- •Реализация проекта «Процедуры и функции»
- •Создание процедур и функций Процедуры инициализации
- •Процедура считывания коэффициентов уравнения
- •Функция для расчета по формуле
- •Использование дополнительного модуля
- •Завершение работы над проектом
- •Исследование созданного приложения
- •Анализ передачи параметров по наименованию
- •Анализ передачи параметров по значению
- •Содержание отчета
- •Контрольные вопросы
- •Операции над логическими данными
- •Логические выражения
- •Разветвляющиеся алгоритмы
- •Программирование разветвлений Условный оператор if…then…else
- •Оператор варианта case
- •Реализация проекта «Организация разветвлений»
- •Разработка интерфейса проекта
- •Компоненты для работы со списками
- •Процедуры обработки событий выбора из списка
- •Процедуры обработки событий onKeyPress
- •Решение квадратного уравнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5. Построение циклов с инструкциями „while” и „repeat”
- •Краткие теоретические сведения
- •Циклические алгоритмы
- •Инструкция while…do
- •Инструкция repeat…until
- •Прерывание цикла
- •Итерационные алгоритмы
- •Пример итерационного алгоритма для вычисления кубического корня
- •Задание для самостоятельной работы
- •Алгоритмы вычисления сумм бесконечных рядов
- •Задание для самостоятельной работы
- •Создание проекта WhileRepeat
- •Разработка интерфейса проекта
- •Компоненты PageControl и TabSheet
- •Компонент CheckBox
- •Создание закладки для вычисления корня
- •Создание закладки для вычисления синуса
- •Создание процедур и функций Процедура для контроля ввода данных
- •Процедура вычисления кубического корня
- •Процедура вычисления синуса
- •Задания для расчетно-графической работы № 2
- •Содержание отчета
- •Контрольные вопросы
- •Целые типы данных
- •Символьные типы данных
- •Ограниченный тип данных.
- •Применение инструкции цикла for
- •Табулирование значений функций
- •Форматирование результатов при выводе таблиц
- •Строки символов
- •Операции над строками
- •Процедура Delete
- •Процедура Insert
- •Функция Pos
- •Функции Trim, TrimLeft, TrimRight
- •Создание проекта «Применение цикла for»
- •Разработка формы «Табулирование функции» Разработка интерфейса
- •Создание вспомогательных процедур и функций
- •Создание процедуры табулирования функции
- •Разработка формы «Таблица “символ-код”» Разработка интерфейса
- •Создание процедуры вывода таблицы символ-код
- •Разработка формы «Обработка последовательностей целых чисел»
- •Разработка интерфейса
- •Создание процедуры обработки последовательности целых чисел
- •Создание многодокументной (mdi)формы
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
Пример итерационного алгоритма для вычисления кубического корня
Примером итерационного алгоритма может служить алгоритм вычисления кубического корня методом Ньютона.
Суть метода заключается в том, что приближенное значение корня находится по формуле 5.1.
(5.1)
где а – число, из которого извлекается корень, xold – приближенное значение корня, xnew – более точное, чем xold значение корня.
Таким образом, формула позволяет последовательно уточнять значения корня, используя предыдущий результат. В качестве начального значения для x можно взять число, из которого извлекается корень.
Вычисления проводятся обычно до тех пор, пока разность между двумя последовательными приближениями по абсолютной величине не станет меньше некоторого, наперед заданного, достаточно малого числа.
Для реализации этого алгоритма используется цикл REPEAT.
Схема алгоритма, реализующего этот метод, представлена на рисунке 5.5.
В алгоритме предусмотрено прерывание цикла с помощью инструкции break в том случае, если переменная Xold равна нулю, для того, чтобы исключить деление на 0.
Рисунок 5.5 – Схема алгоритма извлечения кубического корня
Задание для самостоятельной работы
В рамках выполнения лабораторной работы студент должен самостоятельно разработать алгоритм решения уравнения итерационным методом в соответствии со своим вариантом задания из таблицы 5.1. Номер варианта выбирается в соответствии с последней цифрой зачетной книжки.
-
Алгоритмы вычисления сумм бесконечных рядов
В этих алгоритмах производится суммирование последовательно вычисляемых членов ряда. Сходство таких алгоритмов с предыдущим заключается в том, что вычисление каждого следующего члена ряда производится по значению предыдущего. Вычисление суммы имеет смысл только в том случае, если ряд сходится, то есть значения членов ряда постепенно уменьшаются. Накопление суммы производят до тех пор, пока очередной член ряда не станет меньше некоторого, наперед заданного, достаточно малого числа.
В качестве примера рассмотрим алгоритм вычисления синуса некоторого числа.
Синус можно представить как сумму бесконечного ряда 5.2.
(5.2)
Особенность данного ряда состоит в том, что каждый член ряда, начиная со второго, может быть найден их предыдущего по формуле 5.3.
(5.3)
Алгоритм вычисления синуса по формуле 5.2 с использованием соотношения 5.3 представлен на рисунке 5.6.
В рассмотренном алгоритме, помимо основного цикла для накопления суммы ряда, есть еще дополнительный цикл. В этом цикле переменная х уменьшается каждый раз на величину периода синуса, который равен 2π. Цикл работает до тех пор, пока х не станет меньше, чем 2π. Это сделано для того, чтобы избежать переполнения или потери значащих цифр при больших значениях х. Ряд 5.2 при больших значениях х сходится медленно, а факториал и «х в степени» растут очень быстро. Это приводит к тому, что все значащие цифры этих чисел перестают помещаться в разрядной сетке и, следовательно, обрезаются, вследствие чего результат искажается.
Задание для самостоятельной работы
В рамках выполнения лабораторной работы студент должен самостоятельно разработать алгоритм вычисления суммы сходящегося бесконечного ряда в соответствии со своим вариантом задания. Варианты задания приведены в таблице 5.2. Номер варианта выбирается в соответствии с последней цифрой зачетной книжки.
Рисунок 5.6 – Алгоритм вычисления синуса
Таблица 5.2 Задания на вычисление сумм бесконечных[ рядов |
|||
№ |
Функция |
Ряд |
Рекуррентная формула |
1 |
2 |
3 |
4 |
0 |
e |
||
1 |
|
, для х<1 |
Продолжение таблицы 5.2 |
|||
1 |
2 |
3 |
4 |
2 |
, для х<1 |
||
3 |
, для х<1 |
||
4 |
, для х>1 |
||
5 |
cos(x) |
||
5 |
sh(x) |
||
7 |
arctg(x) |
||
8 |
ln(1+x) |
||
9 |