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

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

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

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

Составление машинных программ называется программирова­ нием. Эту работу выполняют программисты. Имеются три группы языков, на которых можно написать программы для ЭВМ.

1.Машинные языки (системы команд конкретной модели ЭВМ).

Программа на машинном язьже пригодна, как правило, для одной модели ЭВМ (или ряда совместимых машин 1 ) . В случае необ­ ходимости решения данной задачи на несовместимых моделях ЭВМ надо составлять две машинные программы на разных машинных < языках. При этом методе программирования на каждую опера­ цию, выполняемую машиной, создается отдельная команда. Иначе этот метод называется «ручным» программированием. Ручное про­ граммирование — очень трудоемкая работа, средняя скорость со­ ставления программы составляет 3—5 команд в час. Не исключена возможность появления большого числа ошибок. Составление про­ грамм на машинном языке требует много машинного времени при отладке.

2.Универсальные языки программирования. В этом случае ма­ шинная программа пишется на алгоритмическом языке типа АЛГОЛ,. ФОРТРАН, КОБОЛ и др. Программа, написанная на ал­ горитмическом языке, пригодна с некоторыми изменениями для

любой модели ЭВМ, имеющей транслятор с данного языка.

3. Машинно-ориентированные языки. Они создаются для како­ го-либо типа машины. Например, для машины типа «Минск» соз­ даны языки символического кодирования (ЯСК), автокод инженера (АКИ).

Машинный язык рассматривается на примере машинного кода

ЭВМ

«Минск-22». Универсальный язык — на примере алгоритми­

ческого языка КОБОЛ, машинно-ориентированный

язык — на при­

мере

языка символического кодирования (ЯСК).

Второй и тре­

тий примеры показывают методы автоматизации

программирова­

ния.

 

 

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

1 Совместимые ЭВМ

могут

работать

по одним и тем же

программам,

но

только по восходящей

линии.

К ним

относятся, например,

«Минск-22М»

и

«Минск-32».

 

 

 

 

 

40

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

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

Программист должен стремиться составить программу с наи­

меньшим числом

команд,

чтобы

сократить время на

вычисление.

В программе

одни и те же команды могут повторяться сколько

угодно раз. Все команды

машины

можно разделить на

следующие

основные группы:

1. Команды арифметических операций. К этой группе относятся все команды основных арифметических операций (сложение, вычи­ тание, умножение, деление). При помощи этих команд производятся основные преобразования над статистическими показателями: сум­

мирование сводных

итогов,

вычисление

процентов

выполнения

плана,

темпов роста

и т. д.

 

 

 

2. Команды логических

операций. Эту

группу составляют ко­

манды

операций преобразования, сдвигов,

сравнений

и пересыл­

ки кодов. При помощи логических операций можно сравнить два числа, выполнить различные преобразования с числом, находятщимся в какой-либо ячейке ЗУ, например сдвинуть его вправо или

влево, выделить из числа требуемые разряды, присвоить знак ка­ кого-то числа, переслать число с одного места в другое и др. Логи­ ческие операции широко применяются при решении статистических задач: при сортировке информации в машине, при сравнении раз­ личных показателей и т. д.

3. Команды операций управления. Это команды операций ус­ ловной и безусловной передачи управления, которые используются при необходимости изменить естественный, т. е. последователь­

ный,

порядок выполнения команд и при обращении к стандарт­

ным

подпрограммам.

4.

Команды, обращения к внешним устройствам. Эти команды

позволяют вводить в память машины данные с различных машин­ ных носителей (перфокарт, перфолент), выводить результаты вы-

41

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

Код

каждой команды подразделяется на несколько групп, на­

пример

КОП НИ

а2

Одна из них называется кодом

операции (КОП), другая хранит номер индексной ячейки (НИ) и носит вспомогательный характер, определяя при необходимости изменения кода команды перед исполнением. Остальные группы на­ зываются адресами (ai, а2—адресная часть команды); они ука­ зывают, откуда взять числа (из каких номеров ячеек памяти), над которыми выполняется операция, и номер ячейки, куда направить результат.

Электронные вычислительные машины могут быть одно-, двухили трехадресные. Код команды одноадресной машины содержит

код операции и один адрес к о п . Это значит, что в выпол­ нении одной команды участвуют числа только из одной ячейки па­

