Print a warning when translating subscripted functions
[maxima.git] / doc / info / ru / Runtime.texi
blob008271cdbad2387a7aab7b5be10973b85469ed7e
1 @c Language=Russian
2 @c Encoding=UTF-8
3 @c File=Runtime.texi 
4 @c OriginalRevision=1.23
5 @c TranslatedBy: (c) 2007-06 Vadim V. Zhytnikov <vvzhyt@gmail.com>
7 @menu
8 * Введение в окружение времени выполнения::  
9 * Прерывания::                  
10 * Функции и переменные времени выполнения::  
11 @end menu
14 @node Введение в окружение времени выполнения, Прерывания, Окружение времени выполнения, Окружение времени выполнения
15 @section Введение в окружение времени выполнения
16 @c THIS DISCUSSION OF maxima-init.mac REPLACES AN EARLIER WRITE-UP. !!!
17 @c HOWEVER IT SEEMS THAT THIS TEXT REALLY WANTS TO BE UNDER A DIFFERENT HEADING. !!!
18 Файл @code{maxima-init.mac} загружается автоматически при каждом запуске Maxima.
19 Можно использовать @code{maxima-init.mac} для настройки своего персонального Maxima окружения.
20 Файл @code{maxima-init.mac} обычно размещается в директории,
21 определяемой переменной @code{maxima_userdir}, хотя может находиться и в любой другой
22 директории, просматриваемой функцией @code{file_search}.
24 Пример содержимого файла @code{maxima-init.mac}:
26 @example
27 setup_autoload ("specfun.mac", ultraspherical, assoc_legendre_p);
28 showtime:all;
29 @end example
31 Здесь, @code{setup_autoload} заставляет Maxima загружать файл @code{specfun.mac},
32 если функции @code{ultraspherical} или @code{assoc_legendre_p} вызываются,
33 но не определены в момент вызова.  При этом нет нужды помнить 
34 о необходимости загружать соответствующий файл до вызова данных функций.
36 Команда @code{showtime: all} устанавливает значение переменной @code{showtime}.
37 Файл @code{maxima-init.mac} может содержать любые присваивания и другие команды Maxima.
39 @opencatbox{Категории:}
40 @category{Управление сессией}
41 @closecatbox
43 @node Прерывания, Функции и переменные времени выполнения, Введение в окружение времени выполнения, Окружение времени выполнения
44 @section Прерывания
46 Пользователь может остановить длительное вычисление, нажав на ^C (Control-C).
47 По умолчанию, текущее вычисление прекращается и выводится
48 новое приглашение.  Невозможно возобновить прерванные вычисления.
50 Если Lisp переменная @code{*debugger-hook*} установлена равной @code{nil}
51 при помощи
53 @example
54 :lisp (setq *debugger-hook* nil)
55 @end example
57 @noindent
58 то после получения ^C, Maxima запускает Lisp отладчик,
59 и пользователь может исследовать Lisp окружение.
60 Остановленное вычисление может быть продолжено вводом
61 команды @code{continue} в Lisp отладчике .
62 Способы возврата в Maxima из Lisp отладчика, другие кроме
63 продолжение вычисления до его завершения, различны для разных
64 версий Lisp.
66 В системах типа Unix нажатие ^Z (Сontrol-Z) вызывает полную приостановку 
67 работы Maxima с возвращением управления в командную строку.
68 Команда @code{fg} вызывает возобновление работы остановленной Maxima
69 с точки, на которой она была остановлена.
71 @c end concepts Runtime Environment
72 @node Функции и переменные времени выполнения,  , Прерывания, Окружение времени выполнения
73 @section Функции и переменные времени выполнения
75 @c NEEDS EXPANSION AND CLARIFICATION
76 @defvr {Декларация} feature
77 Maxima понимает два различных типа свойств: системные свойства и свойства,
78 относящиеся к математическим выражениям.
79 См. @code{status} по поводу системных свойств.
80 См. @code{features} и @code{featurep} по поводу математических свойств.
81 @c PROPERTIES, DECLARATIONS FALL UNDER THIS HEADING AS WELL
82 @c OTHER STUFF ??
84 @code{feature} само по себе не является именем функции или переменной.
86 @opencatbox{Категории:}
87 @category{Работа в консоли}
88 @closecatbox
89 @end defvr
91 @c NEEDS CLARIFICATION, ESPECIALLY WRT THE EXTENT OF THE FEATURE SYSTEM
92 @c (I.E. WHAT KINDS OF THINGS ARE FEATURES ACCORDING TO featurep)
93 @deffn {Функция} featurep (@var{a}, @var{f})
94 Пытается определить имеет ли объект @var{a} свойство @var{f}, используя факты,
95 находящиеся в текущей базе данных.  Если да, то возвращается @code{true}, 
96 иначе возвращается @code{false}.
98 Отметим, что @code{featurep} возвращает @code{false} если даже ни @var{f},
99 ни отрицание @var{f} не могут быть установлены.
101 Функция @code{featurep} вычисляет свои аргументы.
103 См. также @code{declare} и @code{features}.
105 @example
106 (%i1) declare (j, even)$
107 (%i2) featurep (j, integer);
108 (%o2)                           true
109 @end example
111 @opencatbox{Категории:}
112 @category{Функции предикаты}
113 @category{Факты и выводы}
114 @closecatbox
115 @end deffn
117 @defvr {Системная переменная} maxima_tempdir
119 Переменная @code{maxima_tempdir} обозначает директорию, в которой Maxima создает некоторые
120 временные файлы.  Например, временные файлы с данными для графиков 
121 создаются в @code{maxima_tempdir}.
123 Начальное значение @code{maxima_tempdir} является домашней директорией пользователя,
124 если Maxima может ее определить. В противном случае Maxima делает догадку о расположении
125 подходящей директории.
127 Переменной @code{maxima_tempdir} можно присвоить строку с именем директории.
129 @opencatbox{Категории:}
130 @category{Глобальные переменные}
131 @closecatbox
132 @end defvr
134 @defvr {Системная переменная} maxima_userdir
136 Переменная @code{maxima_userdir} обозначает директорию, в которой Maxima ищет Maxima и Lisp файлы.
137 (Maxima ищет файлы и в некоторых других директориях.  Полный список определяется переменными @code{file_search_maxima} 
138 и @code{file_search_lisp}.)
140 Начальное значение @code{maxima_userdir} является поддиректорией домашней директории 
141 пользователя, если Maxima может определить последнюю. В противном случае Maxima 
142 делает догадку о расположении подходящей директории.
144 Переменной @code{maxima_userdir} можно присвоить строку с именем директории.
145 Однако, присваивание нового значения @code{maxima_userdir} не меняет автоматически 
146 @code{file_search_maxima} и @code{file_search_lisp}.
147 Значение этих переменных нужно менять отдельно.
149 @opencatbox{Категории:}
150 @category{Глобальные переменные}
151 @closecatbox
152 @end defvr
154 @deffn {Функция} room ()
155 @deffnx {Функция} room (true)
156 @deffnx {Функция} room (false)
157 Выводит информацию о состоянии использования памяти и стека в Maxima. 
158 Команда @code{room} вызывает одноименную Lisp функцию.
160 @itemize @bullet
161 @item
162 @code{room ()} выводит описание среднего уровня детализации.
163 @item
164 @code{room (true)} выводит подробное описание.
165 @item
166 @code{room (false)} выводит краткое описание.
167 @end itemize
169 @opencatbox{Категории:}
170 @category{Отладка}
171 @closecatbox
172 @end deffn
174 @deffn {Функция} status (feature)
175 @deffnx {Функция} status (feature, @var{putative_feature})
176 @deffnx {Функция} status (status)
177 Возвращает информацию о наличии или отсутствии определенных 
178 системно-зависимых свойств.
180 @itemize @bullet
181 @item
182 @code{status (feature)} возвращает список системных свойств.
183 Что включает версию Lisp, тип операционной системы и т.д.
184 Этот список может варьироваться от одной версии Lisp к другой.
185 @item @code{status (feature, @var{putative_feature})} возвращает @code{true}, 
186 если @var{putative_feature} присутствует в списке, возвращаемом @code{status (feature)},
187 и @code{false} в противном случае.
188 Функция @code{status} не вычисляет свои аргументы @var{putative_feature}.
189 Оператор кавычка-кавычка @code{'@w{}'} может быть использован для их вычисления.
190 Свойства, содержащие в именах специальные символы, такие как тире, могут задаваться
191 в форме строки. Например,@code{status (feature, "ansi-cl")}.
192 @item
193 @code{status (status)} возвращает двухэлементный список @code{[feature, status]}.
194 @code{feature} и @code{status} являются двумя аргументами, принимаемыми функцией @code{status}.
195 Не ясно, имеет ли этот список какое-либо иное значение.
196 @end itemize
198 Переменная @code{features} содержит список свойств, применимых к математическим
199 выражениям. См. @code{features} и @code{featurep} по поводу дополнительной информации.
201 @opencatbox{Категории:}
202 @category{Программирование}
203 @closecatbox
204 @end deffn
206 @deffn {Функция} time (%o1, %o2, %o3, ...)
207 Возвращает список времен, в секундах, вычисления результирующих выражений @code{%o1}, @code{%o2}, @code{%o3}, ... . 
208 Время является внутренним временем вычисления Maxima, а не временем, прошедшим по реальным часам. 
209 Функция @code{time} применима только к меткам результирующих выражений, для других переменных
210 @code{time} возвращает @code{unknown}.
212 Установка @code{showtime: true} заставляет Maxima печатать внутренее время вычисления и время по реальным
213 часам для каждого результата.
215 @opencatbox{Категории:}
216 @category{Отладка}
217 @closecatbox
218 @end deffn
220 @deffn {Функция} timedate ()
221 Возвращает строку, содержащую текущее время и дату.
222 Строка имеет формат @code{HH:MM:SS Day, mm/dd/yyyy (GMT-n)}, где поля есть
223 часы, минуты, секунды, день недели, месяц, день месяца, год и сдвиг часового пояса от GMT
224 (Стандартное время по Гринвичу).
226 Пример:
228 @c ===beg===
229 @c d: timedate ();
230 @c print ("timedate reports current time", d)$
231 @c ===end===
232 @example
233 (%i1) d: timedate ();
234 (%o1) 08:05:09 Wed, 11/02/2005 (GMT-7)
235 (%i2) print ("timedate reports current time", d)$
236 timedate reports current time 08:05:09 Wed, 11/02/2005 (GMT-7)
237 @end example
239 @opencatbox{Категории:}
240 @category{Функции времени и даты}
241 @closecatbox
242 @end deffn
244 @deffn {Функция} absolute_real_time ()
246 Возвращает число секунд, истекших с полуночи 1 января 1900 года по Универсальному Координированному Времени (UTC).
247 Значение является целым числом.
249 См. также @code{elapsed_real_time} и @code{elapsed_run_time}.
251 Пример:
253 @c ===beg===
254 @c absolute_real_time ();
255 @c 1900 + absolute_real_time () / (365.25 * 24 * 3600);
256 @c ===end===
257 @example
258 (%i1) absolute_real_time ();
259 (%o1)                      3385045277
260 (%i2) 1900 + absolute_real_time () / (365.25 * 24 * 3600);
261 (%o2)                   2007.265612087104
262 @end example
264 @opencatbox{Категории:}
265 @category{Функции времени и даты}
266 @closecatbox
267 @end deffn
269 @deffn {Функция} elapsed_real_time ()
271 Возвращает число секунд (включая доли секунды), истекших с последнего запуска или перезапуска Maxima
272 по реальным часам.
273 Значение является числом с плавающей точкой.
275 См. также @code{absolute_real_time} и @code{elapsed_run_time}.
277 Пример:
279 @c ===beg===
280 @c elapsed_real_time ();
281 @c expand ((a + b)^500)$
282 @c elapsed_real_time ();
283 @c ===end===
284 @example
285 (%i1) elapsed_real_time ();
286 (%o1)                       2.559324
287 (%i2) expand ((a + b)^500)$
288 (%i3) elapsed_real_time ();
289 (%o3)                       7.552087
290 @end example
292 @opencatbox{Категории:}
293 @category{Функции времени и даты}
294 @closecatbox
295 @end deffn
297 @deffn {Функция} elapsed_run_time ()
299 Возвращает число секунд (включая доли секунды), истекших с последнего запуска или перезапуска Maxima
300 по внутренним часам Maxima.
301 Значение является числом с плавающей точкой.
303 См. также @code{absolute_real_time} и @code{elapsed_real_time}.
305 Пример:
307 @c ===beg===
308 @c elapsed_run_time ();
309 @c expand ((a + b)^500)$
310 @c elapsed_run_time ();
311 @c ===end===
312 @example
313 (%i1) elapsed_run_time ();
314 (%o1)                         0.04
315 (%i2) expand ((a + b)^500)$
316 (%i3) elapsed_run_time ();
317 (%o3)                         1.26
318 @end example
320 @opencatbox{Категории:}
321 @category{Функции времени и даты}
322 @closecatbox
323 @end deffn