Главная » Просмотр файлов » Н. Джехани - Язык Ада (1988)

Н. Джехани - Язык Ада (1988) (1160771), страница 92

Файл №1160771 Н. Джехани - Язык Ада (1988) (Н. Джехани - Язык Ада (1988)) 92 страницаН. Джехани - Язык Ада (1988) (1160771) страница 922019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 92)

Эти дополнительные операции считаются неявно описанными в самом начале непосредственной области действия составного типа, их использование разрешено только после полного описания типа. Те же правила относятся к неявно описанным для ссыпочного типа операциям, чье обозначение типа есть личный тип или тип, описанный посредством неполного описания типа. Для каждого пичного типа или полтина Т определен следующий атрибут; Глава 7 Т'СОМВТВА(МЕО Вырабатывает значение ЕАЬЗЕ, если Т обозначает неограниченный неформальный личный тип с дискриминантами, не являющийся формальным параметром настройки; вырабатывает также значения РАЬЗЕ, если Т обозначает личный тип, являющийся формальным параметром настройки, а со.

ответствующий подтип фактического параметра является либо неограниченным типом с дискрими. нантом, либо неограниченным индексируемым типом; в остальных случаях вырабатывает значение ТВОЕ. Значение атрибута имеет предопределенный тип ВООЬЕАМ. Примечание. Описание личного типа и соответствующее полное описание типа определяют два разных аспекта одного и того же типа. Вне пакета тип обладает теми характеристиками, которые определены в видимой части. Для внешних программных модулей тип является именно личным типом, и любое правило языка, которое применяется только к другому классу типов, к этому типу неприменимо. Тот факт, что полное описание может реализовать личный тип в виде типа конкретного класса (например, в виде индексируемого типа), можно использо. вать только внутри пакета Последствия такой фактической реализации сказываются тем не менее везде.

