Введение в программирование - Учебное пособие (Корочкин А. В.)

1.6 прагмы

Прагмы используются для задания в тексте программы информации для компилятора:

PRAGMA  Имя ( Аргументы_Прагмы ) ;

Здесь Аргумент_Прагмы - имя или выражение.

Прагмы делятся на прагмы, определенные в языке, и дополнительные прагмы, определяемые реализацией.

Описание прагмы допустимо в определенных местах программы, там где разрешены операции, описания, спецификаторы, альтернативы, варианты, обработчики исключений.

П Примеры:

Процедура для выполнения операции с векторами

A = (B*C)*D

Автор:   Королев С.В.

Кафедра вычислительной техники НТУ "КПИ"

Дата создания:   10.12.97

pragma List (Off); pragma  Atomic ( Buffer);

pragma   Priority (10); pragma   |n_l_ine ( Send);

 

Прагмы могут иметь различное назначение, например использовать­ся для управления печатью, указания приоритетов задач, работы с об­щими переменными, оптимизации и др. Всего в языке опредеделены 39 прагм ( Приложение 4 ) ._____________________________

14

Ада 95. Введение в программирование

Глава 2. Типы

15

 

 

Глава2. ТИПЫ

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

На основании типа создаётся объект (константа или переменная), который ассоциируется с типом. Для объекта тип задаёт:

•   множество значений, которые он может принимать;

•   множество примитивных операций, которые можно выполнять над ним.

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

Язык Ада является языком строгой типизации, то есть каждый объ­ект должен быть явно описан и принадлежать определенному типу. Строгая типизация повышает надежность языка, так как позволяет компилятору выявлять существующие и потенциальные ошибки как на этапе компиляции, так и при выполнении программы за счет контроля, связаного с нарушением ограничений типа. Ада обладает развитым механизмом типов, предоставляя пользователю широкие возможности по созданию и использованию типов.

Все типы в языке делятся на предопределённые типы и типы, создавае­мые пользователем.

Типы в языке группируются в классы. Специальный синтаксис обеспечивает описание типа соответствующего класса. Предопределен­ные типы объединяются в несколько классов : класс целых типов, класс дискретных типов, класс ссылочных типов и др. ( Рис. 2.1) .

Все типы делятся на простые и сложные (составные). Простые типы состоят из одной компоненты, составные - из нескольких. Простые ти­пы представлены скалярными типами и ссылочными типами (access types).

К сложным типам относятся массивы (array types), записи (record types), защищённые типы (protected types), заданные типы (task types).

Дополнительно в языке используются приватные (личные) типы (private types) и ограниченные (лимитированные) типы (limited types),

тэговые типы (tagged types), расширенные типы и абстрактные типы (abstract types).

Простые типы включают ссылочные типы и скалярные типы. Ска­лярные типы включают дискретные типы и вещественные. Дискретные типы в свою очередь состоят из перечисляемых (enumeration) и целых (integer).

Типыязыка Дца 95

Дополнительные типы

Ограниченный приватный тип

Рис. 2.1

Вещественные типы состоят из плавающего типа (float type) и фикси­рованного типа (fixed type). Целые, фиксированные и плавающие типы образуют числовой тип.

16

17

Ада 95. Введение в программирование