Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Мараева И.Б. Вычислительная техника в инженерных и экономических расчетах. Автокод Инженер для ЭЦВМ Минск-22 учеб. пособие

.pdf
Скачиваний:
16
Добавлен:
23.10.2023
Размер:
4.54 Mб
Скачать

60

ся равными 0 .

 

 

 

 

 

 

 

 

 

При повторении метки 3 i

н

^

меняются

одновремегяо,

т .е . вычисляются только

диагональные

элементы

матрицы -

Qu ;

агг*

ах.»

 

 

 

 

г----------------------

 

 

2 ) . Протабудировать фикцию

и= ]j х 2-> у г + z z

 

при

х с [ а .

В]

через

л х ,

y e : [ c , d ]

через а у

,

2 £

[ е , f ]

через л 2

 

 

 

 

 

П р и м е р — X

1.ВВО-Д, В, C ,2 tEf,J)X, Z>Y,Z>Z X

ЪШ ^Х =АХ

2 . В Ш - З - З / У Л - Х i

З Ы Ч -У =СХ

3 . ВШ ^ З ^ ЗН А ^ УХ

ВЫЧ —Z =£ I

4 . ВКЛ ^3-SHA^.Z I

KW L^U=(XfZ + Y ’2 + Z * 2 )* 0 t5 X

ВШ - 3 - 3 / Л 4 - У X

ПСВ-4 — Z = £•-, (D ZyL(=F I

НОВ ^ 3 „ У = C - <fD y ) _ C=JD 1

КОН-

I

НАЧ -

IX

В этом примере на рулоне АЦПУ будут выводиться на печать

значения функции

U для в с е х возможных

z при фиксирован­

ных

х

ж

у ; затем будет изменяться

у

опять 2

пробе­

га е т

в с е

возможные

значен ия), а после

перебора в с е х у

будет

изменяться

х .

 

 

 

 

 

Этот пример иллюстрирует построение так называемых слож­

