ИЗВЕСТИЯ
1 ОМСКОГО ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ПОЛИТЕХНИЧЕСКОГО
ИНСТИТУТА имени С. М. КИРОВА
1969
Том 168
НЕКОТОРЫЕ СТАНДАРТНЫЕ ПРОГРАММЫ ДЛЯ ЭВМ «МИНСК-1»
Н. С. ГОЛОСОВ, О. к. ГОРДЕЕВ
(Представлена научным семинаром вычислительной лаборатории ТПИ)
Часто решение инженерных задач необходимо проводить в комплексной области изменения переменных. Это вызывает некоторые затруднения при программировании таких задач на ЭВЦ «Минск-1». Разработанная СП для выполнения арифметических действий с комплексными числами в системе универсальной ИС [1] (УИС) позволяет, с одной стороны, значительно упростить процесс программирования задач, а с другой, более компактно и логически цельно записать программу. Примером этого может служить СП нахождения корней полинома п-ой степени с комплексными или действительными коэффициентами, приводимая во второй ч-асти статьи.
Программа арифметических действий с комплексными числами ( Z-пpoгpaммa)
Программа оформлена в виде стандартной программы в системе УИС. Существенная особенность ее та, что она тесно связана с работой самой УИС, так как после обращения к 2-прогр'амме все арифметические псевдокоды УИС исполняет как действия с комплексными числами в форме с плавающей запятой, записанными в четыре ячейки:
А + 1 <71 I
Л + 2 Р\1тг
А + 3 д |
Исполнительный адрес псевдокодов арифметических операций А + О, т. е. порядок реальной части г.
Обращение к 2-программе, общее для всех СП в системе УИС с той особенностью, что не требует засылок чисел в рабочие ячейки. Отключение от 2-программы осуществляется выполнением специальной команды: 05 0306 0137, после которой УИС выполняет следующие за ней арифметические псевдокоды с действительными числами.
Необходимо отметить, что после включения 2-программы логические псевдокоды выполняются так же, как и до включения, за исключением 02, 04, которые исполняются по знаку и по числу комплексной части псевдосумматора.
Г1 р и л о ж е п и е: II р о г р а м м а
л ре с КОП А А.
1000 05 1016 0131
1 34 0111 0111
2 05 0116 1044
3 05 0112 0206
4 05 0306 0131
5 С5 ОНО 0137
6 54 1011 0000
! 16 0001 1044
1010 24 1040 0116
I 16 0005 1044
о — 26 1033 0116
3 —20 0016 1017
4 10 1014 0010
5 24 0132 0112
6 34 10 2 0150
7 00 0000 0000
1020 34 1021 1021
1 16 0223 1044
2 54 1030 0000
3 -01 0223 1044
4 36 0006 0000
5 — 37 0167 0000
6 -36 1043 0013
/ 24 1013 0116
1030 —07 1026 0137
1 11 0137 1050
2 24 0172 0116
3 07 0000 2030
4 16 0222 1044
5 54 1; 45 0000
6 16 0006 1044
7 -26 1052 0116
1040 20 0016 1044
1 10 1041 0010
2 24 0132 0112
3 07 0000 2034
4 00 0000 0000
5 -16 01)00 0206
6 24 1000 0112
7 03 3067 0000
1050 03 3057 0000
3. Заказ 2258.
Продол же н п е
Адрес КОП ¿1 Л-,
1 03 3060 0000
2 07 2034 0000
3 —01 0003 0031
4 —01 0003 0033
5 10 2030 0034
6 10 2032 0036
7 34 1034 1034
1060 13 2030 4030
1 07 2022 0026
2 13 2032 4032
3 10 6026 0026
4 12 2026 0030
5 12 2026 0032
6 -01 0003 0033
7 13 2032 4036
1070 07 2022 0026
1 13 2034 0032
2 13 2030 4034
3 11 6026 0034
4 13 2030 4036
5 10 6032 0036
6 34 1034 1034
Программа вычисления корней полинома
1000 05 0112 от
1 16 0005 1015
2 20 9022 1015
3 24 1004 1051
4 16 0005 1027
5 20 0023 1027
6 20 1110 1063
7 10 1007 0010
1010 24 0112 0112
1 05 2000 1104
2 07 2020 1136
3 07 2000 1120
4 07 3136 1132
5 00 2004 0000
6 16 6000 0000
7 07 2000 1122
1020 07 3136 1126
1 11 2000 1132
33
П р о д о л ж ени е Про до л же л ие
Адрес КОП Л А» Адрес КОП А А,
2 13 3122 5116 4 -07 1116 2000
3 -10 6000 1122 5 05 0306 0131
4 13 3116 1126 6 01 1106 1027
5 —.13 2000 5132 7 01 1106 1063
6 10 7126 1126 1070 -01 0003 1121
7 06 3122 5116 1 11 2000 1136
1030 13 3122 5116 2 11 6000 4000
1 — 10 6000 1122 3 -16 0000 0022
2 12 3126 1122 4 02 3075 1077
3 —01 0003 0037 5 51 1121 0000
4 13 7122 1126 6 04 3013 1014
5 И 3122 1116 7 01 1107 0302
6 05 0306 0131 1100 -01 0003 1123
7 -07 0146 1126 1 —01 0003 1125
1040 11 3112 5126 2 -07 1122 2000
1 04 3014 1042 3 —07 1124 2002
2 05 2002 0000 4 00 0000 0000
3 - 07 3116 0034 5 05 1111 0112
4 06 0001 0035 6 00 0000 0004
5 И 3114 4034 7 00 0004 0000
6 04 3050 1047 1110 00 0033 0000
7 -07 1140 3116 1 00 0000 0000
1050 06 3043 0002 2 -00 0000 0024
1 00 2004 0000 3 40 0000 0000
2 16 6000 0000 4 —00 0000 0021
3 07 3116 0034 5 40 0000 0000
4 -10 6000 1122 6 00 0000 0001
5 06 0001 0037 7 62 2077 3250
6 11 7112 4000 1120
7 04 3061 1060
1060 15 0000 1124 1120-1141-
1 -07 1122 2000
2 — 13 1116 6000 рабочие ячейки.
3 06 3054 0000
Программа занимает 77 ячеек и позволяет, не нарушая общности процесса программирования в системе УИС, произвести необходимые действия с комплексными числами. Рабочие ячейки 0020—0037.
Нахождение корней полинома п~ой степени
Корни полинома вида
Рп (z) = гп + а{ гп~л +........+ ап-\ г + ап,
где аи а2, ап всегда записываются в комплексной форме (если ап действительные, то мнимая часть равна нулю), находятся итерацион-
34
ным процессом Ньютона в комплексной области изменения 1 по формуле [2]:
Рп {хп)
2л + 1 ~ " Р-Я(га) ' » _
Рп {гп) — производная, вычисленная в точке гп. Обращение к СП общее для всех подпрограмм в системе УИС:
I II
КОП адрес адрес
М-х 2000 + АХ Аг, где <А1> р — порядок
п — порядок полинома,
<Л1 + 1> д — мантисса 1
<А2> 00 0000 А ах
<Л2-ь 1> 06 0000 А ап-х
Ааи Айп-1 — адреса первого и /г—1 коэффициентов. Корни полинома помещаются на месте коэффициентов. Точность нахождения корней (10~6) задается в ячейках 1112, 1114 и по желанию может быть изменена.
В вычислениях эта программа использует 2-программу, которая должна иметь псевдокод 16, т. е. первая строка ТХ. Программа полностью восстанавливается после работы и может быть использована для повторного обращения.
Длина программы (п—1) = 141, длина счетной части 0106 ячеек.
Как видно, сведение арифметических действий с комплексными числами к обычным псевдокодам позволило при относительной сложности задачи написать компактную программу.
ЛИТЕРАТУРА
1. Н. С. Голосов, О. К. Гордеев. Универсальная интерпретирующая система (УИС). В настоящем сборнике.
2. Б. П. Демидович, И. А. Марон. Основы вычислительной математики. М., 1960.