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

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

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

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

В отсутст. вив локальных задач значение такой переменной сохраняется неизменным между вызовами извне пакета подпрограмм, описанных в его видимом разделе. Свойства такой переменной аналогичны свойствам «собственной» переменной в языке Алгол 60. Предвыполнение тела подпрограммы, описанной в видимом разделе пакета, осущвстеля.

ется при предвыполнении тела пакета. Следовательно, при вызове такой подпрограммы извне программного модуля возбуждается исключение ЯНСОНАМ ЕННОН, если вызов производится до предвыполнения тела пакета (см. 3.9). Пример пакегаг Расзавв ЙАТ10МА( МОМВЕЙЗ Ь ~ра НАТ)ОМАЬ Ь ееие МОМЕЙАТОЯ: 1МТЕОЕЙ: ОЕМОМ(МАТОЙ: РОЗ)Т!ЧЕ( апг( есогвг аикаоп ЕООАЬ (Х,У: ЯАТЮМАИ гв!ииг ВО01.ЕАМ: ьпсвоп "/" (ху: )мтеоей) вь е Йят!ОЙАИ вЂ” дпя образования рационального числа Ь Воп " ." (Х,У: ЙятЮМАЦ аа яятЮМАЦ Ьпсеои -" (Х,У: НАТЮМАЦ гаме ЯАТЮМАЦ Ьес!Ьп " (Х,У: ЙАТ10МАЦ еыпг ЙАТЮМАЦ (иисаоп "/" (Х,У; НАТ10МАИ езие ЙАТ10МАЦ впи; Расзаев воет ЙАТ10МА! МОМВЕЯЗ Ь ргссагье ЕАме ОемОм)мАтОЯ (х,у: 1и овг ЙАтюмАИ ь Ьае(п — — приведение Х и У к общему знаменателю; ьпсеоп еООАЦх,У: ЯАтюмАИ гаваи ВООьеАЙ ь О,Ч: йА'ПОМАЦ Ьаа(п О := Х; Ч ;= У; ЗАМЕ ОЕМОМ1МАТОЯ (О,Ч); еые О/МОМЕНАТОЙ = Ч.МОМЕЙАТОй; вез ЕООАЦ Ьгпс!Ьп "/" (Х,У: 1МТЕОЕЙ) гапки ЯАТЮМА1.

Ь ьвв!п я У > 0 агап гввип (МОМЕЯАТОЙ => Х, ОЕМОМ!МАТОЙ => У): в1ав гапки (ЙОМЕЙАТОЯ => -Х, ОЕМОМ1МАТОЯ => -У1; впе я; впе "/; (иаМоп "+ (Х,У: ЯАТ10МАИ гапип ЯАТ10МАЬ Ь ... впе "+", Ь..еоп --* (Ху: яятЮМАИ вии ЯАТ(ОМАЕ Ь ... ми .= ь»псеоп "'" (х,у: ЙАтюмАЦ еиии ЯАтюмАе ь ... ае1 "*"; !ипсвоп "/ (х,у: йАт10ЙАц еиии яят10ЙА«ь ... апе "/"; впи ЯАТЮМА) МОМВЕЯЗ; Ссылки: видимый раздел 7.2, имя 4.1, исключенив 11, исключение РНООНАМ ЕННОН 11.1, д! обработчик исключения 11.1, описание 3.1, переменная 3.2.1, подпрограмма 6, последовательность операторов 5.1, предеыполнение 3.1, 3.9, .программный модуль 6, раздел описаний 3.9, спецификация пакета Тгй Гпавв 7 ) 7.4.

ОПИСАНИЯ ЛИЧНЫХ ТИПОВ И СУБКОНСТАНТ Описание типа в качестве личного (приватного) в видимом разделе пакета служит для отделения характеристик, которые могут быть использованы непосредственно внешними про. граммными модулями (логические свойства), от других характеристик, непосредственное использование которых возможно только внутри пакета (детали определения самого типа). Описания субконстант задают константы личных типов.

описание пичного типа::= (уре идентификатор [раздел дискриминантов) 1а ())пздеб) рг(еа(е; описание субконстанты ::= список идентификаторов: сопв(ап1 обозначение типа; Описание личного типа допустимо только в качестве элемента описания в видимом разделе пакета или в качестве описания параметра настройки для типа в разделе формальных параметров настройки.

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

Примеры описаний личного типа: ~ура КЕУ 1е рлеаак етрв Й1.е ЙАме 1е вгвяав рюьам: Пример описания субконстанты: НОН КЕУ: свамаае КЕУ; Ссылки: видимый раздел 7.2, идентификатор 2.3, константа 3.2.1, лимитируемый тип 7.4.4, личный тип 7.4.1, обозначение типа 3.3.2, описание 3.1, описание параметра настройки 12.1, пакет 7, подтип 3.3, программный модуль 6, раздел дискриминанта 3.7.1, раздел формальных параметров настройки 12.1, список идентификаторов 3.2, тип 3.3, формальный тип настройки 12.1, элемент описания 3.9. 7.4.1.

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

С другой стороны, полное описание типа определяет другие операции, непосредственное использование которых возможно только внутри самого пакета. Если описание пичного типа включает раздел дискриминантов, то полное описание типа должно включать раздел дискриминантов по правилам согласования (см. 6.3.1) и определением типа должно быть определение именуемого типа. И наоборот, если описание пичного типа не включает раздела дискриминантов, то тип, описанный с помощью полного описания типа (полный тип), не должен быть неограниченным типом с дискриминантами. Полный тип не должен быть неограниченным индексируемым типом. Лимитируемый тип (в частности, задачный тип) допускается в качестве полного типа, только если в описании личного типа присутствует зарезервированное слово 1!гп1(ед (см.

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

жениях. При предвыполнении описания личного типа создается личный тип. Если описание личного типа имеет раздел дискриминантов, то он также предвыполняется. Предвыполнение полного описания типа заключается в предвыполнении определения типа; если имеется раздел дискриминантов, то он не предвыполняется (так как уже првдвыполнен согласованный раздел дискриминантов в описании личного типа). Примечание. Из перечисленных правил следует, что ни описание переменной пичного ти.

па, ни создание объекта личного типа с помощью генератора недопустимо до полного описа. ния типа. Точно также до полного описания нельзя использовать имя пичного типа в конкретизации настройки или в спецификаторе представления. Ссьюкн: видимый раздел 7.2, выражение 4.4, генератор 4.6, зарезервированное слово 2.9, идентификатор 2.3, имя 4.1, индексируемый тнп 3.6, конкретизация йастройки 12.3, лимнтируемый тип 7.4.4, личный раздел 7.2, личный тип 7.4, неограниченный индексируемый тип 3.6, неполное описание типа 3.6.1, операция 3.3, описание входа 9.6, описание личного типа 7.4, описание подтипа 3.3.2, описание субконстанты 7.4.3, описание типа 3.3.1, определение имену.

емого типа 3.7, определение типа 3.3.1, пакет 7, переменная 3.2.1, подкомпонента 3.3, подтнп З.З, полное описание типа 3.3.1, предвыполнение 3.9, производный тип 3.4, раздел дискрими. нанта 3.7.1, согласованный 6.3.1, спецификатор представления 13.1, спецификация пакета 7.1, спецификация подпрограммы 6.1, тип 3.3, элемент описания 3.9. 7.42. ОПЕРАЦИИ НАД ЛИЧНЫМ ТИПОМ Операции, которые неявно описаны введением описания личного типа, включают базо. вые операции: присваивание (кроме лимитируемого типа), проверку принадлежности, квалификацию, явное преобразование н именование компоненты для какого.либо днскриминанта. минанта Для личного типа Т в базовые операции также входят атрибуты Т'ВАЗЕ (см. З.З.З) и Т'812Е (см.

13.7.2). Для объекта А личного типа в базовые операции включается атрибут А'СОНВТЯА(НЕО, если личный тип содержит дискриминант (см. 3.7.4), и во всех случаях— атрибуты А'812Е и А'АООЯЕ88 (см. 13.7.2]. Наконец, операции, неявно описанные описанием пичного типа, включают предопредепенные отношения равенства и неравенства(кроме личных типов, в описании которых присутствует зарезервированное слово йгл((еб).

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

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

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

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

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

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