мяти (ЭВМ серии

«Урал», БЭСМ-6). Код команды

двухадресной

машины содержит

код операции и два адреса: к о п

01 а2 , т. е.

в выполнении одной команды участвует содержимое сразу двух ячеек (ЭВМ серии «Минск», хотя в ЭВМ «Минск-32» есть и одно­ адресные команды). Для трехадресной машины код команды со-

держит код операции и три адреса: | J\U1к о п11 а\ | а2 | ааз |, в выпол­ нении одной команды участвуют одновременно три ячейки (ЭВМ

серии М-220, БЭСМ-3, БЭСМ-4).

Рассмотрим некоторые особенности программирования на ма­ шинах с различным числом адресов. Предположим, надо умно­ жить содержимое ячейки ai на содержимое ячейки аг и результат поместить в ячейку а3 .

На одноадресной машине необходимо выполнить следующие

команды:

 

 

1)

число из ячейки а\

поместить в АУ (ai->• АУ);

2)

умножить число а\,

находящееся

в АУ, на содержимое ячей­

ки а2

(ai X иг) ;

 

(öi X # 2 Я з )

3)

записать результаты в ячейку аз

На двухадресной машине эта же операция производится по сле­

дующим командам:

 

 

 

1) число, находящееся в ячейке <Х\, умножить на

число, нахо­

дящееся в ячейке

а2; результат оставить

в АУ (ai X

« 2

*"АУ);

2) результат, полученный в АУ, записать в ячейку а3

(АУ-*-а3 ).

На трехадресной машине эта операция выполняется за одну

команду, которая обеспечивает умножение

чисел, расположенных в

ячейках а\

и а2,

и запись результата в

