Файл: Общее математическое обеспечение для решения задач экономики, статистики и управления на ЭВМ Минск-32 тезисы докладов и сообщений..pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 41
Скачиваний: 0
В. Р. Добрускин, А. М. Момотлтый, И. М. Пасечник
ОПЫТ ПРИМЕНЕНИЯ ЯЗЫКА «КОБОЛ-32»
В сообщении приводится накопленный опыт работы с тран слятором ТК-32; анализируются основные недостатки и достоин ства системы программирования «КОБОЛ-32» и возможные пути повышения эффективности использования этой системы.
Несомненным достоинством системы программирования «КОБОЛ-32» является то, что она легко вписывается в общую систему программирования ЭВМ «Минск-32» как на уровне ис ходного языка, так и на уровне языка загрузки. Это же относится и к общей организации информационных массивов в системе.
Однако имеется ряд недостатков, которые приводят к опре деленным эксплуатационным неудобствам. Это прежде всего отсутствие программ ввода-вывода кобольных текстов на перфо ленту, усложненное определение размера записи при организации начальных контрольных блоков и ряд других.
Нельзя признать удачной организацию сегментов транслято ра из-за излишних подводов при трансляции начала катушки ленты системы и невозможности стандартного отказа от услуг транслятора при требовании очередного заказа и в некоторых сбойных ситуациях.
На стадии выполнения рабочих программ очень сильно ска зывается неоправданное, с нашей точки зрения, ограничение, наложенное на сборку ряда программ СМО. Вопросы экономии оперативной памяти должны решаться разработчиками программ,
ане навязываться извне.
Вплане повышения эффективности использования системы программирования «КОБОЛ-32» применяется ряд организацион ных мероприятий на стадии трансляции, отладки и решения задач и разрабатываются программы, расширяющие возможности системы.
О. В. Комар, Н. А. Малышева, Л. Л. Ланцова
НЕКОТОРЫЕ ВОПРОСЫ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ КОБОЛ ДЛЯ ЭВМ «МИНСК-32» ПРИ СОЗДАНИИ АСУ
Применение ЭВМ ограничено не только трудностями в алго ритмизации сложных задач АСУ, но и в программировании
28
составленных алгоритмов. Программирование и отладка задер живают внедрение достаточно сложных задач на длительный период, что значительно снижает экономическую эффективность создаваемых АСУ. Автоматизация процесса программирования может быть достигнута путем применения алгоритмических язы ков. Специфика задач АСУ заключается в том, что они включают в себя: большие массивы смешанной (алфавитно-цифровой) исходной информации; большое количество выходных таблиц; алгоритмы зачастую несложные, но громоздкие. Поэтому был применен язык КОБОЛ, созданный специально для экономических задач.
Очевидны основные преимущества и удобства использования КОБОЛа при программировании:
— значительное сокращение времени разработок задачи от ее постановки до получения рабочего комплекса, обеспечиваемое высокой скоростью написания программ;
—охват средствами языка всех основных процедур обработки данных и возможности их расширения;
—простота и наглядность изложения алгоритмов, позво ляющие привлечь к программированию не только специально подготовленные кадры;
—легкость внесения изменений в разработанные комплексы программ;
—высокий уровень межпрограммных связей и связи с опера ционной системой;
—стандартизация и упрощение как ведения документации по разработанным программам, так и по их эксплуатации.
Наиболее эффективно использование системы КОБОЛ для задач с требованиями последовательной выборки и обработки массивов данных со сложной многоуровневой структурой. К та кому классу относится большинство задач таких подсистем АСУ, как технико-экономическое планирование, управление материаль но-техническим снабжением, комплектацией и др.
Эти задачи характеризуются большим объемом информации, разновременностью ее поступления, неоднородностью структуры создаваемых массивов данных.
На этапе разработок АСУ неизбежен процесс «проб и оши бок», когда часто возникает необходимость переделки ранее раз работанных задач.
Часты случаи разработки программ для задач разового или
срочного характера.
Все это делает необходимым создание больших комплексов программ в короткие, сжатые сроки, внесение с максимальной
29
быстротой требуемых изменений в программы, и как следствие, — резкое увеличение производительности труда программистов.
Использование системы КОБОЛ для разработки программ как раз и позволяет успешно решить эти проблемы, благодаря тем преимуществам, которыми он обладает. Например, програм мирование на языке даст наглядную форму представления алго ритма решения, повысит культуру труда программиста, исключит при написании программ «рутинные» ошибки, досадные «огрехи», оставляя время на подробный анализ постановки задачи.
Немаловажна и быстрота подготовки и обучения кадров по программированию на языке, а также возможность введения нор мативов на программирование.
В процессе практического применения системы КОБОЛ при разработке конкретных задач возник ряд проблем, выдвинувших требования распределения возможностей системы и более эффек тивного использования самой ЭВМ.
Приводим несколько примеров.
Средства языка КОБОЛ не позволяют выполнить формиро вание шифров массивов, исходя из режимов обработки, что часто требуется при организации и ведении основных и корректирую щих массивов в НСХ, имеющих к тому же одинаковую струк туру записи. Это реализуется подключением к кобольной прог рамме через глагол «ВОЙТИ» подпрограммы, написанной на ЯСК и имеющей вид:
НАМ |
БАЗ |
0 |
РЗВ |
3 |
|
ПАР |
РЗВ |
1 |
|
ПАУ |
1; ПАР |
|
П |
3,0; 2,6 |
|
ВЫХ |
НАЧ; 1 |
Оператор обращения к ней имеет вид: ВОЙТИ В н-п (Н-м, шифр — массива), где
н — п — название подпрограммы ЯСК, Н — м — название массива, шифр которого надо изменить
шифр массива — данное, определенное через глагол ПРИНЯТЬ или секцию рабочей памяти.
Отсутствие в языке средств общения с МБ также вызывает необходимость обращения к ЯСК, например, для организации первоначальной записи и обработки вводимой информации.
В действующей версии КОБОЛа не имеется возможности дозаписи информации в ранее введенный массив, тем не менее
30
это часто требуется при организации постоянного накопления данных на МЛ.
В качестве одного из самых простых способов реализации процедуры дозаписи можно использовать возможность записи массива на прежнее место МЛ при условии отсутствия его срока годности. В этом случае, используются две МЛ: информацион ная и рабочая, причем, на последней формируется дозаписываемый массив и затем дублируется на прежнее место.
Ускорения поиска заданной информации можно добиться, размещая справочные массивы небольшого объема в МОЗУ. Это могут быть массивы с постоянными значениями данных, и массивы, предварительно считанные с МЛ. Место в МОЗУ для таких массивов резервируется путем их описания в секциях связи или рабочей памяти.
Хороший эффект дает и использование в этом случае фразы ПЕРЕОПРЕДЕЛЯЕТ для организации просмотра массивов с по мощью индексирования.
Например, пусть требуется описать справочник наименований, который должен обладать возможностью для его просмотра,
тогда запишем: |
|
|
|
|
||
01 |
Поле-констант |
|
|
|
||
02 |
зап ш х |
(30) |
знач |
стальное |
литье |
|
02 |
зап |
ш х |
(30) |
знач |
цветное |
литье |
02 |
зап |
ш х |
(30) |
знач |
пробел |
|
01 |
справочник переопределяет поле-констант |
||
02 |
наименование повторяется 3 раза. |
||
03 |
строка — найм |
ш X |
(15) повторяется 2 |
Имеющиеся в эксплуатации версии транслятора КОБОЛ для ЭВМ «Минск-32», по всей видимости, нуждаются в доработках.
Для сокращения времени выполнения рабочих программ необходимо сделать все кобольные БГ1 собираемыми, т. к. нали чие безусловно загружаемых БП дает ощутимые потери времени.
Не совсем удобно при эксплуатации программ требование размера свободного конца перфоленты для массивов, подготов ленных в коде М-2, равного размеру зоны ввода-вывода. Это затрудняет обработку больших массивов порциями разной ве личины.
Вызывает определенные трудности и отсутствие в языке средств для логической обработки информации, например, различных анализов по шифрам материалов, изделий и т. д. Приходится использовать в таких случаях глагол «ВЫЧИСЛИТЬ», предназ наченный явно для других целей.
т
Следует заметить, что в системе КОБОЛ нет средств для стандартизации программ, что приводит к выводу о дальнейшем совершенствовании базы математического обеспечения АСУ пу тем создания обширных кобольных библиотек и развития МАКРО-системы, реализующей и накапливающей на входном языке различные процедуры обработки данных того или иного класса задач АСУ и представляющей возможность широкого их выбора пользователю.
Н. С. Школьникова, В. М. Школьников
ОБЕСПЕЧЕНИЕ ЭКСПЛУАТАЦИИ НЕДООТЛАЖЕННЫХ ПРОГРАММ
Отладка больших программ (5—10 тыс. команд) достаточно трудоемка. Просмотр всех вероятных ситуаций для них, как пра вило, не представляется возможным в приемлимые сроки. На практике такие программы сдаются в эксплуатацию недоотлаженными. Выявляемые в процессе работы ошибки требуют срочного исправления. Корректировка может осуществляться как на внеш нем носителе, так и непосредственно в оперативной памяти после загрузки программы. Первое занимает значительное время — собственно корректировка, трансляция модулей, сборка, форми рование внешних носителей и т. д. Возможный и часто приме няемый способ корректировки программ после загрузки — вне сение изменений вручную с пульта инженера. Однако этот способ дает удовлетворительные результаты только при малом коли честве изменяемых ячеек (1—3); при большом — он неудобен: во-первых, сильно затягивается время загрузки программы, вовторых, неизбежны ошибки оператора. В Гидрометцентре СССР
разработан метод внесения изменений в загруженные программы с помощью модифицированной отладочной программы.
Отладочная программа (отладка), имеющаяся в системе программирования ЭВМ, моделирует работу модулей и позво ляет заносить в них необходимые изменения, печатать значения интересующих программиста величин, прослеживать порядок выполнения команд и т. д. В модифицированном варианте сохра нены все возможности стандартной отладочной программы и добавлена процедура отключения моделирования на заданном этапе с переходом отлаживаемой программы как самостоятель ной задачи под непосредственное управление диспетчера ЭВМ.
32
При выполнении упомянутой процедуры отладочная программа исключается из состава задач; память и уровень, занимаемые ею, освобождаются, отключение моделирования производится по дополнительному оператору.
Схема внесения изменений в описываемом методе выглядит следующим образом. Программа запускается под управлением отладки. На нужном этапе в нее с помощью отладочных опера торов вносятся необходимые изменения, затем отладка отклю чается, и программа продолжает работать под управлением дис петчера. При использовании этого метода время загрузки прог раммы увеличивается только на время загрузки отладки, а коли чество изменений ограничивается лишь размером свободной памяти (на корректировку ячейки расходуется в среднем 5 слов памяти).
При разработке процедуры отключения отладки учитывались следующие свойства существующей организации моделирования:
— изолированность отлаживаемой и отладочной программ
впроцессе работы;
—тождественность всех объектов отлаживаемой программы
вотладочном и реальном режимах;
—однозначное соответствие состояния программы в отла дочном и реальном режимах.
Для реализации процедуры потребовались изменения и до полнения к стандартной отладочной программе, осуществляющие: обработку дополнительного отладочного оператора; освобожде ние внешних устройств, используемых отладкой, и перезакрепление устройств, занятых отладкой для отлаживаемой программы; введение отлаживаемой программы в состав самостоятельных задач и исключение отладки из состава таких задач; освобождение памяти и уровня, занимаемых отладкой.
Кроме вышеописанного применения, процедура отключения отладки расширяет возможности отладочной программы. С по мощью подобной процедуры можно проследить выполнение от лаживаемой программы под управлением отладки, а затем, от ключив моделирование под непосредственным управлением дис петчера, осуществить частичное моделирование в программах, содержащих непредусмотренные отладкой операции на участках, свободных от таких операций. Нельзя не отметить также эконо мию машинного времени при «самостоятельном» выполнении программы, по сравнению с работой под управлением отладки, когда отсутствует необходимость в моделировании программы в течение всего времени ее работы.
33