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

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

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

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

д. Пакет содержит также необходимые описания констант. Спецификация РКЕБЯЖЕ ЧЕБЯЕЬ приведена ниже: Расйайе РКЕББОКЕ ЧЕБЯЕЬ 1з зпй(уре ТЕМРЕКАТ()КЕ!з РЬОАТ; 0ЕЬТА Р: сопя(ап1: 1000.0; 1)ЕЬТА Т: сопз1ап1 ТЕМРЕКАТЫКЕ: 1.0; -- изменение температуры вызывается изменением — потока охладителя на величину ОЕЬТА Р/17ЕЬТА Т. Температура -- повышается или понижается в зависимости от уменьшения -- или увеличения потока охладителя Т М1Х: евпз1ап1 ТЕМРЕКАТ1ЖЕ: 400.0; Т МАХ: сопя!апг ТЕМРЕКАТ(ЖЕ: 500.0; н Число возбуждения исключения !ЧОМЕК!С ЕККОК в рекурсивном варианте вычисления функнии равно !Ч вЂ” 7 раз на 16-разрядных ЭВМ для представления чисел типа ЦЧТЕСЕК и 1Ч вЂ” !2 раз при 32-бит машинном слове с олним битом, зарезервированным для знака.

193 Искпючения Т ОРТ: еопвгапг ТЕМРЕКАТЫКЕ: 450.0; ргоееопге СНАй(ОЕ ГЬ0%(Р: 1п РЬОАТ); -- Чтобы изменить температуру на величину Т. — поток охладителя должен измениться на величину, -- РавнУюТ «(-1)ЕЬТА РгОЕЬТА Т), — Знак — указывает, что поток должен быть уменьшен, -- если Т > О,и увеличен, если Т < О. -- Здесь описываются спецификации процедур ЯТАКТ ГЬ0% и -- ЯТОР ГЬ0% для пуска и завершения потока охладителя ргосеопге КЕАР ТЕМР(Т: оп! ТЕМРЕКАТ()КЕ); егн) РКЕБЯ5КЕ ЧЕББЕЬ; Задача БТАКТ КЕАСТОК управляет камерой сжатия до того момента, пока ее состояние не станет устойчивым, а затем передает управление задаче ЧЕББЕЬ-МО)ч1ТОК.

ЧЕББЕЬ МОЯ)ТОК абстрактно определяется как Ожидать, пока БТАКТ КЕАСТОК не запустит реактор )оор Прочитать температуру !1 Температура не находится в допустимых пределах гйеп Инициировать останов реактора путем возбуждения исключениЯ ТЕМР 0()ТЗ11)Е ЫМ!ТБ Выдать соответствующие сообщения епп !1; Установить поток охладителя, чтобы температура в камере сжатия была оптимальной епй 1оор; Эти две задачи, включенные в процедуру К(ЛЧ КЕАСТОК, описываются следую- щим образом: и!гв РКЕББПКЕ ЧЕББЕЬ, ТЕХТ 10; вве РКЕБВ()КЕ ЧЕББЕЬ, ТЕХТ 1О; ргоеейпге К()й1 КЕАСТОК !в ргарпа РК1ОК1ТЧ(10); — Этой задаче присваивается наивысший приоритет гав!с БТАКТ КЕАСТОК !в спи ВТАКТ КЕАСТОК; гав)г ЧЕББЕЬ МОй11ТОК !в еп!гу БТАКТ; Глава я 194 епо ЧЕББЕ1.

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

Тело задачи имеет вид !авЬ Ьооу ЧЕББЕ1. МОХ1ТОК 1я Т: ТЕМРЕКАТОКЕ; ТЕМР ООТБ10Е 1.!М1ТБ: ехсер(!оп; 1)Е1.ТА РТ: сопя!аа! И.ОАТ: — 1)Е).ТА Рг'1)Е1.ТА Т; -- Уменьшение потока увеличивает температуру реактора -- Увеличение потока, требуемого для уменьшения — — температуры реактора, равно — 0ЕЬТА РТ Ьей!и ассер! БТАКТ; !оор КЕАР ТЕМР(Т); !!Т > Т М1Х апоТ ( Т МАХ !Ьеп СНАХОЕ Р(.ОзЧ((Т ОРТ-Т) ° 1)ЕЬТА РТ) — изменение температуры в сторону Т ОРТ е)яе га!яе ТЕМР О()ТБ11)Е 1.1М1ТБ; епо' 1Е; ево !оор; ехсер(!оп нйеп ТЕМР О()ТБ11)Е 1.1М1ТБ > -- вызвать соответствующую процедуру для — инициализации 1ММЕР!АТЕ ЯН()Т 00%Х реактора 198 Исключения !1 Т ( Т М1Х Еяев -- отметим, что любой доступный в главной программе -- идентификатор доступен и здесь Р()Т(«ОШИБКА ПЕРЕОХЛАЖДЕНИЕ КАМЕРЫ СЖАТИЯ») е)яе РЫТ («ПРЕКРАТИТЬ РАБОТУ ~ ПЕРЕГРЕВ КАМЕРЫ СЖАТИЯ») евй !1; -- задача завершается после обработки исключения евв ЧЕББЕЬ МОХ!ТОК; 5.9.4.

