Add symbol checks to translators for MCALL, MARRAYREF, and MARRAYSET
[maxima.git] / doc / info / ru / Runtime.texi
blob82025f80f5d3549b33294d21b3a744a9966fe5b6
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 @anchor{maxima_tempdir}
118 @defvr {Системная переменная} maxima_tempdir
120 Переменная @code{maxima_tempdir} обозначает директорию, в которой Maxima создает некоторые
121 временные файлы.  Например, временные файлы с данными для графиков 
122 создаются в @code{maxima_tempdir}.
124 Начальное значение @code{maxima_tempdir} является домашней директорией пользователя,
125 если Maxima может ее определить. В противном случае Maxima делает догадку о расположении
126 подходящей директории.
128 Переменной @code{maxima_tempdir} можно присвоить строку с именем директории.
130 @opencatbox{Категории:}
131 @category{Глобальные переменные}
132 @closecatbox
133 @end defvr
135 @defvr {Системная переменная} maxima_userdir
137 Переменная @code{maxima_userdir} обозначает директорию, в которой Maxima ищет Maxima и Lisp файлы.
138 (Maxima ищет файлы и в некоторых других директориях.  Полный список определяется переменными @code{file_search_maxima} 
139 и @code{file_search_lisp}.)
141 Начальное значение @code{maxima_userdir} является поддиректорией домашней директории 
142 пользователя, если Maxima может определить последнюю. В противном случае Maxima 
143 делает догадку о расположении подходящей директории.
145 Переменной @code{maxima_userdir} можно присвоить строку с именем директории.
146 Однако, присваивание нового значения @code{maxima_userdir} не меняет автоматически 
147 @code{file_search_maxima} и @code{file_search_lisp}.
148 Значение этих переменных нужно менять отдельно.
150 @opencatbox{Категории:}
151 @category{Глобальные переменные}
152 @closecatbox
153 @end defvr
155 @deffn {Функция} room ()
156 @deffnx {Функция} room (true)
157 @deffnx {Функция} room (false)
158 Выводит информацию о состоянии использования памяти и стека в Maxima. 
159 Команда @code{room} вызывает одноименную Lisp функцию.
161 @itemize @bullet
162 @item
163 @code{room ()} выводит описание среднего уровня детализации.
164 @item
165 @code{room (true)} выводит подробное описание.
166 @item
167 @code{room (false)} выводит краткое описание.
168 @end itemize
170 @opencatbox{Категории:}
171 @category{Отладка}
172 @closecatbox
173 @end deffn
175 @deffn {Функция} status (feature)
176 @deffnx {Функция} status (feature, @var{putative_feature})
177 @deffnx {Функция} status (status)
178 Возвращает информацию о наличии или отсутствии определенных 
179 системно-зависимых свойств.
181 @itemize @bullet
182 @item
183 @code{status (feature)} возвращает список системных свойств.
184 Что включает версию Lisp, тип операционной системы и т.д.
185 Этот список может варьироваться от одной версии Lisp к другой.
186 @item @code{status (feature, @var{putative_feature})} возвращает @code{true}, 
187 если @var{putative_feature} присутствует в списке, возвращаемом @code{status (feature)},
188 и @code{false} в противном случае.
189 Функция @code{status} не вычисляет свои аргументы @var{putative_feature}.
190 Оператор кавычка-кавычка @code{'@w{}'} может быть использован для их вычисления.
191 Свойства, содержащие в именах специальные символы, такие как тире, могут задаваться
192 в форме строки. Например,@code{status (feature, "ansi-cl")}.
193 @item
194 @code{status (status)} возвращает двухэлементный список @code{[feature, status]}.
195 @code{feature} и @code{status} являются двумя аргументами, принимаемыми функцией @code{status}.
196 Не ясно, имеет ли этот список какое-либо иное значение.
197 @end itemize
199 Переменная @code{features} содержит список свойств, применимых к математическим
200 выражениям. См. @code{features} и @code{featurep} по поводу дополнительной информации.
202 @opencatbox{Категории:}
203 @category{Программирование}
204 @closecatbox
205 @end deffn
207 @deffn {Функция} time (%o1, %o2, %o3, ...)
208 Возвращает список времен, в секундах, вычисления результирующих выражений @code{%o1}, @code{%o2}, @code{%o3}, ... . 
209 Время является внутренним временем вычисления Maxima, а не временем, прошедшим по реальным часам. 
210 Функция @code{time} применима только к меткам результирующих выражений, для других переменных
211 @code{time} возвращает @code{unknown}.
213 Установка @code{showtime: true} заставляет Maxima печатать внутренее время вычисления и время по реальным
214 часам для каждого результата.
216 @opencatbox{Категории:}
217 @category{Отладка}
218 @closecatbox
219 @end deffn
221 @deffn {Функция} timedate ()
222 Возвращает строку, содержащую текущее время и дату.
223 Строка имеет формат @code{HH:MM:SS Day, mm/dd/yyyy (GMT-n)}, где поля есть
224 часы, минуты, секунды, день недели, месяц, день месяца, год и сдвиг часового пояса от GMT
225 (Стандартное время по Гринвичу).
227 Пример:
229 @c ===beg===
230 @c d: timedate ();
231 @c print ("timedate reports current time", d)$
232 @c ===end===
233 @example
234 (%i1) d: timedate ();
235 (%o1) 08:05:09 Wed, 11/02/2005 (GMT-7)
236 (%i2) print ("timedate reports current time", d)$
237 timedate reports current time 08:05:09 Wed, 11/02/2005 (GMT-7)
238 @end example
240 @opencatbox{Категории:}
241 @category{Функции времени и даты}
242 @closecatbox
243 @end deffn
245 @deffn {Функция} absolute_real_time ()
247 Возвращает число секунд, истекших с полуночи 1 января 1900 года по Универсальному Координированному Времени (UTC).
248 Значение является целым числом.
250 См. также @code{elapsed_real_time} и @code{elapsed_run_time}.
252 Пример:
254 @c ===beg===
255 @c absolute_real_time ();
256 @c 1900 + absolute_real_time () / (365.25 * 24 * 3600);
257 @c ===end===
258 @example
259 (%i1) absolute_real_time ();
260 (%o1)                      3385045277
261 (%i2) 1900 + absolute_real_time () / (365.25 * 24 * 3600);
262 (%o2)                   2007.265612087104
263 @end example
265 @opencatbox{Категории:}
266 @category{Функции времени и даты}
267 @closecatbox
268 @end deffn
270 @deffn {Функция} elapsed_real_time ()
272 Возвращает число секунд (включая доли секунды), истекших с последнего запуска или перезапуска Maxima
273 по реальным часам.
274 Значение является числом с плавающей точкой.
276 См. также @code{absolute_real_time} и @code{elapsed_run_time}.
278 Пример:
280 @c ===beg===
281 @c elapsed_real_time ();
282 @c expand ((a + b)^500)$
283 @c elapsed_real_time ();
284 @c ===end===
285 @example
286 (%i1) elapsed_real_time ();
287 (%o1)                       2.559324
288 (%i2) expand ((a + b)^500)$
289 (%i3) elapsed_real_time ();
290 (%o3)                       7.552087
291 @end example
293 @opencatbox{Категории:}
294 @category{Функции времени и даты}
295 @closecatbox
296 @end deffn
298 @deffn {Функция} elapsed_run_time ()
300 Возвращает число секунд (включая доли секунды), истекших с последнего запуска или перезапуска Maxima
301 по внутренним часам Maxima.
302 Значение является числом с плавающей точкой.
304 См. также @code{absolute_real_time} и @code{elapsed_real_time}.
306 Пример:
308 @c ===beg===
309 @c elapsed_run_time ();
310 @c expand ((a + b)^500)$
311 @c elapsed_run_time ();
312 @c ===end===
313 @example
314 (%i1) elapsed_run_time ();
315 (%o1)                         0.04
316 (%i2) expand ((a + b)^500)$
317 (%i3) elapsed_run_time ();
318 (%o3)                         1.26
319 @end example
321 @opencatbox{Категории:}
322 @category{Функции времени и даты}
323 @closecatbox
324 @end deffn