Например, производится некоторая инициализация компонент по умолчанию; атрибут ЗЫЕ вырабатывает раз)сер полного типа; правила зависимости задач распространяются также на компоненты— объекты звдачного типа. Пример: рвоьвве КЕУ)ШАМАОЕй Ш Фура КЕУ и ряуасе: МОЬ КЕУ: сова!вас КЕУ; рпзоаоига ОЕТ КЕУ(К: оеФ КЕУ); ФовМов "(" (Х, У: КЕУ) Феаеа ВООЬЕАМ; рн овсе Фуре КЕУ ! ° аеш МАТОНАС ммь кеу: совставФ кеу:= О; ево; РФмьаяе Ьооу КЕУ МАМАОЕя ш ФАзт кеу: кеу:= О; ргааейив ОЕТ КЕУ(К: овФ КЕУ) ! ° лоув !.Азт кеу:= (Азт кеу + 1; К:= (АЗТ КЕУ; вве ОЕТ КЕУ; ЬФВМоа (" (Х, У: КЕУ) няотп ВООЬЕАМ ! ° Ьея(в лФЬел )МТЕОЕя(Х) < ЛЧТЕОЕя(У): «ло "С; вал КЕУ МАМАЙЕЯ; Примечание к примеру: Операциями, применимыми к объектам типа КЕУ вне пакета КЕУ МАМАВЕВ, являются: присввивание, сравнение на равенство и неравенство, процедура ВЕТ КЕУ и операция < -; сюда не включаются другие операции отношения, например > = или арифметические операции.

Явно описанная операция " < " скрывает предопределенную операцию ' < ", неявно опи. санную полным описанием типа В тепе функции необходимо явное преобразование Х и У к типу (МТЕВЕВ для явного вызова операции < " над этим типом. С другой стороны, реэуль. тат функции мог бы быть записан в виде по((Х > = У), так как операция " > = " не переопределена. Значение переменной (АЗТ КЕУ, описанной в теле пакета, не меняется между вызовами процедуры ВЕТ КЕУ (см. также примечание к равд. 7.3). Ссылки: атрибут 4.1.4, базовая операция З.З.З, видимый раздел 7.2, дискриминант 3.3, зависимость задач 9.4, именованная компонента 4.1.3, квалификация 4.7, компонента 3.3, контроль принадлежности 4.5, личный тип 7.4, неполное описание типа 3.8.1, непосредственная область 383 Пакеты действия 8.2, неявное описание 3.1, область описания 8.1, основная операция 3.3.3, операция 3.3, операция отношения 4.5, описание 3.1, описание пичного типа 7.4, пакет 7, параметр подпрограммы 6.2, подпрограмма 6, полное описание типа 3.3.1, полный тип 7.4.1, предопределенная операция 4.5, предопределенная функция 8.6, преобразование 4.6, присваивание 5.2, программный модуль 6, производная подпрограмма 3.4, производный тип 3.4, равенство 4.5.2, раь мерность 3.6, скрытие 8.3, составной тип 3.3.

7.4.3. СУБКОНСТАНТЫ Если описание субконстанты дается в видимом разделе пакета, то описание константы (т.е. описание объекта, задающее константу с явной инициализацией) с тем же самым идентификатором должно быть элементом описания пичного раздела этого пакета. Такое описание объекта называется полным описанием субконстанты. Заданное в полном описании обозначение типа должно быть согласовано с обозначением типа, заданным в описании субконстанты (см. 6.3.1).

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

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

Это является следствием правил, определяющих допустимые использования имени, обозначающего личный тип (см. 7.4.1). Ссылки: видимый раздел 7.2, выражение по умолчанию для дискриминанта 3.7.1, иденти. фикатор 2.3, именуемая компонента 3.7, личный раздел 7.2, обозначение типа 3.3.2, описание константы 3.2.1, описание объекта 3.2.1, описание субконстанты 7.4, пакет 7, предвыполнение не дает другого эффекта 3.1, согласованный 6.3.1, спецификация пакета 7.1, субконстанта 7.4, формальный параметр 6.1, формальный параметр настройки 12.1, 12.3, элемент описания 3.9.

7.4.4. ЛИМИТИРУЕМЫЕ ТИПЫ Лимитируемый тип — зто тип, дпя которого неявным описанием не вводится ни присваивание, ни сравнение на равенство и неравенство. Описание личного типа с зарезервированным словом йгяйеб описывает лимитируемыи тип. Задачный тип является лимитируемым типом. Производный тип от лимитируемого типа сам является лимитируемым типом. Наконец, составной тип является пимитируемым, если тип одной из его компонент являатся лимитируемым. Над личным лимитируемым типом определены операции, которые даны в равд.

7.4.2, за исключением присваивания и предопределенного сравнения на равенство и неравенство. Вид ов( допустим для формально~о параметра лимитируемого типа, описанного явно, только в том случае, если этот тип является личным лимитируемым типом, а описание подпрограммы находится в видимом разделе пакета, где описан и личный тип.

То же самое относится к формальным параметрам описаний входов и описаний настраиваемых процедур. Со. ответствующий полный тип не должен быть лимитируемым, если любой такой формальный параметр имеет вид овб В противном случае в качестве соответствующего полного типа допускается (но не требуется) лимитируемый тип (в частности, допустим задачный тип). Если полный тип, соответствующий лимитируемому личному типу, сам не является лимитируемым, то дпя этого типа в пакете (но не вне его) допустимо присваивание. Из правил для лимитируемых типов вытекает следующее; ° Если тип объекта является лимитируемым, то в описании этого объекта явная инициализация недопустима.

° Если тип именуемой компоненты является лимитируемым, то выражение по умолчанию в описании компоненты недопустимо. ° Если тип объекта, указанного ссылочным типом, является лимитируемым, то в генерато. ре явная инициализация недопустима. ° Формальный параметр настройки вида )п не должен быть лимитируемого типа. Примечание. Описанные выше правила не исключают выражение по умолчанию для формального параметра пимитируемого типа; они не исключают также субконстанту лимитируемо- Глава 7 го типа, если полный тип не является лимитируемым. Для лнмитируемого типа допускается явное описание операции равенства (см.

6.7). Для лимитируемого составного типа не разрешаются агрегаты (см. 3.6.2 и 3.7.4). Для лимитируемого индексируемого типа не разрешается катенация (см. 3.6.2). Пример: рвсшщв 1 О РАСКАОЕ 1 ° гуре рп.е мАме )е лтпиаь рьуаь; )и огн ВСЕ МАМЕ); (и огь Е(ЬЕ МАМЕ); )и Р!ЬЕ МАМЕ; (ТЕМ: оо! (МТЕОЕЯ): 1и РП.Е МАМЕ; )ТЕМ: Ь )МТЕОЕВ); рюсайне ОРЕМ (Р рюсвлоге СЬ05Е (р ргосевсге ВЕАО (Р ргссвлогв УУЯ!ТЕ (Р риса!а гуРа В(.Е МАМЕ 1 ° гасогЬ 1МТЕВМА1 МАМЕ епЬ гвсолл еоЬ 1 О РАСКАОЕ; : 1МТЕОЕЯ:= 0; рвсввев вову 1 0 РАСКАОЕ 1 ° ОМ1Т: сопмвь:= 200; гуре РП.Е ОЕЗСЙ1РТОВ !а гесогЬ ...

еив ишои(; 0(ЙЕСТОЯУ: алау (1 .. ОМ)Т! о! Р!ЬЕ ОЕ5СВ1РТОВ; ргосееига ОРЕМ (Е: (п оп! ЕП.Е МАМЕ1 1 ° ... епв: ргосвйпе С105Е (Р; )и огл ВСЕ МАМЕ! 1 ° ... апв; ригсавогв ЯЕАО (Р: !п В1.Е МАМЕ; (ТЕМ: оп! 1МТЕОЕЯ) Ь ... апЬ; ргссевпгв уул)ТЕ (р: Ь РЛ.Е МАМЕ; 1ТЕМ; Ь (МТЕОЕВ) (е ... аие; Ь рЬ епЬ 1 0 РАСКАОЕ; 7.5. ПРИМЕР ПАКЕТА РАБОТЫ С ТАБЛИЦАМИ Следующий пример иллюстрирует использование пакетов для организации простого взаимодействия пользователя с довольно сложными процедурами. Необходимо создать пакет дпя работы с таблицами по внесению и извлечению их элементов. Элементы включаются в таблицу по мере их поступления.

Каждый поступивший элемент имеет порядковый номер. Элементы выбираются в соответствии с их порядковыми номерами, причем первым выбирается элемент с наименьшим порядковым номером. С точки зрения пользователя, пакет чрезвычайно прост. Существует тип с именем (ТЕМ вЂ” тип элемента таблицы, есть процедура (МЗЕВТ для включения элементов в таблицу и процедура ВЕТЛ(ЕЧЕ для извлечения элемента с наименьшим порядковым номером.

Если таблица пуста, то возвращается специальный элемент МО(.ь 1ТЕМ, а если таблица заполнена, то при вызове процедуры 1МЗЕВТ возбуждается исключение ТАВЕЕ Р()ь). Примечание к примеру. В приведенном примере дпя внешних подпрограмм, использующих 1 О РАСКАОЕ, имя файла можно получить в результате вызова процедуры ОРЕМ, а затем использовать его в вызовах процедур ВЕАО и ЧЧВ(ТЕ. Следовательно, вне пакета имя файла, полученное после вызова процедуры ОРЕМ, выполняет функцию пароля; его внутренние свойства (например, содержать числовое значение) неизвестны, и никакие другие операции (такие как сложение или сравнение внутренних имен) над этим именем не могут выполняться.

Характеристики

Тип файла
DJVU-файл
Размер
4,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее