Файл: Бакиров Р.О. Применение современных электронных вычислительных машин при расчете и проектировании конструкций инженерных сооружений учебное пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.04.2024
Просмотров: 104
Скачиваний: 0
в десятичную систему, для чего служат стандартные подпрограммы (СПП). Пока мы не знакомы с СПП и правилами обращения к ним, в необходимых случаях будем предполагать, что по команде (Пю) (s) одновременно осуществляется перевод (2-* 10) и пе чать содержимого сумматора. В дальнейшем от этого предположе ния мы освободимся.
Из программы видно, что по команде 0017 происходит развет вление счета для обеспечения выполнения заданного условия (6).
ЦИКЛИЧЕСКАЯ ПРОГРАММА
При расчете и проектировании конструкций инженерных соору жений приходится производить по одним и тем же формулам мно гократные вычисления, варьируя входящими в них параметрами. Программы, реализующие указанные вычисления, называются цик
лическими.
Для иллюстрации циклической программы несколько усложним предыдущий пример. Пусть после вычисления М по формуле (1) требуется определить напряжение сг при п различных значениях
высоты элемента hh ( / = 0, 1, |
2, |
п—1). |
|
При этом |
|
|
|
hi+i = |
h [+ |
/АЛ. |
(7) |
Таким образом, постановка задачи заключается в том, что тре буется составить программу, позволяющую не только произвести однократный расчет конструкции, но и путем многократных вычис лений значения а при различных величинах высотьь ht получить данные для определения оптимальной конструкции. Под оптималь ностью в данном случае понимается максимально возможное ис пользование прочностных характеристик материала конструкции.
Для разработки программы необходимо ввести дополнительное условие, обеспечивающее п-кратное вычисление по формулам (1),
(4) и (5) при различных значениях h. Ясно, что этому требованию можно удовлетворить различными способами. Одним из вариантов может быть следующее решение:
— для параметра i отводится специальная ячейка < i > ;
— в начале общего счета производится ее очистка ( ) - * ■ < / > ;
— в конце каждого варианта расчета увеличивается содержи
мое ячейки < г > на единицу, |
т. е. выполняется действие |
< 4 >-f- |
+ < / > -*• < 7 > и проверка условия |
|
|
< / > |
— < Л —1 > |
(8) |
при совпадении, когда « = 0, — конец вычислений; в противополож ном случае — необходимо осуществить передачу управления к рас чету очередного варианта.
Таким образом, мы имеем теперь постановку задачи, все рас четные формулы и логические условия. Чтобы завершить описание
.28
задачи, необходимо привести последовательность действий для ре шения задачи. Словесное ее описание в данном случае несколько громоздко, поэтому познакомимся с другой более наглядной блоксхемной формой описания последовательности вычислений .....
Блок-схема решения задачи приведена на рис. 6.
fii
02
А'з
Ру
%
п6
Ру
я8
Р и с. 6
На схеме большими русскими буквами обозначены отдельные блоки, в которых производятся нужные операции: А — арифмети ческий оператор; О — оператор восстановления; П — оператор пе чати; Р — логический оператор и Я — оператор останова. Операто ры, конкретное содержание которых раскрыто в блок-схеме, имеют сквозную десятичную нумерацию. Из схемы видно, что естествен ный порядок выполнения операторов нарушается операторами Р — условной и безусловной передачи управления.
При введенных обозначениях схему решения задачи можно представить и в следующей операторной форме:
А ,02 П А3Р4 Г П511; |
П П61| Р7 Г Я * |
(9) |
7 |
5 |
|
в которой введены дополнительные обозначения передачи управле ния.
29-
|
|
|
|
к |
то управле |
В частности, если после оператора стоит знак |
|||||
ние передается к-му оператору. |
Перед оператором, |
получившим |
|||
управление, |
стоит знак |
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 |