ных ЦИКЛОВ - ЦИКЛОВ 5 ЦЯЗЗе ( р к с .5/0

 

 

 

 

Итак,

зд есь 3

цикла - внешний по

ж ,

а внутренние

- по

уж

Z ,

 

 

 

 

 

Можно было, конечно, в программе сделать внешний цикл по другой переменной.

61

 

 

 

 

 

 

Р и с.5

 

 

 

 

 

 

Рассмотрим еще пример сложного цикла.

 

 

 

 

Решить систецу уравнений

АХ

=

В, где

 

А =Ъ -С ;

D

и С -

заданные квадратные

матрицы [гг х п]

;

В

- матрица-

столбец,

состоящая

из

п элементов;

число

п

-

задано

 

(П <

1 0 ).

 

 

 

 

 

 

 

 

 

 

П р и м е

р ^

X

 

 

 

 

 

 

 

 

1 . ВВ 0— :Л/ *

 

 

 

 

 

 

 

 

 

 

ВВО^ 2 ( 1 0 0 ^

JV. N ), C(iO O~ N. N), B(iO)X

 

 

MAC и

A(JOO<->N. N) I

 

 

 

 

 

 

 

3 .

ВЫЧ

A 11, H - Q l

 

 

 

 

 

 

 

2 .

ВЫЧ l_ ,

А /I, 7 / = A 11, J / *-2/1

Kj-CjK, JjX

 

 

 

П0В ^ 2 ^ К = /. N I

 

 

 

 

 

 

 

П0В u J u l

= i. N X

 

 

 

 

 

 

 

ПСВ u

3 u J

=

1. N X

 

 

 

 

 

 

 

АЛГ -

УPA u СИС ^ (N t А, в )

I

 

 

 

 

 

 

НАЛ ^HA ^ 5П М ^

B(N)X

 

 

 

 

 

 

KOH

X

 

 

 

 

 

 

 

 

 

 

НАЧ

IK

 

 

 

 

 

 

 

 

 

Здесь внутренний цикл по Л вычисляет элемент

а.

мат-

 

 

 

 

 

 

 

 

 

 

 

V

 

62

рицы Я по формуле

л

Следующий цикл по t

дает все элементы

j. -го

столбца-

Затем цикл по j

дает все

элементы матрицы

°А .

 

 

Способы

организации циклов

 

 

Как видно из

предыдущих примеров для организации

цикла

необходимо указать начальные значения параметров и индексов,

правила их изменения и условия выхода из цикла.

Все эти све ­

дения можно задать одним оператором ПОВТОРИТЬ.

Схематично

организация цикла в этом случае выглядит так;

 

7.

Операторы

 

 

цикла

 

ПОВ^ 7 _ X = Х 0 _ / Г / _ ( - Н 1

Если изменяющийся параметр является простой переменной,а не индексом, то тот же цикл можно организовать без оператора ПОВТОРИТЬ:

В Ы Ч _ Х = ХО 1

7. Операторы

 

цикла

В Ы Ч ^ - Х = Х + Т X

ЕСЛ ы X —

Т0^_, 7 7

Ясно, что в случае изменения индекса, а не простой пере­ менной, такая структура цикла невозможна, так как с индексом нельзя производить никаких арифметических операций при помо­ щи оператора ВЫЧИСЛИТЬ.

Если оператор ПОВТОРИТЬ, написанный в конце цикла,не со­ держит условия его окончания, то выход из цикла должен осу­ ществляться оператором ЕСЛИ, записанным внутри цикла. Схема­ тично организация цикла в этом случае выглядит так :

63

 

 

 

 

7.

Операторы

 

 

 

 

 

 

цикла

 

 

 

Е С Л И -._____ ТО___ 12 К

 

 

 

 

 

 

Операторы

 

 

 

 

 

 

цикла

 

 

 

ПЮ —

7и_ . . . X

 

 

12.

 

 

 

 

 

При такой организации цикла оператор ПОВТОРИТЬ использу­

ется только для

 

изменения параметров и индексов,

а выход из

цикла осуществляется при помощи оператора ЕСЛИ

 

Если изменяющимся параметром является простая переменная,

а не индекс, то

 

по-прежнему оператор ПОВТОРИТЬ

можно заме­

нить операторами ВЫЧИСЛИТЬ, ЕСЛИ и ПЕРЕЙТИ:

 

 

в ы ч ^

х = Ю

/

 

2 .

Операторы,

использующие

 

 

ХДЯя

вычислений

 

ЕСЛИи_. . . . - .

Т О -. 5 X

 

ВЫЧ

=

х

* г

J

 

Другие операторы

ПЕР-. 2 X

5 .

Организация сложных циклов происходит так же, как и про­ стых, т . е . по одной из рассмотренных схем. При этом ни один оператор, находящийся вне цикла, не должен передавать управ­ ление внутрь. При организации сложных циклов все внутренние циклы, в которых изменяющимися параметрами являются индексы, дол&пы содержать условие окончания цикла.

Рассмотрим примеры:

I ) . Найти корень 'равнения

в д ( З х -1 ) * е 2х' 1 =0

с точностью е = IC~J методом Ньютона.

64

Как известно, метод Ньютона

(касательных)

уточняет

зна­

чение

горня алгебраического

уравнения

 

 

0 по

формуле

 

 

 

 

 

f 4 >

 

 

 

 

 

 

 

 

 

 

= *«• -

‘(x)

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

 

 

 

 

 

За начальное приблннение

х

может

быть взят

тот

 

конец

промежутка изменения

знака функции f(oo) , где знак

функции

совпадает со знаком второй производной.

При этом

промежуток

изменения знака функции должен быть таким, чтобы первая

и

вторая производные в нем были знакопостоянны.

 

 

 

 

Попробуем найти такой промежуток дня данного случая.

 

 

 

^ (х) = £^(Зх-}/^егхч.

 

 

 

 

Функция имеет смысл при

 

х > ^-

 

 

 

 

 

f ( 0 ,39) а

- 1,9990 + 0,7261 < О

 

 

 

 

 

 

f (0 ,9 0 ) «

- 0,6900*0,8197 >0.

 

 

 

 

 

прдл:> о,4о

 

f(x)->o-

 

 

 

 

 

 

Таким образом,

уравнение

 

f\ x ) = 0

имеет

только

 

один

промеиуток изменения

знака

 

£ 0 ,3 4 ;

0,40^] Причем

при

лю­

бом

X > 7%)

 

 

 

 

 

