![]() |
|
Главная Промышленная автоматика. СПИСОЩс+Ю]:=6; СПИСОК[с+11]: =КР2; СПИС0Щс+12]:=-КР1; с: = с+13 end ХОДЫ РОКИРОВКИ; Наконец, во внешнем блоке программы должно быть описание логических переменных, подобное следующему: Boolean КОРОТКАЯ РОКИРОВКА БЕЛЫХ, ДЛИННАЯ РОКИРОВКА БЕЛЫХ, КОРОТКАЯ РОКИРОВКА ЧЕРНЫХ, ДЛИННАЯ РОКИРОВКА ЧЕРНЫХ; а после метки НАЧАЛО должно быть присваивание этим переменным начальных значений в зависимости от того, какая из рокировок еще допускается*. Дополнение 3 к алгоритму 50CJ Ниже приведены операторы, обеспечивающие ввод таблиц дополнения 1 и исходной позиции задачи на мат в два хода... ** Для примера, приведенного на рис. 3, исходные данные должны поступать в читающее устройство в следующем порядке: 11 6 10 1 12 5 14 2 18 1 22 1 32 4 33 1 39 3 51 3 57 2 62 7 1 20 1 28 1 30 2 36 5 37 6 38 1 46. Дополнение 4 к алгоритму 50CJ Нижеследующая процедура печатает позицию с обозначением фигур, подобным изображенному на рис. 3,й...*** procedure ПЕЧАТЬ ПОЗИЦИИ; begin switch ФИГУРА:=П,К,С,Л,Ф,КР; for i:=56 step -8 until О do begin output ( ); for j: = l step 1 until 8 do begin output {BB); if ДОСКА БЕЛЬЩ!Н-j]=0 then go to ЧЕРНАЯ else output (TV-f); go to ФИГУРА [ДОСКА БEЛЫXli-j]]; ЧЕРНАЯ: if ДОСКА 4EPHbIX[i-fj]=0 then go to ПОЛЕ СВОБОДНО else output (T,*-); go to ФИГУРА[ДОСКА 4EPHbIXii-f j]]; output {Т,П ); go to НОВОЕ ПОЛЕ; output (TVKl j); go to НОВОЕ ПОЛЕ; outputCTVCuj); go to НОВОЕ ПОЛЕ; output {Т,*Л ); go to НОВОЕ ПОЛЕ; output(T,©i j); go to НОВОЕ ПОЛЕ; * Кроме указанных здесь А. Беллом операторов для выполнения рокировки нужны еще « другие изменения в программе. См. ниже «Свидетельство к алгоритму 50CJ». (Прим. ред.) ** Здесь эти операторы опущены, поскольку в алгоритме 50CJ они вставлены (в переработанном для системы БЭСМ - АЛГОЛ [29] виде) в ошоиную лрограмму, начиная с метки «ВВОД ТАБЛИЦ»: и до межи «НАЧАЛО»: (Прим. ред.) *** Процедура ПЕЧАТЬ ПОЗИЦИИ приведена здесь в переработанном для системы БЭСМ - АЛГОЛ 129] и яесколвко модифицированном виде. (Прим. ред.) КР: output (Т.КР); go to НОВОЕ ПОЛЕ; ПОЛЕ СВОБОДНО: output(ZBDB,0); НОВОЕ ПОЛЕ: end j end i; output ( ) end ПЕЧАТЬ ПОЗИЦИИ; Таблица замены в алгоритме 50CJ английских идентификаторов русскими * abishop - СЛОНОМ aking -КОРОЛЕМ aknight-КОНЕМ apawn - ПЕШКОЙ aqeen - ФЕРЗЕМ агоок -ЛАДЬЕЙ back to -ОБРАТНО К bishop -ТАБЛИЦА СЛОНА black king side - РОКИРОВКА ЧЕРНЫХ black king side castle - КОРОТКАЯ РОКИРОВКА ЧЕРНЫХ blackmen -ДОСКА ЧЕРНЫХ blackpiece -ПОЛЯ ЧЕРНЫХ black queen side -ДЛИННАЯ ЧЕРНЫХ black queen side castle - ДЛИННАЯ РОКИРОВКА ЧЕРНЫХ bpawn -ТАБЛИЦА ЧП Ы-41 Ь2 -42 сап castb bk side - ВОЗМОЖНА КОРОТКАЯ ЧЕРНЫХ сап castle bq side - ВОЗМОЖНА ДЛИННАЯ ЧЕРНЫХ сап castle wk side - ВОЗМОЖНА КОРОТКАЯ БЕЛЫХ сап castle wq side - ВОЗМОЖНА ДЛИННАЯ БЕЛЫХ cant castle bk side - HE ВОЗМОЖНА КОРОТКАЯ ЧЕРНЫХ cant castle bq side - HE ВОЗМОЖНА ДЛИННАЯ ЧЕРНЫХ cant castle wk side -HE ВОЗМОЖНА КОРОТКАЯ БЕЛЫХ cant castle wq side -HE ВОЗМОЖНА ДЛИННАЯ БЕЛЫХ castle -ХОДЫ РОКИРОВКИ castling - РОКИРОВКА continue - ПРОДОЛЖЕНИЕ cutoff - ПРЕРЫВАНИЕ depth -УРОВЕНЬ empty -ПОЛЕ СВОБОДНО en passant - НА ПРОХОДЕ entry -НАЧАЛО from - ОТ hismen - ДОСКА ЧУЖИХ hispiece-ПОЛЯ 4УЖИХ illegal move - НЕЗАКОННЫЙ ХОД kfrom -КР1 king -ТАБЛИЦА КОРОЛЯ * Русские идентификаторы в большинстве случаев яе являются здесь результатом буквального перевода заменяемых ими английских идентификаторов, а подобраны редактором выпуска по существу выполняемых ими функций в программе. (Прим. ред.) 108 knight -ТАБЛИЦА коня knightorking-ТАБЛИЦА КОНЬКОР knightorkingmove -ХОДЫ КОНЯ И КОРОЛЯ kto -КР2 Hst -ФИГУРА listmoves - ОБЗОР ХОДОВ locate -НОМЕР makemove-ВЫПОЛНЕНИЕ ХОДА moveof -К ХОДАМ moves -СПИСОК mymanin - СВОЯ ДОСКА тушеп -ДОСКА СВОИХ mypiece -ПОЛЯ СВОИХ new direction -НОВОЕ НАПРАВЛЕНИЕ nextman - ДАЛЕЕ Tiotstalemat -ШАХ ЧЕРНЫМ numberofmoves - РУБЕЖ ХОДОВ opponents - ЧУЖАЯ ДОСКА pawn-ТАБЛИЦА ПЕШЕК pawncapture -ВЗЯТИЕ ПЕШКОЙ piece - СВОИ ПОЛЯ pointer - р printblack-ЧЕРНАЯ printposition - ПЕЧАТЬ ПОЗИЦИИ reversemove - ВОЗВРАТ ХОДА rfrom-Л1 rook -ТАБЛИЦА ЛАДЬИ rook - НОМЕР ЛАДЬИ * rookorbishop -ТАБЛИЦА СЛОНЛАД rookorbishopmove - ХОДЫ СЛОНА И ЛАДЬИ rto - Л2 See Appendix 2 -CM ДОПОЛНЕНИЕ 2 See Appendix 4 - CM ДОПОЛНЕНИЕ 4 See Appendix 4 in order to - CM ДОПОЛНЕНИЕ 4 ДЛЯ ВЫПОЛНЕНИЯ sp -НОВОЕ ПОЛЕ square - ПОЛЕ startat -РУБЕЖ terminate-КОНЕЦ РОКИРОВКИ THE ANSWER - ОТВЕТ theend - КОНЕЦ to -НА white king side - РОКИРОВКА БЕЛЫХ white king side castle - КОРОТКАЯ РОКИРОВКА БЕЛЫХ whiteorblackpawnmove - ХОДЫ ПЕШЕК wpawn-ТАБЛИЦА БП white queen side -ДЛИННАЯ БЕЛЫХ white queen side castle - ДЛИННАЯ РОКИРОВКА БЕЛЫХ white men -ДОСКА БЕЛЫХ whitepiece - ПОЛЯ БЕЛЫХ wl -Б1 . * В алгоритме 50 идентификатор rook употребляется в разных блоках в двух разных смыслах. {Прим. ред.) 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 0.0018 |