Пакеты ввода-вывода

 

Пакет подключается к программе с помощью указания (спецификатора) контекста, имеющего вид

with <Имя_Пакета>;

Размещение в пакетах процедур ввода-вывода (для величин предопределенных типов) иллюстрирует табл. В.1.

Таблица В.1.Основные пакеты ввода-вывода

Имя пакета Тип вводимых-выводимых величин
Ada.Text_IO Ada.lnteger_Text_IO Ada.Float_Text_IO Character, String Integer Float

 

Для поддержки ввода-вывода величин других типов, определяемых пользователем, используются шаблоны (заготовки) пакетов — родовые пакеты. Родовой пакет перед использованием должен быть настроен на конкретный тип.

Как показано в табл. В.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 может использоваться в любой программе.








Дата добавления: 2015-03-07; просмотров: 582;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.