- •Введение
- •Лабораторная работа №1. Создание простого приложения
- •1 ) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию щелчка по командным кнопкам (программирование событий):
- •3) Компиляция и выполнение приложения
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию событий
- •Лабораторная работа №2. Циклические программы. Многострочное поле memo
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию щелчка по командным кнопкам (программирование событий)
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №3. Работа с одномерными массивами
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию событий
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 4. Работа с двумерными массивами
- •Контрольные вопросы
- •Лабораторная работа № 5. Процедуры и функции в delphi
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 6. Рекурсивные процедуры и функции
- •Контрольные вопросы
- •Лабораторная работа №7. Разработка приложения с несколькими модулями
- •2) Последовательность действий по программированию событий
- •Лабораторная работа №8. Работа со строками
- •1) Последовательность действий по созданию интерфейса пользователя
- •2) Последовательность действий по программированию событий
- •3) Откомпилируйте приложение и проверьте его работу задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №9. Создание текстового редактора
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 10. Методы простой сортировки
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 11. Поиск данных в массиве
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №12. Работа с файлами
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа №13. Работа с типизированными файлами (файлы записей)
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 14. Динамические структуры данных . Стек и очередь
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 15. Практическое применение стека и очереди
- •Лабораторная работа №16. Линейные списки
- •Лабораторная работа №17. Работа с бинарными деревьями поиска
- •Задание для самостоятельной работы
- •Лабораторная работа №18. Основы объектно-ориентированного программирования
- •Задание для самостоятельной работы
- •Лабораторная работа №19. Графика в delphi. Компоненты shape и chart
- •Контрольные вопросы
- •Лабораторная работа №20. Графика в delphi. Рисование по пикселам и пером
- •Контрольные вопросы
- •Лабораторная работа № 21. Вычисление суммы ряда
- •Литература
- •Содержание
- •214013 Г. Смоленск, Энергетический проезд, 1
Контрольные вопросы
Дайте определение рекурсивной процедуры и функции.
Поясните принцип работы нисходящей рекурсии.
Поясните принцип работы восходящей рекурсии.
Что означает понятие «Терминальная ветвь»?
Лабораторная работа №7. Разработка приложения с несколькими модулями
ЦЕЛЬ ЗАНЯТИЯ: Освоить методы создания приложений с несколькими формами и методы работы с глобальными переменными
ПОДГОТОВКА К РАБОТЕ:
Изучить методы создания многомодульных программ;
Изучить методы передачи параметров.
УКАЗАНИЯ К ВЫПОЛНЕНИЮ РАБОТЫ
При работе с переменными надо помнить следующие правила:
Элементы, объявленные в разделе implementation модуля, тоже называются глобальными, но они видимы и доступны только внутри данного модуля, и не доступны из внешних модулей.
Элементы, объявленные в классе в разделах private и protected, видимы и доступны только внутри данного модуля. При этом из процедур, объявленных внутри класса, к ним можно обращаться непосредственно по имени, а из других процедур – только со ссылкой на объект данного класса. Если в модуле описано несколько классов, то объекты этих классов взаимно видят элементы, описанные в их разделах private. Раздел protected отличается от раздела private тем, что объявленные в нем элементы доступны из классов, наследующих данному.
Элементы, объявленные в классе в разделе public, видимы и доступны для объектов любых классов и для других модулей. При этом из объектов того же класса к ним можно обращаться непосредственно по имени, а из других объектов и процедур – только со ссылкой на объект данного класса.
Элементы, объявленные в разделе interface модуля вне описания типа, видимы и доступны внутри данного модуля и из внешних модулей.
Элементы, объявленные внутри другой процедуры, являются локальными, т.е. они видимы и доступны только внутри данной процедуры или внутри процедур, вложенных в данную. При этом время жизни переменных, объявленных внутри процедуры, определяется временем выполнения данной процедуры.
Для того, чтобы из одного модуля видеть идентификаторы, объявленные в другом модуле, надо из первого модуля сослаться на второй в предложении uses.
Каждый модуль, используемый в приложении, имеет пространство имен, совпадающее с именем этого модуля. Так что если в разных модулях объявлены одинаковые идентификаторы, надо при ссылке на них указывать соответствующее пространство имен.
ЗАДАНИЕ
Создать приложение, состоящее из двух форм. Форма 1 является главной (рисунок 7.1). Список компонентов формы 1 приведен в таблице 7.1. Форма 2 приведена на рисунке 7.2. Список компонентов формы 1 приведен в таблице 7.2.
Таблица 7.1. Компоненты формы 1
Компонент |
Описание |
Button1 |
Кнопка «Вызов формы 2» |
Button2 |
Кнопка «Получить содержимое переменной S из формы 2» |
Button3 |
Кнопка «Получить содержимое переменной P из формы 2» |
Label1 |
Метка «Переменная S из модуля 2 » |
Label2 |
Метка «Глобальная переменная P » |
Label3 |
Метка «Глобальная переменная Q» |
Edit1 |
Окно вывода переменной S из модуля 2 |
Edit2 |
Окно вывода переменной P из модуля 2 |
Edit3 |
Окно ввода переменной Q |
Таблица 7.2. Компоненты формы 2
Компонент |
Описание |
Button1 |
Кнопка «Вывод глобальной переменной Q» |
Label1 |
Метка «Введите переменную S » |
Label2 |
Метка «Введите глобальную переменную P » |
Label3 |
Метка «Глобальная переменная Q» |
Продолжение таблицы 7.2
Компонент |
Описание |
Edit1 |
Окно ввода переменной S |
Edit2 |
Окно ввода переменной P |
Edit3 |
Окно вывода переменной Q |
1) Последовательность действий по созданию интерфейса пользователя
Создайте форму Form1 (модуль Unit1) и перенесите на нее компоненты, перечисленные, в таблице 7.1.
Создайте форму Form2 (модуль Unit2) и перенесите на нее компоненты, перечисленные, в таблице 7.2.
