Первая вертикаль - Большая Энциклопедия Нефти и Газа, статья, страница 2
А по-моему, искренность - просто недостаток самообладания. Законы Мерфи (еще...)

Первая вертикаль

Cтраница 2


На рис. 9.5 изображено одно из решений этой задачи. Рекурсивный алгоритм ее решения помещает ферзя в первой клетке первой вертикали, а затем вызывает себя для того, чтобы поставить ферзя на вторую горизонталь. Если в какой-то момент алгоритму не удается найти положения для очередного ферзя на очередной горизонтали, то алгоритм возвращается на предыдущий шаг и пробует другое размещение ферзя на предыдущей строке.  [16]

На первой строке ссылочной карточки пишут, начиная от второй вертикали, слово ( или слова), от которого делают ссылку. Посредине второй строки ставят сокращенное слово см. ( смотри), а на следующей строке, начиная от первой вертикали, указывают заголовок описания, к которому делают ссылку.  [17]

Однако выбранными могут быть те вертикали звена С, для которых между звеньями С и В имеется свободный промежуточный путь. Например, для занятия первой вертикали I МКС звена С необходимо, чтобы была свободна пятая вертикаль IV МКС звена В, а для занятия первой вертикали II МКС звена С должна быть свободна седьмая вертикаль IV МКС звена В. В то же время для того чтобы занять ту или иную вертикаль в звене В, необходимо, чтобы промежуточный путь между звеньями В и Л был свободен. Так пятая вертикаль IV МКС звена В может быть занята только в том случае, если свободна вертикаль I МКС звена А, в которую включена линия вызываемого абонента.  [18]

Посмотрим, как работает этот алгоритм. В цикле repeat мы проходим по всем восьми горизонталям доски. Для каждой из горизонталей мы последовательно просматриваем все ее клеточки и если клетка не атакована, то переменная spotsPossible увеличивается на единицу. Следующий оператор if выглядит несколько странно, но посмотрим, что происходит, если опустить первую горизонталь, на которой не атакована ни одна клетка. На первой вертикали функция uniform генерирует случайное число между 1 и 1, т.е. 1, поэтому переменная try будет указывать на первую вертикаль. Затем все повторяется для остальных горизонталей. Такие действия продолжаются до тех пор пока либо значение spotsPossible не станет нулевым ввиду отсутствия неатакованных клеток, либо переменная rows не примет значение 9, поскольку все ферзи будут расставлены. В первом случае алгоритм завершает свою работу и сообщает о неудачном исходе. Во втором проблема расстановки восьми ферзей решена, и алгоритм сообщает об удачном исходе.  [19]

Посмотрим, как работает этот алгоритм. В цикле repeat мы проходим по всем восьми горизонталям доски. Для каждой из горизонталей мы последовательно просматриваем все ее клеточки и если клетка не атакована, то переменная spotsPossible увеличивается на единицу. Следующий оператор if выглядит несколько странно, но посмотрим, что происходит, если опустить первую горизонталь, на которой не атакована ни одна клетка. На первой вертикали функция uniform генерирует случайное число между 1 и 1, т.е. 1, поэтому переменная try будет указывать на первую вертикаль. Затем все повторяется для остальных горизонталей. Такие действия продолжаются до тех пор пока либо значение spotsPossible не станет нулевым ввиду отсутствия неатакованных клеток, либо переменная rows не примет значение 9, поскольку все ферзи будут расставлены. В первом случае алгоритм завершает свою работу и сообщает о неудачном исходе. Во втором проблема расстановки восьми ферзей решена, и алгоритм сообщает об удачном исходе.  [20]



Страницы:      1    2