Технологии разработки программного обеспечения


Приложение В. Основные средства языка программирования Ada 95 - часть 4


Родовой пакет перед использованием должен быть настроен на конкретный тип.

Как показано в табл. В.2, родовые пакеты ввода-вывода всегда находятся внутри пакета-библиотеки Ada.Text_IO.

 

Таблица В.2. Внутренние пакеты из пакета-библиотеки Ada.Text_IO

Имя родового пакета

Нужна настройка на тип

Integer_IO

Float_IO

Enumeration_IO

Fixed_IO

Decimal_IO

Modular_IO

Любой целый тип со знаком

Любой вещественный тип с плавающей точкой

Любой перечисляемый тип

Любой двоичный вещественный тип с фиксированной точкой

Любой десятичный вещественный тип с фиксированной точкой

Любой целый тип без знака

Для обращения к внутренним родовым пакетам используют составные имена, например Ada.Text_IO.Modular_IO, Ada.Text_IO.Enumeration _IO.

Процесс настройки родового пакета называют конкретизацией. В результате конкретизации образуется экземпляр родового пакета. Экземпляр помещается в библиотеку и может быть подключен к любой программе.

Конкретизация задается предложением следующего формата:

with <Полное имя родового пакета>;

package <Имя пакета-экземпляра> is

new <Имя родового пакета> (<Имя типа настройки>);

Например, введем перечисляемый тип:

Type Summer is ( may. jun, jul. aug );

Создадим экземпляр пакета для ввода-вывода величин этого типа:

with Ada.Text_IO.Enumeration_IO;

package Summer_IO is new Ada.Text_IO.Enumeration_IO (Summer);

Теперь пакет SummerJO может использоваться в любой программе.

 

Процедуры ввода

Формат вызова процедуры:

<ИмяПакета> . Get (<ФактическиеАргументы>);

Например, для ввода величины типа Character записывается оператор вызова

Ada.Text_IO.Get (Var);

В результате переменной Var (типа Character) присваивается значение символа, введенного с клавиатуры. Пробел считается символом, нажатие на клавишу Enter не учитывается.

Еще один пример оператор вызова:

Ada.Integer_Text_IO.Get (Var2);

В этом случае в переменную Var2 типа Integer заносится строка числовых символов.


Начало  Назад  Вперед



Книжный магазин