гх-<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (

x h

 

З х - 1

 

+2t

> 0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ( x ) ‘

9

 

 

I.

гХ_У

П

 

в [ 0 ,3 4 ; 0 ,4 0 ] .

( З

^ Г

±Ме.

 

< 0

 

 

 

 

 

 

 

 

 

 

 

 

 

Поэтому в [ о , 34;

0 ,4 0 ] существует

единственный

 

корень

уравнения. За начальное приближение по методу Ньютона прини­ маем Х 0 = 0 ,3 4 .

Так как в АКИ имеется только элементарная функция LN(X), то надо еще ввести ькдуль перехода от натуральных к десятич­

ным логаряфмам;

Ы= 0 ,4 3 4 2 9 4 ...

Итак,

программа в

АКИ г^зхмет следующий вид:

П р и м е р ^

I

 

1. в в о д .-. Е , М , Х 0 X

вйч

х

-

х о

I

2 . ВЫЧ-.Д = 3 .X -l^ E z2X -L .*F = M .L N (A )*E X P (b)^ =

FI =3:А+2. EXP (&)^23=F: FI„X=X~£ I

ЕСЛИ ^ M Q D (D )^ )E ^ T O ^ 2 I

65

НАП_

Н й ^

БПМ ^ Х ,Е

I

К 0Н _

I

 

 

НЛЧ^

Ц

 

 

На ленте

БПМ в

этом случае

получим запись:

+3865240 + 00

+9999999 — 05 ,

т .е .

Х =

0,3865240 с

точностью

Е

-

ю “®.

 

 

 

 

 

2). Составить программу для вычисления

и печати

на

АЦПУ

таблицы

значений

полинома

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у = а , а с " * а г х п- 1* . . . + а п+,

 

 

 

 

в точках

 

х .

( i

-

1, .

.

т )

 

,

причем коэффициенты ct(,

, , .

,

a >w

и целые числа п,

т

-

заданы,

 

120,

т ^

200.

 

Значение

многочлена

п

степени

можно сосчитать

при за ­

данном значении аргумента,

используя

алгоритм

 

 

 

 

 

 

 

 

 

 

 

У * У х * а * '

 

 

 

 

 

 

 

 

где

к

=

1 ,2 ,

. . . , n

+1,

а

первоначальное значение

у

=

0 .

Действительно,

на первом шаге у

=

0 ,

на втором - и

z о + а = а

на третьем

 

^ =

a f эн +

а

на четвертом -

и = (а , х

*

а

)х'+ а =

= а ( осг*

агос

а 3 , на

\ п +

1)-м шаге

"

'

 

 

1

г

 

У ‘ (а,

 

 

 

 

+ ап) х

+ ап+,

=

* "

- * а „ а :

*

an+y.

Обозначим

п +1 = Л/.

 

 

 

 

 

 

 

 

 

 

 

 

 

Программа в

АКИ -

будет выглядеть

следующим образом:

 

П р и м е

р _

£

 

 

 

 

 

 

 

 

 

 

 

 

 

3. вводи л ( 4

Й{120):М, N

I

 

 

 

 

 

 

 

ВШ _

Т Е К _ ТАБЛИЦА _

ЗНАЧЕНИЙ _ ПСШШОМА _

< =

 

 

 

'3 / ^

-

’ < Я

 

 

 

 

 

 

 

 

 

 

 

 

 

4 . ВЫЧ|_* х

--Х /1/ I

 

 

 

 

 

 

 

 

 

 

 

 

2. выч_У = 01

+ Я/К/

I

 

 

 

 

 

 

 

 

I. выч—У =

 

 

 

 

 

 

 

 

 

 

ВШ

 

ТА Б^ 5 ^

 

ЗНА_

1 5 _

X ,

15 ^

Y<K

 

 

 

 

 

 

В Ш ^ Т Ж ^ ^ / ^ - ^ I

 

 

 

 

 

 

 

 

 

ПСВ— 4

 

- 1 - М

J

 

 

 

 

 

 

 

 

 

 

 

кон—■z

I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НАЧ_

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

66

3 ) . Решить методом итераций уравнение х л+х-/0О О —О с точность® до Ю- ^.

Метод последовательных приближений (метод итераций) уточ­

няет

значение корня уравнения

х = < f(x )

по формуле

 

= 9 ( х * ) ,

( I )

есди

за начальное приближение

принято число

при кото-

Р° * 1 У '(Х0)1 < * ■

Для определения начального приближения заметим, что зна­

чения функции f( x ) = ocs

+ х

-

Ю ООъ точках

х

=9

и ас =10

имеют разные знаки, т .е .

в промежутке

[9,10]

лежит

корень

уравнения. Запишем уравнение в

виде

 

 

 

 

х = у 1000

-

х

 

 

 

 

Тогда ъ ____________

 

 

 

 

 

 

 

 

у>(х) -\jiOOO - х

}

