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

книги из ГПНТБ / Караваев, Н. И. Электронные цифровые вычислительные машины и программирование учеб. пособие

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

- 220 -

обращения к СП. В остальных случаях вычисляется c t q ОС j а вычисления в основной программе продолжаются с команды сле­ дующей сразу за командой обращения к СП.

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

Зсе стандартные подпрограммы закоммутированы в дЗУ C3LBM-1 и хранятвя там в действительных адресах.

5 7.9. ПРОГРАММИРОВАНИЕ В УСЛОВНЫХ И ДЕЙСТВИТЕЛЬНЫХ АДРЕСАХ

После того как алгоритм решения задачи разработан и де­

тализирован,

приступают к непосредственному программирова­

нию, то-есть

к записи алгоритма в виде последовательности

элементарных

операций.

В процессе составления программы необходимо решить два вопроса:

- распределение памяти между числовым материалом зада­ чи /установление адресов команд, исходных данных, промежу­ точных и окончательных результатов вычислений/;

- непосредственное программирование, т . е . установление необходимой последовательности операций и составление ко­ манд самой программы.

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

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

- 221 -

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

В качестве условных адресов могут использоваться сле­

дующие

обозначения:

 

 

 

 

 

 

 

- К + 0

, К +

1,

К + 2

или £

+

0, £

+

1 . . . -

но­

мера ячеек для команд программы;

 

 

 

 

 

 

-

а +

0,

а +

1 . . . . или в +

0, в +

1 . . . .

-

номера

яче­

ек для исходных данных;

 

 

 

 

 

 

-

с

+

0,

с +

1

номера

рабочих

ячеек;

 

 

-

в

+

0,

 

1

номера

ячеек,

хранящих

вспомога­

тельные

 

константы;

 

 

 

 

 

 

 

 

- d + 0, d-+

1

номера

ячеек

для окончательных

ре­

зультатов.

 

 

 

 

 

 

 

 

 

 

Необходимо иметь

ввиду, что

номера

ячеек

-

восьмерич­

ные числа.

 

 

 

 

 

 

 

 

 

 

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

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

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

ляется количество

ячеек,

входящих

в массивы К, a,c,e,d ,

и распределяется

память.

Последнее

осуществляется с учётом

рабочих ячеек, занимаемых при работе стандартных подпрограмм /ячейки с 20 ООО по 20 027/.

Распределив память, переходят к составлению рабочей программы в действительных адресах. Для этого буквы К, а,

с е d каждого условного адреса заменяются конкретны-

- 222 -

ми числовыми значениями.

Затем программа уже в действительных адресах аиписьа-ы.и.- ся на бланке.

На программном бланке^форма которого для СЗцВМ-1 при­ водится на стр.223? в графе "Номер ячейки" записывается пяти­ разрядный восьмеричный адрес ячейки ЗУ, причём признак ад­ реса " : " записывается перед адресом в этой же графе.

Графа "Пр.числа" отведена для записи признака числа, в качестве которого используется один из следующих индексов

клавиш СТА-2М:

 

 

/

-

команда;

 

 

?

-

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

 

=

-

линейное десятичное

число /масштаб

10^/',

Э -

линейное десятичное

число /масштаб

2 ^/\

") -

градусная величина /градусы, минуты, секунды и до­

 

 