Обеспечение пожарной (энергетической) безопасности в доме Использование ЭВМ в домашнем хозяйстве становится обычным явлением. Это может быть, например, контроль за расходом энергии или подача сигнала тревоги в таких исключительных ситуациях, как пожар или ограбление. В этом случае ЭВМ будет запрограммирована так, чтобы реагировать на исключительные ситуации. В рассматриваемом примере задача АЬАКМ используется для предупреждения пожаров и ограблений. Наличие пожароопасной ситуации или попытки взлома определяются прерыванием по адресам 8 Ф 100 № и 8 Ф !!О Ф датчиков тепла или движения.

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

Задача 8ТАТ(эб может выполняться на ЭВМ, отличной от ЭВМ для задачи АЬАКМ. В этом случае при отсутствии в течение 5 с вызова входа от задачи АЬАКМ можно предположить, что ЭВМ, выполняющая задачу АЬАКМ, неисправна или отключена, и необходимо проверить обе эти возможности. Описание задачи АЬАКМ следующее: (авк А1.АКМ !в епггу НЕАТ БЕ(ЧБОК(1: !и ЬОСАТ1ОН); евГгу МОЧЕМЕ1ЧТ (ЭЕТЕСТОКН: 1п ЬОСАТ1ОХ); 1вг НЕАТ БЕ1ЧБОК вас а! 8№100№; 1ог МОЧЕМЕ1»Т (ЭЕТЕСТОК вве аГ 8№110№; евй АЬАКМ; А1.АКМ реализует абстрактный алгоритм !ввр яе!ес! Выдать сигнал, если в некоторой части дома температура превысила точку воспламенения 196 Глава к ог Выдать сигнал, если обнаружено подозрительное движение в доме е!яе Ожидать 4,5 с н выдать сигнал, что все в порядке епо яе!ес! епй !оор Тело задачи А1.АКМ следующее: !авЬ !яику АЕАКМ !а Х: 1.0САТ1ОХ; Р1КЕ, ВКЕАК 1Х: ехсере!оп; Ьей!п 1оор ее!ес! ассер! НЕАТ БЕХБОК(1: !п 1.ОСАТ1ОХ) Ьо Х: 1; епй НЕАТ БЕХБОК; га!яе Р1КЕ; ог ассер! МОЧЕМЕХТ 0ЕТЕСТОК(1: !п 1.ОСАТ1ОХ) оо Х: 1; епй МОЧЕМЕХТ 0ЕТЕСТОК; га!яе ВКЕАК 1Х; ог ое)ау 4.5; -- должен подтверждаться каждые 5 с БТАТ(ЗБ.ХО Р1КЕ ОК ВОКО1.АК; епо ае!есе; еги! !оор; ексер(!оп ггЬеп Р1КЕ, > — подать звуковой сигнал, сигнал пожарной тревоги и — вызвать пожарных, указав адрес дома и место загорания нЬеп ВКЕАК 1Х > — подать звуковой сигнал, сигнал ограбления и вызвать — полицию, указав адрес дома и место взлома епй АЕАКМ; Задача А1.АКМ завершается после обработки исключений РН(Е или ВКЕАК 1Х.

АЕАКМ должна быть повторно запущена. 5.9.5. Слияние отсортированных Файлов Этот пример иллюстрирует, как чистят подпрограммы после возбуждения исключения и как пишутся программы для распознавания тех операторов, которые вызывают возбуждение предопределенных исключений. В этом примере также иллюстрируется использование файлов и исключений, возбуждаемых операциями над файлами. 197 Исключения Задача состоит в том, чтобы написать подпрограмму, производящую слияние двух непустых файлов, отсортированных в возрастающем порядке, и создающую третий файл, также отсортированный в возрастающем порядке. Входные файлы имеют внешние имена А и В, выходной файл имеет имя С.

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

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

Алгоритм для слияния двух отсортированных файлов А и В и получения отсортированного файла С можно абстрактно описать следующим образом: Дать файлам имена Р, О и К и открыть их 1оор И Х < У (Ьен %К1ТЕ(К, Х); И файл Р пуст |Ьеп %К1ТЕ(К, У); Скопировать остаток Я в К ех)й — подходящее использование оператора выхода епд И; КЕАР(Р, Х); е!зе %К(ТЕ(К, У); И файл Я пуст |Ьеп |н'К1ТЕ(К, Х); Скопировать остаток Р в К ехй; енй И; КЕАРИ), У); епд И; епд 1оор; В процедуре МЕКОЕ БОКТ будет использоваться конкретизация предопределенного настраиваемого пакета БЕЙ)ЕХТ1А1.

1О 114.2.3) для чтения и записи элементов типа ЯП1РЕХТ РАТА. Этот пакет позволит описать файлы с элементами типа БТРРЕХТ РАТА и обеспечит также такие операции над файлами, как ОРЕХ, С1.ОБЕ, КЕАР и ЕХВ ОЕ-Е1(.Е. зэв Главе 5 Ы ЗЕООЕХТ1А(,1О, ТЕХТ 1О; и!гЬ ЗТ$ЛЭЕХТ; пве ЗТ!Л)ЕХТ; — пакет ЗТ(ЛЭЕХТ содержит описания типов, относяши ся к — студентам, такие как ЗТ()ОЕХТ РАТА, а также -- соответствующие операции ргоее$пге МЕКОЕ ЗОКТ(А, В, С: ЗТК1ХО) Ы расйапе ЗТ!Л)ЕХТ ОАТА 1О !я пезг ЗЕ()1)ЕХТ1А1, 1О(ЗТШ)ЕХТ ЭАТА); пяе ЗТ(ЛЭЕХТ ЭАТА 10; Р, О, К: НЕЕ ТУРЕ; -- внутренние файлы, соответствующие внешним -- файлам А, В, С Х, У: ЗТ$3!)ЕХТ 0АТА; Ьеи!п -- связать внутренние имена файлов с внешними -- именами и указать их вид ОРЕХ(НЕЕ > Р, МОРЕ 1Х НЕЕ, ХАМЕ > А); -- использовано именное соответствие ОРЕХ((), 1Х Р1ЬЕ, В); ОРЕХ(К, О()Т Р11.Е, С); -- для иллюстрации использовано позиционное соответствие КЕАР(Р Х)' КЕА!)(О У)' -- возбуждается исключение ЕХ(Э ЕККОК, если -- Р или О пустые файлы !оер !1Х < У гйеп %К1ТЕ(К, Х); !1 ЕХ!) ОР Р11.Е(Р) гйеп %К1ТЕ(К, У); нЫ)е по! ЕХ0 ОР НЕЕ(9) !оор КЕА1)(ф У); %К1ТЕ(К, У); епй !оор; ек!г; епй !1; КЕА0(Р, Х); е1яе %К1ТЕ(К, У); !1 ЕХ0 ОР Р11.Е(О) гЬеп %К1ТЕ(К, Х); пЫ!е по! ЕХ!) ОР Н!.Е(Р) !оор КЕА!)(Р, Х); %К)ТЕ(К, Х); Исключения 199 еп<1!оор; ех(1; ев1 11; КЕАР(0, Ч); ел<1 1Е ев1 1оор; ехсерйоп нЬеп ЕХР ЕККОК > ТЕХТ 10.Р()Т(<сОШИБКА: один из файлов» й А й «или» й В й «пуст»); СЬОБЕ(Р); СЬОБЕ(0); СЬОБЕ(К); <чЬеп РЕЧ1СЕ ЕККОК > ТЕХТ 1О.РЫТ(«ОШИБКА: периферийное устройство с файлами» й А й «или» й В й «не работает»); СЬОБЕ(Р); СЬОВЕ(0); СЬОБЕ(К); нЬеп РАТА ЕККОК > ТЕХТ 10.Р()Т («ОШИБКА: один из файлов» й А й «или» й В й «содержит неверные данные»); С1.0БЕ(Р); СЬОБЕ(()); С1.0БЕ(К); ев1 МЕКОЕ БОКТ; Выявление оператора, который вызвал возбуждение исключения, — сложная задача.

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

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

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

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