jg>'(10)) =

i

*

< 1 .

 

 

 

 

 

J 990г

 

33

 

 

 

 

 

 

 

 

 

Поэтому за начальное приближение принимаем

х о =

10.

Заданная точность

с

= I0 - ® означает, что вычисления по

формуле ( I ) надо вести до выполнения условия

 

 

 

£

Программа в АКИ будет выглядеть следующим образом.

П р и м е р . - . ^

1 . ВВОД _

£ ? ХО I

ВОТ

^ Х * Х О I

2 . в т ^ р =(1000 - Х )*(1--3)~ Т > - MOD ( F - Х )&

ЕСЛ ^

Т ^ - 3 2

.в о т

^

2 > F 1

ПЕР

 

I

НАЛ.

, НА.—* БПМь_! F E I

КОН. .

1

НАЧ , .

а

В результате выполнения программы получим корень уравне­ ния о точностью до I0 " 5 : 9,966666 .

4 ) . Вычислить значения функций

и *=>а.+ б - е ,

 

 

 

 

 

 

2 = В г c a ^ j’ + 2 а В е * s i n y j

 

 

 

67

 

 

 

 

 

 

 

 

 

 

при

 

х ,

изменяющемся от

0 с шагом 0 ,5 . Вычисления

закон­

чить

при у >

 

5 .

Коэффициенты о

и В

заданы.

 

Полученные

значения функции

 

z

и соответствующие

значения

® вывести

на рулон АЦПУ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П р и м е р а х

 

 

 

 

 

 

 

 

 

 

 

3 .

ВВО _

 

Д,

5

I

 

 

 

 

 

 

 

 

 

 

 

I .

В Ы Ч - У -Я+В'2-ЕХР(Х'2)

1

 

 

 

 

 

 

 

 

ЕСЛ

 

 

 

 

Т 0 „

{2 I

 

 

 

 

 

 

 

 

 

 

ВЫЧ_.

Z = З ’г . C O S (Y )'2 + 2 . A. & .E X P (Y )-3 IN (Y ) X

 

 

 

ВЫВ ^ 3

^ ЗН А ^ Х

Y, Z

I

 

 

 

 

 

 

 

 

 

пев-

4 - X

= 0 ^ ( o ,s j 2

 

 

 

 

 

 

 

12.

КОН .-1 I

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НАЧ*_5 X

 

 

 

 

 

 

 

 

 

 

 

 

5 ) . Вычислить все корни уравнения

 

 

 

 

 

 

 

 

X 3 *

1,ОЧх1+ 0,89 х -0 ,7 3 = 0.

 

 

 

 

 

Найдем сначала промежуток,

где

находится один

из

корней

уравнения.

 

f( 0 )

 

 

 

 

 

f(T)

 

 

 

 

 

 

Так как

 

= - 0 ,7 3 < 0 ,

a

= 1 + 1 ,0 4 + 0 ,8 9 -0 ,7 3 > О,

то

в

промежутке

[0 ,1 ]

имеется вещественный корень

уравне­

ния.

 

 

 

f ‘(x )> О

 

f" (x )> 0

 

 

 

 

 

 

Так как

и

в этом промежутке,то

корень - единственный. Его

можно найти по методу

Ньютона,

приняв

за

начальное приближение

 

хо= I .

 

 

 

 

 

После

вычисления этого корня

(обозначим его £,

 

) с

точ­

ностью I0 -6 разделим

f ( x )

на / х

- £ /

 

 

 

 

 

 

 

 

 

f ( x )

 

x z+ (i,0 *n -4 )x + (0 ,8 9 + f,0 4 4

+ $ г).

 

 

 

 

 

--------

=

 

 

 

 

 

х - £

 

 

 

 

 

 

 

 

 

 

 

 

 

Определяя корни полученного

квадратного уравнения,

най­

дем еще 2 корня первоначального уравнения. Если эти

 

корни

получатся вещественными, то напечатаем текст

"вещественные

корни", если же - комплексные, то

найдем их

вещественные

части и коэффициенты при мнимых частях и напечатаем

 

текст

"комплексные корни*.

 

 

 

 

 

 

 

 

 

 

На вводе

зададим Е = 10”®

- точность вычисления

 

корня

£

;

ХО =

I

-

начальное приближение для вычисления

£

по

6 8

 

 

 

 

0 ,7 3 ) - массив

