Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Брага, В. В. Основы технологии машинной обработки статистической информации [учеб. пособие]

.pdf
Скачиваний:
5
Добавлен:
22.10.2023
Размер:
11.25 Mб
Скачать

рованием. Это очень важно, особенно если учесть, что выпуск ЭВМ увеличивается большими темпами, а для того чтобы полностью ис­ пользовать одну машину, ее должны обслуживать 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—111—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

Соседние файлы в папке книги из ГПНТБ