Файл: Брага, В. В. Основы технологии машинной обработки статистической информации [учеб. пособие].pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.10.2024

Просмотров: 137

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ные классы задач, а может быть и универсальной, но она всегда ориентирована на конкретную модель ЭВМ. Пока нет единого мне­ ния о составе программ, относящихся к операционной системе. Можно считать, что к операционной системе относится набор про­ грамм, обеспечивающих выполнение машиной рабочих программ в многопрограммном режиме, система программ-трансляторов и библиотека стандартных пропрамм и подпрограмм. В операцион­ ную систему входят программы управления машиной и автомати­ ческого обслуживания, которые ограничивают роль оператора при решении задач на ЭВМ. Оператор лишь исполняет команды, полу­ чаемые от программ автоматического обслуживания или от про­ прамм управления машиной.

Стандартными программами и подпрограммами являются все программы, при помощи которых можно решить ряд задач разли­ чающихся исходными данными. К стандартным программам или подпрограммам относят подпрограммы и программы сортировки, обмена массивами между запоминающими устройствами, печати, организации и реорганизации массивов, коррекции массива, вы­ борки; программы статистического анализа, обеспечивающие вы­ числение матриц, коэффициентов корреляции, анализ регрессий, анализ временных рядов и др.

Операционная система повышает эффективность работы вычис­ лительной системы, эффективность использования оборудования, обеспечивает системную обработку комплекса статистических за­ дач на ЭВМ. Основными чертами операционной системы являются быстродействие, гибкость к изменениям в конфигурации вычисли­ тельной системы, возможность расширения и изменения, возмож­ ность удобного программирования для ЭВМ, легкость управления решениями задач на ЭВМ.

Создание математического обеспечения для электронной обра­

ботки комплексов

статистических задач — одна из

важнейших

проблем проектирования АСГС.

 

 

 

Общие сведения

о языке

символического

кодирования.

Язык

символического кодирования

(ЯСК) — низшая

ступень

автомати­

зации программирования. Среди всех языков ЯСК ближе всех к машинному. Здесь каждой машинной команде соответствует свой оператор, схожий по структуре с командой, но имеющий другую форму записи, т. е. операторы ЯСК «один к одному» соответствуют машинным командам. Несмотря на это, программирование на ЯСК имеет ряд преимуществ по сравнению с программированием на машинном языке: название операторов легче запомнить, чем коды операций; применение символической адресации освобождает про­ граммистов от распределения памяти машины, так как память распределяется автоматически. Названные преимущества ускоряют составление программы, снижают количество ошибок в ней.

ЯСК состоит из алфавита и правил записи конструкций (опе­ раторов). В алфавит ЯСК входит 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».