Основы Ada 95 - Текстовый и числовой ввод-вывод |
Страница 2 из 11
Текстовый и числовой ввод-вывод
Ada 95 — это язык для разработки программ реального мира, программ, которые могут быть очень большими (включать сотни тысяч операторов). При этом желательно, чтобы отдельный программный файл имел разумно малый размер. Для обеспечения такого ограничения Ada 95 построена на идее библиотек и пакетов. В библиотеку, составленную из пакетов, помещаются программные тексты, предназначенные для многократного использования.
Пакеты ввода-вывода
Пакет подключается к программе с помощью указания (спецификатора) контекста, имеющего вид with <Имя_Пакета>; Размещение в пакетах процедур ввода-вывода (для величин предопределенных типов) иллюстрирует табл. В.1.
Таблица В.1. Основные пакеты ввода-вывода
Для поддержки ввода-вывода величин других типов, определяемых пользователем, используются шаблоны (заготовки) пакетов — родовые пакеты. Родовой пакет перед использованием должен быть настроен на конкретный тип. Как показано в табл. В.2, родовые пакеты ввода-вывода всегда находятся внутри пакета-библиотеки Ada.Text_IO.
Таблица В.2. Внутренние пакеты из пакета-библиотеки Ada.Text_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 может использоваться в любой программе. |