- •Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- •Содержание
- •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)формы
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
Размещение подпрограмм в других модулях
Подпрограммы, которые могут использоваться в нескольких проектах, удобно не копировать в каждый из этих проектов, а размещать в отдельных модулях, которые можно подключать к проектам через инструкцию uses.
Мы уже видели, что часто используемые алгебраические и тригонометрические функции описаны в модуле System, другие математические процедуры описаны в модуле Math.
Описания таких процедур располагаются в разделе реализации модуля (implementation), но для того, чтобы процедура была доступна в других модулях, необходимо объявить процедуру в разделе interface, продублировав там заголовок процедуры.
Размещение подпрограмм внутри других подпрограмм
Как уже упоминалось выше, в разделе описаний подпрограммы могут быть описаны другие подпрограммы. Такие подпрограммы называются внутренними по отношению к подпрограмме, в которой они описаны. Сама процедура, по отношению к внутренним подпрограммам называется внешней.
-
Область действия имен
Под областью действия имени подразумевается та часть модуля или программы, в пределах которой это имя доступно программисту.
Если имя константы, переменной, подпрограммы или другого элемента программы объявлено в интерфейсной части модуля, то оно доступно не только в данном модуле, но и во всех других модулях, которые в инструкции uses имеют ссылку на данный модуль.
Если имя объявлено в разделе implementation модуля, то оно доступно только процедурам и функциям данного модуля.
Если имя объявлено в разделе описаний некоторой процедуры, то это имя доступно только в пределах данной процедуры. Такие имена иногда называют локальными. Достоинство локальных объявлений в том, что в различных процедурах могут использоваться одинаковые имена, и эти имена не будут конфликтовать.
Рисунок 3.22 – Вложенные процедуры
Подпрограммы могут быть вложенными, то есть в описательной части некоторой подпрограммы может быть описана еще одна подпрограмма, а в ней еще одна, и так далее. В таких случаях имя, описанное в некоторой процедуре, доступно не только в ней, но и во всех вложенных процедурах, но не доступно в подпрограммах более высокого уровня.
На рисунке 3.2 схематично показаны три процедуры. Процедура «с» описана в процедуре «b», которая, в свою очередь, описана в процедуре «а». Переменная «i», объявленная в процедуре «b», доступна и в процедуре «c», но недоступна (невидима) в процедуре «a».
Реализация проекта «Процедуры и функции»
В этом проекте мы будем решать ту же задачу, что и в проекте для предыдущей работы, но подход к решению задачи будет другой. Мы разобьем задачу на части, которые оформим в виде процедур и функций. Более того, эти составные части мы разместим в разных модулях.
Откройте новый проект. Удалите появившуюся форму и загрузите в проект модуль формы из проекта для предыдущей работы. Переименуйте модуль, дав ему имя, например UnitSubroutine. Слово Subroutine переводится с английского языка как подпрограмма. Теперь можно работать с этим модулем как с новым.
Форму переименуйте и назовите frmSubroutine. В заголовке напишите текст «Процедуры и функции».
Форма должна иметь вид подобный форме, изображенной на рисунке 3.3, но соответствовать варианту задания, выполненного в предыдущей работе.
Рисунок 3.23 – Интерфейс проекта «Процедуры и функции»