Файл: Общее математическое обеспечение для решения задач экономики, статистики и управления на ЭВМ Минск-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