fbed99da

Меню Kernel и его подменю Evaluation



Пример 2.39. Меню Kernel и его подменю Evaluation


Данная группа команд управляет вычислением ячеек. Перед вычислением каждая ячейка оценивается по своим признакам. Команда Evaluate Cells оценивает все выделенные ячейки, вызывает их вычисление и помещает результат вычисления каждой ячейки сразу после нее. Это одна из наиболее распространенных команд. Следует помнить, что, казалось бы, естественное нажатие клавиши Enter вызывает лишь переход на новую строку, а не вычисление выделенных ячеек ввода. При управлении с клавиатуры вычисление выделенных ячеек происходит при одновременном нажатии клавиш Shift и Enter.

Особое внимание надо обратить на команду Evaluate in Place. Допустим, вы ввели в ячейку ввода, выражение

(2+3)/7

Выделите мышью выражение (2+3). Теперь, исполнив команду Evaluate in Place нажатием клавиш Ctrl+Shift+Enter, мы получим в строке ввода следующее:

5/7

Таким образом, выражение (2 + 3) было вычислено прямо в строке ввода, и на его месте появился результат — 5. Если теперь исполнить команду Evaluate Cells, то появится строка вывода с результатом:

5/7

Поскольку результат представлен дробно-рациональным числом, он повторяет выражение в строке ввода, но в ином формате — в формате вывода.

Команда Evaluate Next Input позволяет последовательно вычислить ряд ячеек, расположенных под выделенной ячейкой. Если текстовый курсор находится в ячейке ввода, данная команда вычисляет эту ячейку. В противном случае она перемещает выделение на следующую ячейку. Последующее использование команды ведет к исполнению этой ячейки, затем к выделению следующей ячейки, ее вычислению и т. д. Таким образом, можно последовательно вызывать вычисление ячеек документа, используя эту команду дважды для каждой ячейки.

Команда Evaluate Notebook вычисляет все ячейки введенного документа сверху вниз. Это особенно полезно, если результаты вычисления последующих ячеек зависят от результатов вычисления предыдущих. При этом все ячейки переоцениваются, то есть выполняются заново с учетом всех возможных изменений их содержимого. Это напоминает работу с электронными таблицами, когда смена численного значения в одной ячейке автоматически меняет содержание всех других ячеек, использующих данные из данной ячейки.

Команда Evaluate Initialization вычисляет все ячейки, помеченные как инициали-зационные, то есть имеющие символ «т» над квадратной скобкой, обрамляющей ячейку. О задании такого признака говорилось ранее в разделе «Манипуляции с ячейками». Ячейки с указанным признаком выполняются этой командой без их выделения.

Следующие две команды меню Kernel управляют процессом текущих вычислений:

  • Interrupt (Alt+,) — прерывание вычислений;
  • Abort (Alt+.) — полное прекращение вычислений.
Их действие вполне очевидно. Команда Interrupt служит для прерывания текущих вычислений. Эта команда при исполнении задает запрос о том, каким образом вы хотите прервать вычисления и сколько шагов вычислений надо еще сделать. Разумеется, можно и отменить прерывание. Команда Abort вызывает полное прекращение вычислений, так что их можно возобновить лишь с самого начала. Вместо результата выдается сообщение $Abort.

Полезно запомнить клавиатурные комбинации для этих команд, поскольку «зависание» системы из-за чрезмерно большого времени исполнения неудачного алгоритма (например, глубокой рекурсии) не редкость. Кстати, в процессе таких вычислений команды прерывания доступны и из меню.



Содержание раздела