
книги из ГПНТБ / Бакиров Р.О. Применение современных электронных вычислительных машин при расчете и проектировании конструкций инженерных сооружений учебное пособие
.pdf
|
|
|
|
к |
то управле |
В частности, если после оператора стоит знак |
|||||
ние передается к-му оператору. |
Перед оператором, |
получившим |
|||
управление, |
стоит знак |
i |
где |
I — номер оператора, передаю- |
|
~], |
|||||
щего управление. Знак |
m |
|
|
|
|
|~ означает безусловную передачу управ- |
|||||
|
|
m |
После логического оператора Р ста |
||
ления оператору с номером т . |
|||||
вится знак |
[_ в случае передачи управления оператору с номером |
К
К
к при выработке машиной сигнала со = 0 и знак | — в противопо
ложном случае (со=1). Точка с запятой после оператора (напри7_
мер, Р51_;) означает, что непосредственной передачи управления
следующему оператору не происходит.
Назначение операторов Аь Ог, А3, Р4, П5 и П6 ясно из рис. 6, поэтому не требуется дополнительного пояснения. Укажем лишь, что оператор 0 2 обеспечивает очистку ячейки < г > , так как при первом прохождении по участку А3—Р7
Л/+1 = hi + i- Дh
равно начальному значению высоты элемента ho.
Несколько подробнее следует остановиться на назначении опе ратора Р7. Этот оператор увеличивает содержимое ячейки < г > на единицу, т. е. производит действие
< г > + < 1 < г >
и реализует анализ условия (8): если рассчитаны все заданные ва рианты задачи, то передается управление оператору останова Яв; в противоположном случае управление получает оператор А3 для расчета очередного варианта.
Таким образом, по участку А3—Р7 машина проходит п раз в со ответствии с предусмотренным в задании числом вариантов рас чета.
Итак, описание данной задачи содержит: постановку задачи; расчетные формулы (1), (4), (5), (7); логические условия (6), (8); физический алгоритм в блок-схемной (рис. 6) и операторной фор
мах (9).
Реализация этого алгоритма приведена в программе 4. Читатель, очевидно, непреминул заметить, что в столбце «пояс
нения» программы 4 записаны лишь результаты наиболее харак терных действий, а результаты промежуточных вычислений для со кращения времени — не поясняются.
На практике часто встречаются задачи, имеющие несколько изменяемых параметров. Например, рассмотренную в данном пункте задачу возможно было бы решить с изменением не только высоты элемента h, но и его пролета /. В этих случаях организуют
30
Операторы
Ах
о 2
■Аз
л
№
команд
0001
0002
0003
0004
0005
0006
0007
0010
ООП
0012
0013
0014
0015
0016
0017
0020
0021
0022
0023
0024
0025
Команды
(S) < 1 >
(X ) < / > (X ) < q >
( :) < 8 >
(П) < М >
(S) < 0 >
(П) < i >
(П) < i >
(X ) (ДА) ( + ) < h-i >
(П) < hi >
( S ) < b >
(X ) < ht >
(X ) |
< |
^ |
> |
( : ) |
< |
6 |
> |
(П) < W >
(5) < M > ( : ) < W >
(П) < 3 >
( - ) < [»] >
( p ) (0031)
П р о г р а м м а 4
Пояснения
< M > = M
< i > = 0
<w > = w
<a > = s
Условная передача
%
31
№
Операторы команд
0026
п5 0027 0030
0031
П6
0032
0033
0034
0035
Pi
0036
0037
R.0040
Команды
Ojt |
Л |
V |
(Г1.о) («)
(-») (0033)
(S) < а > (П10) (®)
(S) |
< |
i > |
|
( + ) |
< |
1 |
> |
(П) |
< |
i > |
|
(оо) < |
n — 1 > |
||
/ \— >\ |
|
5 |
|
|
|
1 |
|
|
|
|
! |
(Стоп) |
0000 |
Продолжение программы 4
Пояснения
Печать 1
Безусловная передача
Печать а
Останов
программы, имеющие наружный и несколько внутренних циклов (цикл в цикле). Данный весьма интересный случай не может быть рассмотрен в рамках настоящей работы. Следует лишь заметить, что реальные машины имеют специальные команды, позволяющие легко организовать циклические процессы вычисления. Особенно удачными в этом отношении являются команды начала и конца цикла, предусмотренные в машинах типа «Урал».
СТАНДАРТНАЯ ПРОГРАММА
Приведенные выше примеры убеждают нас в том, что програм мирование — это процесс, требующий затраты значительного вре мени и исключительной аккуратности. Поэтому в настоящее время ведутся работы по автоматизации программирования. Первым ша гом в этом направлении является заблаговременная разработка программ для решения наиболее часто встречающихся общемате матических задач, называемые стандартными программами (СПП или просто СП).
32
Для большинства машин разработана целая библиотека таких
программ, включающая СП — вычисления элементарных функций
_ з
( У х , |
У х , |
1пх, ех и |
др.), тригонометрических функций (sinx, |
cosх, |
tgx, |
ctgx и др.), перевода чисел из одной системы счисления |
|
в другую |
(1 0 —>2,2-» |
10), аппроксимирования и интерполирования |
функций, решения систем линейных и нелинейных алгебраических и дифференциальных уравнений и другие программы (см. прило жение 1).
Несмотря на достаточно большое разнообразие, все СП строят ся по схеме, представленной на рис. 7.
______________В х о д и Вы ход СПП
Сохранение параметра осноВной програ ммы
____________ (с четчика и^иклоб и т.п.)_________
Н еобходим ы е формирования и Восст ановления
|
Р а б о т а СПП |
|
ВозВращение параметров основной |
программы |
|
------ |
( нулёбая ячейка и т п.) |
|
* |
---- |
_____безуслодная передача управления________
Нонетанты и стандартная информация о массибе
Р и с. 7
Метод стандартных программ удобен тем, что не требует от ис следователя знания вопросов программирования и самой програм мы, которая обычно чрезвычайно сложна, а для использования СП необходимо лишь общее представление о машинах и знание правил обращения к соответствующим СП. По форме обращения различа ют СП без изменяемого и с изменяемым параметром.
К стандартной программе без изменяемого параметра относятся такие СП, которые служат для вычисления какой-либо функции по заданному аргументу, например СП вычисления элементар ных или тригонометрических функций.
При обращении к программе рассматриваемого типа необходи мо вызвать в сумматор (мы имеем в виду одноадресную машину)
аргумент |
х<2> |
и обратиться к СП по |
команде вида: |
|
|
* + 1) («--*) |
( ^ П2* 10). |
Если |
(6НСП |
есть начальный адрес СП перевода из двоичной |
системы в десятичную (СП 2 - * 10), то после выполнения этой ко манды в сумматоре окажется тот же аргумент, но уже переведен ный в десятичную систему , т. е. хро).
3 Зак. 1018 |
3 3 |
О п ер атор ы
Ах
о 2
Аз
р*
№
ком анд
0001
0002
0003
0004
0005
0006
0007
0010
ООП
0012
0013
0014
0015
0016
0017
0020
0021
0022
0023
0024
0025
К ом анды
(S) < 1 >
( X ) <1 >
( X ) < q >
( : ) < 8 >
(П ) < м >
( 5 ) |
< |
0 |
> |
(П ) |
< |
i |
> |
(П ) |
< |
i |
> |
( X ) |
< |
Дй > |
|
( + ) |
< |
А, > |
|
(П ) |
< |
ht > |
|
(S) |
< |
b > |
|
( X ) |
< h t > |
||
(х) |
< |
h > |
|
( : ) |
< |
6 > |
|
(П ) |
< |
W > |
|
(S ) |
< М > |
||
( : ) |
< |
W > |
(П ) < а >
( - ) < М >
(Г) 0032
П р о г р а м м а 4'
П ояснени я
< М > = 41
< i > = 0
( с + 0 ) = Ш г
< w > = W
< а > = а
34
Оп ер ато р ы
п6
п6
Р-
№
ком ан д
0026
0027
0030
0031
0032
0033
0034
0035
0036
0037
0040
0041
0042
Продожисение программы 4'
К ом ан д ы |
П оясн ен и я |
(S) < 1 >
СП2->10
(■ *"*) ьн
П ечать 1
(П,о) (S) -
( - * ) 0035
(5) |
< |
з > СП2>10 |
||
( * —*■) |
ь н |
|
||
(П ю ) |
(®) |
П ечать ® |
||
(5) |
< |
i > |
|
|
( + ) |
< |
! |
> |
|
(П ) |
< |
|
/ > |
|
(u i) < |
п - |
1 |
> |
(р)(0010)
(С топ ) (0000) |
О стан ов |
К стандартным программам с изменяемым параметром относят ся такие СП, в которых имеются команды, изменяемые в зависимо сти от определенного параметра. Таковы, например, СП решения общематематических задач (решение системы алгебраических или дифференциальных уравнений), в которых имеются изменяемые команды, зависящие от порядка решаемой системы п или ширины ленты h при решении ленточных систем линейных алгебраических уравнений [2].
3* |
35 |
Обращение к СП второго типа, например, к программе решения; систем линейных алгебраических уравнений может иметь вид:
* + О (~ ) 0>£п)
* + 2) (00) (ан)
•/ -f- 3) (00) п,
где Ь^п — начальный адрес СП;
а„ — начальный адрес коэффициентов и свободных членов;
п— порядок системы.
Теперь, обозначив через (б£П2--10) начальную ячейку СП2-> 10, предыдущую программу 4 можно записать в уточненном виде (про грамма 4').
Эта программа вполне пригодна для решения задачи на маши не, но требует перевода в действительные адреса и ввода, в опера тивную память (ЗУ).
§ 3. ПРИМЕНЕНИЕ ЭЦВМ ПРИ РАСЧЕТЕ И ПРОЕКТИРОВАНИИ КОНСТРУКЦИЙ ИНЖЕНЕРНЫХ СООРУЖЕНИЙ
При расчете и проектировании конструкций инженерных соору жений приходится решать различные математические и логические задачи. Решение этих задач значительно облегчается при использо вании современных вычислительных машин. Применение машин
.при этом может быть осуществлено различными методами, в зави симости от подготовки специалиста к машинному решению инже нерно-технических задач: использование готовых программ, подго товка задачи для машинного решения и программирование задачи в широком смысле.
Первые два метода использования машин наиболее просты и
.могут быть осуществлены специалистами, имеющими лишь основ ные сведения об ЭЦВМ и элементах программирования, изложен ных в § 1 и 2 пособия. Эти методы освещены в дальнейшем с доста точной степенью подробности.
Методы программирования задач для конкретных ЭЦВМ из лагаются в специальной литературе и здесь не рассматриваются.
Готовые программы подразделяются на стандартные и типовые, поэтому их использование рассматривается раздельно.
ПРИМЕНЕНИЕ СТАНДАРТНЫХ ПРОГРАММ
Стандартными называются программы, предназначенные для решения математической или логической задачи, часто встречаю щейся при расчете, проектировании и обработке результатов экс периментального исследования различных конструкций. Таковы программы вычисления элементарных, тригонометрических и спе циальных функций, решения общематематических задач, задач об работки результатов наблюдений и т. п.
В частности, при решении задач механики военно-инженерных сооружений встречаются нормальные, ленточные, окаймленные, квазидиагональные системы линейных алгебраических уравнений. Рассмотрение динамики защитных сооружений приводит к иссле дованию систем дифференциальных уравнений. При обработке ре зультатов экспериментального исследования конструкции исполь
37
зуется метод наименьших квадратов, математическую сущность, которого составляет решение избыточных несовместимых систем линейных алгебраических уравнений.
Ясно, что любой специалист инженерно-технической дисципли ны должен быть информирован об имеющихся стандартных про граммах для используемой им ЭЦВМ и уметь их применять.
В приложении 1 приведен перечень опубликованных или подго товленных к печати стандартных программ для ЭЦВМ «Урал-2».
Метод стандартных программ является наиболее простым спо собом автоматизации расчета и проектирования инженерных конст рукций, так как при этом от исследователя не требуется знания вопросов практического программирования, а о н должен знать лишь основные сведения об ЭЦВМ, перечень имеющихся стандарт ных программ и методику описания задания в ВЦ для решения за дачи с использованием готовой стандартной программы.
Стандартная программа решения системы линейных алгебраических уравнений
При расчете статически неопределимых конструкций встреча ются системы линейных алгебраических уравнений с симметричной полностью заполненной матрицей коэффициентов
АХ = В, |
(10> |
где
А = [аи]п.„, X = [лгД.! и В = [6,]я>1,
причем
a i j = a ji"
Могут встретиться и ленточные системы, матрица коэффициен тов в которых схематически может быть представлена в виде:
~ h |
” |
А = |
т |
( 11> |
п
где п — порядок системы;
т— число членов в каждом уравнении, за исключением опре деленного числа первых и последних уравнений;
h — ширина ленты, т. е. число кодиагоналей справа или сле ва от главной диагонали, включая последнюю.
38
Для решения всех типов симметричных ленточных систем, в том числе при h = n (система с полностью заполненной матрицей), це лесообразно применить программу [2], в которой реализован метод Гаусса. Программа использует лишь оперативное запоминающее устройство и позволяет решать системы, порядок которых зависит от ширины ленты. Например, при h = 2 или 3 по данной программе можно решать системы соответственно 440 или 310 порядка.
Если нужно решить k симметричных системы линейных алге браических уравнений и вычислить их определители, то в ВЦ, рас полагающее этой программой, необходимо написать соответствую щую заявку. Заявка пишется в произвольной форме, но примерное
еесодержание должно быть следующим. Даны системы уравнений:
|
|
Л<0 *0 ) = |
ДО); |
|
|
|
|
|
|
|
Л<2)*(2) = |
Я<2). |
|
|
|
(12) |
|
|
|
Л<*>ЛГ<*> = |
Д<*>, |
|
|
|
|
|
|
|
|
|
’ |
< • |
. а < * > |
1 |
|
|
|
|
|
• |
|
|
||
|
|
l n i |
|
|
|
1 п * |
|
|
|
|
|
|
|
|
|
|
|
Л |
< 1 > = |
|
|
|
|
|
|
|
|
|
П | П ! |
|
|
а < * > . |
. а < |
« |
|
|
|
|
|
" л 1 |
п к п к |
_ |
||
|
& < » |
|
|
|
|
|
|
|
|
|
|
« |
|
|
|
|
|
|
|
|
5 |
II |
|
|
|
|
|
6 |
< 1 > |
|
|
А < * > |
' |
|
|
|
|
" 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
" * |
J |
|
|
Требуется найти корни уравнений: |
|
|
|
|
|
|||
|
|
у</) |
|
|
|
|
|
|
|
*0> = |
Л1 |
|
|
|
|
|
|
|
. j |
= |
Ь 2..........к |
|
|
|
||
|
|
х<1> |
|
|
|
|
|
|
|
|
V |
|
|
|
|
|
|
и определители deMO> |
с выдачей их на печать. |
|
программу |
|||||
Для |
решения задачи |
использовать |
«Стандартную |
решения т — членных симметричных систем линейных алгебраи ческих уравнений», напечатанную в работе [2]. Если заказчику без различно, по какой программе будет решаться его задача, то по следнее замечание не делается.
В заявке указывается желательное количество экземпляров вы ходных данных и срок выполнения задания.
39