Главная Промышленная автоматика. щении к процедуре оба фактических параметра, соответствующих двум «а», должны быть одинаковы, иначе результат выполнения процедуры неопределен (согласно правилу подстановки). Пользователь может изменить заголовок процедуры на syminv{а,п)exit:{fail); не меняя результата вьшолнения процедуры. Замечание редактора Дж. Вегстейна. Группа АЛКОР видоизменила правило подстановки так, что если значение параметра изменяется в процессе выполнения процедуры, то параметр нужно указывать дважды. Хотя «Сообщение по АЛГОЛу-60» не запрещает указывать в заголовке процедуры формальный параметр дважды, транслятор, который ограничивает язык согласно правилу группы АЛКОР, по-видимому, не сможет воспринять некоторые из примеров, данных в «Сообщении по АЛГОЛу-60». ПРИЛОЖЕНИЕ 1 Подтверждения и замечания к алгоритмам, опубликованным в предыдущих выпусках Замечания к алгоритмам 96, 226 и 516 В. И. Меерсон, Москва, июнь 1976 , В алгоритме 96 замечены две опечатки. I.e. 25, 12-я стр. снизу. Напечатано if comp (yl[k],y3[k],eta) >eps then . .Должно быть if comp(yl[k],y3[k],eta) >eps then 2. C. 25, 19-я стр. снизу. Напечатано begin hs:=h; Должно быть begin hs: = h; В алгоритме 226 замечена опечатка на с. 47, 14-я стр. снизу. После комментария отсутствует точка с запятой. В алгоритме 516 нужно предусмотреть случай, когда в операторе присваивания i:=d/(a[/,t]Xrf+l) знаменатель обращается в нуль, т. е. когда d=-l/a[j,i]. Это соот-.ветствует тому, что после корректировки прямой матрпцы получается вырожденная матрица. Предлагается перед вышеуказанным оператором вставить if a[j, ij X d = - 1 then go to signal 51; где signalSl-нелокализованная метка. Замечания к алгоритмам 176, 236, 376, 436, 636, 746, 756, 926, 946, 245 и 50CJ М. И. Агеев, Москва, апрель 1977 В материалы предыдущих выпусков [23, 24] данной серии нужно внести следую-..Щие поправки.
» Эти поправки предложеаы С. В. Ратафьевым (г. Горький, ГПИ). •» Эта поправка предложена В. В. Гусевым (г. Киев, ИК АН УССР). *»» Эта поправка предложена С. В. Ратафьевым и С. С. Калитиным (г. Москва, МЭИ). **»» См. приложение к выпуску 2 [24]. Подтверждение и замечание к алгоритму 186 В. А. Любимов, Целиноград, февраль 1977 Алгоритм 186 был проверен на ЭВМ «Наири-2». Тело процедуры confr было переведено на язык автоматического-программирования машины «Наири-2». Транслированная программа для примера, помешенного на с. 41 [23], дала следующие результаты: ai =;;- 40.0000000000; bo = 236142,343750; аг = - 0.230769230; bj = - 7220.21533203; аз = 162.500000000; b = 53.995215415; = - 0.390189521; d„ = 2825.956939697; а, = - 68.504784584; d, = - 111.578947067; 4= 1.00000000000. Для сокращения времени счета в алгоритме 186 предлагается следующая модификация. В четвертой строке процедуры confr вместо for j: = 1 step 1 until m do можно писать a[l].=y[l]; for j:=2 step 1 until m do В заголовке табл. 8 [23, с. 42] вместо аЩ должно быть Q![fe-f-l]-Замечание к алгоритму 236 B. Ф. Ротко, А. К- Васильченко, Севастополь, СПИ, март 1976 Алгоритм 236 не всегда дает правильные результаты. Хотя для отладочны,-? примеров, приведенных в «Свидетельстве к алгоритму 236», результаты получаются верными, для л: = (5,3,7,2,1) алгоритм выдал неупорядоченный массив =(2,1,3,5,7). Подтверждение к алгоритму 236 C. В. Ратафьев, Горький, ГПИ, ноябрь 1976 Алгоритм 236 предназначен для быстрой мртировки больших массивов и так же,, как и любой другой аторитм так называемой ключевой или композиционной сортировки, имеет конечную разрешающую способность, под которой понимают величину g. такую, что при d< (где d=abs(jc[tl]-x[i2]) -это расстояние между двумя различными элементами сортируемого массива х), соответствующие этому d элементы х[И] и хЩ] могут оказаться неупорядоченными. Достаточным условием, гарантирующим успешную сортировку, яв.чяется выполнение неравенства dX (п-1)/(max-min) > 1 для любой пары отличных друг от друга элементов сортируемого массива. Нетрудно убедиться, что для примеров, приведенных в «Свидетельстве к алгоритму 236», т. е. для массивов л:= (3,1,1,5) и л:= (2,2,1,5,4,4,4,3), вышеприведенное условие выполняется, в то время как для массива л:= (5,3,7,2,1) имеем п=5, тах=7, min=\ и (для элементов 1 и 2) d=l, откуда dX (п-1)/(/па.)с-min) =1Х4/6<1, т. е. успешная сортировка не гарантирована. Избавиться от сбоев можно путем увеличения числа элементов п до -выполнения вышеприведенного условия, вводя, например, дополнительные дублирующие элементы. Так, если вместо массива (5,3,7.2.1) рассматривать массив (5,3,7,2,1,1,1.1), то сортировка будет -успе/лной. Однако в общем случае добиться абсолютной разрешающей спо- 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 0.0016 |