ли секунд/*,

 

 

(

-

градусная величина /градусы, минуты и доли минут/;

J

-

время /часы, минуты, секунды и доли

секунд/;

9

-

двоично-десятичное

число;

 

е

-

номер задачи.

 

 

 

Информация о содержимом каждой ячейки

ОЗУ обязательно

должна сопровождаться одним из вышеуказанных признаков, а

заканчиваться

точкой.

 

Команда на

бланке записывается следующим

образом:

в графу "КОП" -

код операции /две восьмеричные

цифры/,

вграфу "ГГМ" - признак модификации /одна восьмеричная циф­ ра/,

вграфу "Адрес" - адресная часть команды /пять восьмеричных цифр/.

Восьмеричные константы, линейные десятичные числа, градусные и временные величины записываются, начиная со старших разрядов, следующим образом:

вграфу "КОП" - три цифры,-

вграфу "ПМ" - две цифры,

вграфу "Адрес" - остальные цифры /шесть для восьмеричных и пять для десятичных чисел/.

 

 

 

 

-

223

-

 

 

 

 

 

 

 

ПРОГРАММНЫЙ БЛАНК СЭЦВМ-1

 

 

Номер

Пр.

+

КОП

ИМ

Адрес

Пояснение

 

 

ячейки

числа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

:

20110

/

 

10

3

15064.

Команда

 

:

20111

/

 

37

3

37777.

Команда

 

 

2

 

 

121

37

140667.

Восьмеричная

:

20123

?

+

 

4

 

 

 

 

 

 

константа

 

5

л

-

159

15

49431.

Десятичное

число

:

20126

 

7

 

 

 

 

 

 

M-10l v J

 

 

0

э

 

137

85

36495.

Десятичное

число

:

20131

+

 

2

 

 

 

 

 

 

М- 2 о В

 

 

3

 

 

 

 

 

 

 

 

 

4

 

+

019

39

21117.

19°

39 ' 2 Г , 11?

:

20135

)

:

20136

(

+

019

39

21117.

19°

3 9 ; 21 И ?

 

7

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

2

 

+

123

54

75

12n

3 5 m 4 7 f

5

:

20143

X

 

4

 

 

012

 

 

Задача W 012

:

20025

 

+

 

 

 

6

 

 

 

 

 

 

 

 

7

0

1

2

3

4

5

6

7

i

 

- 224 -

Номер задачи записывается в графу "КОП" трехразрядным десятичным числом.

Примеры различной информации, предназначенной для за­ писи в соответствующие ячейки ОЗУ, приведены на программном бланке СЭЦВМ-1 на стр.223.

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

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

При разработке программ решения задач на ЭЦВМ, как пра­ вило, стремятся обеспечить:

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

2. Цикличность программы, заключающуюся в многократ­ ном периодическом повторении вычислений по всей программе, или по её участку и в обеспечении малым ч/слом команд вы­ полнения большого числа операций.

3.Краткость программы за счёт исключения излишних дей­

ствий и

экономного

использования

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

4. Возобновляемость, или восстанавливаемость програм­

мы, т . е .

такое её

построение, при

котором программу можно

прерывать в любой момент >времени, затем начинать вычисле­ ния сначала.

5. Максимальное использование в программе ранее сос ­ тавленных стандартных подпрограмм, а также оформление от­ дельных кусков данной программы в виде так называемых под­ программ.

Г Л А В А УШ

ОРГАНИЗАЦИЯ РЕШЕНИЯ ЗАДАЧ НА С ЭЦВМ-1

» 8 . 1 . ОСНОВНЫЕ ЭТАПЫ РЕШЕНИЯ ЗАДАЧИ НА ЭЦВМ

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

1. Определение целей исследования и постановка задачи. Данный этап является отправным для дальнейшего решения за­ дачи. Постановка целей исследования может выполняться лишь специалистами-исследователями, занимающимися разработкой конкретных научных, технических, экономических и других про­ блем. Цели исследования, условия и гипотезы, при которых оно проводится, а также требования к его окончательному резуль­ тату обычно дают возможность сформулировать постановку за­ дачи, которая заключается в детальном иаучении существа рас­ сматриваемого физического явления или объекта и определении конечной цели исследования.

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

и объектов на удобном математическом

языке. В процессе

это­

го этапа принимаются различные допущения и упрощения,

не

оказывающие существенного влияния на

изучаемый процесс,

вво­

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

 

-

226

-

 

 

этапе

устанавливается в окончательном виде

те

нормули и

математические зависимости,

которые подлежат

решению.

5 .

Зыбор численного

метода. Численные

математические

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

4 . Разработка алгоритма решения задачи /алгоритмиза­ ция задачи/. В процессе выполнения этого этапа разрабаты­ вается алгоритм решения, т . е . устанавливается необходимая последовательность.арифметических и логических действий, с помощью которых может быть реализован выбранный численный метод. Обычно алгоритмов решения может быть несколько. По­ этому предварительно анализируются несколькочвозмолных ва­ риантов алгоритмов. Затем выбирается тот из них, который обеспечивает наиболее эффективное использование машины. Характерная особенность этого этапа состоит в том, что ал­ горитм разрабатывается пока в общем, универсальном виде. При этом для его записи используете; такой язык, который наглядно отображает структуру алгоритма в целом, независи­ мо от конкретного типа машины, на которое в дальнейшем бу­ дет решаться задача.

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

Такой преобразованный алгоритм принято называть логи-

- 227 -

ческой схемой программы. После разработки логическое схекы

программы общий алгоритм решения

задачи записывается в ви­

де последовательности конкретных

элементарных опервци",

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

шения задачи. Необходимо заметить, что составление

програм­

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

процесс. Он является источником большого количества

ошибок

и поэтому требует от исполнителя напряженного

внимания. Ка­

чество

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

программист г-

о .

Подготовка составленной программы для

ввода Б £ца<!

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

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

7. Отладка программы. Вероятность ошибки при ручном программировании настолько велика, что большинство программ при первом их опробовании не обеспечивает решения задачи.

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

просчёте

одного

из

вариантов

исходных данных.

Отладка -

завершающий этап

в

разработке

программ1 ;.

 

8.

Решение

задачи на машине. Содержание

этого этапа

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

- 228 -

дётся тем лицом, в интересах которого решалась задача. Из перечисленных этапов решения задачи на ЭцВМ этапы

1,2 и 3 непосредственного отношения к программированию не имеют, а этапы 4 и 5 рассмотрены в предыдущих главах, поэ­ тому в настоящей главе будут рассмотрены только последние три этапа.

для удобства рассмотрения последних трёх этапов реше­ ния задачи на СЭЦВМ-1 в следующем параграфе даётся описание

пульта

управления этой машины.

 

S 8.2. ПУЛЫ УПРАВЛЕНИЯ МАШИНЫ СЭЦВМ-1. РАБОТА ЗА

 

 

ПУЛЬТОМ

 

Пульт управления /ПУ/

предназначен для пуска

и оста­

нова

машины, контроля за

её функционированием,

обеспечения

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

На лицевой панели ПУ /рис. 8 . 1 / расположены: - клавиатура ручного ввода,

-клавиатура управления,

-цифровая индикация,

-световое табло,

-панель наладки и контроля.

Клавиатура ручного ввода содержит 14 клави!" следующего назначения:

- " - " - знак /нажимается перед набором отрицательного числа/;

- "О", " 1 " , " 2 " , " 3 " , " 4 й , " 5 " , " б " , " 7 " , " в " , и 9 " - для набора цифровой информации;

-"Пр" /правильно/ - обозначение правильно набранного числа при вводе информации с-ПУ /нажимается после набора числа/;

-"Нпр" /неправильно/ - исключение записи в память ма­ шины ошибочно набранного числа /нажимается в случае обнару­ жения ошибки при наборе числа на клавиатуре/;

 

СНК

ост

ост

О С Т

N

ЧКС/10 У М

 

 

ЭВМ

ПРОГР

3N

ЗАДАЧИ

очисти

 

ПУСК

РСИ

AV

 

Д З У

О З У

Г С

 

ЭВМ

 

ОЗУ

ЦИФРОВОЙ ИНДИКАТОР

К л У

ввод

С П

Р1

ПЕЧАТЬ

вывол

У С

Р 2

СТА

 

СТА

 

СВЕТОВОЕ ТАБЛО

О

1

2

3

К

Шпр 5

6

7

8

9

КЛАВИАТУРА РУЧНОГО ВВОЛА

СВрос

очисти Э В М В

В О Д В Ы В О Д

РЕВЕРС

 

 

ооооооооооооо

Пр

ОЗУ пзк пуск ост М

СТА СП Р{ ПЕЧАТЬ СТА УС

П СП

 

КЛАВИАТУРА УПРАВЛЕНИЯ

 

 

 

 

 

 

4 4 4 . 4 4- 4 . + 4 4 ,4- 4- 4 - 4 4 4 4 4 т

ост.сп пчсксл

+ 4 + 4- 4 . 4 4 +-.4 4- 4 4 4 +

+

0ТКП33-зг-31л30-29-2еЛ27-2б"25^24"23"22

2I"20-IQ

-1?Ч6 (5Ч4-13 1 П П 0 9~07

6 - 5 —к

9~2~

КЗНАКЗн.

ЧМН СРАВК ЛЧ АДРЕС АДРЕС ОПРОС OTKfl

ОСТАН БПОКиООвЬШ

л/

 

I Д РИС

Прм

коп

0 Л Н 0 1 С А Т И0 «ЕПРЕМдао

аа

я •*

,

4 + + + + + f + + -l- + 4 4 - ^ + 4

+ 4 4

# 4 - 4 +

+ + + 4 + 4 + + +

слож -зьписъмоЗУатхл отдаете» сик

зм ослм чш кои коп'ц—)5/,')'2_Ц_10л9_6~"Т ^ б - 5 ~ k~^T~ 2 ~ 1^2~ Г^Э А~Ъ~~ Т

ИСПОЛНЕНИЕ КОМ«ЧД

 

КО М А ИДА

 

ПАНЕЛЬ НАЛАДКИ И КОНТРОЛЯ

РИС.8.1.

ЛИЦЕВАЯ ПАНЕЛЬ ПУЛЬТА УПРАВЛЕНИЯ СЭЦВМ-1.

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