ячейку аз (а\

X # 2 - * - # з ) .

Из примера

видно, что одни и те же действия на машинах с раз-

42

личным количеством адресов выполняются различным числом ко­ манд.

Код операции для каждой машины имеет свое цифровое обо­ значение; например, в машинах серии «Минск» «+10» означает сложение, «+20» — вычитание, «+30» — умножение, «+40» —де­ ление, « + 0 1 » — сравнение, «—00» — остановку машины, «—30» — безусловный переход, «—20» — управление циклом, «—50» — ввод цифровой информации с перфоленты, «—60» — выдачу цифровых кодов на печать.

Адресная часть команды, как правило, содержит адреса (но­ мера) ячеек запоминающего устройства машины, где находятся числа, над которыми должна быть выполнена операция, или но­ мер ячейки, в которую надо послать результат. Числовые данные, над которыми выполняются операции, в команде не указываются.

При

программировании вместо

КОП ставят цифровой код опера­

ций,

а вместо а\ и Ü 2 — номера

ячеек, где хранятся числа, над ко­

торыми производится операция.

 

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

 

 

Код команды

 

 

 

 

 

Номер

знак

код

ни

 

 

 

Пояснения

 

ячейки

операции

 

 

 

 

 

команды

 

 

 

 

 

 

 

 

0100

+

10

00

0143

0125

 

 

 

0101

4-

21

00

0250

0007

Вычесть

из числа

в ячейке

 

 

 

 

 

 

0250 число в ячейке 0007

 

 

 

 

 

 

Результат

оставить

в АУ

Первая запись означает, что в ячейке с номером 0100 в памяти машины хранится команда, выполнение которой позволит сложить (код операции сложения «+10») число, находящееся в ячейке 0143, с числом в ячейке 0125 и результат записать в ячейку 0125. Не­

обходимо четко

представлять себе,

что код «+1 0 00 0143

0125»

означает не команду сложения чисел

143 и 125, а команду

сложе­

ния некоторых

чисел, хранящихся в

ячейках с этими номерами.

Итак, в левой части бланка цифрами записывается номер ячейки

оперативного запоминающего устройства

(ОЗУ), куда

помещается

команда, и код команды, а в правой — программист

дает поясне­

ния, чтобы облегчить отладку, внесение

изменений

в

программу

и т. п.

 

 

 

Общее количество команд большинства универсальных ЭВМ достаточно велико (для «Минск-22» — более 100 команд). Для об­ легчения запоминания кода определенных операций образуют груп-

43

пы с одинаковыми признаками. Так, операция «сложение» в за­ висимости от модификации изменяется от 10 до 17, операция «вы­ читание» от 20 до 27, операция «умножение» — от 30 до 37, опера­ ция «деление» — от 40 до 47. При проставлении этих команд во вто­ ром знаке ставится одна из модификаций (М-0, 1, 2, 3, 4, 5, б, 7). В этом случае всегда выполняется одна и та же операция, напри­ мер сложение, но в различных вариантах.

Код модификации означает, остается ли результат операции в арифметическом устройстве или посылается в ячейку а<і.

Характер выполнения сложения при некоторых значениях M приведен в следующей таблице:

Значение M Код команды Содержание выполняемой работы

0

+

10

а,

а2

В

АУ

ничего

нет.

Содержимое

ячейки

at

 

 

 

 

 

 

складывается

с

содержимым

ячейки

я а

 

 

 

 

 

 

и результат

посылается

в ячейку а 2

 

1

+11

й,

а2

В АУ

ничего

нет.

Содержимое

ячейки

о,

 

 

 

 

 

 

складывается

с

содержимым

ячейки

а2

 

 

 

 

 

 

и результат

остается в АУ

 

 

 

2

+

12

в,

а2

В

АУ

есть

какое-то

число.

К

числу,

на­

 

 

 

 

 

 

ходящемуся

в АУ,

прибавляется содер­

 

 

 

 

 

 

жимое ячейки

а,;

 

результат

 

посылается

 

 

 

 

 

 

в ячейку

а2

 

 

 

 

 

 

 

 

3

+

13

а,

0

В

АУ

есть

какое-то

число. К

числу, нахо­

 

 

 

 

 

 

дящемуся

в

АУ,

прибавляется

содержи­

 

 

 

 

 

 

мое

ячейки

а,;

результат

остается в

АУ

Как можно заметить, модификацию М-0 и М-1 используют тог­ да, когда в АУ нет никаких данных, а М-2 и М-3 тогда, когда в АУ есть какие-то числа, полученные в результате предыдущих вы­

числений.

Такие же

функции выполняют

М-0, М-1,

М-2, М-3,

М-4 и т.

д. и при выполнении других арифметических

операций,

а также

сравнения.

Модификация команд

увеличивает

гибкость

программирования, позволяет составить программу с меньшим чис­ лом команд. Рассмотрим порядок выполнения некоторых операций в машине.

Арифметические

операции

выполняются в машине с модифика­

циями; коды операций при этом следующие:

 

+ 10,

+11,

+12,

+13,

+14,

+15, +16,

+17

с л о ж е н и е

+20,

+21,

+22,

+23,

+24, +25, +26, +27 вычитание

+30,

+31,

+32,

+33,

+34,

+35,

+36,

+37

умножение

+40,

+41,

+42,

+43,

+44,

+45,

+46,

+47

деление

При выполнении арифметических .операций можно предусмот­ реть различные варианты: результат может пересылаться в ячейку

44

по второму адресу, оставаться в АУ, направляться в другую ячей­

ку. Рассмотрим выполнение таких операций на

примерах.

П р и м е р ы .

 

1. Сложить

число

103,

находящееся

в ячейке

0127, с числом 87, находящимся

в ячейке

0252; результат

оставить

в АУ. Сложение выполнится по следующей команде:

 

В результате

выполнения этой

 

 

 

 

команды число 103 сложится с

коп

 

 

числом

87 и результат 190 оста­

а,

ай

нется в АУ, где над результатом

 

 

 

 

можно

будет выполнять дальней­

+11

0127

0252

шие

операции

(например, умно­

жить

 

на число,

находящееся

в

 

 

 

 

другой

ячейке).

 

 

 

 

 

 

 

2.

Сложить

число 103, находящееся в ячейке

0127, с числом 87,

находящимся в ячейке 0252; результат направить в ячейку 0252.

Сложение

выполнится по следующей команде:

 

 

 

 

 

 

 

В результате

 

выполнения этой

коп

 

 

команды число

190 запишется в

 

 

ячейку

0252, при

этом находив­

 

 

 

 

 

 

шееся там до этого число

87 по-

+ 10

0127

0252

гасится.

Таким

 

образом,

выпол­

 

 

 

нение команды с

 

модификациями

 

 

 

М-0,2

стирает

находящееся в

ячейке иг первоначальное число

(при этом имеется

в виду, что оно

в дальнейшем не понадобится)

и записывает в него

результат опе­

рации.

 

 

 

 

 

 

 

 

3. Сложить число 103, находящееся в ячейке 0127, с числом 87,

находящимся в ячейке

0252; результат

записать

 

в

ячейку

1273.

Для выполнения этой операции необходимы две команды: первая

команда

обеспечит

сложение чисел и запоминание результата в

АУ, вторая обеспечит пересылку его из АУ в ячейку 1273.

коп

 

 

Пояснения

 

 

 

+ 11

0127

0252

ßi + ß2 ; результат в АУ

+ 12

0

1273

Результат из АУ поступает в ячейку

 

 

 

1273

Остальные арифметические операции выполняются аналогично сложению. В любом случае результат операций может быть остав­ лен в АУ, послан в ячейку или новую ячейку. Следует иметь в виду, что числа, помещенные в ячейку памяти, хранятся там по­ стоянно. Если число посылается из ячейки в АУ или в другую ячейку, то все равно оно остается в первоначальной ячейке и может использоваться многократно. Погасить число в ячейке или в АУ можно только засылкой в него нового числа или нуля.

4. Рассмотрим составление программы, где используются все арифметические операции.

45

Необходимо

вычислить значение

«у»

по формуле

у— *х

_'

Результат записать в ячейку

«у».

 

 

 

 

Эту

формулу раскладываем

на

элементарные операции:

1)

