книги из ГПНТБ / Брага, В. В. Основы технологии машинной обработки статистической информации [учеб. пособие]
.pdfрованием. Это очень важно, особенно если учесть, что выпуск ЭВМ увеличивается большими темпами, а для того чтобы полностью ис пользовать одну машину, ее должны обслуживать 30—40 програм мистов.
Программа, составленная на алгоритмическом языке, может быть с некоторыми изменениями перенесена на ЭВМ другого типа, имеющую транслятор с данного языка. В настоящее время суще ствуют сотни алгоритмических языков. Наиболее широко приме
няются так называемые |
универсальные языки. Они используются |
во многих странах, для |
многих типов машин и являются междуна |
родными. Как правило, алгоритмические языки ориентированы на определенный класс задач.
Для инженерных, математических и научных задач в качестве основного взяты языки «Алгол-60», который был принят в I960 г., и ФОРТРАН. На базе АЛГОЛА создаются и развиваются алгорит мические языки для решения экономических задач. К ним отно сятся, например, алгоритмические языки «Алгэм», «Алгэк», создан ные в нашей стране. Язык «Алгол» совершенствуется. Для эконо мических задач широко используется также алгоритмический язык «Кобол».
Сейчас разработаны алгоритмические языки более высокого уровня, такие, как PL-1, АЛГОЛ-68. Эти языки универсальные, они могут применяться для описания задач различного типа, но исполь зуются только для ЭВМ высокого класса. В нашей стране приме няется также язык символического кодирования (ЯСК), авто код «Инженер» (АКИ), Макрокод. АКИ вначале был разработан для решения инженерных задач, однако в дальнейшем были созда ны варианты АКИ, которые достаточно успешно применяются для решения экономических и статистических задач. Некоторые алго ритмические языки могут применяться лишь для одного типа ЭВМ.
Система автоматического программирования состоит из двух важнейших составных частей: языка, способа записи задачи; транс лятора, программы, транслирующей эту запись в программу на машинном языке.
Каждый язык имеет широкий набор правил, символов и обо значений, которые подлежат одинаковому толкованию. Принцип программирования на алгоритмическом языке заключается в сле дующем. Задача, записанная на алгоритмическом языке в виде сим волов, переносится на машинный носитель (перфокарты или пер фоленты) и вводится в ЭВМ.
В машине алгоритмическая программа рассматривается другой программой — транслятором. На разработку транслятора затрачи вается несколько лет. Транслятор состоит из десятков тысяч ко манд. Программа-транслятор составляется один раз и хранится по стоянно в памяти машины. Программа-транслятор воспринимает алгоритмическую программу и переводит ее на машинный язык, т. е. .машинная программа автоматически составляется непосред ственно электронной вычислительной машиной.
50
Для этого в машине происходит анализ конструкций алгорит мического язьжа и их разложение на элементарные операции. Каж дой процедуре алгоритмического языка присваивается группа ма шинных команд. Одновременно машина проверяет, правильно ли составлена алгоритмическая программа. Все обнаруженные ошибки транслятор печатает. В программу можно вносить изменения. После завершения трансляции исходной программы получается машинная программа, которая размещается в памяти машины и используется для решения задачи. В случае необходимости машин ную программу можно напечатать или вывести на перфоленту.
КОБОЛ - программа на
|
|
бланках |
|
|
|
|
|
Перфорация |
программы |
|
|
|
|
на |
перфокартах |
|
|
|
|
|
|
Исходные данные |
|
|
|
|
|
на |
перфокартах |
ЭВМ |
|
|
|
|
|
|
|
Ввод |
КОБОЛ-программы |
|
|
Печать |
|
В 36 M |
|
Ввод исходных дан |
|
6 |
|
X |
|||
ошибок |
|
ных |
В ЭВМ |
||
КОБОЛ - |
|
Программа - |
транслятор |
|
|
программе |
|
X |
|
|
|
|
|
|
|
|
|
|
|
Машинная |
программа |
|
|
|
|
|
X |
исходных |
|
|
|
Обработка |
|
||
|
|
данных |
|
|
|
Печать результатов решения
Рис. 5. Блок-схема решения задачи при |
помощи алгоритмической программы |
на языке |
КОБОЛ |
После этого можно приступать к решению задачи на машине. Од нако следует учесть, что на решение задачи, записанной на алго ритмическом языке, уходит больше машинного времени, чем на ре шение той же задачи, спрограммированной на машинном языке. Программа-транслятор занимает большой объем запоминающего устройства ЭВМ. Решение задачи на ЭВМ при помощи алгоритми ческой программы на языке КОБОЛ показано на рис. 5.
Программа для электронных вычислительных машин может со ставляться на различных алгоритмических языках в зависимости от наличия соответствующих трансляторов. Выбор какого-либо ал-
51
горитмического языка зависит от особенностей конкретной задачи. Каждый транслятор может работать только с программой на одном алгоритмическом языке. Программа может вводиться с раз личных машинных носителей. Отладка исходных программ осу ществляется по специальной методике. Систему автоматизации
программирования можно видеть на схеме (рис. 6).
Внедрение ЭВМ третьего поколения ставит новые проблемы в организацию обработки экономической информации, так как пред полагает широкое использование различных программ решения
|
Программы |
на алгоритмическом |
языке |
|
\ |
|
|
|
|
|
|
|
|
|
ЯСК АКИ |
АЛГОЛ |
ФОРТРАН |
АПГЗМ |
АЛГЭК |
кобол |
ЭВМ |
|
|
|
|
|
|
I |
|
|
|
|
|
|
Прог |
Прог- |
Прог |
Прог |
Прог |
Прог |
Прог |
рамма- |
рамма- |
рамма |
рамма |
рамма |
рамма |
рамма |
тран |
тран-. |
тран |
тран |
тран |
тран |
тран |
слятор |
слятор |
слятор |
слятор. |
слятор |
слятор |
слятор |
Машин |
\ |
\ |
\ |
Машин |
Машин |
\ |
Машин |
Машин |
Машин |
машин |
|||
ная |
ная |
ная, |
\ |
|||
ная |
ная |
ная |
ная |
|||
прог |
прог |
прог |
прог |
прог |
прог |
прог |
рамма |
рамма |
рамма. |
рамма |
рамма |
рамма |
рамма |
* |
* |
• 1 |
! |
* |
t |
* |
Решение
1
Результаты решения
Рис. 6. Система автоматизации программирования
конкретных задач на алгоритмических языках, программ-трансля торов, программ, обеспечивающих многопрограммный принцип ра боты машины, библиотек стандартных программ. Полный набор программ, обеспечивающих решение задачи на машине, представ ляет собой систему математического обеспечения ЭВМ.
Система математического обеспечения машины включает опе рационную систему и систему программирования. Под операцион ной системой понимается набор программ, которые организуют не прерывную многопрограммную работу машины без вмешательства
оператора. Система программирования |
обеспечивает подготовку |
|
программ для решения задачи на алгоритмических |
языках. |
|
Операционная система — часть математического |
обеспечения; |
она создается для облегчения работы программистов и операто ров. Операционная система может быть ориентирована на различ-
52
ные классы задач, а может быть и универсальной, но она всегда ориентирована на конкретную модель ЭВМ. Пока нет единого мне ния о составе программ, относящихся к операционной системе. Можно считать, что к операционной системе относится набор про грамм, обеспечивающих выполнение машиной рабочих программ в многопрограммном режиме, система программ-трансляторов и библиотека стандартных пропрамм и подпрограмм. В операцион ную систему входят программы управления машиной и автомати ческого обслуживания, которые ограничивают роль оператора при решении задач на ЭВМ. Оператор лишь исполняет команды, полу чаемые от программ автоматического обслуживания или от про прамм управления машиной.
Стандартными программами и подпрограммами являются все программы, при помощи которых можно решить ряд задач разли чающихся исходными данными. К стандартным программам или подпрограммам относят подпрограммы и программы сортировки, обмена массивами между запоминающими устройствами, печати, организации и реорганизации массивов, коррекции массива, вы борки; программы статистического анализа, обеспечивающие вы числение матриц, коэффициентов корреляции, анализ регрессий, анализ временных рядов и др.
Операционная система повышает эффективность работы вычис лительной системы, эффективность использования оборудования, обеспечивает системную обработку комплекса статистических за дач на ЭВМ. Основными чертами операционной системы являются быстродействие, гибкость к изменениям в конфигурации вычисли тельной системы, возможность расширения и изменения, возмож ность удобного программирования для ЭВМ, легкость управления решениями задач на ЭВМ.
Создание математического обеспечения для электронной обра
ботки комплексов |
статистических задач — одна из |
важнейших |
|||
проблем проектирования АСГС. |
|
|
|
||
Общие сведения |
о языке |
символического |
кодирования. |
Язык |
|
символического кодирования |
(ЯСК) — низшая |
ступень |
автомати |
зации программирования. Среди всех языков ЯСК ближе всех к машинному. Здесь каждой машинной команде соответствует свой оператор, схожий по структуре с командой, но имеющий другую форму записи, т. е. операторы ЯСК «один к одному» соответствуют машинным командам. Несмотря на это, программирование на ЯСК имеет ряд преимуществ по сравнению с программированием на машинном языке: название операторов легче запомнить, чем коды операций; применение символической адресации освобождает про граммистов от распределения памяти машины, так как память распределяется автоматически. Названные преимущества ускоряют составление программы, снижают количество ошибок в ней.
ЯСК состоит из алфавита и правил записи конструкций (опе раторов). В алфавит ЯСК входит 31 прописная буква русского ал фавита, 26 прописных букв латинского алфавита, 10 арабских цифр,
53
+ (плюс), — (минус), . (десятичная точка), «,» (запятая), «:» (двоеточие), «/» (наклонная черта), «'» (строчная кавычка или
апостроф), |
«! |
I» (пробел), «==» |
(равно), «(» |
(открывающаяся |
скобка), «)» |
(закрывающаяся скобка). Для отличия от нуля букву |
|||
О при записи |
следует перечеркнуть |
наклонной |
чертой, например |
|
0 С Т . |
|
|
|
|
Так же как и машинные команды, операторы делятся на не сколько групп: арифметические операторы, операторы действий над кодами, операторы управления, операторы обмена информацией с внешними устройствами, операторы описания и распределения памяти, операторы управления выводом при трансляции.
Программа, составленная на ЯСК, состоит из операторов. Каж дый оператор соответствует машинной команде и состоит из двух частей: кодовой и адресной. В кодовой части вместо цифрового кода операции проставляется сокращенное условное наименование операции, точнее, ее мнемонический код. Например, машинный код операции (+10) сложения с фиксированной запятой на ЯСК будет записан СФЗ. Условное наименование операции назы вается аббревиатурой и состоит не более чем из пяти букв полного названия операции; обозначения адресов здесь состоят из услов ных наименований массивов и относительных адресов. Приведем пример, показывающий образование мнемонических кодов опера тора:
Операции |
Мнемонический код |
Машинный код |
|
операций (КОП) |
операции |
||
|
Сложение |
с |
фиксированной |
запятой |
с |
СФЗ |
+ 1 0 |
|
записью |
результата в М О З У |
|
|
|
|||
Вычитание |
|
с |
плавающей |
запятой |
без |
ВП |
+25 |
записи |
число с клавишно: о набора |
|
|
—13 |
|||
Переслать |
|
ПКЛА |
|||||
Программирование на языке символического кодирования вы |
|||||||
полняется |
на |
основании |
приемов |
и методов программирования на |
машинном языке. Программа, записанная на бланке языка симво лического кодирования, называется символической программой (СИМП). Каждый оператор записывается в отдельной строке бланка и затем переносится на перфокарту или перфоленту для ввода в ЭВМ.
В рабочей строке бланка заполняются следующие графы: «этикетка»; в ней записываются символические наименования
тех объектов программы, на которые имеются ссылки в операторах программы. Этими объектами могут быть: операторы — команды, массивы данных, константы, рабочие ячейки, базисные адреса, име на внешних устройств;
«код операции» (КОП) ; записывается мнемоническое название оператора. Им может быть обозначение операции или оператора; «адреса и замечания»; записываются адресная часть оператора
54
и |
замечания к каждой строке. Замечания |
на программу |
не влияют |
и |
транслятором не расшифровываются. |
Они выводятся |
при рас |
печатке СИМП без изменений и служат для удобства чтения про граммы.
Адресная часть может представляться этикеткой, числовыми относительными адресами, десятичными или восьмеричными чис лами, а также арифметическими выражениями.
Во время трансляции мнемонические названия операторов пе реводятся в машинные коды операций, а этикетки и адреса — в действительные адреса машинных команд.
Язык символического кодирования вместе с транслятором пред ставляет собой систему символического кодирования (ССК). В на стоящее время модифицированный вариант ЯСК является так на зываемым «входным языком» для ЭВМ «Минск-32».
§ 5. АЛГОРИТМИЧЕСКИЙ ЯЗЫК КОБОЛ
Универсальный коммерческий ориентированный язык КОБОЛ предназначен в основном для решения экономических задач. На стоящее описание языка КОБОЛ не является руководством по про граммированию и составлено для неподготовленного читателя с целью общего ознакомления с алгоритмическими языками на при мере этого языка. КОБОЛ как язык программирования применим для большинства современных ЭВМ, имеющих специальный кобольный транслятор, преобразующий программу на КОБОЛе в ра бочую программу для данной машины.
Основные понятия |
языка. Алгоритмический |
язык КОБОЛ, по |
добно любому языку, |
имеет свой словарь. Каждое слово состоит |
|
из последовательности |
цифр или букв и дефиса |
(-), который исполь |
зуется как соединительная черточка. Каждое слово в КОБОЛе на чинается с буквы. Пробел ( 1—1 ) используется в КОБОЛе как про стейший ограничитель слова. Слово в К О Б О Л е не может ни начи наться, ни заканчиваться дефисом. Для построения слов языка КОБОЛ используются цифры от 0 до 9, буквы русского алфавита, а для машины «Минск-32» и буквы латинского алфавита, не совпа
дающие по начертанию |
с русскими (F, Z, S |
и т. д.), и |
синтаксиче |
||
ские знаки: |
|
|
|
|
|
«.» — точка; |
«,» — запятая; |
«;» — точка |
с запятой. |
|
|
Специальные |
знаки: |
|
|
|
|
« и » — пробел |
« > » — больше |
|
|||
«( |
)» — скобки |
« = » — равно |
|
||
«/» — разделитель |
«*» — звездочка |
||||
«, '» — кавычки |
« + » — плюс |
|
|||
«<^» — меньше |
«—» — минус |
|
|||
В языке различают |
зарезервированные |
слова и слова, выбран |
|||
ные программистом, |
которые |
называют |
словами |
пользователя. |
|
Зарезервированные слова, зафиксированные |
в языке, — слова, кото |
рые могут употребляться только в определенном смысле. Эти слова
55
делятся на основные, или ключевые, и вспомогательные. Ключевые слова несут определенную смысловую нагрузку, и их наличие почти всегда обязательно в программе. Такими словами в КОБОЛе яв ляются, например, глаголы. Каждый глагол в КОБОЛе обозначает действие, которое должно быть выполнено во время прохождения машинной программы. Вспомогательные слова могут быть опущены и используются только для удобства при чтении. Примером вспо могательных слов могут служить такие слова: ДЛЯ, ЕСТЬ, КОГ ДА, ПРИ.
Фразы (фраза — это одна или несколько команд) в КОБОЛе могут быть написаны и без соединительных слов; машина все рав но будет знать, что ей делать. Примером может служить следую щая фраза:
ЕСЛИ А МЕНЬШЕ ЧЕМ 250 И БОЛЬШЕ ЧЕМ 200 ПЕРЕЙ ТИ К ПОДПРОГРАММЕ I . Эту же фразу можно записать и так: А МЕНЬШЕ 250 И БОЛЬШЕ 200 ПЕРЕЙТИ К ПОДПРОГРАМ МЕ I .
Все остальные слова определяются нрограммистом и подраз деляются на названия и константы. Названия даются объектам, кокоторыми оперирует программа. Эти названия могут присваиваться данным, процедурам, внешним устройствам. Все названия долж ны начинаться с буквы, не должны содержать пробелов, не могут иметь больше 30 символов, не могут заканчиваться дефисом. При ведем примеры названий: почтово-телегр-отчет; вал-реализация- численность.
Константы, т. е. постоянные величины, применяемые в КОБОЛе, не изменяются в процессе выполнения программы. Константам присваивают названия, которые употребляются в программе. Кон станты, которые задаются в программе явным посимвольным изо бражением их значения, называют литералами. Литералы бывают числовые и нечисловые, которые должны быть заключены в ка вычки. Нечисловые литералы могут быть произвольной длины, для некоторых трансляторов количество знаков нечисловых литералов
может |
быть ограничено. Вот примеры литералов: |
1534 — числовой |
||||||
литерал; «конец работы» — нечисловой |
литерал. |
|
|
|
||||
Порядок |
написания |
программы. |
Для |
написания программы ис |
||||
пользуется |
специальный |
бланк (рис. 7), |
рассчитанный на |
80 |
пози |
|||
ций (в |
соответствии с 80 колонками перфокарты). Основная |
часть |
||||||
бланка |
состоит из граф. Графа «Строка» содержит номера |
|||||||
строк. |
Позиции с 12-й |
по 80-ю |
служат для |
записи |
исходной |
программы.
Программа, написанная на КОБОЛе, должна содержать че тыре раздела: идентификации,'оборудования, данных и процедур. Наличие заголовков всех разделов в программе обязательно. Каж дый раздел может делиться на секции, которым присваиваются номера. В свою очередь секции могут состоять из нескольких па раграфов. Параграф — это линейный участок программы, состоя щий из фраз. Каждый параграф должен также иметь название.
56
КОбОЛ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CocmaSan |
|
|
|
|
|
|
|
|
|
|
|
Дата |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Минск - 32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Идентификатор, |
|
|
|
, |
|
|
Лист |
|
Do |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Строк*П |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
О |
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
ZD |
|
|
|
|
|
|
|
|
|
30 |
|
|
|
|
|
|
|
|
|
40 |
|
|
|
|
|
|
|
|
50 |
|
|
|
|
|
|
|
БО |
|
|
|
|
|
|
|
70 |
|
|
|
|
|
|
|
80 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
іг |
|
|
|
|
|
|
|
|
|
, , , |
|
|
|
|
|
1 1 / 1 , M |
|
, , , 1 , ц |
|
|
м |
|
! 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Г |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
Г |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 1 |
1 1 1 1 1 1 1 1 1 |
1 1 1 1 1 1 I 1 1 1 M Гі г м 1 1 1 1 1 1 1 1 1 1 J 1 1 î 1 1 м 1 1 i 1 1 î 1 1 1 1 1 1 1 i 1 1 1 1 1 1 1 1 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1 1 1 |
1 |
1 1 1 1 1 |
1 1 1 \ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M 1 Г 1 1 1 1 1 M t 1 1 1 1 1. 1 1 1 I' ! M 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1 1 1 |
1 |
1 І 1 1 1 |
1 1 1 1 1 1 ] 1 1 t M t M M 1 1 1 1 1 1 1 M 1 1 1 1 I 1 1 1 1 І 1 1 1 1 1 1 1 1 1 1 M 1 1 1 1 1 1 1 I I 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
( |
Г Г 1 |
1 |
t 1 1 1 1 1 M 1 1 1 1 1 1 1 1 1 1 1 1 M 1 Г 1 1 1 1 1 1 1 1 1 1 1 I I 1 1 ! 1 1 1 1 1 1 1 1 H 1 1 |
|
1 1 1 1 1 1. 1 1 1 1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 і |
r i |
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i 1 1 1 i J |
|
1 t t г 1 i t 1 1 I i |
1 t 1 1 1 t 1 1 t |
1 |
|
1 i 1 M î t .1 1 1 1 1 : 1 1 1 : 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
! , |
1 1 i 1 1 1 1 1 1 |
1 1 |
|
|
1 t 1 1 1 1 1 1 1 1 M î |
|
|
1 1 1 t 1 1 I 1 1 1 t 1 1 |
|
|
1 1 1 1 Г 1 f 1t |
1 1 |
|
|
|
|
t 1 1 1 1 1 1 1 1 1 и 1 1 j 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
! , |
1 |
1 1 Г 1 1 1 1 1 |
J 1 i1 t 4 1 1 1 1 J 1 1 1 1 1 1 |
11 1 1 1 1 1 1 1 M 1 1 1 1 111 1 1 1 1 1 1 1 M 1 11Г111 I- 1 1 1 1 1 Г 1 1 M 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 |
t |
1 |
1 |
1 |
1 |
1 |
1 t |
1 |
1 |
|
1 |
1 |
t |
1 |
1 |
1 |
1 ("i |
1 |
1 |
1 |
1 |
|
1 |
M |
|
|
1 |
1 |
|
|
|
|
|
|
' 1 |
1 |
|
1 1 1 |
|
M |
|
1 |
I |
M |
1 |
|
1 M |
|
1 1 |
|
1 |
1 |
1 |
1 |
1 |
1 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
! , |
1 |
1 1 1 1 1 1 1 1 |
1 1 1 1 1 1 M - 1 1 1 1 1 1 1 1 1 1 i 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M 1 1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
! , |
i |
i |
i |
i |
i |
M i i |
i |
i i t |
|
i |
i i |
|
i |
i i |
M i |
|
i i |
|
M i |
|
i |
i |
i |
|
i |
i |
i |
i |
i r |
i i i |
i |
i t |
i |
i |
i |
l |
i |
M i |
i |
i |
i |
i |
i |
i |
i |
i |
i |
i |
i |
i |
i |
: |
i |
M |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
! , |
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 |
1 1 |
1 |
1 1 1 1 1 |
1 1 1 1 1 1 1 1 1 1 1 1 1 .1 1 1 1 1 1 1 1 1 1 1 1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 M 1 1 l" 1 1 1 1 I 1 1 1 1 1 1 1 1 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
, , |
1 1 1 |
1 1 1 1 1 1 1 1 |
1 1 1 1 1 1 Ь 1 1 1 ! M 1 1 1 1 t M 1 t I M Г І 1 1 1 M I 1 t t 1 1 1 1 I 1. 1 1 1 1 1 1 I 1 1 ! 1 1 1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
' ' ' |
' |
1—1 |
' ' |
|
* - 1 |
I |
i |
f |
|
1 |
1—1—L.i |
ty.1,,.1—1—I—1—1—1—1—1—1—l—L..I—i_J.. |
|
|
|
|
|
|
— l — |
J — — — — |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
, , |
1 |
1 1 |
1 |
1 1 1 1 Г 1 1 1 t -1 1 l ' i 1 1 1 t 1 1 1 1 1 1 1 1 1 1 1 1 1 t 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 M |
1 1 1 1 1 1 1 1 1 1 1 -1 1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Y1 |
1 1 1 |
1 |
1 1 1 1 1 |
1 1 1 1 1 Г 1 1 1 1 1 1 1 1 1 M 1 1 1 1 1 1 1 1 1 1 1 Г 1 1 1 1 1 M 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
! , |
1 |
, 1 |
1 |
1 1 1 1 l |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I I |
|
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I I |
|
1 t |
1 1 1 1 1 1 1 1 І 1 1 1 1 1 1 1 1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
' 1 1 1 1 1 1 1 1 1 t 1 1 l " l |
1 1 1 1 1 1 1 1 1 '• 1 1 1 1 1 1 1 1 1 1 1 1 1 1.1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
, , t |
|
, , 1 , , , , , 1 , 1 , , , 1 , 1 1 , , , , 1 , 1 , , 1 , , , , , 1 .| , , , 1 1 1 1 , 1 1 , 1 1 1 1 1 1 • |
|
|
|
|
|
|
1 1 I- 1 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
i |
i |
i |
i |
i |
i |
i |
i |
|
i |
i |
|
i |
i |
i i |
|
i |
i i |
i |
|
i i |
|
i |
i i |
i |
Г |
i |
1 i |
i |
|
i |
i |
i |
i |
i |
i |
i i i |
i |
i |
i |
; |
i |
i |
i |
i |
i i |
i |
i' i |
i |
i |
i |
i |
i |
i i |
i |
i |
i |
i |
i |
i |
i |
i |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
i1 1 1 |
1 |
1 1 1 1 г |
|
|
|
|
|
I' |
1 1 1 1 |
1 I I |
|
|
|
|
|
|
1 1 1 1 1 1 1 1 1 |
1 |
1 1 1 1 1 1 1 1 1 |
1 |
1 1 1 1 1 1 M i •• 1 1 1 1 1 1 1 1 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
1 1 1 1 |
|
|
|
|
1 1 1 1 1 1 1 |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 1 |
|
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 1 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 1 |
1 |
1 1 |
1 |
1 1 1 I 1 1 1 1 1 1 l ' I |
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ] I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1 |
i |
i l M i |
i i |
i |
|
i |
i |
|
i |
I 1 i |
|
i |
1 i l |
|
i i |
|
i |
i |
i i |
I 1 i |
i |
|
i |
i |
i |
M |
i |
i |
i i |
i |
i |
i |
i |
i |
i |
i i |
i i |
; |
i |
i |
I 1 |
i |
i |
i |
и |
i |
i - l |
t |
i |
i |
i |
1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 , |
1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I 1 . 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 I I 1 1 1 1 1 I 1 1 1 1 |
|
I I |
1 1 |
I I |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Рис. |
|
7. |
|
Бланк |
для |
|
написания |
|
программы |
|
на |
алгоритмическом |
|
языке |
|
КОБОЛ |
|
|
для |
|
ЭВМ |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
«Минск-32». |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Обращение к фразе может быть выполнено только через пара |
||
граф. Внутри |
фраз применяются знаки препинания, в основном точ |
||
ка |
(.). Для |
построения фразы могут быть использованы |
глаголы |
и |
операнды. |
Операнда — это единица информации, над |
которой |
выполняется операция. Точки не обязательно ставить после каж дой фразы, но в конце каждого параграфа точка обязательна, обя зательна она также после написания секции и раздела. '
Раздел идентификации. В этом разделе присваивается название программе, записывается время или дата написания программы, дата ее трансляции, указывается фамилия программиста.
Записывается |
этот раздел так: |
РАЗДЕЛ ИДЕНТИФИКАЦИИ . |
|
ПРОГРАММА. — название программы. |
|
АВТОР. — фамилия программиста. |
|
ДАТА-НАПИСАНИЯ- |
|
Этот раздел |
содержит один основной параграф ПРОГРАММА. |
Он записывается |
первым на бланке записи программы, и назва |
ние программы должно употребляться во всех документах, отно сящихся к данной программе. Остальные параграфы (АВТОР, ДА ТА-НАПИСАНИЯ) могут и отсутствовать.
Раздел оборудования. Этот раздел состоит из двух секций (кон фигурации, ввода—вывода), каждая из которых включает пара графы и фразы. РАЗДЕЛ ОБОРУДОВАНИЯ для каждой ЭВМ имеет свое содержание.
СЕКЦИЯ КОНФИГУРАЦИИ. В этой секции указывается вы
числительная машина, на которой будет производиться |
трансля |
ция, и машина, на которой будет выполняться рабочая |
программа. |
Если для трансляции и решения задачи применяется одна и та же машина, указывается один и тот же тип ЭВМ.
Различие вычислительных электронных машин, для которых может быть применено программирование на алгоритмическом язы ке КОБОЛ, не дает возможности добиться совместимости при опи сании этого раздела. Кроме того, секция конфигурации может иметь параграф СПЕЦИАЛЬНЫЕ-НАЗВАНИЯ для указания спе циально применяемых вычислительных устройств и режима рабо ты ЭВМ.
СЕКЦИЯ ВВОДА-ВЫВОДА. В этой секции указываются внеш ние носители информации, способы их использования, а также описываются все входные и выходные массивы. Эта секция состоит из двух параграфов (УПРАВЛЕНИЕ-МАССИВАМИ, УПРАВЛЕ НИЕ-ВВОДОМ-ВЫВОДОМ). В параграфе УПРАВЛЕНИЕ-МАС СИВАМИ перечисляют все массивы, которые будут использовать ся в данной программе, и устройства, на которых эти массивы бу дут располагаться в машине. В этом же параграфе записываются данные о типе организации массивов: последовательная, когда записи в запоминающем устройстве располагаются последова тельно друг за другом (таким образом, что их логический порядок соответствует физическому порядку их записи), или последова-
58
тельно связанная, когда записи располагаются в последователь ности, соответствующей заранее заданной таблице. В параграфе УПРАВЛЕНИЕ-ВВОДОМ-ВЫВОДОМ даются сведения о типе обработки массивов.
Раздел данных. В этом разделе описывается структура каждой записи1 , входящей в массив. Этот раздел является наиболее неза висимым и дает возможность применять одни и те же описания данных для ЭВМ разных типов. Раздел состоит из секций: МАС СИВОВ, РАБОЧЕЙ ПАМЯТИ, СВЯЗИ. Каждая секция начинает ся с соответствующего заголовка. В СЕКЦИИ МАССИВОВ под рубрикой ОМ определяется каждый массив, т. е. определяется каждое слово (данное), входящее в массив. СЕКЦИЯ РАБОЧЕЙ ПАМЯТИ служит для определения рабочих зон. СЕКЦИЯ СВЯЗИ содержит описание данных, принадлежащих нескольким програм мам, предназначающимся для объединения.
Описание массива в разделе данных осуществляется с помощью рубрики, начинающейся всегда номером рубрики.
В этом разделе применяются уровни, которые устанавливают относительную подчиненность позиций. Понятие уровня составляет основу языка для описания сложных структур данных, т. е. таких совокупностей данных, в которых отдельные элементы могут объе диняться в группы; группы могут также объединяться, образуя сложную иерархию, и т. д.
Иерархические уровни КОБОЛа. Иерархическая позиция дан ного в полной информации обозначается с помощью номера уров ня. Уровни могут иметь номера от 01 до 10, определяя, таким обра зом, десять возможных иерархических уровней. Уровень 01 должен обязательно быть отнесен к самой значительной группе. Номера уровней не обязательно идут по порядку, но чем ниже уровень, тем выше его номер. Обычно уровень для описания названия мас сива имеет буквенное обозначение.
Позиции, стоящие на одном уровне, должны иметь одинаковые номера уровней, зависимые позиции записываются по уровням по определенному правилу, а именно: зависимая позиция записыва ется после позиции, от которой она зависит. Структуру зависимости позиций можно проследить на следующем примере.
|
|
Схема |
артикля |
|
|
|
||
|
Министер |
Главное |
Предприя |
Профессия |
Тарифный |
Заработная |
||
Отрасль - |
работаю |
|||||||
|
ство |
управление |
|
тие |
щего |
разряд |
плата |
|
|
|
• Уровень 01- |
|
|
|
|
|
|
|
|
(24) |
|
|
|
|
|
|
• Уровень 02 - |
|
• -<-: |
Уровень 02 - |
|||||
|
(14) |
|
|
|
|
|
(Ю) |
|
-03- . « |
03 - |
|
• Уровень 03 |
|
• 03 * |
|||
(5) |
|
(9) |
_ _ 0 4 — • |
(4) |
(1) |
|
(5) |
|
-04- |
-04- |
|
|
|
|
|||
|
(4) |
(2) |
|
(3) |
|
|
|
|
1 Запись |
(или артикль) — это |
совокупность цифровых, |
буквенных, буквен |
|||||
но-цифровых |
данных, |
относящихся |
к |
одному |
объекту или |
группе |
объектов. |
50