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

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

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

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

9.10). Ссылки: вход 9.5, генератор 4.8, завершение задачи 9.4, эадачный объект 9.2, задачный тип 9.1, законченная задача 9.4, исключение 1.1, предвыполнение 3.9, 11.1, обработка исключения П,4, оператор 5, параллельное выполнение 9, подкомпонента 3.3, раздел описаний 3.9, тело задачи 9.1, тело пакета 7.1. ° Задача зависит от некоторого родителя, выполнениа которого закончено (следовательно, не от библиотвчного пакета). ° Каждая задача, зависящая от рассмотренного родителя, либо уже завершена, либо также ожидает открытой альтернативы завершения в операторе отбора. Когда оба условия удовлетворены, задача становится завершенной вместе со всеми задачами, зависящими от этого же родителя.

Пример: Пзэе 6ЬОВАь Н ееееее ЯЕВОЦВСЕ; А, В : НЕВООЯСЕ; 6 ; 6(.ОВАШ вЂ” ем. 9.1 9.4. ЗАВИСИМОСТЬ ЗАДАЧ. ЗАВЕРШЕНИЕ ЗАДАЧ Каждая задача зависит по крайней мере от одного родителя. Родитель — зто конструкция, являющаяся либо задачей, либо в данный момент выполняемым оператором блока или подпрограммой, либо библиотечным пакетом (но не описанным в другом программном модуле). Зависимость от родителя является непосредственной зависимостью в следующих двух случаях: а) Задача, указанная эадачным объектом, который является объектом или подкомпонен.

той объекта, созданными при выполнении генератора, зависит от родителя, предвыполняющего соответствующее описание ссылочного типа. б) Задача, указанная другим эадачным объектом, зависит от родителя, выполнение которого создает задачный объект. Более того, если задача зависит от данного родителя, являющегося оператором блока, выполняемым другим родителем, то задача также косвенно зависит и от этого родителя; то. же справедливо, если данный родитель является подпрограммой, вызванной другим родите. лем, а также если данный родитель — задача (прямо или косвенно), зависящая от другого родителя.

Зависимости существуют и для объектов личного типа, полное описание которого задано в терминах задачного типа. Говорят, что задача закончила свое выполнение, когда осуществилось выполнение последовательности операторов, помещенных в ев теле за зарезервированным словом ЬВВ)п. Аналогично говорят, что блок или подпрограмма закончили свое выполнение, когда осуществилось выполнение соответствующей последовательности операторов. В случае оператора блока также говорят, что выполнение его закончилось при достижении операторов выхода, возврата или перехода, передающих управление из блока.

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

Если у задачи нет зависимых задач и закончено ее выполнение, имеет место ее заверив. ние. После завершения задачи говорят, что она завершена. Если задача имеет зависимые задачи, то ее завершение имеет место после окончания выполнения задачи и завершения всех зависимых задач.

Из оператора блока или тела подпрограммы, чье выполнение закончено, нельзя выйти до завершения всех зависимых задач. С другой стороны, завершение задачи имеет место тогда и только тогда, когда ее выло. лнение достигло открытой альтернативы завершения в операторе отбора (см. 9.7.1) и удовлет. ворены следующие условия: яоз ьевш — активизация А и В веавее Лзм ЬОСАь 1е ееееее ЯЕЕООЛСЕ; х: аьовяь:= пме йевооясе; — активизация хев ; ЬОСАЬ:= пеш ЯЕ8008СЕ; — аКтИВИЗаЦИЯ Сее С: ЛЕВООйСЕ; Ьеа1п — активизация С О .= Х; — О и Х указывают один и тот же задачный объект ° м(, — ожидание завершения С и ь.ай, но не Хзл) мш; — ожидание завершения А, В и В.ай Примечание.

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

Следовательно, для завершения главной программы необходимо завершение всех зависимых задач, даже если соответствую. щий задачный тип описан в библиотечном пакете. С другой стороны, завершение главной про. граммы не зависит от завершения задач, в свою очередь зависящих от библиотечных пакетов; в языке не определено, требуется ли завершение таких задач. Для ссылочного типщ являющегося производным другого ссылочного типа, соответствующее определение ссылочного типа является определением родительского типа; зависимость в данном случае является зависимостью от родителя, который предвыполняет основные опре. деления родительского ссылочного типа.

Описание переименования вводит новое имя для уже существующего понятия и, следовательно, не порождает дальнейшей зависимости. Ссыпки: альтернатива завершения 9.7.1, библиотечный модуль 10.1, вызов подпрограммы 6.4, генератор 4.8, главная программа 10.1, задачный объект 9.2, исключение 11, обработчик исключения 11.2, объект 3.2, оператор 5, оператор блока 5.6, оператор возврата 5.8, оператор выхода 5.7, оператор перехода 5.9, описание 3.1, описание пвреименования 8.5, отбор с ожиданием 9.7.1, открытая альтернатива 9.7.1, пакет 7, подкомпонента 3.3, последовательность опе. раторов 5.1, программный модуль 6, ссылочный тип 3.8, тело задачи 9.1, тело подпрограммы 6.3, указывать 9.1, функция 6.5. 9.5.

ВХОДЫ, ВЫЗОВЫ ВХОДОВ И ОПЕРАТОРЫ ПРИНЯТИЯ Вызовы входов и операторы принятия являются основными средствами синхронизации задач и передачи значений между задачами. Описание входа подобно описанию подпрограммы и допустимо только в спецификации задачи. Действия, которые следует выполнить после вызова входа, задаются соответствующими операторами принятия. описание входа:: = еп(гу идентификатор [0(искретный диапазон)] [раздел формальных параметровВ оператор вызова входа :: = имя входа [раэдел фактических параметров]; огаратор принятия;:= ассер( простое имя входа [(индекс входа)] [раздел формальных параметров! [бо последовательность операторов епб [простое имя входа]]; индекс входа::= выражение Описание входа, включающее дискретный диапазон (см.

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

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

Совмещение для семейства входов не определено. Одиночный вход или вход семейства могут быть переименованы в процедуру, как поясняется в равд. 8.5. Виды параметров, определенные для параметров формального раздела описания входа, такие же, как в описании подпрограммы, и имеют тот же смысл (см. 6.2). Синтаксически опе. ратор вызова входа подобен оператору вызова процедуры; правила сопоставления параметров остаются теми же, что и для вызовов подпрограмм (см. 6.4.1 и 6.4.2). Оператор принятия задает действия, которые выполняются при вызове упомянутого в этом операторе входа (им может быть и вход семейства).

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

При предвыполнении описания входа вначале вычисляется дискретный диапазон (если он есть), затем так же, как в описании подпрограммы, предвыполняется раздел формальных параметров (если он есть]. Выполнение оператора принятия начинается с вычисления индекса входа(в случае входа семеиства). Выполнение оператора вызова входа начинается с вычисления имени входа, затем следуют вычисления, требуемые для фактических параметров, как и при вызове подпрограммы (см. 6.4).

Дальнейшее выполнение оператора принятия и соответствующего оператора вызова входа синхронизовано. Если данный вход вызывается только одной задачей, то предоставляются две воз. можности: ° Если вызывающая задача перешла к оператору вызова входа раньше, чем имеющая этот вход задача достигла оператора принятия, то выполнение вызывающей задачи приостанавливается.

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

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

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

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

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