формуле Ньютона;

А (3 ) = (+ 1 ,0 4 . + 0 ,8 9 .

-

коэффициентов уравнения.

 

 

Программа в АКИ-Т б^цет выглядеть так:

 

П р и м е р _ 1

 

 

1 .

ВВОД ^

Е , ХО, А (3) X

 

 

 

ВЫЧ

Х^ХО ^Х

 

 

2.

ВЫЧ ^

F

’3 + A / l / - X ’2 + A l2 l.X + A l3 L F i

 

2 - A / i l . X+ A / 2 / ^ D i ^ F - . F l l

 

 

 

ЕСх ^ м о ъ ( т ) ^ (Е^ТО^Л X

 

 

 

ВЫЧ ^ Х ~ ,Х -2 П X

 

 

 

ПИР ^.2 X

 

 

 

4 .

ВЫЧ ^X=X -D 1X

 

 

 

ВЫВ _ ТЕК — ВВДЕСТВЕННЫЙ — KOFEHb . < X

 

ВЫВ ^6~ЗНА^Х<Х

 

 

 

ВЫЧ ~ B i =

A / l l + X ^ 8 2 = A l 2 l + А / 1 /Х+Х’2^И=(3/ -2)’2-В2X

 

ECI _ D

(О-Л'О'-.б X

 

X

 

ВШ — ТЕК -

ВЕЩЕСТВЕННЫЕ _ КОШИ .

2.

 

ВЫЧ~ X i =-(В1 ■2 ) + Ъ (1 2)^ X 2 = ~ (В / ■' 2 ) -JD ■’ (1 ■'2 ) 1

ВЫВ ^ З ^ З Н А ^ .Х 1, Х2<Х ПЕР >—i3X

6 . В И В - Т Е К - КОШШЕКСНЫЕ — КОШИ . < £

B m ^A LFA =-(31 -2)^ ЬЕТА - (-2)>(1:2)~В£ГА/=-3£~ГА X

BW>~3~3HA^ALFA , BETA, BETA 1 <Х

3 . KOH^Z H A 4_i X

Для этого примера получим результаты:

£ = 0 ,4 6 1 2 8 3 ;

а = - 0 ,7 5 ;

1 ,0 0 9 ; - ^ = - 1 , 0 0 9 .

5

8 . Обращение к подпрограммам,

к участкам

программы,

 

записанным в кодах машины,

и к магнитной ленте

В

? 5 при рассмотрении оператора ИНТЕГРАИ

уже упомина­

лось

о подпрограммах и правилах их записи.

 

В

том случае,

когда к некоторому участку

программы надо

 

 

 

 

 

 

 

69

обращаться неоднократно из

различных ее

мест,

повторяющийся

участок

программы называют

подпрограммой

и записывают его в

конце основной

программы.

 

 

 

 

 

Например, если нужно определить значения какой-нибудь

функции f ( x )

при x= X t

и X = xz

, то, очевидно,

одни

и те же вычисления надо проводить два раза,

принимая в

каче­

стве аргумента один раз

oc/t а другой раз

аз.

Вычисление

функции

f f x )

в этом примере удобно выделить в

подпрограмму

(рис.6 ) .

 

Рис. 6

 

 

 

Запись каждой подпрограммы начинается

словом

 

ПОДПРОГРАММА _

, за которым могут идти какие-нибудь

поясня­

ющие слова и обязательно символ К .

 

 

 

Кончается каждая подпрограмма словом ВЫХОД _

,

за кото­

рым также могут идти поясняющие слова и обязательно

символ X .

Подпрограмма всегда снабжается меткой. Если в программе ис­

пользуются несколько подпрограмм, то все

они

выписываются

вслед за основной программой.

 

 

 

После всех

подпрограмм пишется слово Н А Ч А Л О и указы­

вается метка первого оператора программы.

Внутри подпрограммы может производиться обращение к дру-

Соседние файлы в папке книги из ГПНТБ