Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЯВУ.doc
Скачиваний:
10
Добавлен:
12.11.2019
Размер:
2 Мб
Скачать
☆

Контрольные вопросы

  1. Дайте определение рекурсивной процедуры и функции.

  2. Поясните принцип работы нисходящей рекурсии.

  3. Поясните принцип работы восходящей рекурсии.

  4. Что означает понятие «Терминальная ветвь»?

Лабораторная работа №7. Разработка приложения с несколькими модулями

ЦЕЛЬ ЗАНЯТИЯ: Освоить методы создания приложений с несколькими формами и методы работы с глобальными переменными

ПОДГОТОВКА К РАБОТЕ:

  1. Изучить методы создания многомодульных программ;

  2. Изучить методы передачи параметров.

УКАЗАНИЯ К ВЫПОЛНЕНИЮ РАБОТЫ

При работе с переменными надо помнить следующие правила:

  1. Элементы, объявленные в разделе implementation модуля, тоже назы­ваются глобальными, но они видимы и доступны только внутри данного модуля, и не доступны из внешних модулей.

  2. Элементы, объявленные в классе в разделах private и protected, види­мы и доступны только внутри данного модуля. При этом из процедур, объявленных внутри класса, к ним можно обращаться непосредственно по имени, а из других процедур – только со ссылкой на объект данного класса. Если в модуле описано несколько классов, то объекты этих классов взаимно видят элементы, описанные в их разделах private. Раздел protected от­личается от раздела private тем, что объявленные в нем элементы дос­тупны из классов, наследующих данному.

  3. Элементы, объявленные в классе в разделе public, видимы и доступны для объектов любых классов и для других модулей. При этом из объектов того же класса к ним можно обращаться непосредственно по имени, а из других объектов и процедур – только со ссылкой на объект данного класса.

  4. Элементы, объявленные в разделе interface модуля вне описания типа, видимы и доступны внутри данного модуля и из внешних модулей.

  5. Элементы, объявленные внутри другой процедуры, являются локальными, т.е. они видимы и до­ступны только внутри данной процедуры или внутри процедур, вложен­ных в данную. При этом время жизни переменных, объявленных внут­ри процедуры, определяется временем выполнения данной процедуры.

  6. Для того, чтобы из одного модуля видеть идентификаторы, объявлен­ные в другом модуле, надо из первого модуля сослаться на второй в пред­ложении uses.

  7. Каждый модуль, используемый в приложении, имеет пространство имен, совпадающее с именем этого модуля. Так что если в разных моду­лях объявлены одинаковые идентификаторы, надо при ссылке на них указывать соответствующее пространство имен.

ЗАДАНИЕ

Создать приложение, состоящее из двух форм. Форма 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) Последовательность действий по созданию интерфейса пользователя

  1. Создайте форму Form1 (модуль Unit1) и перенесите на нее компоненты, перечисленные, в таблице 7.1.

  2. Создайте форму Form2 (модуль Unit2) и перенесите на нее компоненты, перечисленные, в таблице 7.2.