2) ах

+

в; 3)

ex;

4)ex—d;

5)

(ах

+ в)

: (ex — d ) .

Составим

манду

на каждую

операцию:

 

 

 

 

 

 

rf .

ах;

ко­

Номер

А

«1

а?

 

 

 

Пояснения

 

 

 

команды

 

 

 

 

 

 

1

+31

< а >

 

Умножаем „ах";

результат оставляем

в АУ

 

 

 

 

(М-1), так

как

к нему следующей

коман­

 

 

 

 

дой надо

прибавить

„в"

 

 

 

2

+ 12

<«>

ч

Складываем

содержимое АУ „ах" с числом

 

 

 

 

„в"

(М-2);

результат

(ах +

в)

направляем

 

 

 

 

в

свободную ячейку

„ч",

так

как

в АУ

 

 

 

 

надо производить другие

действия

 

3

+31

е^>

<СХ^>

4

+ 2 2

0

k

5

+ 4 1

г

k

6

+12

0

У

Умножаем „ех"; результат оставляем в АУ (М-1), так как из него следующей командой надо вычесть „d"

Вычитаем из содержимого АУ „ех" число „d"; результат (ех — d) засылаем в сво­ бодную ячейку „k"

Делим содержимое ячейки „г" (ах + в) на содержимое ячейки „k" (ex -- d); результат деления остается в АУ

Посылаем

результат деления

ах + в

ех — d

из АУ в

ячейку „у"

 

Рассмотрим выполнение некоторых команд операций управле­

ния.

 

Операция безусловного перехода.

Обычно в машине все коман­

ды выполняются поочередно. Но в

некоторых случаях требуется

нарушить естественный порядок выполнения команд и, предполо­ жим, после 10-й команды выполнять не 11-ю, а 57-ю. Такой пере­ ход обеспечивается командой безусловного перехода, которая обо­ значается цифровым кодом «—30». Если после 10-й команды по­

ставить код

команды «—30», то естественный порядок выполне­

ния

команд

всегда

будет

нарушен. Команда имеет

следующий

вид:

-30

00 а,

а2 .

По этой команде управление

передается

команде, хранящейся в ячейке а\, а результат предыдущей опе­ рации записывают в ячейку а%

Вторая команда безусловного перехода —31 00 а, а2 озна-

46

чает переход к стандартной подпрограмме. (Стандартная подпро­ грамма— это заранее составленный участок программы на стан­ дартные вычисления, используемый в разных программах). По этой команде управление передается команде с адресом а.\, в ячейку а,2 заносится адрес исполненной команды перехода к под­ программе. Команда перехода к подпрограмме используется для передачи управления из любого места программы какому-либо ее участку с последующим возвращением (после исполнения этого участка) к команде, перед которой был совершен переход.

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

