Главная » Просмотр файлов » М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ

М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (1184225), страница 25

Файл №1184225 М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (М.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ.pdf) 25 страницаМ.М. ГОРБУНОВ-ПОСАДОВ - Системное обеспечение пакетов прикладных программ (1184225) страница 252020-08-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Описание модуляКак уже упоминалось, в системе ПНФ каждый квазимодульснабжается заголовком, содержащим описания всех входных и выходныхпараметров. В результате формируется функциональный модуль пакета,состоящий, таким образом, из заголовка, задающего интерфейс, и тела,задающего квазимодуль. Описание модуля на языке системы ПНФ имеетвидMODULE <имя модуля>(MAIN=<имя главной программы>)/R <имя заголовка модуля>/R <имя тела модуля>MODENDВ заголовке модуля содержатся описания всех параметров модуля:HEADER <имя заголовка модуля><описание параметра модуля>. .

. . . . . . . . . . . . . . . .HEADENDСтруктура описаний параметров модуля рассматривалась в предыдущемразделе.В теле модуля задаются сведения о программах, входящих в составквазимодуля:BODY <имя тела модуля>[([TRANSL=<имя транслятора>,]PERSO=<место>)][/R <имя программной единицы>]. . . . . . . . .

. . . . . . . . .BODEND(Заметим, что во второй и третьей строках записана металингвистическаяформула, содержащая вложенные квадратные скобки «необязательности».)Часть программ (точнее, программных единиц, допускающихавтономную трансляцию) может быть задана в текстовом виде, и в этомслучае их список задается с помощью предложений /R. Часть программможет быть взята из библиотеки (PERSO) объектных модулей мониторнойсистемы Дубна.

