книги из ГПНТБ / Мараева И.Б. Вычислительная техника в инженерных и экономических расчетах. Автокод Инженер для ЭЦВМ Минск-22 учеб. пособие
.pdf90
|
Продолжение таб л .I |
I |
2 |
101 |
Автокодовая программа и дополнения к ней не вмещаются |
|
в оперативную память малины. |
S «О
Ошибка в записи корректировочного оператора. Например, дополнения начинаются не с корректировочного опе
ратора.
ю з |
Инфорглация строки бланка не заканчивается символами |
|||||
|
=Г или Е . |
|
|
заканчивается |
||
|
Перфолента с автокодовой программой не |
|||||
|
пятью пробелами. |
|
|
|
|
|
104 |
Номера корректируемых строк расположены не в |
порядке |
||||
|
возрастания. |
|
|
|
|
|
105 |
Есть ссылка на метэд', которая не присвоена ни |
однощу |
||||
|
оператору автокодовой |
программы. |
|
|
|
|
|
Введена не вся программа. |
Первый оператор программы не |
||||
|
имеет метки. |
|
|
|
|
|
|
Процущено заглавие автокодовой программы. |
|
|
|
||
106 |
Рабочая программа не вмещается в оперативную память |
|||||
|
малины. |
|
|
|
|
|
107 |
Неправильно организуются циклы. |
|
|
|
||
НО |
Неправильная работа магнитной ленты при вызове стан |
|||||
|
дартных программ. |
|
|
|
|
|
I I I |
Неправильный ввод перфоленты с автокодовой програм |
|||||
|
мой. |
|
|
|
|
|
112 |
Для рабочей программы требуется более 15 |
|
индексных |
|||
|
ячеек. |
|
|
|
|
|
вы в |
стандартных подпрограммах автокода. Речь идет о |
тех |
||||
стандартных подпрограммах, обращение к которым |
|
строится ав |
||||
томатически. Например, записывая в автокодовой |
|
програше |
||||
элементарные функции, операторы ИНТЕГРАЛ ивы |
|
АЛГЕБРАИЧЕ |
||||
СКИХ—* УРАВНЕНИЙ I—• СИСТЕМА |
, мы тем самым даем |
|
указание |
транслятору построить обращение к соответствующим стандарт
ным подпрограммам БСП АКИ. Возможные остановы в стандартных
подпрограммах автокода приведены в табл .2 . Они,так же как и остановы при трансляции, могут быть устранены проверкой со
ответствующих операций в автокодовой программе и необходимы
ми изменениями при помощи корректировочных операторов.
А
оста |
А СП |
|
нова |
|
|
41 |
СП-6 |
|
У - * 9 * |
||
|
||
42 |
СП-7 |
|
|
y-arcsin х |
|
|
y-arccos со |
43СП-22
Перевод целого числа из 2 — 10
44СП-15
Печать чисел на БПМ СП-17, СП-27
Печать таблицы чисел
45СП-20
Звод и перевод чисел из 10 — 2
46СП-25
Расчет количества повторения цикла
47СП-1
|
|
f/ = X Z |
50 |
С1М |
у = е ж |
|
||
51 |
011-5 |
у = 8 п с с |
52СП-12
Деление целых чисел
91
Таблица 2
Причина останова
3L l35!11 2~
/ж/ > 1
/х /> 999999999
Для двумерного массива не вы полнено условие соответствия количества выводимых и описан ных элементов в строке
Вводимый массив занимает в па мяти больше места, чем отведе но для него в автокодовой про грамме.
(Нет соответствия между описа нием массива в операторе ВВОД и содержанием перфоленты исход ных данных)
Количество повторений цикла - отрицательное или нецелое чис ло
Значение |
не определено |
ж > 4 3 , |
668 |
Делитель равен нулю
92
После устранения всех ошибок программы, выявленных |
при |
трансляции и обращении к стандартным подпрограммам, начинает |
ся счет задачи. Если результаты счета не совпадают с извест
ными результатами контрольного варианта, то рекомендуется от |
||
лаживать программу по частям, выводя на печать |
и |
сравнивая |
промежуточные результаты. Только после выявления |
и |
устране |
ния всех ошибок в программе можно приступить к |
счету задачи |
|
для всех необходимых вариантов исходных данных. |
|
|
5 12 . Некоторые часто используемые стандартные |
||
подпрограммы |
|
|
Как уже указывалось в 5 8 , при решении многих задач удоб |
но использовать стандартные программы, записанные на магнит
ной ленте во внешнем запоминающем устройстве |
машины. |
|
|
|||||||
Обращение к этим стандартным программам строится при по |
||||||||||
мощи операторов |
БИБЛИОТЕЧНАЯ ПРОГРАММА и СП (в режиме |
" Т "). |
||||||||
В |
этом параграфе перечисляются некоторые |
наиболее |
часто |
|||||||
употребляемые стандартные подпрограммы и указывается |
запись |
|||||||||
обращения к |
ним в |
режиме "Т ". |
|
|
|
|
|
|||
|
I . |
Вычисление |
некоторых специальных функций |
|
|
|||||
1 . |
Вычисление |
функции Бесселя 1 -го рода нулевого порядка |
||||||||
U (х}эт действительного аргумента. |
|
|
|
|
|
|||||
|
|
|
|
СП^6(ХХ) I |
|
|
|
|
|
|
Здесь |
X - идентификатор аргумента, |
Y - |
идентификатор со |
|||||||
ответствующего значения функции Бесселя. |
|
|
|
|
||||||
2 . |
Вычисление |
функции Бесселя 1-го |
рода 1 -го |
порядка |
||||||
(ас) от действительного аргумента. |
|
|
|
|
|
|||||
|
|
|
|
Сп~ W{X,Yj I |
|
|
|
|
|
|
Обозначения такие |
же, как в СП-46. |
|
|
|
|
|
||||
3 . |
Вычисление |
функции Бесселя 1 -го |
и 2 -го рода |
нулевого |
||||||
порядка D0 (х) |
, Y |
f x j |
от действительного |
аргумента. |
|
|||||
|
|
|
|
|
Cn„5i(X,YtZ) X |
|
|
|
|
|
Здесь |
X - идентификатор аргумента, |
Y - |
идентификатор D0 (X) f |
|||||||
a Z |
- идентификатор Y (х ) . |
|
|
|
|
|
|
|
93 |
4 . |
Вычисление |
функций Бесселя 1-го и 2 -го рода 1по-го- |
рядка |
С7 (х) . Y (X) |
от действительного аргумента. |
Cn^52(X,YZ) I
Обозначения аналогичны СП-61.
5 . Вычисление интеграла вероятности
С П ^ 5 3 (Х ,У )Х
Здесь |
X - идентификатор аргумента |
х |
из интервала |
|||
|
) , Y - идентификаторФ (Х ) |
|
|
|||
6 . |
Вычисление |
функции Бесселя |
1 -го |
рода нулевого порядка |
||
|
от чисто мнимого аргумента. |
|
|
|
||
|
|
С П ~ 5 Н (Х У ) 1 |
|
|
|
|
Здесь |
X - идентификатор коэффициента при мнимой |
единице в |
||||
аргументе ( 0 $ Z S |
43,66 8 2 7 ) , Y |
- |
идентификатор |
/ (х) |
||
7 . |
Вычисление |
функции Бесселя |
1 -го |
рода 1 -го порядка |
||
7 |
(х ) от чисто |
мнимого аргумента. |
|
|
|
*СП^55(Х,У) I
Обозначения те |
же, |
что и в СП-54. |
|
|
|
||
8 . Вычисление функций Бесселя |
1-го и 2 -го рода |
нулевого |
|||||
порядка |
/ (х) |
, |
К (х) |
от чисто |
мнимого аргумента. |
|
|
|
|
|
С П ^ 5б(х,У , z ) X |
|
|
||
9 . Вычисление функций Бесселя |
1 -го и 2 -го рода |
первого |
|||||
порядка |
(х ) |
, |
Kf (х) от чисто мнимого аргумента: |
|
|||
|
|
|
C n ~ 5 7 ( x ,Y Z ) l |
|
|
||
|
П. Решение алгебраических уравнений и систем |
|
|||||
I . |
Вычисление |
корней |
т д и н о я |
|
|
||
Корни полинома с действительными коэффициентами могут вы |
|||||||
числяться в стандартных подпрограммах различными |
способами, |
||||||
например, по методу Ньютона (СП-45) и по методу |
скорейшего |
||||||
спуска (СП-147). В |
обеих подпрограммах находятся все некрат |
||||||
ные действительные |
и комплексные |
корни полинома вида |
|
94
|
|
P n ( z > B Z ',+ i L |
a |
i |
Z',' i, |
П 4 1 0 2 * . |
|
|
|
|
|||||||
|
|
|
|
|
|
l-i |
|
|
|
|
|
|
|
|
|
|
|
|
Обращения к СП имеют вид: |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
С П Л 5 ( А / 1 / , В / Ц , Ы, >р>,Ю1 |
|
|
|
|
|||||||||
|
|
|
|
СП~ т а л / / /, в / i l , Nt y , E ) J |
|
|
|
|
|||||||||
Здесь |
R - |
идентификатор массива коэффициентов |
|
многочлена |
|||||||||||||
а (, |
аг............ а п |
; |
3 - идентификатор массива, |
отведенного |
|||||||||||||
под значения корней полинома; |
N |
- |
переменная целого |
типа, |
|||||||||||||
задающая степень |
полинома; |
р |
- |
признак, указывающий, уточ |
|||||||||||||
няются ли корни по исходному |
полиному: если |
р |
= |
0 , |
то |
кор |
|||||||||||
ни не уточняются, |
если ж%р ф О , |
то |
уточняются; |
£ |
- |
погреш |
|||||||||||
ность вычислений (должна быть задана |
заранее). |
|
|
|
|
||||||||||||
|
Корни полинома размещаются в |
массиве |
В |
в следующем по |
|||||||||||||
рядке: R e z i f U m z n R ezi t J m |
z г |
|
Re zn , J m |
z n . |
|
|
|||||||||||
Поэтому массив |
содержит 2 |
n |
элементов. |
Перед обращением к |
|||||||||||||
СП в |
памяти надо оставить место для |
элементов массива В |
при |
||||||||||||||
помощи оператора MACCIB. |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Длина массива А равна |
л |
|
элементам, |
так |
как коэффициент |
|||||||||||
при |
2 Л обязательно |
должен |
быть |
равен I |
и в |
массив |
не вхо |
||||||||||
дит. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
После выполнения СП в |
массиве |
А сохраняются |
коэффициенты |
|||||||||||||
многочлена. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
2 . |
Вычисление действительного корня |
трансцендентного |
||||||||||||||
уравнения |
|
|
|
|
|
|
|
|
f ( x ) = |
|
|
|
|
|
|||
|
Трансцендентное |
уравнение вида |
0 может быть |
ре |
|||||||||||||
шено в стандартных подпрограммах различными |
способами, |
на |
|||||||||||||||
пример, по видоизмененному методу Ньютона (СП-211) и |
по ме |
||||||||||||||||
тоду скорейшего спуска (СП-212). |
|
|
|
|
|
|
|
|
|||||||||
|
Обращения имеют вид: |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
СП~1Н(М,Х0,Е,Х) I |
|
|
|
|
|
|
||||||
|
|
|
|
Cn~2.&[M,X0,EtXj I |
|
|
|
|
|
|
|||||||
Здесь |
М - |
номер метки подпрограммы вычисления функции f(x ) |
|||||||||||||||
ХО - |
идентификатор начального |
приближения искомого |
корня; |
||||||||||||||
Е |
- |
идентификатор погрешности вычисления; |
X - |
идентифика |
|||||||||||||
тор |
аргумента |
X |
, |
участвующего в подпрограмме |
|
вычисления |
|||||||||||
f (х ) |
. Полученное в |
подпрограмме |
значениеf |
(х ) |
должно |
быть |
|
|
|
95 |
обозначено той же |
буквой |
(засыпается |
в ту же ячейку, что и |
аргумент) . |
|
|
|
Значения ХО |
и £ |
должны быть |
заданы до обращения к СП. |
3. Решение систем линейных алгебраических уравнений Система линейных алгебраических уравнений может быть ре
шена с помощью оператора АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ СИСТЕ МА. При трансляции этого оператора, как уже указывалось ра нее, строится обращение к соответствугще? стандартной год - программе.
Можно решить сразу несколько линейных систем,имеющих об щую матрицу коэффициентов и отличающихся правыми частямн.Та-
кую задачу решает СП-120:
C n -l2 0 lfi/t,llt N ,B / t ! ,M j I |
|
Здесь Д - идентификатор двумерного массива |
коэффициентов |
при неизвестных |
. Эти коэффициенты можно расположить построч |
|||
но в одномерном |
массиве, |
тогда в скобках |
запишется A/I/; |
|
N |
- переменная целого |
типа, задающая порядок системы (чис |
||
ло |
уравнений, равное числу неизвестных); |
В - идентификатор |
одномерного массива, в котором последовательно записаны пра
вые части решаемых систем. Можно образовать двумерный массив, в котором правые части систем будут строчками. Тогда в скоб
ках |
пишется В /1,1/; |
М - переменная целого типа, |
задающая |
|||||||
число |
правых частей. |
|
|
т |
|
|
|
|
||
|
После выполнения СП решения |
систем |
располагаются в |
|||||||
массиве В . |
Первоначальное |
содержимое |
массивов А и В |
не сохра |
||||||
няется. |
|
|
п (n +mj£. 807В |
|
|
|||||
|
Ограничение на порядок |
|
|
|||||||
|
|
|
Ш. Операции-над матрицами |
|
|
|||||
|
I . |
Умножение квадратных матриц |
|
|
|
|
||||
|
|
сл ~ ю г (я /< , //, B ji, 1 /, |
c h i , |
’» ') |
i |
|
||||
А и В |
- идентификаторы доходных матриц порядка л s |
63 ( ft |
||||||||
строк |
и я |
столбцов); |
п - |
целое |
чдоло |
(пишется в кавычках); |
||||
С - |
вдентификатор рабочего |
массива, |
состоящего из л |
элемен |
||||||
тов |
(массив С должен |
быть описан |
до |
обращения к СП при помо |
||||||
щи оператора МАССИЗ). |
|
|
|
|
|
|
|
|||
|
После |
выполнения СП произведение |
матриц |
располагается в |
96
массиве В . Первоначальное содержимое массивов А и В не сохра няется.
2. Умножение прямоугольной матрицы на транспонированную
СП~ЮЗ(я/1, //, С/f/, т ; V ) I
А - идентификатор исходной прямоугольной матрицы размерности тхп ( -строк, п. -столбцов); / п и л - целые числа
(пишутся в кавычках); С - рабочий массив длины
Этот массив должен быть описан до обращения к СП при поющи оператора МАССИВ.
После выполнения СП элементы симметричной матрицы резуль тата порядка m расположены построчно верхним треугольни ком в массиве С. Содержимое массива А не сохраняется.
3 . Умножение прямоугольных матриц |
|
|
|
||||
|
сп~юч(я/и/} m' |
'n't e>/i,i |
'р/ |
ilj |
х |
|
|
А и В |
- идентификаторы исходных матриц размерностей m x n |
и |
|||||
п х р |
соответственно; m ,n ,p |
- целые числа (пишутся в |
ка |
||||
вычках); С - рабочий массив размерности |
m xp |
. Этот массив |
|||||
должен быть описан до обращения к СП при помощи оператора |
|
||||||
МАСС ИЗ. Можно ввести в |
качестве |
С |
и одномерный массив тпр . |
Тогда в скобках запишется С/1/.
После выполнения СП элементы искомой матрицы распсложен_
построчно в массиве С. Содержимое массивов А и 3 не сохра няется.
4 . Вычисление определителя
Определитель порядка Я - 89 может быть вычислен различ ными способами, например, методом Гаусса с выбором главного элемента по всему определителю (СП-107) и методом перекрест ного умножения (СП-110).
Обращения имеют вид:
СП^ 107(Я/{, j f N, с) К
|
сп ~ т (я /щ |
/V, |
с / 1 |
|
Здесь А |
- идентификатор массива, в |
котором построчно |
раз |
|
мещены элементы определителя; N |
- |
переменная целого |
типа, |
|
задающая порядок определителя п |
(чисто строк, равное |
числу |
||
столбцов, |
гг 4 S 3 ) ; С - идентификатор значения опредатгу»еля. |
97
После выполнения СП содержимое массива А не сохраняется.
5 о Обращение матрицы Обращение матрицы монет быть получено различными спосо
бами, например, методом Ершова:
|
|
С Л ^ .112(й |
i j , n) l |
|
|
|
|
|
|
||
Здесь |
A - |
идентификатор исходной матрицы; Л |
» переменная це |
||||||||
лого типа, |
задашцая |
порядок матрицы П |
( п й |
9 0 ). |
|
|
|
||||
После выполнения |
СП элементы обратной матрицы |
располо |
|||||||||
жены построчно в массиве А, а элементы исходной |
матрацы |
|
не |
||||||||
сохраняются. Если один из главных миноров матрицы равен |
|
0 , |
|||||||||
происходит |
контрольный останов. |
|
|
|
|
|
|
||||
Для обращения симметричной матрицы удобнее |
пользоваться |
||||||||||
СП" Ш : |
С П ^ Н з ( й /1 /} Ф / / п ’} I |
|
|
|
|
|
|||||
Здесь |
А - |
вдентафшсатор массива, в котором размещаются |
|
по |
|||||||
строчно верхним треугольником элементы доходной матрицы |
|
по |
|||||||||
рядка |
n |
( п й 1 2 5 ). |
Длина массива А равна |
^ » |
(п + 1 ) |
эле |
|||||
ментам. |
|
|
|
|
|
|
|
|
|
|
|
|
С - |
идентификатор рабочего массива из я |
элементов |
|
|||||||
(этот |
массив до обращения к СП должен быть описан при помощи |
||||||||||
оператора MACCIB). |
|
|
|
|
|
|
|
|
|
||
|
п - |
целое число, равное порядку исходной матрицы |
(пи |
||||||||
шется в кавычках). |
|
|
|
|
|
|
|
|
|
||
После выполнения СП элементы обратной матрицы расположе |
|||||||||||
ны в |
массиве А. |
|
|
|
|
|
|
|
|
|
|
6. |
Нахождение собственных значений и собственных |
векто |
|||||||||
ров матрицы |
|
|
|
|
|
|
|
|
|
||
Собственные значения и собственные векторы |
симметричной |
||||||||||
матрицы могут быть найдены методом вращения при |
|
помощи |
|||||||||
СП-127. |
|
|
|
|
|
|
|
|
|
|
|
Элементы доходной симметричной матрицы |
размещаются по |
||||||||||
строчно верхним треугольником в массиве |
А. Для результатов |
||||||||||
вычислений выделяются рабочие массивы 3 |
н С |
(эти |
массивы |
||||||||
должны быть описаны до обращения к СП оператором |
МАССИЗ |
) . |
|||||||||
Длины массивов: |
. |
|
|
|
|
|
|
|
|
С -/1а;
98 |
|
|
|
|
где п |
порядок исходной симметричной матрицы |
(л |
^ 7 1 ;. |
|
Обращение имеет ввд : |
|
|
|
|
|
СП |
/ 2 7 ( А И I, В 111, C I 1 I , ’ п%Е)Х |
||
Здесь п |
- целое число, пишется в кавычках, Е |
- |
идентифи |
|
катор относительной |
погрешности вычислений. |
|
|
После выполнения СП собственные значения находятся в пер
вых ячейках массива В , а собственные векторы расположены по
строчно в |
массиве С. Первоначальное оодержимое массива А не |
|
сохраняется. |
|
|
Если вместо С/1/ записать 0, то вычисляются только |
соб |
|
ственные |
значения. В этом случае порядок матрицы может |
быть |
больше: а & 123. |
|
|
1У. |
Интегрирование обыкновенных дифференциальных |
|
|
уравнений и систем |
|
Так как одно дифференциальное уравнение является частным |
||
случаем |
системы, то рассматриваются различные способы |
ин |
тегрирования систем дифференциальных уравнений первого |
по |
|
рядка вида |
|
|
|
du. |
|
с начальными условиями
Одним из наиболее удобных дея реализации на ЭфМ являет
ся метод Рунге-Кутта решения систем указанного вида. |
|
|||||||
СП-62 интегрирует систему методом Fyere-Кутта с |
|
автома |
||||||
тическим выбором шага; |
СП-335 - методом типа FyHre-Кутта пя |
|||||||
того оэрядка с контролем шага интегрирования. |
В |
последней |
||||||
программе реализован алгоритм, позволяющий сократить |
время |
|||||||
решения задачи по сравнению с СП-62. |
|
|
|
|
X |
, и |
||
В обеих рассматриваемых подпрограммах значения |
||||||||
у0Г: размещаются в массиве А длины ( a t |
/ |
) . |
Число |
уравнений |
||||
задается |
переменной целого типа /V |
; |
/ |
- |
идентификатор |
|||
значения аргумента х , |
при котором требуется |
получить реше |
||||||
ние системы; |
£ - идентификатор требуемой точности |
вычисле |
||||||
ний. |
|
|
|
|
|
С и Г . Дли |
||
Для действия СП выделяются рабочие массивы |
|
|
|
равна 4 ( n + i |
) для СП-62 и 5 |
|
|
S9 |
||
на массива С |
(«•*■/) - |
для |
|||||||
СП-335. |
Длина массива F |
в |
обеих подпрограммах - |
(я■'■•'О.Мас |
|||||
сивы С и |
f |
|
должны быть описаны до обращения к СП при помощи |
||||||
оператора МАССИЗ. |
|
|
|
|
|
|
|||
М - |
метка подпрограммы вычисления правых частей |
уравне |
|||||||
ний, т .е . |
функций f L |
(о с , |
у , , уг , . . . уп ) |
. В |
подпрограмме |
||||
значения х ) |
у п ■■■/ у п |
являются соответствующими элементами |
|||||||
массива А, |
а |
полученные |
значения функций ^ |
записываются в |
|||||
массив |
F |
в |
следующем порядке: |
|
|
|
|
||
|
F U I - 1 , |
|
|
|
|
|
|
||
— |
|
У** |
|
|
|
|
|
|
|
|
F /n + ll = fn( x ,y t , . . . , y n) . |
|
|
|
|
||||
Обращения к СП имеют ввд : |
l |
|
|
|
|||||
С Л ..6 2/Я ///, N, С\I/, Fjtj ,М,Х,Е] |
|
|
|
||||||
СП^ЗзфЩ , N, Cjl/, ГЩ, M,X, Ej |
I |
|
|
|
|||||
После выполнения СП аргумент х » при котором получено |
решение,является первым элементом массива А, |
а найденное ре |
||||
шение системы yt (х ) } . . . , y n( x j |
расположено в |
массиве А |
|||
начиная со 2-го элемента; |
|
|
|
|
|
|
ш X |
|
|
|
|
|
= у / * ) з |
|
|
|
|
R М / “ уп (х )- |
|
|
|
|
|
Если при к-м приближении шаг интегрирования п = |
-О , |
||||
|
|
|
к |
2 К ~ |
|
т . е . требуемая точность не достигается, то |
происходи? конт |
||||
рольный останов. |
|
|
|
|
|
В подпрограмме вычислений правых частей |
системы в |
СП-335 |
|||
константа в |
F i l l не засылается. |
|
|
|
|
У. |
Преобразование формы представления чисел |
|
|
||
Как уже |
говорилось в ® I , в |
автокодрвых |
программах |
и с- |
|
юльзуются как числа и переменные целого типа, так |
и числа и |
||||
переменные действительного типа. |
Иногда в процессе |
решения |
|||
задачи нужно перевести число, введенное как целое, |
в |
дейст |
|||
вительное или совершить обратное |
преобразование. |
|
|