Файл: Общее математическое обеспечение для решения задач экономики, статистики и управления на ЭВМ Минск-32 тезисы докладов и сообщений..pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 48
Скачиваний: 0
В программах ФОАДР и КОАДР предусмотрена развитая система диалога, а также удобочитаемая форма выходкой ин формации.
Система может быть использована в программах, написанных на алгоритмических языках АЛГАМС и ФОРТРАН.
Суммарная длина всех программ системы в собранном сос тоянии— 5053 ячейки основного поля и 160 ячеек индексного поля. Однако для организации обмена в рабочей программе требуется 1082 ячейки основного поля и 48 ячеек индексного поля.
С точки зрения пользователя, ленты, используемые в системе,
представляют |
собой внешнюю |
память, имеющую структуру, |
_ аналогичную |
структуре МОЗУ. |
Адресация ячеек каждой ленты |
начинается с 0. На ленте стандартной длины при плотности запи си 32 симв/мм можно разместить максимум около 700 тысяч 37-ми разрядных слов, т. е. около 40 объемов МОЗУ основного комплекта (16384 ячейки), или 10 объемов магнитного барабана.
Обмен с лентой прямого доступа производится массивами. Длина массивов произвольная и ограничивается отведенным для обмена участком МОЗУ. Структура массивов произвольная. Возможна многократная перезапись массива в одни те же адреса ленты.
Назначение программ системы:
Все используемые в системе магнитные ленты должны быть предварительно размечены по программе РААДР.
Исходные данные для программы:
—имя ленты (10 символов);
—требуемая длина ленты прямого доступа.
В процессе разметки магнитная лента оформляется как лента «Адрес», т. е. на нее выводится служебное оформление, в ячейки ленты прямого доступа заносится первоначальное значение, про изводится контроль качества ленты и обход дефектных участков.
Программа ФОАДР является модификацией предыдущей. От РААДР она отличается вводом заказа на разметку с перфо карт или с пультовой пишущей машинки, (программа РААДР не вводит заказ на разметку, а берет его из МОЗУ). Программа ЗААДР, как явствует из ее названия, предназначена для закреп ления ленты «Адрес» в рабочей программе. Кроме закрепления, программа проверяет имя ленты и признак разрешения исполь зования ленты. Основная программа системы ОАДР произво дит обмен с лентой прямого доступа. Она работает в двух режи мах: запись массива на ленту и чтение массива с ленты в МОЗУ.
60
Исходные данные для закрепления и обмена сводятся в 3 таб лицы. Две таблицы описания ленты пересекаются, в них содер жатся следующие сведения:
—имя ленты;
—КНВУ ленты;
—адреса блоков внешней программы, обрабатывающих сбой ные ситуации.
В тратьей таблице описывается массив. В нее входят:
—начальный адрес массива на ленте;
—длина массива;
—начальный адрес массива в МОЗУ.
Пятая программа системы КОАДР распечатывает на УПЧ содержимое ленты «Адрес». Служебная разметка печатается в удобном для чтения виде, содержимое ячеек ленты прямого доступа — в восьмеричной системе счисления. Кроме распечатки, программа производит контроль сохранности информации на ленте. В системе имеется еще одна программа — НМЛ. Она является вспомогательной и входит в качестве подпрограммы в программы перечисленного списка.
С лета 3973 года система проходит пробную эксплуатацию. Среди достоинств ленты прямого доступа, в первую очередь, можно назвать то, что она работает на базе ЗУМЛ основного комплекта. Скорость обмена уступает скорости обмена с други
ми устройствами прямого доступа (например, барабанам).
Г. Ф. Маслюк, С. Н. Белкуй, Н. К. Полумиенко
ОБ ОДНОМ КОМПЛЕКСЕ ПРОГРАММ ПЕЧАТИ ДЛЯ ЭВМ «МИНСК-32»
При разработке стандартных программ обработки данных существует тенденция насыщать эти программы большим чис лом функциональных возможностей, делая их «суперуниверсаль ными».
Характерным примером библиотеки стандартных программ, построенных по такому принципу, является «Система программ обработки экономической информации на ЭВМ «Минск-32».
Структура комплекса такова, что программы ввода и редак тирования информации с перфоленты и перфокарт, а также прог рамма вывода информации на устройство печати являются весь ма мощными и, в совокупности с предоставляемыми возмож
ностями нестандартной обработки, позволяют охватить практи чески все возможные при решении задач случаи.
Тем не менее, такой подход к разработке стандартных прог рамм обладает некоторыми недостатками, которые затрудняют эксплуатацию библиотеки:
— вследствие многочисленности параметров усложняется наст ройка программы (программа вывода информации на печать, о которой говорилось выше, требует для своей настройки свыше ста различных параметров, не считая параметров описания эле ментов записи);
—программа занимает большой объем памяти, что затруд няет ее использование в комплексе с другими программами;
—при решении задач средней сложности перечисление боль шого числа настроечных параметров является неоправданным;
—освоение программы по сложности можно сравнить с изу чением алгоязыка.
За счет перечисленных выше затруднений сужается как класс задач, на котором рационально использовать данную программу, гак и круг программистов, которым эта проблема по плечу. Поэтому мы считаем, что принцип функциональной избиратель ности так же важен для библиотеки стандартных программ обра ботки данных, как и принцип функциональной избыточности. Сочетание этих принципов достигается наилучшим образом при иерархической структуре библиотеки, которую условно можно представить в виде пирамиды. У ее основания располагаются стандартные программы, реализующие простейшие функции ти па — обработка одной записи, сортировка, поиск и выборка из массива, представляющие самостоятельную ценность не только при использовании в других, более сложных стандартных прог раммах, но и при решении конкретных задач.
Объединяя несколько простейших программ, мы получаем программу с большим числом функциональных возможностей, применимую, однако, на более узком классе задач.
При этом, чем более сложной является программа, тем ближе она располагается к вершине пирамиды.
Изложенные выше принципы были реализованы нами при создании комплекса стандартных программ вывода информации на устройство печати.
Разработку этого комплекса мы подчинили следующему тре бованию: программист должен иметь возможность при настрой ке программы ограничиться тем минимумом информации о ра боте, без которого программа просто не сможет выполнить эту работу.
62
Рассмотрим подробнее одну из важнейших программ, лежа щую у основания системной пирамиды, — программу СПЕ.
В некотором смысле эта программа занимает промежуточное место между программами типа «печать массива» и «печать запи си». Получая при каждом обращении одну запись, она произво дит ее редактирование и печать, пользуясь одним счетчиком, что позволяет получить в результате единую табуляграмму, разбитую на листы с общей нумерацией и т. д.
Такой алгоритм, с одной стороны, позволяет компоновать табуляграмму из записей различной структуры, чередуя их про извольным образом, а с другой стороны, избавляет программиста от необходимости следить за концом страницы.
Обращение к программе имеет вид:
ИП |
СПЕЧ2; 1 |
|
КА |
РП; |
ТИ |
где РП — адрес распечатываемой |
записи (рабочего поля); |
ТИ — адрес описывающей эту запись таблицы информации. После каждого обращения к СПЕЧ2 в зависимости от величи ны, засылаемой на сумматор (это может быть некоторое положи тельное число, нуль или любое отрицательное число), программа либо осуществляет редактирование и печать содержимого рабо чего поля РП, производя анализ на конец страницы, либо осу ществляет начальную самонастройку (перед печатью каждой новой табуляграммы), либо заканчивает печать табуляграммы,
дотягивая до конца последнюю страницу.
Запись, расположенная в рабочем поле РП, может состоять из элементов различной структуры (текст в коде ГОСТ, десятич ное число, двоичное целое число в масштабе 2~36 или двоичное число с плавающей запятой), на которые накладывается един ственное требование: чтобы каждый элемент занимал целое чис ло ячеек. Это требование не является слишком жестким, так как при необходимости распаковка (как и любая другая непреду смотренная программой обработка) легко может производиться в том же рабочем поле перед обращением к программе.
Каждый элемент записи характеризуется длиной D (числом ячеек, им занимаемых, без единицы), относительным адресом в записи А, признаком представления Р, числом знаков дробной части С и положением в строке листа, определяемом адресом бу
ферного |
накопителя |
0 < В < 1778 |
(как в генераторе отчетов |
RPG). Все эти параметры размещаются в одной ячейке таблицы |
|||
информации следующим образом: |
|
||
К4 |
00 |
РВВСААА |
в. |
63
Однотипные элементы, отличающиеся друг от друга только относительными адресами и положением на листе, можно опи сывать однократно, указав только их число и шаги адресов в памяти и строке.
Следует отметить, что запись может выводиться на бумагу разбитой на две или больше строк. Разделителем срок служит нулевая ячейка, стоящая в таблице информации между группами ячеек — описателей элементов записи. Признаком конца таблицы информации служит последний разделитель — нуль, записывае мый с отрицательным знаком.
Как уже говорилось, печать всех строк производится по еди ному счетчику с автоматической разбивкой на страницы. В начале и конце каждого листа либо печатаются стандартные детали оформления, либо, в соответствие с дополнительными указания ми, могут производиться обращения к нестандартным операто рам печати шапок и концовок листов.
Такие обращения, а также некоторая информация, расширяю щая возможности СПЕЧ2, записывается в общем поле программы.
Большое внимание уделено повышению скорости печати, что обеспечивается наличием двух буферных полей вывода.
Программа СРЕД2 отличается от программы СПЕЧ2 тем, что не выводит отредактированную информацию непосредствен но на устройство печати, а накапливает ее в оперативной памяти
ввиде блока, в котором каждая запись является готовой строкой табуляграммы. Когда блок полностью сформирован, следует обращение к какой-либо из программ вывода на внешнее уст ройство (ЫМЛ, ЫПЛ, ЫПК). Использование программы СРЕД2 выгодно при необходимости сохранить отредактированную ин формацию для повторной распечатки.
Для подготовки текста шапок, концовок и титульных листов
вкомплексе имеется специальная программа ПГ1ТЕК. В прог рамме ППТЕК текст перфорируется на перфокарте вместе со специальной служебной информацией, которая указывает место нахождение символа или группы символов на листе (задается номер строки и номер позиции в строке), а также позволяет одно кратно задавать повторяющиеся символы.
Так, черта на всю строку задается выражением: /П-О-177/ (здесь « / » — признак начала и конца служебной информации, буква П означает, что речь идет о повторении группы символов,
далее указывается повторяющийся символ (тире), начальный и конечный адреса группы в строке).
Подготовленный входной массив вводится программой в ма шину, происходит программный контроль служебной информа
64
ции и распечатка текста для визуального контроля. При наличии ошибок исправленные строки или куски строк снова перфори руются по тем же правилам, и новые карты подкладываются в конец колоды. Работа продолжается до тех пор, пока внешний вид формируемого массива (шапки, концовки или титульного листа) не удовлетворяет пользователя. В этом случае по специаль ной директиве происходит вывод правильного массива на перфо карты в виде, готовом для использования при печати табуля граммы. При разработке названных программ, которые являют ся базисными для всего комплекса (особенно это касается первых двух программ — СПЕЧ2 и СРЕД2) главное внимание было уде лено сохранению их общности и простоты использования. Даль нейшее развитие комплекса пошло по пути выделения наиболее важных частных случаев. Так, часто встречающейся задачей яв ляется распечатка информации, которая содержится в одном мас сиве записей постоянной структуры. Такая задача решается с по мощью программы СПЕЧЕ, которая получается из программы СПЕЧ2 путем присоединения стандартных программ машин ного МО ЭВМ «Минск-32» ОТВМЛ и ЧТЗ.
Программа РАСП также использует программу СПЕЧ2 и предназначена для тех случаев, когда элементы записи упакованы по несколько штук в одной ячейке.
Программа ОПЕР, являющаяся модификацией программы СПЕЧЕ, предназначена для оперативной распечатки массива записей постоянной структуры на магнитной ленте и позволяет все настроечные параметры разместить на одной перфокарте. При этом для каждого элемента записи задается только его длина и признак представления, остальные параметры фиксируются программой.
Программа СРЕД2 вместе с программами машинного МО ОТЫМЛ, ЫМЛ и ЗАЫ порождает программу СРЕДМ, которая обеспечивает важный случай вывода отредактированной инфор мации на магнитную ленту.
Программа СРЕДЕ так же как упоминавшаяся уже програм ма СПЕЧЕ обрабатывает один массив записей постоянной струк туры, размещая результат на магнитной ленте в виде, готовом
для печати.
По мере эксплуатации комплекса предполагается его расши рение как за счет настройки имеющихся программ, так и за счет создания новых базисных программ.
65
В. В. Плещев%JI. С. Гоцман, В. В. Соколова
СТАНДАРТНАЯ ПРОГРАММА ВВОДА ОДНОРОДНОЙ ИНФОРМАЦИИ С ПЕРФОКАРТ (КВВОД)
Программа предназначена для:
1.Ввода, контроля массива перфокарт (ПК) с однородной информацией;
2.Распечатка верных ПК с редактированием;
3.Записи вводимой информации на магнитную ленту. Вводимая информация должна быть однородной, т. е. либо
вся текстовая, либо числовая: восьмеричная или десятичная; рек визиты на перфокартах могут иметь как постоянную, так и пере менную длину (в последнем случае в конце каждого реквизита стоит символ — признак конца реквизита).
Число реквизитов и символов на перфокартах может быть постоянным или переменным. На перфокартах может присут ствовать контрольная сумма всех предыдущих реквизитов.
Программа осуществляет следующие виды контроля в зави симости от вида вводимой информации:
—на признак конца перфокарт;
—на дозволенный символ;
—на признак конца реквизита;
—на количество символов и реквизитов на перфокартах.
В случае переменного числа символов и реквизитов на перфо карте контроль осуществляется на кратность заданному пользо вателем числу:
—на диапазон изменения числового реквизита;
—на совпадение с контрольной суммой ПК.
Неверная перфокарта печатается вместе с характеристикой ошибки и порядковым номером в массиве.
Распечатка массива осуществляется в той форме, с которой перфорировалась информация, то есть реквизиты на печати от деляются друг от друга пробелами, число которых равно единице для реквизитов постоянной длины, либо равно разности от мак симально допустимой и действительной длины реквизита с пере менной длиной. Печать оформляется листами, длина которых указывается пользователем, и «шапкой», заданной пользователем.
Возможны следующие режимы печати массива ПК:
—печатаются все перфокарты;
—печатаются все перфокарты, у которых контрольная сумма равна 0;
—верные перфокарты не распечатываются.
66