Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) ( 20 ) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (20)

Программа 4.7. Вычисление обратного гиперболического котангенса arcth л: = In Vl + 2/(л: - 1) длял: = РХ>1.

f 1 - 2 XY -т- 1 + F V"

F 1п

Д-ля х= 1,3130352 получим arcth л: = 1,0000001, В некоторых микро-ЭВМ, например Электроника ДЗ-28, эти функции вычисляются микропрограммно. ... ,

4.2. Непрерывные дроби

Программа 4.8. Вычисление непрерывных дробей вида

/ = «о +

а, +

ао-.

bi . bj Ьз

аг +

аз+...

Ввод: am, bm, Лт-и Ьт-......Я,, 6,, ао в регистр X.

t С/П XY t С/П + БП 00

-Пример, f--

г,, 8 2 3 Т Т "5.

= 6,8765432.

Непрерывной дробью можно представить некоторые дробно-рациональные функции, что упрощает их вычисления [1-5].

Программа 4.9. Вычисление дробно-рациональной функции

15-21jt:-fjt:* 15 -

- х - х -хП 1 3 • 5

Ввод: X = РХ.

П9 ИП9 /-/ X П8 5 3 + ИП8 XY 1 + ИП8 XY 1 -f С/П

БП 00

Для л; = О имеем f(0)= 1, для л; = 1 f{l)= -0,5555554, для х = 2 f(2)= 5,8888889.

4.3. Вычисление многочленов по схеме Горнера

Программа 4.10. Вычисление многочлена действительного переменного степени п<11 по схеме Горнера Р{х)= ао + а[Х+ ... ... +апХ" ={...{anX-han-i)x+ ... +ai)x + Xo. Ввод: Яо = PC,

3 в. п. Дьяконов



О; а„ = PI Ч-Рп, л; = РХ (прн смене х вводится только новое аначение х и нажимается клавиша С/П).*)

ПД ...... ПО ИПп t XY ИПД X КИПО

+ ИПО Fx = 0 06 XY ИПС + С/П БП 00

Для многочлена Р (л:) = О + Ijc + 2х + За; + Ах (п = 4) получим Р(1)= 10, Я(2)=98 и т. д. Эту программу нетрудно прн-:пособить для вычисления многочленов только с четными или нечетными степенями.

Программа 4.11. Вычисление многочлена комплексного переменного Z = о + /ь степени п < 10 по схеме Горнера. Ввод: Oq = РО,

Il = Р1..... 09 = Р9, aio = РА, о -PY и 6 = РХ. Результат

P(Z) = с + id: с-»- РХ, d-* PY.

ПС XY ПВ ИПА X ИП9 + ИПС ИПА X ПД XY ИП8 ПП 42 ИП7 ПП 42 ИПб ПП 42 ИПб ПП 42 ИП4 ПП 42 ИПЗ ПП 42 ИП2 ПП 42 ИП1 ПП 42 ИПО ПП 42 С/П БП 00 ИПД ИПС X - XY ИПВ X + XY ИПС X ИПД ИПВ X + ПД XY В/О

Для многочлена P(Z) = 1 -f Z + 22 + ... + 8Za (ag = Ою = 0) три Z=l--y-l получим P(Z) = 144 -/• 113 при времени счсга (с ~ 70 с. При усложнении ввода исходных данных и нормировке (делении на ац) степень многочлена можно повысить до п = а при действительной переменной х - до 16 [7].

4.4. Вычисление рядов и сложных числовых последовательностей

В основе вычислений рядов и сложных числовых последователь, юстей лежат циклические программы с циклами, вычисляющими "лавный член последовательности. Изменение этого члена задается юследовательностью чисел, формируемых счетчиками вида i = = 1+1 или 1 = 1-1. Такие счетчики создаются операторами кос-5еиной адресации вида КИПЛ? WHN или операторами организации шклов FLO, FLl или FL3. Проиллюстрируем методику составления гаких программ на конкретных примерах.

Программа 4.12. Вычисление суммы целых чисел

S=5]i =l+2-f3+ ... +(п-\) + п.

*) На место многоточия вводится число п, состоящее из двух шфр, например, 5 вводится как О и 5.



Свод: X = РХ

чикл

ПО о ИПО + FLO 02 С/П

Главный член последовательности - сами числа i, которые создают, ся в регистре РО: «, «- 1 ... 3, 2, 1 и суммируются в регистре X по мере выполнения каждого цикла. Число О (оператор по адресу 01) служит для обнуления накапливающего регистра X перед выполнением циклов. Взяв п=. 10 и нажав клавиши В/О, и С/П, получим 5 = 55.

В некоторых случаях текущее значение главного члена легко найти с помощью рекуррентных соотношений. Так, при вычислении последовательности

S== у; 71=1 +1-2 +1-2.3+1-2.3.4+ ... +(„ l) + ft

каждый последующий член равен предыдущему, умноженному на текущее значение i, т. е. /! = (i- l)li.

Программа 4.13. Вычисление суммы факториалов S{n\). Ввод; п = РХ.

П7 О П9 П6 1 П8 КИП6 ИП6 ИПЗ X П8 ИП9 + П9 ИП6 ИП7 - Fa; = О 06 ИП9 С/П БП 00

В этой программе п вводится в регистр 7, накопление сумм происходит в регистре 9, текущие значения i формируются в регистре 6. Регистр 8 используется для запоминания предшествующего значения главного члена последовательности. Счет останавливается при I - « = 0. Взяв п = 4 = РХ, получим S{n\) = 33.

Программа 4.14. Вычисление произведения факториалов Р(п\\-=а 1= 1-(1-2)-(1-2-3) ... i! ... (Jl- \)\п\. Ввод: п = РХ. П7 О П6 1 П8 П9 КИП6 ИП6 ИП8 X П8 ИП9 X П9 ИП6 ИП7 - Fjc = 0 06 ИП9 С/П БП 00

В этой программе для вычисления главного члена - факториала-также используется рекуррентное соотношение i!=(i-l)!i. Для и = 4 = РХ получим Р(п\) = 288.

Программа 4.15. "Вычисление последовательности

Ввод: т я п в регистр X.

П7 С/П П9 О П4 П8 КИП4 ИП4 ИП9 XY РхУ ИП8 + П8 ИП7 ИП4 - Рл; = О 06 ИП8 С/П БП 00

3* 67



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) ( 20 ) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73)