Cтраница 3
Существует особая форма области параметров, называемая линейной областью параметров. Адрес возврата, записываемый командой JSR, в действительности является адресом первого параметра. Перед возвратом в главную программу подпрограмма должна поместить значение адреса возврата за областью параметров; считается, что подпрограмма точно знает количество байтов, которые необходимо пропустить. Линейные области параметров необходимо использовать только в тех случаях, когда фактические параметры для любого вызова подпрограммы являются константами. [31]
Программа работы лифтов может быть, например, следующей. При движении кабины каждого лифта с пассажирами в любом направлении выполняются и попутные вызовы. После освобождения кабина одного лифта автоматически идет на первый этаж, а кабина второго лифта остается на том этаже, где она освободилась. Кабина, стоящая на промежуточном этаже, выполняет любые вызовы с этажей, расположенных выше, и вызовы для движения вниз с этажей, расположенных ниже. Кабина, стоящая на первом этаже, выполняет вызовы вверх с этажей, расположенных ниже того этажа, где стоит другая кабина. [32]
Необязательно идти на войну, чтобы развить в себе качества лидера. Все, что от вас требуется, - это браться за дела, от которых другие бегут. Большинство из нас слышали фразы вроде Инициатива наказуема. Богатый папа любил повторять: Лидеры отвечают на любой вызов жизни, от которого все другие шарахаются. Еще он говорил: Масштабы лидера измеряются масштабами задач, за которые он берется. Дуайт Эйзенхауэр знаменит потому, что взялся руководить высадкой союзных войск в Европе в годы второй мировой войны. [33]
Пользоваться предикатом is / 2 нужно с осторожностью. Если это не так, результатом будет ошибка Пролога - системное сообщение, появляющееся в том случае, когда аргумент в вызове встроенного предиката имеет неправильный тип. В различных реализациях Пролога это сообщение может быть различным. Обычно оно появляется на экране и сопровождается прерыванием выполнения программы. Наличие ситуаций, связанных с ошибками Пролога, несколько расширяет наши представления 6 Пролог-программе, которые мы получили в предыдущих главах, когда любой вызов мог заканчиваться только либо согласованием, либо отказом. Поведение программ, использующих встроенные предикаты, на типы аргументов которых наложены ограничения, является более сложным и трудноуправляемым. [34]
Каждый день в мире рождаются новые Голиафы, и они бросают нам вызов. Что нужно миру, так это больше и больше Давидов, пусть вооруженных одной лишь пращой, но за которыми стоят мощнейшие силы мира. Независимо от того, решите вы играть в самую денежную игру на свете или нет, просто знайте, что вам тоже доступна та сила, которая направляла пращу Давида. Все, что вам нужно, - это точно знать, кто ваш Голиаф, а затем найти в себе мужество смело выйти ему навстречу. Если вы будете смело отвечать на любые вызовы, вам станет доступна та сила, которая стояла за пращой Давида. [35]
Для всех математиков, характерна дерзость ума. Математик не любит, когда ему о чем-нибудь рассказывают, он сам хочет дойти до всего. Конечно, зрелый математик, узнав о каком-нибудь великом открытии, поинтересуется, в чем оно состоит, и не станет терять время на то, чтобы открывать уже открытое. Но я имею в виду юных математиков, у которых дерзость ума проявляется особенно сильно. Это, конечно, не очень скромно, но и не свидетельствует об их самонадеянности. Они просто готовы принять любой вызов. А ведь в действительности уже доказано, что невозможно разделить угол на три равные части при помощи линейки и циркуля. [36]