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

Приложение1. пакет     standard

Пакет STANDARD содержит все предопределенные идентификаторы языка, предопределенные типы ( Boolean,  Integer,  Character,  Float, Duration) и операции для них, а также исключения. Пакет автомати­чески доступен каждому компилируемому модулю и не требует специ­фикатора with.

Спецификация библиотечного пакета STANDARD :

package Standard  is

pragma Pure ( Standard);

type Boolean  is (False, Treu);

- - Предопределенные операции для типа  Boolean

: Boolean ) return : Boolean ) return : Boolean) return : Boolean) return Boolean) return : Boolean ) return

Boolean; Boolean ; Boolean; Boolean; Boolean; Boolean;

- function "=" (Left,Rigth

- function "/=" (Left, Rigth

- function "<"   (Left, Rigth

- function "<="( Left, Rigth

-function"> "(Left, Rigth:

- function ">="( Left, Rigth

- - Предопределенные логические операции для этого типа

- - function "and" (Left, Rigth : Boolean) return Boolean ;

- - function "or"    (Left, Rigth : Boolean ) return Boolean ;

- -function "xor"   (Left, Rigth : Boolean ) return Boolean ;

- - function "not"   (Left, Rigth : Boolean) return Boolean;

- - Целый тип

type  Integer is     определен -реализацией;

- - Подтипы целого типа

subtype  Natural    is    Integer  range  0 ..   Integer'Last;

Приложение 1. Пакет Standard

range   1 ..   Integer'Last; для типа  Integer:

Integer'Base)        return     Boolean;.

Integer'Base)        return     Boolean;

Integer'Base)        return     Boolean;

Integer'Base)        return     Boolean;

Integer'Base)        return     Boolean;

Integer'Base)        return     Boolean;

subtype  Positive   is    Integer

- - Предопределены операции

- - function "="     ( Left, Rigth :

-- function7="       (Left,Rigth :

- - function "<"     (Left, Rigth :

-- function"<=" (Left,Rigth :

- - function ">"    (Left, Rigth :

- - function ">=" (Left, Rigth :

- - function"+"    ( R igth : Integer'Base) return Integer'Base;

- - function "abs" ( Rigth : Integer'Base) return Integer'Base;

- - function"-"     ( Rigth : Integer'Base) return Integer'Base;

- - function "+"     ( Left, Rigth : Integer'Base) return Integer'Base;

- - function"-"       ( Left, Rigth: Integer'Base) return Integer'Base;

- - function "*"     (Left, Rigth: Integer'Base) return Integer'Base;

- - function"/"      ( Left, Rigth: Integer'Base) return Integer'Base;

- - function "rem" ( Left, Rigth: Integer'Base) return Integer'Base;

- - function "mod"(Left, Rigth: Integer'Base) return Integer'Base;

- - function "**"   ( Left, Rigth: Integer'Base) return Integer'Base;

- -  Вещественный тип type  Float  is  определен_реализацией;

- Для этого типа предопределены следующие операции:

--function "="       (Left, Rigth: Float)              return     Boolean;

--function "/="      (Left, Rigth: Float)              return     Boolean;

- - function "<"     ( Left, Rigth: Float)             return     Boolean;

- - function "< =" ( Left, Rigth : Float)   return   Boolean;

Приложение 1. Пакет Standard

221

 

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

220

 

f

-- function ">"     (Left,Rigth: Float)   return   Boolean;

-- function ">=" ( Left, Rigth : Float)  return   Boolean;

-- function "+"    (Left, Rigth: Float) return     Float;

- - function "-"     ( Left, Rigth : Float )             return     Float;

- - function "abs" ( Left, Rigth : Float )            return     Float;

--function "+"       (Left, Rigth: Float)              return     Float;

--function"-"         (Left, Rigth: Float)              return     Float;

--function"*"        (Left, Rigth: Float)              return     Float;

- - function "/"      (Left, Rigth : Float )            return     Float;

- - function "**" (Left, Rigth : Float'Base )  return    Float ;

~ Кроме того, для универсального вещественного типа и корневого числового ( rootjnumeric ) предопределены операции "*" и

- - символьный тип

type   Character  is ( null ...    ) ;

- - Предопределенные операции для типа Character - те же самые, что и для любого перечисляемого типа.

Type Wide_Character is ( nuil   . . . FFFE, FFFF } ;

- - стандартный   набор  символов  ASCII package  ASCII   is . .   end ASCII :

-Предопределенный строковый т:;п:

type String is am1    ?T<- -^t?ve r ,«;ge < > ) c.f Character; pragma Pack (Kf л:

--Следующие о!.и-..'иши предопределены для типа String:

--function "="    (Left, Rigth: String) return Boolean;

--function '/=" (Left, Rigth: String) return Boolean;

--function "<"   (Left, Rigth: String) return Boolean;

--function "<=" (Left, Rigth: String) return      Boolean;

--function ">"   (Left, Rigth: String) return      Boolean;

--function ">="( Left, Rigth. String) return      Boolean;

--function "&"      ( Left. String;     Rigth: String)      return String;

- - function "&"    ( Left: Character; Rigth: String)    return String;

- -function "&"     ( Left: String; Rigth: Character)       return String;

- -function "&"     ( Left: Character ;Rigth: Character) return String;

type Wide_String is array ( Positive range <>) of Wide_Character; pragma Pack ( Wide_String);

type   Duration   is   delta   определяет реализацией  range

определено реализацией;

- - Для типа Duration предопределены все те операции, что и для

- - любого   другого  фиксированного типа.

- Предопределены следующие исключения: CONSTRAINT_ERROR : exception; PROGRAM_ERROR : exception; STORAGE _ERROR : exception; TASKING_ERROR : exception; end Standard;

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

222

Приложение 2 Пакет System

223