щаются

к стандартным

подпрограммам по команде безусловного

перехода.

 

 

 

 

 

 

 

Основная программа

 

 

 

Номера ячеек,

в кото-

А

а,

а а

 

 

рых хранятся

команды

 

 

 

 

 

0001

 

 

 

 

 

 

0002

 

 

 

 

 

 

0003

 

 

 

 

 

 

0004

 

 

 

 

 

Стандартная

0005

 

 

 

 

 

программа

. 0006

 

 

 

 

0057

 

0007

 

 

 

 

 

0008

 

 

 

 

0058

 

0009

 

 

 

 

0059

 

0010

 

 

 

 

0060

 

ООП

 

—31

0057

0063

0061

 

:—^0012

 

 

 

 

0062

 

0013

 

 

 

 

0063

- 3 0 0012 0000

0014

 

 

 

 

На схеме показано, что основная программа начинает выпол­ няться с команд, помещенных в ячейках 0001—0010, затем по ко­ манде безусловного перехода «—31» происходит обращение к стан­ дартной подпрограмме, расположенной в "ячейках 0057—0063, и затем снова выполняется основная программа, начиная с команды, размещенной в ячейке 0012.

Операции условной передачи управления (условного перехода).

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

47

Имеются следующие команды условного перехода:

«—32»

п о

знаку;

«—33»

по переполнению;

«—34»

по нулю;

«—35»

по

ключу;

«—37»

по

несовпадению.

Покажем

выполнение операций условного перехода по

нулю на

блок-схеме. Например, вводится в машину первичный от­

 

 

 

чет, где имеются контрольные суммы. Машина подсчитывает про­ граммным путем показатели отчета и сравнивает их с контроль­

ными суммами. Если они равны,

то

значит документ

правильный

и путем выполнения операции условного перехода

по нулю « 34»

машина переходит к выполнению основной программы;

если нет, то

выполняется другая ветвь программы, которая печатает

неправиль­

 

ные данные в протоколе расхождений. Вот как можно

изобразить

блок-схемой этот пример:

 

 

 

 

 

 

 

Сравнение контрольных

сумм

 

 

 

отчета

( выполняется

с

помощью

 

 

 

команд

условного

перехода

по

 

 

 

 

нулю "-J4 ")

 

 

 

 

 

 

 

. КонтрольныеуѵуммьіФО

Контрольные\суммы•=

Û

 

 

Печать протокола

 

Переход к

выполнению

 

 

расхождений

 

 

шовной

программы

счета

 

Рис. 4. Схема

выполнения

операций

условного

перехода

 

 

 

по

нулю

 

 

 

 

 

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

Циклические

программы.

Отдельные команды могут выпол­

няться в машине

с большим

числом повгорений. Такие программы,

в которых отдельные команды или группы команд многократно по­ вторяются, называются циклическими. Операция управления цик­ лом имеет цифровое обозначение «—20» и часто применяется при программировании статистических задач. Допустим, в ячейках ЗУ расположены данные о численности работающих на ряде предприяятий, входящих в одно министерство. Предположим, таких пред-

48

приятии будет 87; значит, данные о численности работающих рас­ положены в 87 ячейках ОЗУ. Необходимо определить общую чис­ ленность работающих. Для этого не надо 87 раз повторять коман­ ду операции сложения. Все операции сложения выполняются при помощи одной команды сложения, за которой последует команда «—20», которая укажет, что нужно выполнить подряд 87 команд сложения. В этой команде также будет указано, из каких ячеек надо последовательно выбрать числа, т. е. шаг переадресации, ко­ торый будет задан в специальной индексной ячейке.

§ 4. ПРИНЦИПЫ АВТОМАТИЗАЦИИ ПРОГРАММИРОВАНИЯ

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

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

Для устранения этих недостатков были созданы искусственные языки, отличающиеся от машинного языка и более или менее близкие к обычному языку. Такие языки называются алгоритми­ ческими. Они, как и машинный язык, подчиняются точным прави­ лам программирования. Разница в том, что этих правил гораздо меньше и они более естественны, чем правила обычного програм­ мирования. Операции алгоритмического языка более укрупненные', каждая такая операция (или символ) соответствует ряду машин­ ных операций.

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

49

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