
- •Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- •Содержание
- •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)формы
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
-
Инструкция repeat…until
Особенность этой инструкции состоит в том, что условие проверяется после выполнения операторов тела цикла, поэтому <инструкции тела цикла> выполняются, как минимум, один раз. Цикл Repeat называют еще циклом с постусловием.
Схема алгоритма выполнения этого цикла представлена на рисунке 5.3.
Рисунок 5.3 – Схема алгоритма выполнения цикла Repeat
На языке Delphi в общем виде инструкция Repeat записывается следующим образом.
Рисунок 5.4 – Синтаксис инструкции Repeat
Здесь <условие выхода из цикла> это выражение логического типа, определяющее условие завершения цикла.
Инструкция выполняется следующим образом:
-
Сначала выполняются <инструкции тела цикла> находящиеся между словами repeat и until.
-
Затем вычисляется значение выражения <условие выхода из цикла>. Если оно не выполняется (значение выражения равно false), то инструкции тела цикла выполняются еще раз.
-
Если условие выполняется (значение выражения равно true), то выполнение цикла прекращается.
Таким образом, инструкции цикла, находящиеся между repeat и until, выполняются до тех пор, пока не выполнится условие выхода из цикла.
-
Прерывание цикла
При решении некоторых задач возникает необходимость прервать выполнение цикла, не дожидаясь выполнения условий выхода из цикла. Такая возможность обеспечивается инструкцией break. Эта инструкция может быть записана в любом месте тела цикла. В результате выполнение цикла сразу же прекращается. Помимо этой инструкции можно использовать инструкцию exit, которая прерывает выполнение не только цикла, но и всей процедуры. Можно использовать и инструкцию halt, но в этом случае завершится работа проекта.
-
Итерационные алгоритмы
Алгоритмы называются итерационными, когда в них многократно повторяются вычисления по одним и тем же формулам, причем полученный результат используется в качестве исходных данных для следующего расчета. Вычисления повторяются до тех пор, пока не будет выполнено некоторое условие.
Использование итерационных алгоритмов позволяет решать трансцендентные уравнения. Однако эти методы не являются универсальными. Они применимы только тогда, когда результаты последовательных итераций сходятся, то есть постепенно приближаются к некоторому значению, которое и будет решением уравнения.
В таблице 5.1 приведены примеры уравнений, которые могут быть решены методом итераций, и соответствующие итерационные формулы. Способ получения итерационной формулы очень простой. Уравнение решается относительно неизвестной переменной, причем в правую часть итерационной формулы входит та же неизвестная переменная.
Таблица 5.1 Уравнения, решаемые методом итераций
Вариант |
Уравнение |
Итерационная формула |
Ограничения |
1 |
2 |
3 |
4 |
0 |
|
|
ab<1, x0>0 |
1 |
|
|
a>0, b>0, b/a<6, x0<π/2 |
2 |
|
|
c>0, x0>0 |
3 |
|
|
a>1, x0>0 |
Продолжение таблицы 5.1 |
|||
1 |
2 |
3 |
4 |
4 |
|
|
ab>c, x0<π/(2b) |
5 |
|
|
a>0, b>0 c>1, x0>0 |
6 |
|
|
a>0, c>0, x0>0 |
7 |
|
|
a>1, c>1, b<c, x0>1 |
8 |
|
|
a>0, b>0, c>0, x0>0 |
9 |
|
|
a>0, b>0, c>0, x0>0 |
Алгоритм решения уравнений, приведенных в таблице 5.1.заключается в следующем.
Берется какое-нибудь приближенное значение корня уравнения х0 (начальное приближение) и подставляется в итерационную формулу. Полученное по итерационной формуле новое приближенное значение корня сравнивается с предыдущим. Если эти значения существенно отличаются друг от друга, то новое приближенное значение подставляется в итерационную формулу вместо старого и получается новое приближенное значение. Так продолжается до тех пор, пока новое и старое приближения станут достаточно близкими дуг к другу.