Главная страница  Алгоритмы 

[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]

Как видно из этой табл., результаты трансляции при совпали с соответствующими результатами Г. Таче-S\{m. табл. 11) с точностью до одной единицы шестой десятичной цифры. Расхождение в пер&ой цифре при =2л (у Г. Тачера 6.881490 вместо 0.881490) объясня-ртся, .очевидно, опечаткой в «Подтверждении» Г. Тачера («САСМ», 1963. №2).

Таблица 15

ft = 0.5

ft = 2

s = I 1 * = 2

s= 1

s = 2

5.454465618 11.8.8663850

9.361670319 12.408982721

1.036878652 1.134356840

1.118431697 1.129425434

0.025 0.0325

Должно быть

11.46027376

1.10609687

Результаты трансляции, приведенные в табл. 15, совпадают с результатами Г. Тачера (см. табл. 12) не менее чем в шести значащих цифрах. Несовпадение третьей Щ1фры при (р=3, k=2, s=2) объясняется, очеввдно, опечаткой в результатах Г. Тачера. Кроме того, в его результатах значения для {р-3, к~Ь.Ъ, s=l) и для (/7=2, =0.5, 5=2) перепутаны местами*.

Процедура multint была использована также для вычисления семикратного н восьмикратного интегралов вида

1111111


V In Q (cos и - TuXsin и - cos и +

Щ + wXsin и) dwdxdydzdOdvdv.=- -i- (In 2 - In 0.5 -

-0.5 In 1.25 + 2 arctg 1 - 2 arctg 0.5) = - 0.265964666 ... ;

tIDs. 1 1 1 1 1 1 1 f f f f f f f f sm?£2~ vln£2(cos«-7«Xsin« -

- бм cos H + sill") dwdxdydzdOdvddf = 0, где u=kwxyz и k=v\nQ.

* Значения табл. 15 совпадают со значениями табл. 13, кроме значения интеграла для p=S, k=2, s=2. {Прим. ред.)



Таблица

* Семикратный интеграл

<•

Восьмикратные интеграл

2 . 4

-0.277898159 -0.275094041

4500

0.154708X10-"

Должно быть

-0.26596466

Результаты вычисления этих двух интелралов для р=2 приведены ,в табл. 16.

По этим результатам .можно заключить, что алгоритм 32а при вычислении 1многократных интегралов особенно эффективен.

АЛГОРИТМ 336

Вычисление факториала [503]

Процедура \act использует свойство рекурсивности процедур для вычисления п\. Второй вариант алгоритма 336 (процедура /асй) вычисляет п\ без применения свойства рекурсивности процедур и поэтому может быть использован в трансляторах, имеющих в качестве входного языка сокращенный вариант АЛГОЛа.

Вариант 1 real procedure fact(n);

value n; integer n; fact:= if n=0 then 1 else nxfact(n-1);

Вариант 2 real procedure factl (n);

value n; integer n; begin real f; integer i;

f: = l;

for i:= 2 step 1 until n do f:=fxi; factl:=f end factl;

Свидетельство к алгоритму 336

Алгоритм ЗЭб получен из алгоритма 33а путем внесения в него одной модиф,икации, предложенной В. Я. Ан-



gpcoHOM iB его письме к редактору выпусков. Модифика-5лЯ заключается в замене в теле процедуры factl описа-integer i, f; на описания real /; integer i; с целью расширения области применимости процедуры factl 3 трансляторах, представляющих целые числа единицами мантисс. Вследствие простоты алгоритма 336 его отладка fl€ проводилась.

Свидетельство к алгоритму 33 а

Первый вариант алгоритма 33а получен в результате ординарной переработки алгоритма 33 (L1 р р М. F. «САСМ», 1.961, № ,2). Второй 1вариа,нт алгоритма 33а написан с целью расширения применимости данного алгоритма к использованию в современных трансляторах.

Свидетельство к алгоритму 34б

Алгоритм 346 1не публикуется здесь потому, что соответствующий алгоритм 34 был позднее заменен в журнале «САСМ» более совершенными алгоритмами 221 и 291 (qm. нижеследующее «Замечание» М. Пайка и И. Хилла).

Замечания к алгоритмам 34, 54, 80, 221 и 291

М. Пайк, И. Хилл ( Рike М. С, Hill I. D. «САСМ», 1966, № 9)

Алгоритмы 34 и 54 используют одну и ту же аппроксимацию Гастингса, точность которой равна примерно семи десятич1ным цифрам. Из этих двух алгорнтм.ов второй выполняется быстрее.

Алгоритм 80 имеет следующие ошибки... *. С этими модификациями (и с заменой массива b очевидным последовательным умножением) алгоритм 80 успешно прошел на машине ICT Atlas с АЛГОЛ-транс-ором и дал результаты с точностью до 10 значащих фр.

Алгоритмы 80, 221 и 291 имеют одинаковую точность, римерно 10 десятичных цифр, и, следовательно, выбор

* Указываются пять ошибок в алгоритме вО, уже замеченных ранее авторами выпусков и исправленных в алгоритме 80а. {Прим. ред.)




[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]

0.018