Файл: Бакиров Р.О. Применение современных электронных вычислительных машин при расчете и проектировании конструкций инженерных сооружений учебное пособие.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