Расположение библиотеки на внешнем носителе задаетсяпараметром <место>, который имеет вид NNZZZZ, где NN - математическийномер устройства, a ZZZZ - номер зоны.Для программ, задаваемых в текстовом виде, следует указать <имятранслятора>, который должен быть к ним применен: FORTRAN, FOREXили ALGOL. Отметим, что <имя транслятора> может задаваться и приописании отдельных программных единиц. Поэтому в теле модуля указаниео трансляторе записывается лишь в случае, если все программные единицыили большинство из них написаны на одном и том же языкепрограммирования.Если в теле модуля нет ссылок на программные единицы, то указаниебиблиотеки объектных модулей должно бытьвключено обязательно, в результате чего все программы будут извлекатьсяиз этой библиотеки.Отдельные программные единицы на языке системы ПНФ записываютсяследующим образомUNIT <имя программной единицы>[(TRANSL=<имя транслятора>)<текст программной единицы>UNIENDВ качестве примера приведем описания модуля ROZ6, участвующего вреальных производственных расчетах./С ОПИСАНИЕ МОДУЛЯ ROZ6MODULE ROZ6(MAIN=ROZ6M)/R ROZHDR/R ROZBODMODEND/С ЗАГОЛОВОК МОДУЛЯ ROZ6HEADER ROZHDRDATA(ВИД=ВХОД, ФОРМАТ=ДАННЫЕ,РАЗМЕЩЕНИЕ=ВВФАЙЛ)CONROZ(ВИД=ВХОД,ФОРМАТ=КОНСТАНТЫ,РАЗМЕЩЕНИЕ=КАНАЛ(НОМЕР=4))SOURCI(ВИД=ВХОД,ФОРМАТ=ИСТОЧНИК-Q1,РАЗМЕЩЕНИЕ=КАНАЛ(НОМЕР=6), РАЗМЕЩЕНИЕ-Н.К.=ПК(НОМЕР=1,СМЕЩЕНИЕ=15,ДЛИНА=1,ФОРМАТ=13,ЧПО3=3))SOURCG(ВИД=ВХОД-ВЫХОД,ФОРМАТ=ИСТОЧНИК-01,РАЗМЕЩЕНИЕ=КАНАЛ(НОМЕР=7), РАЗМЕЩЕНИЕ-Н.К.=ПК(НОМЕР=1,СМЕЩЕНИЕ=18,ДЛИНА=1,FORMAT=13,ЧПО3=3))HEAEND/С ТЕЛО МОДУЛЯ ROZ6BODY ROZBOD(TRANSL=FOREX,PERSO=420020)/R ROZ6MBODENDUNIT ROZ6MSUBROUTINE ROZ6M.

. . . . . . . . . . . . . . . . . . .ENDUNIEND4.5. ПреобразовательПреобразователь обеспечивает передачу и преобразование группыР1,...,Рm входных данных преобразователя (т.е. выходных параметровмодулей) в группу Рm+1,...,Рn, выходных данных преобразователя (т.е.входных параметров модулей).

При построении расчетной цепочки вобращении к преобразователю указываются только эти параметры (Р1,...,Рn).Однако исходными данными для работы программы преобразователяслужат не только значения выходных (Р1,...,Рm) параметров модулей, но изначения описанных в заголовках модулей характеристик всех (Р1,...,Рn)параметров, участвующих в обращении к преобразователю. Всенеобходимые преобразователю исходные данные указываются в заголовкепреобразователя и передаются программе преобразователя черезспециальный COMMON-блок.Преобразователь в целом и тело преобразователя описываются на языкесистемы ПНФ точно так же, как и модуль и его тело (см.п.4.4).

Однакозаголовок преобразователя не похож на заголовок модуля. Он имеет видHEADER <имя заголовка преобразователя>COND <условие применимости преобразователя>INITIAL <список исходных данных>ASSIGN <список присваиваний>HEAENDЗдесь <условие применимости преобразователя> представляет собойлогическое выражение, истинность которого означает, что преобразовательприменим к заданной совокупности параметров модулей; <список исходныхданных> и <список присваиваний> определяют данные, передаваемыепрограмме преобразователя через специальный COMMON-блок.Логическое выражение в условии применимости состоит из отношений,связанных между собой логическими операциями («.AND.», «.OR.» и«.NOT.») с использованием круглых скобок. Например, логическоевыражениеФОРМАТ(1) .EQ.

ИСТОЧНИК-Ql .AND.ФОРМАТ(2) .EQ. ИСТОЧНИК-Q2определяет, что форматом первого (в списке Р1,...,Рn) параметрапреобразователя может быть только формат ИСТОЧНИК-Ql, а второго ИСТОЧНИК-Q2.Синтаксис отношения имеет вид<отношение> ::= <операнд> .EQ. <операнд><операнд> ::= <атрибут> | <слово> | <целое><атрибут> ::= <имя характеристики>[<объект>]( <параметр>)<параметр> ::= <целое>Здесь <атрибут> задает значение характеристики с именем <имяхарактеристики> для модульного параметра, который имеет номер<параметр> в списке Р1,...,Рm параметров преобразователя.

Если <объект> ватрибуте опущен, то объектом является сам модульный параметр, иначе вспомогательный объект (см.п.4.3), введенный в заголовке модуля приописании этого параметра.Вслед за условием применимости в заголовке преобразователязаписываются список имен исходных данных для программыпреобразователя и предложение ASSIGN, в котором этим даннымприсваиваются значения.В списке исходных данных через запятую перечисляются именаисходных данных в том порядке, в каком они располагаются в COMMONблоке, используемом программой преобразователя.

Если среди исходныхданных встречаются массивы, то указывается их длина, т.е. элемент спискаисходных данных имеет вид<имя элемента>[<длина массива>]Синтаксис списка присваивании, задаваемого в предложении ASSIGN,имеет вид<список присваиваний> ::= <группа>[,<группа>]<группа> ::= <простая группа> | <условная группа><простая группа> ::= <присваивание>[,<присваивание>]...<условная группа> ::= IF логическое выражение>THEN (<простая группа>)[ELSE (<простая группа>)]<присваивание> ::= <имя элемента>=<правая часть><правая часть> ::= <атрибут> | (<параметр>) |<слово> | <целое>Здесь <логическое выражение>, <атрибут> и <параметр> имеют тот жесмысл, что и в описанном выше предложении COND, а <имя элемента> - имяэлемента исходных данных из предложения INITIAL.Присваивания атрибута, слова и целого выполняются очевиднымобразом.

Появление в правой части присваивания конструкции (<параметр>)означает, что исходным данным присваивается значение модульного(выходного) параметра с номером <параметр> в списке Р1,...,Рm.При выполнении условной группы вычисляется логическое выражениеи в зависимости от его истинности выполняется та или иная группаприсваиваний.В качестве примера приведем описание одного из преобразователей,использующихся для реакторных расчетов./С ОПИСАНИЕ ПРЕОБРАЗОВАТЕЛЯ TRZMODULE TRZ(MAIN=TRZM)/R TRZHDR/R TRZBODMODEND/С ЗАГОЛОВОК ПРЕОБРАЗОВАТЕЛЯHEADER TRZHDRCOND ФОРМАТ(1) .EQ. ИСТОЧНИК-Q1 .AND.ФОРМАТ(2) .EQ.

ИСТОЧНИК-Q2 INITIAL NTVK2D,NOKS,NROZ6ASSIGNIF РАЗМЕЩЕНИЕ(1) .EQ. КАНАЛ THEN NRQZ6=HOMEP КАНАЛ(1)IF РАЗМЕЩЕНИЕ(2) .EQ. КАНАЛ THEN NTVK2D=HOMEPКАНАЛ(2)NOKS=4HEAEND/С ТЕЛО ПРЕОБРАЗОВАТЕЛЯBODY TRZBOD (PERSO=370640)BODEND4.6. Фрагменты расчетных цепочекЗаписав в архив разрабатываемого пакета оформленные на языке системыПНФ описания функциональных модулей и преобразователей, пользовательсистемы, вообще говоря, мог бы начинать составление цепочек и проведениерасчетов по ним. Однако оказывается, что для обеспечения простоты,удобства и надежности последующей работы полезен еще одинподготовительный этап - составление фрагментов расчетных цепочек.Использованиефрагментоврасчетныхцепочекпозволяетвестипроизводственные расчеты,практически не задумываясь о технических проблемах сопряжения модулей.Описание фрагмента цепочки имеет видCHAIN <имя цепочки><подпрограмма на языке сборки>CHAENDЯзык сборки представляет собой Фортран, дополненный описаниямиинтерфейсных переменных, операторами вызова функциональныхмодулей и операторами вызова преобразователей.Интерфейсные переменные служат для организации связи междуфрагментами цепочек.

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

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

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