In documentation for lreduce and rreduce, supply second argument as an explicit list
[maxima.git] / doc / info / pt_BR / Command.texi.update
blob3d520dde46270418ad9d9ee74bc0919d2b0c5adf
1 @c
2 @c versao pt_BR baseada no md5sum abaixo:
3 @c 4790874d54a6f4da1ccf53672b684d79  Command.texi
4 @c
5 @menu
6 * Introduction to Command Line::
7 * Functions and Variables for Command Line::
8 * Functions and Variables for Display::
9 @end menu
11 @c -----------------------------------------------------------------------------
12 @node Introduction to Command Line, Functions and Variables for Command Line, Command Line, Command Line
13 @section Introduction to Command Line
14 @c -----------------------------------------------------------------------------
16 @c end concepts Command Line
18 @c -----------------------------------------------------------------------------
19 @node Functions and Variables for Command Line, Functions and Variables for Display, Introduction to Command Line, Command Line
20 @section Functions and Variables for Command Line
21 @c -----------------------------------------------------------------------------
23 @c -----------------------------------------------------------------------------
24 @anchor{__}
25 @defvr {Vari@'{a}vel de sistema} __
26 @ifinfo
27 @vrindex Current input expression
28 @end ifinfo
30 A vari@'{a}vel de sistema @code{__} representa a express@~{a}o de entrada sendo avaliada atualmente.  Isto @'{e}, enquanto uma
31 express@~{a}o de entrada @var{expr} est@'{a} sendo avaliada, o valor de @code{__} @'{e} @var{expr}.
33 A express@~{a}o de entrada @'{e} atribu@'{i}da @`{a} vari@'{a}vel de sistema @code{__} antes da entrada ser simplificada ou
34 avaliada.  Todavia, o valor de @code{__} @'{e} simplificado (mas n@~{a}o avaliado)
35 quando esse valor @'{e} mostrado.
37 A vari@'{a}vel de sistema @code{__} @'{e} reconhecida por @mref{batch}
38 e @mrefdot{load}
39 Em um arquivo processado
40 por @code{batch}, @code{__} tem o mesmo significado que na linha de comando interativa.
41 Em um arquivo processado por @code{load}, @code{__} @'{e} associada @`{a} express@~{a}o de entrada
42 mais recentemente informada no linha de comando interativa ou em um arquivo de lote; @code{__}
43 n@~{a}o @'{e} associada @`{a} express@~{a}o de entrada em um arquivo sendo processado.  Em
44 particular, quando @code{load (@var{nomearquivo})} @'{e} chamado a partir do linha de comando
45 interativa, @code{__} @'{e} associada a @code{load (@var{nomearquivo})} enquanto o arquivo est@'{a}
46 sendo processado.
48 Veja tamb@'{e}m @mref{_}
49 e @mrefdot{%}
51 Exemplos:
53 @c ===beg===
54 @c print ("I was called as", __);
55 @c foo (__);
56 @c g (x) := (print ("Current input expression =", __), 0);
57 @c [aa : 1, bb : 2, cc : 3];
58 @c (aa + bb + cc)/(dd + ee + g(x));
59 @c ===end===
60 @example
61 (%i1) print ("I was called as", __);
62 I was called as print(I was called as, __) 
63 (%o1)              print(I was called as, __)
64 (%i2) foo (__);
65 (%o2)                     foo(foo(__))
66 (%i3) g (x) := (print ("Current input expression =", __), 0);
67 (%o3) g(x) := (print("Current input expression =", __), 0)
68 (%i4) [aa : 1, bb : 2, cc : 3];
69 (%o4)                       [1, 2, 3]
70 (%i5) (aa + bb + cc)/(dd + ee + g(x));
71                             cc + bb + aa
72 Current input expression = -------------- 
73                            g(x) + ee + dd
74                                 6
75 (%o5)                        -------
76                              ee + dd
77 @end example
79 @opencatbox
80 @category{Vari@'{a}veis globais}
81 @closecatbox
82 @end defvr
84 @c -----------------------------------------------------------------------------
85 @anchor{_}
86 @defvr {Vari@'{a}vel de sistema} _
87 @ifinfo
88 @vrindex Previous input
89 @end ifinfo
91 A vari@'{a}vel de sistema @code{_} @'{e} a express@~{a}o de entrada mais recente (e.g., @code{%i1}, @code{%i2},
92 @code{%i3}, @dots{}).
94 A express@~{a}o de entrada @'{e} atribu@'{i}da @`{a} vari@'{a}vel de sistema @code{_} antes de a entrada ser simplificada ou
95 avaliada.  Todavia, O valor de @code{_} @'{e} simplificado (mas n@~{a}o avaliado)
96 quando esse valor @'{e} mostrado.
98 A vari@'{a}vel de sistema @code{_} @'{e} reconhecida por @mref{batch}
99 e por @mrefdot{load}
100 Em um arquivo processado
101 por @code{batch}, @code{_} tem o mesmo significado que na linha de comando interativa.
102 Em um arquivo processado por @code{load}, @code{_} @'{e} associada @`{a} express@~{a}o de entrada
103 mais recentemente avaliada no linha de comando interativa ou em um arquivo de lote; @code{_}
104 n@~{a}o @'{e} associada a express@~{o}es de entrada no arquivo sendo processado.
106 Veja tamb@'{e}m @mref{__}
107 e @mrefdot{%}
109 Exemplos:
111 @c ===beg===
112 @c 13 + 29;
113 @c :lisp $_
114 @c _;
115 @c sin (%pi/2);
116 @c :lisp $_
117 @c _;
118 @c a: 13$
119 @c b: 29$
120 @c a + b;
121 @c :lisp $_
122 @c _;
123 @c a + b;
124 @c ev (_);
125 @c ===end===
126 @example
127 (%i1) 13 + 29;
128 (%o1)                          42
129 (%i2) :lisp $_
130 ((MPLUS) 13 29)
131 (%i2) _;
132 (%o2)                          42
133 (%i3) sin (%pi/2);
134 (%o3)                           1
135 (%i4) :lisp $_
136 ((%SIN) ((MQUOTIENT) $%PI 2))
137 (%i4) _;
138 (%o4)                           1
139 (%i5) a: 13$
140 (%i6) b: 29$
141 (%i7) a + b;
142 (%o7)                          42
143 (%i8) :lisp $_
144 ((MPLUS) $A $B)
145 (%i8) _;
146 (%o8)                         b + a
147 (%i9) a + b;
148 (%o9)                          42
149 (%i10) ev (_);
150 (%o10)                         42
151 @end example
153 @opencatbox
154 @category{Intera@,{c}@~{a}o com o console} @category{Vari@'{a}veis globais}
155 @closecatbox
156 @end defvr
158 @c -----------------------------------------------------------------------------
159 @anchor{%}
160 @defvr {Vari@'{a}vel de sistema} %
161 @ifinfo
162 @vrindex Previous input
163 @end ifinfo
165 A vari@'{a}vel de sistema @code{%} representa a express@~{a}o de sa@'{i}da (e.g., @code{%o1}, @code{%o2}, @code{%o3},
166 @dots{}) mais recentemente calculada pelo Maxima, tenha essa entrada sido mostrada ou n@~{a}o.
168 A vari@'{a}vel de sistema @code{%} @'{e} reconhecida por @mref{batch}
169 e por @mrefdot{load}  Em um arquivo processado
170 por @code{batch}, @code{%} tem o mesmo signficado que na linha de comando interativa.
171 Em um arquivo processado por @code{load}, @code{%} @'{e} associada @`{a} express@~{a}o de sa@'{i}da
172 mais recentemente calculada no linha de comando interativa ou em um arquivo de lote; @code{%}
173 n@~{a}o @'{e} associada a express@~{o}es de sa@'{i}da no arquivo sendo processado.
175 Veja tamb@'{e}m @mrefcomma{_} @mrefcomma{%%}
176 e @mrefdot{%th}
178 @opencatbox
179 @category{Intera@,{c}@~{a}o com o console} @category{Vari@'{a}veis globais}
180 @closecatbox
181 @end defvr
183 @c -----------------------------------------------------------------------------
184 @anchor{%%}
185 @defvr {Vari@'{a}vel de sistema} %%
186 @ifinfo
187 @vrindex Previous result in compound expression
188 @end ifinfo
190 Em declara@,{c}@~{o}es compostas, a saber @mrefcomma{block} @mrefcomma{lambda}
191 ou @code{(@var{s_1}, ..., @var{s_n})}, @code{%%} representa o valor da declara@,{c}@~{a}o
192 anterior.
194 Na primeira declara@,{c}@~{a}o em uma declara@,{c}@~{a}o composta, ou fora de uma declara@,{c}@~{a}o
195 composta, @code{%%} @'{e} indefinida.
197 A vari@'{a}vel de sistema @code{%%} @'{e} reconhecida por @mref{batch}
198 e por @mrefcomma{load}
199 e tem o mesmo significado que na linha de comando interativa.
201 Veja tamb@'{e}m @mrefdot{%}
203 Exemplos:
205 Os seguintes dois exemplos retornam o mesmo resultado.
207 @example
208 (%i1) block (integrate (x^5, x), ev (%%, x=2) - ev (%%, x=1));
209                                21
210 (%o1)                          --
211                                2
212 (%i2) block ([prev], prev: integrate (x^5, x),
213                ev (prev, x=2) - ev (prev, x=1));
214                                21
215 (%o2)                          --
216                                2
218 @end example
220 Uma declara@,{c}@~{a}o composta pode compreender outras declara@,{c}@~{o}es compostas.  Seja uma
221 declara@,{c}@~{a}o simples ou composta, @code{%%} representa o valor da declara@,{c}@~{a}o
222 anterior.
224 @example
225 (%i3) block (block (a^n, %%*42), %%/6);
226                                  n
227 (%o3)                         7 a
228 @end example
230 Dentro de uma declara@,{c}@~{a}o composta, o valor de @code{%%} pode ser inspecionado em uma linha de comando interativa
231 de parada, que @'{e} aberta executando a fun@,{c}@~{a}o @mref{break}
232 .  Por exemplo, inserindo @code{%%;} no seguinte exemplo retorna @code{42}.
234 @example
235 (%i4) block (a: 42, break ())$
237 Entering a Maxima break point. Type 'exit;' to resume.
238 _%%;
241 @end example
243 @opencatbox
244 @category{Vari@'{a}veis globais}
245 @closecatbox
246 @end defvr
248 @c -----------------------------------------------------------------------------
249 @anchor{%th}
250 @deffn {Fun@,{c}@~{a}o} %th (@var{i})
251 @ifinfo
252 @fnindex N'@'{e}sima sa@'{i}da anterior
253 @end ifinfo
255 O valor da @var{i}'@'{e}sima express@~{a}o de sa@'{i}da anterior.  Isto @'{e}, se a express@~{a}o
256 seguinte for a @var{n}'@'{e}sima sa@'{i}da, @code{%th (@var{m})} @'{e} a
257 (@var{n} - @var{m})'@'{e}sima sa@'{i}da.
259 A fun@,{c}@~{a}o @code{%th} @'{e} reconhecida por @mref{batch}
260 e por @mrefdot{load}
261 Em um arquivo processado
262 por @code{batch}, @code{%th} tem o mesmo significado que na linha de comando interativa.
263 Em um arquivo processado por @code{load}, @code{%th} refere-se a express@~{o}es de sa@'{i}da mais
264 recentemente calculadas na linha de comando interativa ou em um arquivo de lote; @code{%th} n@~{a}o
265 se refere a express@~{o}es de sa@'{i}da no arquivo sendo processado.
267 Veja tamb@'{e}m @mref{%}
268 e @mrefdot{%%}
270 Exemplo:
272 A fun@,{c}@~{a}o @code{%th} @'{e} @'{u}til em arquivos de lote @code{batch} ou para referir-se a um grupo de
273 express@~{o}es de sa@'{i}da.  O exemplo adiante ajusta @code{s} para o somat@'{o}rio das @'{u}ltimas cinco
274 express@~{o}es de sa@'{i}da.
276 @example
277 (%i1) 1;2;3;4;5;
278 (%o1)                           1
279 (%o2)                           2
280 (%o3)                           3
281 (%o4)                           4
282 (%o5)                           5
283 (%i6) block (s: 0, for i:1 thru 5 do s: s + %th(i), s);
284 (%o6)                          15
285 @end example
287 @opencatbox
288 @category{Intera@,{c}@~{a}o com o console}
289 @closecatbox
290 @end deffn
292 @c -----------------------------------------------------------------------------
293 @anchor{?}
294 @deffn {S@'{i}mbolo especial} ?
295 @ifinfo
296 @fnindex Documenta@,{c}@~{a}o, mostrando
297 @end ifinfo
299 Como prefixo de uma fun@,{c}@~{a}o ou nome de vari@'{a}vel, @code{?} significa que o nome @'{e} um
300 nome do Lisp, n@~{a}o um nome do Maxima.  Por exemplo, @code{?round} significa A fun@,{c}@~{a}o
301 Lisp @code{ROUND}.  Veja @ref{Lisp and Maxima} para mais informa@,{c}@~{a}o.
303 A nota@,{c}@~{a}o @code{? palavra} (uma interrroga@,{c}@~{a}o seguida por um espa@,{c}o em branco e uma
304 palavra) @'{e} equivalente a @code{describe("palavra")}.  A interroga@,{c}@~{a}o deve
305 ocorrer no in@'{i}cio de uma linha de entrada; de outra forma a interroga@,{c}@~{a}o n@~{a}o @'{e} reconhecida como uma
306 requisi@,{c}@~{a}o de documenta@,{c}@~{a}o.  Veja tamb@'{e}m @mrefdot{describe}
308 @opencatbox
309 @category{Ajuda} @category{Intera@,{c}@~{a}o com o console}
310 @closecatbox
311 @end deffn
313 @c -----------------------------------------------------------------------------
314 @anchor{??}
315 @deffn {S@'{i}mbolo especial} ??
316 @ifinfo
317 @fnindex Documenta@,{c}@~{a}o, mostrando (busca inexata)
318 @end ifinfo
320 A nota@,{c}@~{a}o @code{?? palavra} (@code{??} seguida por um espa@,{c}o em branco e uma palavra)
321 @'{e} equivalente a @code{describe("palavra", inexact)}.  A interroga@,{c}@~{a}o deve ocorrer
322 no in@'{i}cio de uma linha de entrada; de outra forma a interroga@,{c}@~{a}o n@~{a}o @'{e} reconhecida como uma
323 requisi@,{c}@~{a}o de documenta@,{c}@~{a}o.
325 @opencatbox
326 @category{Ajuda} @category{Intera@,{c}@~{a}o com o console}
327 @closecatbox
328 @end deffn
330 @c -----------------------------------------------------------------------------
331 @anchor{$}
332 @deffn {Finalizador de entrada} $
333 @ifinfo
334 @fnindex Input terminator (omite a sa@'{i}da)
335 @end ifinfo
337 O sinal de d@'{o}lar @code{$} termina uma express@~{a}o de entrada e
338 tanto o local de mem@'{o}ria destinado @`{a} mais recente sa@'{i}da @code{%} quanto um novo r@'{o}tulo de sa@'{i}da, e.g. @code{%o1},
339 recebem o resultado dessa express@~{a}o de entrada, mas o resultado n@~{a}o aparece na tela.
341 Veja tamb@'{e}m @code{;}.
343 Exemplo:
344 @c ===beg===
345 @c 1 + 2 + 3 $
346 @c %;
347 @c %o1;
348 @c ===end===
349 @example
350 (%i1) 1 + 2 + 3 $
351 (%i2) %;
352 (%o2)                           6
353 (%i3) %o1;
354 (%o3)                           6
355 @end example
356 @end deffn
358 @c -----------------------------------------------------------------------------
359 @anchor{;}
360 @deffn {Terminador de entrada} ;
361 @ifinfo
362 @fnindex Input terminator (exibe a sa@'{i}da)
363 @end ifinfo
365 O ponto e v@'{i}rgula @code{;} termina uma express@~{a}o de sa@'{i}da,
366 e a sa@'{i}da resultate @'{e} mostrada.
368 Veja tamb@'{e}m @code{$}.
370 Exemplo:
371 @c ===beg===
372 @c 1 + 2 + 3;
373 @c ===end===
374 @example
375 (%i1) 1 + 2 + 3;
376 (%o1)                           6
377 @end example
378 @end deffn
380 @c -----------------------------------------------------------------------------
381 @anchor{inchar}
382 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} inchar
383 Valor padr@~{a}o: @code{%i}
385 A vari@'{a}vel de op@,{c}@~{a}o @code{inchar} @'{e} o prefixo dos r@'{o}tulos de express@~{o}es inseridas pelo usu@'{a}rio.
386 Maxima automaticamente constr@'{o}i um r@'{o}tulo para cada express@~{a}o de entrada
387 concatenando @code{inchar} e @mrefdot{linenum}
389 A vari@'{a}vel de op@,{c}@~{a}o @code{inchar} pode receber qualquer sequ@^{e}ncia de cracteres ou s@'{i}mbolo, n@~{a}o necess@'{a}riamente um caractere
390 sozinho.  Pelo fato de m@'{a}xima internamente levar em considera@,{c}@~{a}o somente o primeiro caractere do
391 prefixo, os prefixos @code{inchar}, @mrefcomma{outchar}
392 e @mref{linechar}
393 devem ter um primeiro caractere diferente.  Se isso n@~{a}o ocorrer alguns comandos
394 como @code{kill(inlables)} n@~{a}o ir@~{a}o trabalhar como esperado.
396 Veja tamb@'{e}m @code{labels}.
398 Exemplo:
400 @c ===beg===
401 @c inchar: "input";
402 @c expand((a+b)^3);
403 @c ===end===
404 @example
405 (%i1) inchar: "input";
406 (%o1)                         input
407 (input2) expand((a+b)^3);
408                      3        2      2      3
409 (%o2)               b  + 3 a b  + 3 a  b + a
410 (input3)
411 @end example
413 @opencatbox
414 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
415 @closecatbox
416 @end defvr
418 @c -----------------------------------------------------------------------------
419 @anchor{infolists}
420 @defvr {Vari@'{a}vel de sistema} infolists
421 Valor padr@~{a}o: @code{[]}
423 A vari@'{a}vel de sistema @code{infolists} @'{e} uma lista dos nomes de todas as listas de
424 informa@,{c}@~{a}o no Maxima.  S@~{a}o elas:
426 @table @code
427 @item labels
428 Todos os r@'{o}tulos @code{%i}, @code{%o}, e @code{%t} associados.
429 @item values
430 Todos os @'{a}tomos associados que s@~{a}o vari@'{a}veis de usu@'{a}rio, n@~{a}o op@,{c}@~{o}es do Maxima ou comutadores,
431 criados por @mref{:}
432 ou por @mref{::}
433 ou por associa@,{c}@~{a}o funcional.
434 @c WHAT IS INTENDED BY "FUNCTIONAL BINDING" HERE ??
435 @item functions
436 Todas as fun@,{c}@~{o}es definidas pelo usu@'{a}rio, criadas por @mref{:=}
437 ou por @mrefdot{define}
438 @item arrays
439 Todos os vetores est@'{a}ticos declarados e n@~{a}o declarados, criados por @code{:}, por @code{::}, ou por
440 @code{:=}.
441 @c AREN'T THERE OTHER MEANS OF CREATING ARRAYS ??
442 @item macros
443 Todas as fun@,{c}@~{o}es de macro definidas pelo usu@'{a}rio, criadas por @mrefdot{::=}
444 @item myoptions
445 Todas as op@,{c}@~{o}es mesmo zeradas pelo usu@'{a}rio (mesmo que elas sejam ou n@~{a}o
446 futuramente retornadas a seus valores padr@~{a}o).
447 @item rules
448 Todas as m@'{a}caras de coincid@^{e}ncia e regras de simplifica@,{c}@~{a}o, criadas
449 por @mrefcomma{tellsimp} @mrefcomma{tellsimpafter} @mrefcomma{defmatch}
450 ou por @mrefdot{defrule}
451 @item aliases
452 Todos os @'{a}tomos ue tiverem um apelido definido pelo usu@'{a}rio, criados pela fun@,{c}@~{o}es
453 @mrefcomma{alias}
454 @w{} @mrefcomma{ordergreat} @mref{orderless}
455 ou por meio da declara@,{c}@~{a}o de @'{a}tomos como
456 @mref{noun} usando @mrefdot{declare}
457 @item dependencies
458 Todos os @'{a}tomos que possu@'{i}rem depend@^{e}ncias funcionais, criadas pelas
459 fun@,{c}@~{o}es @mrefcomma{depends} @mrefcomma{dependencies}
460 ou @mrefdot{gradef}
461 @item gradefs
462 Todas as fun@,{c}@~{o}es que tiverem derivadas definidas pelo usu@'{a}rio, criadas pela
463 fun@,{c}@~{a}o @mrefdot{gradef}
464 @c UMM, WE REALLY NEED TO BE SPECIFIC -- WHAT DOES "ETC" CONTAIN HERE ??
465 @item props
466 Todos os @'{a}tomos que possu@'{i}rem qualuer propriedade outra que n@~{a}o aquelas mencionadas acima, tais como
467 propriedades estabelecidas por @mref{atvalue}
468 ou por @mrefcomma{matchdeclare}
469 etc.,
470 bem como propriedades estabelecidas na fun@,{c}@~{a}o @mrefdot{declare}
471 @item let_rule_packages
472 Todas os pacotes de regra @mref{let}
473 definidos pelo usu@'{a}rio
474 al@'{e}m do pacote especial @mrefdot{default_let_rule_package}
475 (@code{default_let_rule_package}
476 @'{e} o nome do pacote de regras usado quando
477 um n@~{a}o for explicitamente ajustado pelo usu@'{a}rio.)
478 @end table
480 @opencatbox
481 @category{Declara@,{c}@~{o}es e infer@^{e}ncias} @category{Vari@'{a}veis globais}
482 @closecatbox
483 @end defvr
485 @c REVIEW FOR ACCURACY AND COMPLETENESS
486 @c THIS ITEM IS VERY IMPORTANT !!
487 @c NEEDS EXAMPLES
489 @c -----------------------------------------------------------------------------
490 @anchor{kill}
491 @deffn  {Fun@,{c}@~{a}o} kill @
492 @fname{kill} (@var{a_1}, @dots{}, @var{a_n}) @
493 @fname{kill} (labels) @
494 @fname{kill} (inlabels, outlabels, linelabels) @
495 @fname{kill} (@var{n}) @
496 @fname{kill} ([@var{m}, @var{n}]) @
497 @fname{kill} (values, functions, arrays, @dots{}) @
498 @fname{kill} (all) @
499 @fname{kill} (allbut (@var{a_1}, @dots{}, @var{a_n}))
501 Remove todas as associa@,{c}@~{o}es (de valor, de fun@,{c}@~{a}o, de vetor est@'{a}tico, ou de regra) dos argumentos
502 @var{a_1}, @dots{}, @var{a_n}.  Um argumento @var{a_k} pode ser um s@'{i}mbolo ou um
503 elemento de vetor est@'{a}tico sozinho.  Quando @var{a_k} for um elemento de vetor est@'{a}tico, @code{kill}
504 desassocia aquele elemento sem afetar quaisquer outros elementos do vetor est@'{a}tico.
506 Muitos argumentos especiais s@~{a}o reconhecidos.  Diferentes tipos de argumentos
507 podem ser combinados, e.g., @code{kill (inlabels, functions, allbut (quaquercoisa, outracoisa))}.
509 @code{kill (labels)} desassocia todos os r@'{o}tulos de entrada, todos os r@'{o}tulos de sa@'{i}das, e todos os r@'{o}tulos de express@~{o}es intermedi@'{a}rias
510 criados at@'{e} o presente momento.  O comando @code{kill (inlabels)} desassocia somente r@'{o}tulos de entrada que
511 que iniciam com o valor atual de @mrefdot{inchar}
512 Da mesma forma,
513 @code{kill (outlabels)} desassocia somente r@'{o}tulos de sa@'{i}da que iniciam com o atual
514 valor de @mrefcomma{outchar}
515 e @code{kill (linelabels)} desassocia somente
516 r@'{o}tulos de express@~{o}es intermedi@'{a}rias que iniciam com o valor atual de
517 @mrefdot{linechar}
519 O comando @code{kill (@var{n})}, onde @var{n} @'{e} um inteiro,
520 desassocia os @var{n} r@'{o}tulos mais recentes de entrada e sa@'{i}da.
522 @code{kill ([@var{m}, @var{n}])} desassocia r@'{o}tulos de entrada e sa@'{i}da que v@~{a}o de @var{m} at@'{e}
523 @var{n}.
525 O comando @code{kill (@var{infolist})}, onde @var{infolist} @'{e} qualquer item em
526 @code{infolists} (tais como @mrefcomma{values} @mrefcomma{functions}
527 ou como @mref{arrays}
528 ) desassocia todos os itens em @var{infolist}.
529 Veja tamb@'{e}m @mrefdot{infolists}
531 @code{kill (all)} desassocia todos os itens em todas as infolistas.  O comando @code{kill (all)} n@~{a}o
532 ajusta vari@'{a}veis globais para seus valores padr@~{a}o; veja @mref{reset}
533 nesse ponto.
535 O comando @code{kill (allbut (@var{a_1}, ..., @var{a_n}))} desassocia all items on all
536 infolists except for @var{a_1}, @dots{}, @var{a_n}.
537 O comando @code{kill (allbut (@var{infolist}))} desassocia todos os itens exceto aqueles em
538 @var{infolist}, onde @var{infolist} @'{e} @mrefcomma{values}
539 @w{} @mrefcomma{functions} @mrefcomma{arrays}
540 etc.
542 A mem@'{o}ria ocupada por uma propriedade associada n@~{a}o @'{e} liberada at@'{e} que todos os s@'{i}mbolos sejam
543 desassociados dessa propriedade.  Em particular, para liberar a memÅ•ia ocupada pelo valor de
544 um s@'{i}mbolo, se desassocia o r@'{o}tulo de sa@'{i}da que mostra o valor associado, bem como
545 desassocia-se tamb@'{e}m o s@'{i}mbolo propriamente dito.
547 O comando @code{kill} n@~{a}o avalia seus argumentos.  O operador ap@'{o}strofo-ap@'{o}strofo @code{'@w{}'}
548 evita que as aspas duplas sejam colocadas.
550 O comando @code{kill (@var{s@'{i}mbolo})} desassocia todas as propriedades de @var{s@'{i}mbolo}.  De forma oposta,
551 as fun@,{c}@~{o}es @mrefcomma{remvalue} @mrefcomma{remfunction}
552 @w{}@mrefcomma{remarray}
553 e @mref{remrule}
554 desassociam uma propriedade espec@'{i}fica.
556 O comando @code{kill} sempre retorna @code{done}, mesmo se um argumento n@~{a}o tenha associa@,{c}@~{o}es.
558 @opencatbox
559 @category{Avalia@,{c}@~{a}o} @category{Intera@,{c}@~{a}o com o console} @category{Gerenciamento de sess@~{a}o}
560 @closecatbox
561 @end deffn
563 @c -----------------------------------------------------------------------------
564 @anchor{labels}
565 @deffn  {Fun@,{c}@~{a}o} labels (@var{s@'{i}mbolo}) @
567 Retorna a lista de r@'{o}tulos de entrada, sa@'{i}da, ou de express@~{o}es intermediarias que se iniciam
568 com @var{s@'{i}mbolo}.  Tipicamente @var{s@'{i}mbolo} @'{e} o valor de
569 @mrefcomma{inchar} @mrefcomma{outchar}
570 ou de @mrefdot{linechar}
571 Se nenhum r@'{o}tulo iniciar-se com @var{s@'{i}mbolo}, @code{labels} retorna uma lista vazia.
573 Por padr@~{a}o, Maxima mostra o resultado de cada express@~{a}o de entrada de usu@'{a}rio, fornecendo ao
574 resultado um r@'{o}tulo de sa@'{i}da.  A exibi@,{c}@~{a}o da sa@'{i}da @'{e} omitida terminando a entrada
575 com @code{$} (sinal de d@'{o}lar) ao inv@'{e}s do @code{;} (ponto e v@'{i}rgula).  Um r@'{o}tulo
576 de sa@'{i}da @'{e} constru@'{i}do e associado ao resultado, mas n@~{a}o @'{e} mostrado, e o r@'{o}tulo
577 pode ser referenciado da mesma forma que os r@'{o}tulos de sa@'{i}da que s@~{a}o mostrados.  Veja tamb@'{e}m
578 @mrefcomma{%} @mrefcomma{%%}
579 e @mrefdot{%th}
581 R@'{o}tulos de express@~{o}es intermedi@'{a}rias podem ser gerados por algumas fun@,{c}@~{o}es.  A vari@'{a}vel de
582 op@,{c}@~{a}o @mref{programmode}
583 controla se @mref{solve}
584 e algumas outras
585 fun@,{c}@~{o}es geram r@'{o}tulos de express@~{o}es intermedi@'{a}rias ao inv@'{e}s de retornar uma lista de
586 express@~{o}es.  Algumas outras fun@,{c}@~{o}es, tais como @mrefcomma{ldisplay}
587 sempre geram r@'{o}tulos de express@~{o}es intermedi@'{a}rias.
589 Veja tamb@'{e}m @mrefcomma{inchar} @mrefcomma{outchar} @mrefcomma{linechar}
590 e @mrefdot{infolists}
592 @opencatbox
593 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o} @category{Intera@,{c}@~{a}o com o console}
594 @closecatbox
595 @end deffn
597 @defvr {Vari@'{a}vel de sistema} labels
599 A variável @code{labels} contém a lista de rótulos de entradas, saídas, e de
600 expressões intermediárias, incluindo todos os rótulos anteriores se @code{inchar},
601 @code{outchar}, ou @code{linechar} forem redefinidas.
603 @opencatbox
604 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o} @category{Intera@,{c}@~{a}o com o console}
605 @closecatbox
606 @end defvr
608 @c -----------------------------------------------------------------------------
609 @anchor{linechar}
610 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} linechar
611 Valor padr@~{a}o: @code{%t}
613 A vari@'{a}vel de op@,{c}@~{a}o @code{linechar} cont@'{e}m o prefixo dos r@'{o}tulos de express@~{o}es intermedi@'{a}rias 
614 gerados pelo Maxima.  Maxima consstr@'{o}i um r@'{o}tulo para cada express@~{a}o intermedi@'{a}ria 
615 (se for mostrada) concatenando @code{linechar} e @mrefdot{linenum}
617 A vari@'{a}vel de op@,{c}@~{a}o @code{linechar} pode receber qualquer sequ@^{e}ncia de caracteres ou s@'{i}mbolo, n@~{a}o necess@'{a}riamente um caractere
618 @'{u}nico.  Devido ao fato de Maxima internamente considerar somente o primeiro caractere do
619 prefixo, os prefixos @mrefcomma{inchar} @mrefcomma{outchar}
620 e @code{linechar} devem ter um primeiro caractere diferente.  De outra forma alguns comandos
621 como @code{kill(inlables)} n@~{a}o ir@~{a}o trabalhar como esperado.
623 Express@~{o}es intermedi@'{a}rias podem ou n@~{a}o serem mostradas.
624 Veja @mref{programmode}
625 e @mrefdot{labels}
627 @opencatbox
628 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
629 @closecatbox
630 @end defvr
632 @c EXPAND; SHOW WHAT HAPPENS WHEN linenum IS ASSIGNED A VALUE
634 @c -----------------------------------------------------------------------------
635 @anchor{linenum}
636 @defvr {Vari@'{a}vel de sistema} linenum
638 O n@'{u}mero de linha do par atual de express@~{o}es de entrada e sa@'{i}da.
640 @opencatbox
641 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o} @category{Intera@,{c}@~{a}o com o console}
642 @closecatbox
643 @end defvr
645 @c NEEDS WORK
647 @c -----------------------------------------------------------------------------
648 @anchor{myoptions}
649 @defvr {Vari@'{a}vel de sistema} myoptions
650 Valor padr@~{a}o: @code{[]}
652 A vari@'{a}vel de sistema @code{myoptions} @'{e} a lista de todas as op@,{c}@~{o}es mesmo alteradas pelo usu@'{a}rio,
653 seja essa altera@,{c}@~{a}o para o seu valor padr@~{a}o ou n@~{a}o.
655 @opencatbox
656 @category{Vari@'{a}veis globais} @category{Gerenciamento de sess@~{a}o} @category{Intera@,{c}@~{a}o com o console}
657 @closecatbox
658 @end defvr
660 @c -----------------------------------------------------------------------------
661 @anchor{nolabels}
662 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} nolabels
663 Valor padr@~{a}o: @code{false}
665 Quando @code{nolabels} for @code{true}, r@'{o}tulos de resultado de entrada e sa@'{i}da (@code{%i}
666 e @code{%o}, respectivamente) s@~{a}o mostrados, mas os r@'{o}tulos n@~{a}o s@~{a}o associados ao
667 resultado, e os r@'{o}tulos n@~{a}o s@~{a}o anexados ao final da lista @mrefdot{labels}
668 Uma vez que r@'{o}tulos n@~{a}o s@~{a}o associados a resultados, as fun@,{c}@~{o}es de recupera@,{c}@~{a}o de mem@'{o}ria podem recuperar a mem@'{o}ria
669 usada pelos resultados.
671 De outra forma r@'{o}tulos de resultado de entrada e sa@'{i}da s@~{a}o associados aos resultados, e os r@'{o}tulos
672 s@~{a}o anexados ao final da lista @code{labels}.
674 R@'{o}tulos de express@~{o}es intermedi@'{a}rias (@code{%t}) n@~{a}o s@~{a}o afetados por @code{nolabels};
675 independente de @code{nolabels} ser @code{true} ou @code{false}, r@'{o}tulos de express@~{o}es
676 intermedi@'{a}rias s@~{a}o associados e anexados ao final da lista @code{labels}.
678 Veja tamb@'{e}m @mrefcomma{batch} @mrefcomma{load}
679 e @mrefdot{labels}
681 @opencatbox
682 @category{Global flags} @category{Gerenciamento de sess@~{a}o}
683 @closecatbox
684 @end defvr
686 @c NEEDS WORK
688 @c -----------------------------------------------------------------------------
689 @anchor{optionset}
690 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} optionset
691 Valor padr@~{a}o: @code{false}
693 Quando @code{optionset} for @code{true}, Maxima mostra uma mensagem sempre que uma
694 op@,{c}@~{a}o do Maxima for alterada.  Isso @'{e} @'{u}til se o usu@'{a}rio estiver cheio de d@'{u}vidas sobre a sintaxe
695 de alguma op@,{c}@~{a}o e deseja garantir que aquela vari@'{a}vel a qual ele atribuiu um valor
696 era realmente uma vari@'{a}vel de op@,{c}@~{a}o.
698 Exemplo:
700 @example
701 (%i1) optionset:true;
702 assignment: assigning to option optionset
703 (%o1)                         true
704 (%i2) gamma_expand:true;
705 assignment: assigning to option gamma_expand
706 (%o2)                         true
707 @end example
709 @opencatbox
710 @category{Global flags} @category{Gerenciamento de sess@~{a}o} @category{Intera@,{c}@~{a}o com o console}
711 @closecatbox
712 @end defvr
714 @c -----------------------------------------------------------------------------
715 @need 800
716 @anchor{outchar}
717 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} outchar
718 Valor padr@~{a}o: @code{%o}
720 A vari@'{a}vel de op@,{c}@~{a}o @code{outchar} @'{e} o prefixo dos r@'{o}tulos de express@~{o}es calculadas pelo Maxima.
721 Maxima automaticamente constr@'{o}i um r@'{o}tulo para cada exrpess@~{a}o calculada pela
722 concatena@,{c}@~{a}o de @code{outchar} com @mrefdot{linenum}
724 A vari@'{a}vel de op@,{c}@~{a}o @code{outchar} pode receber como valor qualquer sequ@^{e}ncia de caracteres ou s@'{i}mbolo, n@~{a}o necess@'{a}riamente um caractere
725 @'{u}nico.  Devido ao fato de Maxima internamente considerar somente o primeiro caractere do
726 prefixo, os prefixos @mrefcomma{inchar} @mrefcomma{outchar}
727 e @code{linechar} devem ter um primeiro caractere diferente.  De outra forma alguns comandos
728 como @code{kill(inlables)} n@~{a}o ir@~{a}o trabalhar como esperado.
730 Veja tamb@'{e}m @code{labels}.
732 Exemplo:
734 @c ===beg===
735 @c outchar: "output";
736 @c expand((a+b)^3);
737 @c ===end===
738 @example
739 (%i1) outchar: "output";
740 (output1)                    output
741 (%i2) expand((a+b)^3);
742                      3        2      2      3
743 (output2)           b  + 3 a b  + 3 a  b + a
744 (%i3)
745 @end example
747 @opencatbox
748 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
749 @closecatbox
750 @end defvr
752 @c -----------------------------------------------------------------------------
753 @anchor{playback}
754 @deffn {Fun@,{c}@~{a}o} playback @
755 @fname{playback} () @
756 @fname{playback} (@var{n}) @
757 @fname{playback} ([@var{m}, @var{n}]) @
758 @fname{playback} ([@var{m}]) @
759 @fname{playback} (input) @
760 @fname{playback} (slow) @
761 @fname{playback} (time) @
762 @fname{playback} (grind)
764 Mostra as entradas, as sa@'{i}das, e as express@~{o}es intermedi@'{a}rias, sem recalcul@'{a}-las.
765 A fun@,{c}@~{a}o @code{playback} somente mostra as express@~{o}es associadas a r@'{o}tulos; quaisquer outras sa@'{i}das
766 (tais como textos mostrados atrav@'{e}s da fun@,{c}@~{a}o @mref{print}
767 ou da fun@,{c}@~{a}o @mrefcomma{describe}
768 ou mensagens de erro)
769 n@~{a}o @'{e} mostrado.  Veja tamb@'{e}m @mrefdot{labels}
771 A fun@,{c}@~{a}o @code{playback} n@~{a}o avalia seus argumentos.  O operador ap@'{o}strofo-ap@'{o}strofo @code{'@w{}'}
772 evita que as aspas duplas sejam colocadas.  A fun@,{c}@~{a}o @code{playback} sempre retorna @code{done}.
774 Executando @code{playback ()} (sem argumentos) mostra todas as esntradas, sa@'{i}das, e
775 express@~{o}es intermedi@'{a}rias geradas at@'{e} agora.  Uma express@~{a}o de sa@'{i}da @'{e} mesmtrada
776 mesmo se tifer sido suprimida pelo terminador @code{$} quando foi originalmente
777 calculada.
779 @code{playback (@var{n})} mostra as @'{u}ltimas @var{n} express@~{o}es.
780 Cada entrada, sa@'{i}da, e cada express@~{a}o intermedi@'{a}ria conta como um.
782 @code{playback ([@var{m}, @var{n}])} mostra entradas, sa@'{i}das, e express@~{o}es
783 intermedi@'{a}rias com n@'{u}meros de @var{m} at@'{e} @var{n}, inclusive.
785 @code{playback ([@var{m}])} @'{e} equivalente a
786 @code{playback ([@var{m}, @var{m}])}; esse comando mostra um par de express@~{o}es de
787 entrada e sa@'{i}da.
789 @code{playback (input)} mostra todas as express@~{o}es de entrada geradas at@'{e} agora.
791 @code{playback (slow)} d@'{a} uma pausa entre as express@~{o}es e espera que o usu@'{a}rio
792 pressione @code{enter}.  Esse comportamento @'{e} similar ao comportamento de @mrefdot{demo}
793 @c WHAT DOES THE FOLLOWING MEAN ???
794 @code{playback (slow)} @'{e} @'{u}til em conjun@,{c}@~{a}o com @code{save} ou com
795 @mref{stringout}
796 na cria@,{c}@~{a}o de um arquivo secund@'{a}rio de armazenagem com o objetivo de selecionar
797 express@~{o}es @'{u}teis.
799 @code{playback (time)} mostra o tempo de computa@,{c}@~{a}o para cada express@~{a}o.
800 @c DON'T BOTHER TO MENTION OBSOLETE OPTIONS !!!
801 @c The arguments @code{gctime} and @code{totaltime} have the same effect as @code{time}.
803 @code{playback (grind)} mostra express@~{o}es de entrada no mesmo formato que a
804 fun@,{c}@~{a}o @code{grind}.  Express@~{o}es de sa@'{i}da n@~{a}o s@~{a}o afetadas ppela op@,{c}@~{a}o
805 @code{grind}.  Veja @mrefdot{grind}
807 Argumentos podem ser combinados, e.g., @code{playback ([5, 10], grind, time, slow)}.
808 @c APPEARS TO BE input INTERSECT (UNION OF ALL OTHER ARGUMENTS). CORRECT ???
810 @opencatbox
811 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o} @category{Intera@,{c}@~{a}o com o console}
812 @closecatbox
813 @end deffn
815 @c -----------------------------------------------------------------------------
816 @need 800
817 @anchor{prompt}
818 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} prompt
819 Valor padr@~{a}o: @code{_}
821 A vari@'{a}vel de op@,{c}@~{a}o @code{prompt} @'{e} o s@'{i}mbolo de linha de comando da fun@,{c}@~{a}o @mrefcomma{demo}
822 modo @code{playback (slow)}, e do la@,{c}o de parada do Maxima (da forma invocada por
823 @mref{break}
826 @opencatbox
827 @category{Vari@'{a}veis globais} @category{Intera@,{c}@~{a}o com o console}
828 @closecatbox
829 @end defvr
831 @c -----------------------------------------------------------------------------
832 @anchor{quit}
833 @deffn {Fun@,{c}@~{a}o} quit ()
835 Encerra a sess@~{a}o do Maxima.  Note que a fun@,{c}@~{a}o deve ser chamada como
836 @code{quit();} ou como @code{quit()$}, n@~{a}o como @code{quit} somente.
838 Para parar um c@'{a}lculo muito demorado, aperte @code{control-C}.  O comportamento padr@~{a}o @'{e}
839 retornar paa a linha de comando do Maxima.  Se @code{*debugger-hook*} for @code{nil},
840 @code{control-C} abre o depurador Lisp.  Veja tamb@'{e}m @ref{Debugging}.
842 @opencatbox
843 @category{Intera@,{c}@~{a}o com o console}
844 @closecatbox
845 @end deffn
847 @c -----------------------------------------------------------------------------
848 @anchor{read}
849 @deffn {Fun@,{c}@~{a}o} read (@var{expr_1}, @dots{}, @var{expr_n})
851 Mostra @var{expr_1}, @dots{}, @var{expr_n}, a seguir l@^{e} uma express@~{a}o a partir do
852 console e retorna a express@~{a}o avaliada.  A express@~{a}o @'{e} terminada com
853 um ponto e v@'{i}rgula @code{;} ou com o @code{$} (sinal de d@'{o}lar).
855 Veja tamb@'{e}m @mref{readonly}
857 Exemplo:
859 @example
860 (%i1) foo: 42$ 
861 (%i2) foo: read ("foo is", foo, " -- enter new value.")$
862 foo is 42  -- enter new value. 
863 (a+b)^3;
864 (%i3) foo;
865                                      3
866 (%o3)                         (b + a)
867 @end example
869 @opencatbox
870 @category{Intera@,{c}@~{a}o com o console}
871 @closecatbox
872 @end deffn
874 @c -----------------------------------------------------------------------------
875 @anchor{readonly}
876 @deffn {Fun@,{c}@~{a}o} readonly (@var{expr_1}, @dots{}, @var{expr_n})
878 Mostra @var{expr_1}, @dots{}, @var{expr_n}, a seguir l@^{e} uma express@~{a}o a partir do
879 console e retorna a express@~{a}o (sem avalia@,{c}@~{a}o).  A express@~{a}o @'{e}
880 terminada com um @code{;} (ponto e v@'{i}rgula) ou com um @code{$} (sinal de d@'{o}lar).
882 Veja tamb@'{e}m @mrefdot{read}
884 Exemplos:
886 @example
887 (%i1) aa: 7$
888 (%i2) foo: readonly ("Enter an expression:");
889 Enter an expression: 
890 2^aa;
891                                   aa
892 (%o2)                            2
893 (%i3) foo: read ("Enter an expression:");
894 Enter an expression: 
895 2^aa;
896 (%o3)                            128
897 @end example
899 @opencatbox
900 @category{Intera@,{c}@~{a}o com o console}
901 @closecatbox
902 @end deffn
904 @c -----------------------------------------------------------------------------
905 @anchor{reset}
906 @deffn {Fun@,{c}@~{a}o} reset ()
908 Volta muitas vari@'{a}veis globais e de op@,{c}@~{a}o, e algumas outras vari@'{a}veis, para seus
909 valores padr@~{a}o.
911 A fun@,{c}@~{a}o @code{reset} processa as vari@'{a}veis na lista Lisp
912 @code{*variable-initial-values*}.  A macro Lisp @code{defmvar} coloca vari@'{a}veis
913 nessa lista (entre outras a@,{c}@~{o}es).  Muitas, mas n@~{a}o todas, vari@'{a}veis globais e
914 vari@'{a}veis de op@,{c}@~{a}o s@~{a}o definidas por @code{defmvar}, e algumas vari@'{a}veis definidas por
915 @code{defmvar} n@~{a}o s@~{a}o vari@'{a}veis globais nem vari@'{a}veis de op@,{c}@~{a}o.
917 @opencatbox
918 @category{Gerenciamento de sess@~{a}o}
919 @closecatbox
920 @end deffn
922 @c -----------------------------------------------------------------------------
923 @anchor{showtime}
924 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} showtime
925 Valor padr@~{a}o: @code{false}
927 Quando @code{showtime} for @code{true}, o tempo de c@'{a}lculo e o tempo decorrido ambos s@~{a}o
928 mostrados com cada express@~{a}o de sa@'{i}da.
930 O tempo de c@'{a}lculo @'{e} sempre gravado, de forma que @mref{time}
931 e @mref{playback}
932 possam mostrar o tempo de c@'{a}lculo mesmo quando @code{showtime} for @code{false}.
934 Veja tamb@'{e}m @mrefdot{timer}
936 @opencatbox
937 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o} @category{Depurando}
938 @closecatbox
939 @end defvr
941 @c -----------------------------------------------------------------------------
942 @anchor{to_lisp}
943 @deffn {Fun@,{c}@~{a}o} to_lisp ()
945 Insere o sistema Lisp em uma sess@~{a}o do Maxima.  A fun@,{c}@~{a}o @code{(to-maxima)} retorna ao Maxima.
947 Exemplo:
949 Define a function and enter the Lisp system under Maxima.  The definition is
950 inspected on the property list, then the function definition is extracted,
951 factored and stored in the variable $result.  The variable can be used in Maxima
952 after returning to Maxima.
954 @example
955 (%i1) f(x):=x^2+x;
956                                   2
957 (%o1)                    f(x) := x  + x
958 (%i2) to_lisp();
959 Type (to-maxima) to restart, ($quit) to quit Maxima.
960 MAXIMA> (symbol-plist '$f)
961 (MPROPS (NIL MEXPR ((LAMBDA) ((MLIST) $X) 
962                              ((MPLUS) ((MEXPT) $X 2) $X))))
963 MAXIMA> (setq $result ($factor (caddr (mget '$f 'mexpr))))
964 ((MTIMES SIMP FACTORED) $X ((MPLUS SIMP IRREDUCIBLE) 1 $X))
965 MAXIMA> (to-maxima)
966 Returning to Maxima
967 (%o2)                         true
968 (%i3) result;
969 (%o3)                       x (x + 1)
970 @end example
972 @opencatbox
973 @category{Intera@,{c}@~{a}o com o console}
974 @closecatbox
975 @end deffn
977 @c -----------------------------------------------------------------------------
978 @anchor{values}
979 @defvr {Vari@'{a}vel de sistema} values
980 Valor inicial: @code{[]}
982 A vari@'{a}vel de sistema @code{values} @'{e} uma lista de todas as vari@'{a}veis de usu@'{a}rio associadas (n@~{a}o op@,{c}@~{o}es do Maxima ou
983 comutadores).  A lsita compreende s@'{i}mbolos associados por @mrefcomma{:}
984 ou por @mrefdot{::}
986 Se o valor de uma vari@'{a}vel @'{e} removido com os comandos @code{kill}, 
987 @mrefcomma{remove}
988 ou @mref{remvalue}
989 a vari@'{a}vel @'{e} apagada de @code{values}.
991 Veja @mref{functions}
992 para uma lista de fun@,{c}@~{o}es definidas pelo usu@'{a}rio.
994 Exemplos:
996 Primeiramente, @code{values} mostra os s@'{i}mbolos @code{a}, @code{b}, 3 @code{c}, mas
997 n@~{a}o mostra o s@'{i}mbolo @code{d}, ele n@~{a}o est@'{a} associado a um valor, e n@~{a}o mostra a fun@,{c}@~{a}o de usu@'{a}rio @code{f}.
998 A seguir os valores s@~{a}o removidos das vari@'{a}veis.  A partir de agora a vari@'{a}vel de sistema @code{values} cont@'{e}m uma lista vazia.
1000 @c ===beg===
1001 @c [a:99, b:: a-90, c:a-b, d, f(x):=x^2];
1002 @c values;
1003 @c [kill(a), remove(b,value), remvalue(c)];
1004 @c values;
1005 @c ===end===
1006 @example
1007 (%i1) [a:99, b::a-90, c:a-b, d, f(x):= x^2];
1008                                            2
1009 (%o1)              [99, 9, 90, d, f(x) := x ]
1010 (%i2) values;
1011 (%o2)                       [a, b, c]
1012 (%i3) [kill(a), remove(b,value), remvalue(c)];
1013 (%o3)                   [done, done, [c]]
1014 (%i4) values;
1015 (%o4)                          []
1016 @end example
1018 @opencatbox
1019 @category{Avalia@,{c}@~{a}o} @category{Vari@'{a}veis globais}
1020 @closecatbox
1021 @end defvr
1023 @c -----------------------------------------------------------------------------
1024 @node Functions and Variables for Display, , Functions and Variables for Command Line, Command Line
1025 @section Functions and Variables for Display
1026 @c -----------------------------------------------------------------------------
1028 @c -----------------------------------------------------------------------------
1029 @anchor{%edispflag}
1030 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} %edispflag
1031 Valor padr@~{a}o: @code{false}
1033 Quando @code{%edispflag} for @code{true}, Maxima mostra a base @code{%e} com um expoente
1034 negativo como um quociente.  Por exemplo, @code{%e^-x} is displayed as
1035 @code{1/%e^x}.  Veja tamb@'{e}m @mrefdot{exptdispflag}
1037 Exemplo:
1039 @c ===beg===
1040 @c %e^-10;
1041 @c %edispflag:true$
1042 @c %e^-10;
1043 @c ===end===
1044 @example
1045 (%i1) %e^-10;
1046                                - 10
1047 (%o1)                        %e
1048 (%i2) %edispflag:true$
1049 (%i3) %e^-10;
1050                                1
1051 (%o3)                         ----
1052                                 10
1053                               %e
1054 @end example
1056 @opencatbox
1057 @category{Fun@,{c}@~{o}es exponecial e logar@'{i}tmica} @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1058 @closecatbox
1059 @end defvr
1061 @c -----------------------------------------------------------------------------
1062 @anchor{absboxchar}
1063 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} absboxchar
1064 Valor padr@~{a}o: @code{!}
1066 @code{absboxchar} @'{e} o caractere usado para desenhar o sinal de valor
1067 absoluto que envolve express@~{o}es que s@~{a}o de comprimento maor que o de uma linha.
1069 Exemplo:
1071 @example
1072 (%i1) abs((x^3+1));
1073                             ! 3    !
1074 (%o1)                       !x  + 1!
1075 @end example
1077 @opencatbox
1078 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1079 @closecatbox
1080 @end defvr
1082 @c AFTER REVIEWING src/displa.lisp, IT LOOKS LIKE THIS VARIABLE HAS NO EFFECT
1083 @c CUT IT ON THE NEXT PASS
1084 @c @defvar cursordisp
1085 @c Valor padr@~{a}o: @code{true}
1086 @c 
1087 @c When @code{cursordisp} is @code{true}, expressions are drawn by
1088 @c the displayer in logical sequence.  This only works with a console
1089 @c which can do cursor movement.  If @code{false}, expressions are
1090 @c printed line by line.
1091 @c 
1092 @c @code{cursordisp} is always @code{false} when a @code{writefile} is in
1093 @c effect.
1094 @c 
1095 @c @end defvar
1097 @c -----------------------------------------------------------------------------
1098 @anchor{disp}
1099 @deffn {Fun@,{c}@~{a}o} disp (@var{expr_1}, @var{expr_2}, @dots{})
1101 Essa fun@,{c}@~{a}o @'{e} como @mref{display}
1102 mas somente o valor dos argumentos @'{e} mostrado ao inv@'{e}s das
1103 equa@,{c}@~{o}es.  @'{E} @'{u}til para argumentos complicados que n@~{a}o possuem nomes 
1104 ou onde somente o valor do argumento @'{e} de interesse e n@~{a}o o nome.
1106 Veja tamb@'{e}m @mref{ldisp}
1107 e @mrefdot{print}
1109 Exemplo:
1111 @c ===beg===
1112 @c b[1,2]:x-x^2$
1113 @c x:123$
1114 @c disp(x, b[1,2], sin(1.0));
1115 @c ===end===
1116 @example
1117 (%i1) b[1,2]:x-x^2$
1118 (%i2) x:123$
1119 (%i3) disp(x, b[1,2], sin(1.0));
1120                                123
1122                                   2
1123                              x - x
1125                         .8414709848078965
1127 (%o3)                         done
1128 @end example
1130 @opencatbox
1131 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o}
1132 @closecatbox
1133 @end deffn
1135 @c -----------------------------------------------------------------------------
1136 @anchor{display}
1137 @deffn {Fun@,{c}@~{a}o} display (@var{expr_1}, @var{expr_2}, @dots{})
1139 Mostra equa@,{c}@~{o}es cujo primeiro membro @'{e} @var{expr_i} n@~{a}o avaliado, e cujo segundo
1140 membro seja o valor da express@~{a}o de forma que ambos sejam centralizados na linha.  Essa fun@,{c}@~{a}o @'{e}
1141 @'{u}til em blocos e em declara@,{c}@~{o}es @mref{for}
1142 com o objetivo de ter resultados resultados intermedi@'{a}rios
1143 mostrados.  Os argumentos a @code{display} s@~{a}o normalmente @'{a}tomos, subscritos 
1144 vari@'{a}veis, ou chamadas a fun@,{c}@~{o}es.
1146 Veja tamb@'{e}m @mrefcomma{ldisplay} @mrefcomma{disp}
1147 e @mrefdot{ldisp}
1149 Exemplo:
1151 @c ===beg===
1152 @c b[1,2]:x-x^2$
1153 @c x:123$
1154 @c display(x, b[1,2], sin(1.0));
1155 @c ===end===
1156 @example
1157 (%i1) b[1,2]:x-x^2$
1158 (%i2) x:123$
1159 (%i3) display(x, b[1,2], sin(1.0));
1160                              x = 123
1162                                       2
1163                          b     = x - x
1164                           1, 2
1166                   sin(1.0) = .8414709848078965
1168 (%o3)                         done
1169 @end example
1171 @opencatbox
1172 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o}
1173 @closecatbox
1174 @end deffn
1176 @c -----------------------------------------------------------------------------
1177 @anchor{display2d}
1178 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} display2d
1179 Valor padr@~{a}o: @code{true}
1181 Quando @code{display2d} for @code{false}, o console de exibi@,{c}@~{a}o @'{e} uma sequ@^{e}ncia de caracteres
1182 na forma unidimensional ao inv@'{e}s de um de exibi@,{c}@~{a}o na forma bidimensional.
1184 Veja tamb@'{e}m @mref{leftjust}
1185 para allternar entre um console de exibi@,{c}@~{a}o de equa@,{c}@~{o}es
1186 alinhado @`{a} esquerda e um console de exibi@,{c}@~{a}o de equa@,{c}@~{o}es centralizado.
1188 Exemplo:
1190 @c ===beg===
1191 @c x/(x^2+1);
1192 @c display2d:false$
1193 @c x/(x^2+1);
1194 @c ===end===
1195 @example
1196 (%i1) x/(x^2+1);
1197                                x
1198 (%o1)                        ------
1199                               2
1200                              x  + 1
1201 (%i2) display2d:false$
1202 (%i3) x/(x^2+1);
1203 (%o3) x/(x^2+1)
1204 @end example
1206 @opencatbox
1207 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1208 @closecatbox
1209 @end defvr
1211 @c -----------------------------------------------------------------------------
1212 @anchor{display_format_internal}
1213 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} display_format_internal
1214 Valor padr@~{a}o: @code{false}
1216 Quando @code{display_format_internal} for @code{true}, express@~{o}es s@~{a}o msotradas
1217 sem serem transformadas em formas que escondam a representa@,{c}@~{a}o matem@'{a}tica
1218 interna.  A exibi@,{c}@~{a}o ent@~{a}o corresponde ao retorno de @mref{inpart}
1219 ao inv@'{e}s de corresponder ao retorno de @mrefdot{part}
1221 Exemplos:
1223 @example
1224 User     part       inpart
1225 a-b;      a - b     a + (- 1) b
1227            a            - 1
1228 a/b;       -         a b
1229            b
1230                        1/2
1231 sqrt(x);   sqrt(x)    x
1233           4 X        4
1234 X*4/3;    ---        - X
1235            3         3
1236 @end example
1238 @opencatbox
1239 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1240 @closecatbox
1241 @end defvr
1243 @c IS THIS FUNCTION STILL USEFUL ???
1244 @c REPHRASE, NEEDS EXAMPLES
1246 @c -----------------------------------------------------------------------------
1247 @anchor{dispterms}
1248 @deffn {Fun@,{c}@~{a}o} dispterms (@var{expr})
1250 Mostra @var{expr} em partes uma abaixo da outra.  Isto @'{e}, primeiramente o operador
1251 de @var{expr} @'{e} mostrado, a seguir cada parcela em uma soma, ou cada fator em um produto, ou
1252 parte de uma express@~{a}o mais geral @'{e} mostrada separadamente.  @'{E} @'{u}til se
1253 @var{expr} for muito grande para ser mostrada de outra forma.  Por exemplo se @code{P1},
1254 @code{P2}, @dots{}  forem espress@~{o}es muito grande ent@~{a}o o programa de exibi@,{c}@~{a}o pode executar
1255 fora do espa@,{c}o de armazenagem na tentativa de mostra @code{P1 + P2 + ...}  toda de uma vez.
1256 Todavia, @code{dispterms (P1 + P2 + ...)} mostra @code{P1}, ent@~{a}o abaixo dela
1257 mostra @code{P2}, etc.  Quando n@~{a}o se usa @code{dispterms}, se uma express@~{a}o exponencial
1258 @'{e} muito larga para ser mostrada como @code{A^B} aparece como @code{expt (A, B)} (ou
1259 como @code{ncexpt (A, B)} no caso de @code{A^^B})@footnote{Nota do tradutor: exponencial n@~{a}o comutativa.}.
1261 Exemplo:
1263 @example
1264 (%i1) dispterms(2*a*sin(x)+%e^x);
1268 2 a sin(x)
1270   x
1273 (%o1)                         done
1274 @end example
1276 @opencatbox
1277 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o}
1278 @closecatbox
1279 @end deffn
1281 @c -----------------------------------------------------------------------------
1282 @anchor{expt}
1283 @anchor{ncexpt}
1284 @deffn  {S@'{i}mbolo especial} expt (@var{a}, @var{b})
1285 @deffnx {S@'{i}mbolo especial} ncexpt (@var{a}, @var{b})
1287 Se uma express@~{a}o exponencial @'{e} muito larga para ser mostrada como
1288 @code{@var{a}^@var{b}} ela aparece como @code{expt (@var{a}, @var{b})} (ou como
1289 @code{ncexpt (@var{a}, @var{b})} no caso de @code{@var{a}^^@var{b}}).
1291 @c THIS SEEMS LIKE A BUG TO ME.  expt, ncexpt SHOULD BE RECOGNIZED SINCE MAXIMA
1292 @c ITSELF PRINTS THEM SOMETIMES.  THESE SHOULD JUST SIMPLIFY TO ^ AND ^^,
1293 @c RESPECTIVELY.
1294 Os s@'{i}mbolos especiais @code{expt} e @code{ncexpt} n@~{a}o s@~{a}o reconhecidos na entrada de dados.
1295 @end deffn
1297 @c -----------------------------------------------------------------------------
1298 @anchor{exptdispflag}
1299 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} exptdispflag
1300 Valor padr@~{a}o: @code{true}
1302 Quando @code{exptdispflag} for @code{true}, Maxima mostra express@~{o}es
1303 com expoentes negatovos usando quocientes.  Veja tamb@'{e}m @mrefdot{%edispflag}
1305 Exemplo:
1307 @example
1308 (%i1) exptdispflag:true;
1309 (%o1)                         true
1310 (%i2) 10^-x;
1311                                 1
1312 (%o2)                          ---
1313                                  x
1314                                10
1315 (%i3) exptdispflag:false;
1316 (%o3)                         false
1317 (%i4) 10^-x;
1318                                 - x
1319 (%o4)                         10
1320 @end example
1322 @opencatbox
1323 @category{Express@~{o}es} @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1324 @closecatbox
1325 @end defvr
1327 @c -----------------------------------------------------------------------------
1328 @anchor{grind}
1329 @deffn  {Fun@,{c}@~{a}o} grind (@var{expr})
1331 A fun@,{c}@~{a}o @code{grind} mostra @var{expr} no console de forma adequada a ser usada
1332 em uma entrada do Maxima.  A fun@,{c}@~{a}o @code{grind} sempre retorna @code{done}.
1334 Quando @var{expr} for o nome de uma fun@,{c}@~{a}o ou de uma macro, @code{grind} mostra a
1335 fun@,{c}@~{a}o ou defini@,{c}@~{a}o de macro ao inv@'{e}s de mostrar apenas o nome.
1337 Veja tamb@'{e}m @mrefcomma{string}
1338 que retorna uma sequ@^{e}ncia de caracteres ao inv@'{e}s de mostrar sua
1339 sa@'{i}da.  A fun@,{c}@~{a}o @code{grind} tenta mostrar a express@~{a}o de uma maneira que a torna
1340 levemente mais f@'{a}cil de ler que a sa@'{i}da de @code{string}.
1342 A fun@,{c}@~{a}o @code{grind} avalia seus argumentos.
1344 Exemplos:
1346 @c ===beg===
1347 @c aa + 1729;
1348 @c grind (%);
1349 @c [aa, 1729, aa + 1729];
1350 @c grind (%);
1351 @c matrix ([aa, 17], [29, bb]);
1352 @c grind (%);
1353 @c set (aa, 17, 29, bb);
1354 @c grind (%);
1355 @c exp (aa / (bb + 17)^29);
1356 @c grind (%);
1357 @c expr: expand ((aa + bb)^10);
1358 @c grind (expr);
1359 @c string (expr);
1360 @c cholesky (A):= block ([n : length (A), L : copymatrix (A),
1361 @c   p : makelist (0, i, 1, length (A))], 
1362 @c   for i thru n do for j : i thru n do
1363 @c   (x : L[i, j], x : x - sum (L[j, k] * L[i, k], k, 1, i - 1), 
1364 @c   if i = j then @c   p[i] : 1 / sqrt(x) else L[j, i] : x * p[i]), 
1365 @c   for i thru n do L[i, i] : 1 / p[i],
1366 @c   for i thru n do for j : i + 1 thru n do L[i, j] : 0, L)$
1367 @c grind (cholesky);
1368 @c string (fundef (cholesky));
1369 @c ===end===
1370 @example
1371 (%i1) aa + 1729;
1372 (%o1)                       aa + 1729
1373 (%i2) grind (%);
1374 aa+1729$
1375 (%o2)                         done
1376 (%i3) [aa, 1729, aa + 1729];
1377 (%o3)                 [aa, 1729, aa + 1729]
1378 (%i4) grind (%);
1379 [aa,1729,aa+1729]$
1380 (%o4)                         done
1381 (%i5) matrix ([aa, 17], [29, bb]);
1382                            [ aa  17 ]
1383 (%o5)                      [        ]
1384                            [ 29  bb ]
1385 (%i6) grind (%);
1386 matrix([aa,17],[29,bb])$
1387 (%o6)                         done
1388 (%i7) set (aa, 17, 29, bb);
1389 (%o7)                   @{17, 29, aa, bb@}
1390 (%i8) grind (%);
1391 @{17,29,aa,bb@}$
1392 (%o8)                         done
1393 (%i9) exp (aa / (bb + 17)^29);
1394                                 aa
1395                             -----------
1396                                      29
1397                             (bb + 17)
1398 (%o9)                     %e
1399 (%i10) grind (%);
1400 %e^(aa/(bb+17)^29)$
1401 (%o10)                        done
1402 (%i11) expr: expand ((aa + bb)^10);
1403          10           9        2   8         3   7         4   6
1404 (%o11) bb   + 10 aa bb  + 45 aa  bb  + 120 aa  bb  + 210 aa  bb
1405          5   5         6   4         7   3        8   2
1406  + 252 aa  bb  + 210 aa  bb  + 120 aa  bb  + 45 aa  bb
1407         9        10
1408  + 10 aa  bb + aa
1409 (%i12) grind (expr);
1410 @group
1411 bb^10+10*aa*bb^9+45*aa^2*bb^8+120*aa^3*bb^7+210*aa^4*bb^6
1412      +252*aa^5*bb^5+210*aa^6*bb^4+120*aa^7*bb^3+45*aa^8*bb^2
1413      +10*aa^9*bb+aa^10$
1414 @end group
1415 (%o12)                        done
1416 (%i13) string (expr);
1417 (%o13) bb^10+10*aa*bb^9+45*aa^2*bb^8+120*aa^3*bb^7+210*aa^4*bb^6\
1418 +252*aa^5*bb^5+210*aa^6*bb^4+120*aa^7*bb^3+45*aa^8*bb^2+10*aa^9*\
1419 bb+aa^10
1420 (%i14) cholesky (A):= block ([n : length (A), L : copymatrix (A),
1421   p : makelist (0, i, 1, length (A))], for i thru n do
1422   for j : i thru n do
1423   (x : L[i, j], x : x - sum (L[j, k] * L[i, k], k, 1, i - 1),
1424   if i = j then p[i] : 1 / sqrt(x) else L[j, i] : x * p[i]),
1425   for i thru n do L[i, i] : 1 / p[i],
1426   for i thru n do for j : i + 1 thru n do L[i, j] : 0, L)$
1427 (%i15) grind (cholesky);
1428 cholesky(A):=block(
1429          [n:length(A),L:copymatrix(A),
1430           p:makelist(0,i,1,length(A))],
1431          for i thru n do
1432              (for j from i thru n do
1433                   (x:L[i,j],x:x-sum(L[j,k]*L[i,k],k,1,i-1),
1434                    if i = j then p[i]:1/sqrt(x)
1435                        else L[j,i]:x*p[i])),
1436          for i thru n do L[i,i]:1/p[i],
1437          for i thru n do (for j from i+1 thru n do L[i,j]:0),L)$
1438 (%o15)                        done
1439 (%i16) string (fundef (cholesky));
1440 (%o16) cholesky(A):=block([n:length(A),L:copymatrix(A),p:makelis\
1441 t(0,i,1,length(A))],for i thru n do (for j from i thru n do (x:L\
1442 [i,j],x:x-sum(L[j,k]*L[i,k],k,1,i-1),if i = j then p[i]:1/sqrt(x\
1443 ) else L[j,i]:x*p[i])),for i thru n do L[i,i]:1/p[i],for i thru \
1444 n do (for j from i+1 thru n do L[i,j]:0),L)
1445 @end example
1447 @opencatbox
1448 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o}
1449 @closecatbox
1450 @end deffn
1452 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} grind
1454 Quando a variável @code{grind} for @code{true}, a saída de @code{string} e de
1455 @mref{stringout} possuem o mesmo formato de @code{grind}; de outra forma nenhuma
1456 tentativa Ã© feita para formatar especialmente a saída das funções @code{string} e @code{stringout}.  O valor
1457 padrão da variável @code{grind} Ã© @code{false}.
1459 A variável @code{grind} pode também ser especificada como um argumento da função @mrefdot{playback}  Quando
1460 @code{grind} estiver presente,  A função @code{playback} exibe expressões de entrada no mesmo
1461 formato da função @code{grind}.  De outra forma, nenhuma tentativa Ã© feita para formatar
1462 especialmente expressões de entrada.
1464 @opencatbox
1465 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1466 @closecatbox
1467 @end defvr
1469 @c -----------------------------------------------------------------------------
1470 @anchor{ibase}
1471 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} ibase
1472 Valor padr@~{a}o: @code{10}
1474 A vari@'{a}vel de op@,{c}@~{a}o @code{ibase} define a base do sistema de numera@,{c}@~{a}o para os inteiros lidos pelo Maxima.
1476 @`{A} vari@'{a}vel de op@,{c}@~{a}o @code{ibase} pode ser atribu@'{i}do qualquer inteiro entre 2 e 36 (decimal), inclusive.
1477 Quando @code{ibase} for maior que 10,
1478 os numerais compreendem os algarismos de 0 a 9
1479 bem como as letras do alfabeto A, B, C, @dots{},
1480 da forma que @'{e} preciso para completar @code{ibase} d@'{i}gitos completamente.
1481 Letras s@~{a}o interpretadas como d@'{i}gitos somente se o primeiro d@'{i}gito for um dos algarismos de 0 a 9.
1482 Letras em caixa alta ou baixa s@~{a}o tratadas igualmente.
1483 Os numerais na base 36, a maior base aceit@'{a}vel,
1484 compreendem os algarismos de 0 a 9 e de A a Z.
1486 Qualquer que seja o valor de @code{ibase},
1487 quando um inteiro @'{e} terminado por um ponto decimal,
1488 @'{e} interpretado como sendo de base 10.
1490 Veja tamb@'{e}m @mrefdot{obase}
1492 Exemplos:
1494 @code{ibase} less than 10.
1496 @c ===beg===
1497 @c ibase : 2 $
1498 @c obase;
1499 @c 1111111111111111;
1500 @c ===end===
1501 @example
1502 (%i1) ibase : 2 $
1503 (%i2) obase;
1504 (%o2)                          10
1505 (%i3) 1111111111111111;
1506 (%o3)                         65535
1507 @end example
1509 Vari@'{a}vel de op@,{c}@~{a}o @code{ibase} maior que 10.
1510 Letras s@~{a}o interpretadas como d@'{i}gitos somente se o primeiro d´igito for um algarismo de 0 a 9.
1512 @c ===beg===
1513 @c ibase : 16 $
1514 @c obase;
1515 @c 1000;
1516 @c abcd;
1517 @c symbolp (abcd);
1518 @c 0abcd;
1519 @c symbolp (0abcd);
1520 @c ===end===
1521 @example
1522 (%i1) ibase : 16 $
1523 (%i2) obase;
1524 (%o2)                          10
1525 (%i3) 1000;
1526 (%o3)                         4096
1527 (%i4) abcd;
1528 (%o4)                         abcd
1529 (%i5) symbolp (abcd);
1530 (%o5)                         true
1531 (%i6) 0abcd;
1532 (%o6)                         43981
1533 (%i7) symbolp (0abcd);
1534 (%o7)                         false
1535 @end example
1537 Quando um inteiro for terminado por um ponto decimal,
1538 @'{e} interpretado como sendo de base 10.
1540 @c ===beg===
1541 @c ibase : 36 $
1542 @c obase;
1543 @c 1234;
1544 @c 1234.;
1545 @c ===end===
1546 @example
1547 (%i1) ibase : 36 $
1548 (%i2) obase;
1549 (%o2)                          10
1550 (%i3) 1234;
1551 (%o3)                         49360
1552 (%i4) 1234.;
1553 (%o4)                         1234
1554 @end example
1556 @opencatbox
1557 @category{Intera@,{c}@~{a}o com o console}
1558 @closecatbox
1559 @end defvr
1561 @c -----------------------------------------------------------------------------
1562 @anchor{ldisp}
1563 @deffn {Fun@,{c}@~{a}o} ldisp (@var{expr_1}, @dots{}, @var{expr_n})
1565 Mostra as express@~{o}es @var{expr_1}, @dots{}, @var{expr_n} no console da forma que
1566 elas foram mostradas na sa@'{i}da.  A fun@,{c}@~{a}o @code{ldisp} atribui um r@'{o}tulo de express@~{a}o intermedi@'{a}ria a cada
1567 argumento e retorna a lista de r@'{o}tulos.
1569 Veja tamb@'{e}m @mrefcomma{disp} @mrefcomma{display}
1570 e @mrefdot{ldisplay}
1572 Exemplos:
1574 @example
1575 (%i1) e: (a+b)^3;
1576                                    3
1577 (%o1)                       (b + a)
1578 (%i2) f: expand (e);
1579                      3        2      2      3
1580 (%o2)               b  + 3 a b  + 3 a  b + a
1581 (%i3) ldisp (e, f);
1582                                    3
1583 (%t3)                       (b + a)
1585                      3        2      2      3
1586 (%t4)               b  + 3 a b  + 3 a  b + a
1588 (%o4)                      [%t3, %t4]
1589 (%i4) %t3;
1590                                    3
1591 (%o4)                       (b + a)
1592 (%i5) %t4;
1593                      3        2      2      3
1594 (%o5)               b  + 3 a b  + 3 a  b + a
1595 @end example
1597 @opencatbox
1598 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o}
1599 @closecatbox
1600 @end deffn
1602 @c -----------------------------------------------------------------------------
1603 @anchor{ldisplay}
1604 @deffn {Fun@,{c}@~{a}o} ldisplay (@var{expr_1}, @dots{}, @var{expr_n})
1606 Mostra express@~{o}es @var{expr_1}, @dots{}, @var{expr_n} no console da forma que
1607 elas foram mostradas na sa@'{i}da.  Cada express@~{a}o @'{e} mostrada como uma equa@,{c}@~{a}o da forma
1608 @code{primeiromembro = segundomembro} na qual @code{primeiromembro} @'{e} um dos argumentos de @code{ldisplay}
1609 e @code{segundomembro} @'{e} seu valor.  Tipicamente cada argumento @'{e} uma vari@'{a}vel.
1610 A fun@,{c}@~{a}o @mref{ldisp}
1611 atribui um r@'{o}tulo de express@~{a}o intermedi@'{a}ria a cada equa@,{c}@~{a}o e
1612 retorna a lista de r@'{o}tulos.
1614 Veja tamb@'{e}m @mrefcomma{display} @mrefcomma{disp}
1615 e @mrefdot{ldisp}
1617 Exemplos:
1619 @example
1620 (%i1) e: (a+b)^3;
1621                                    3
1622 (%o1)                       (b + a)
1623 (%i2) f: expand (e);
1624                      3        2      2      3
1625 (%o2)               b  + 3 a b  + 3 a  b + a
1626 (%i3) ldisplay (e, f);
1627                                      3
1628 (%t3)                     e = (b + a)
1630                        3        2      2      3
1631 (%t4)             f = b  + 3 a b  + 3 a  b + a
1633 (%o4)                      [%t3, %t4]
1634 (%i4) %t3;
1635                                      3
1636 (%o4)                     e = (b + a)
1637 (%i5) %t4;
1638                        3        2      2      3
1639 (%o5)             f = b  + 3 a b  + 3 a  b + a
1640 @end example
1642 @opencatbox
1643 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o}
1644 @closecatbox
1645 @end deffn
1647 @c -----------------------------------------------------------------------------
1648 @anchor{leftjust}
1649 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} leftjust
1650 Valor padr@~{a}o: @code{false}
1652 Quando @code{leftjust} for @code{true}, equa@,{c}@~{o}es no console 2D s@~{a}o desenhadas alinhadas
1653 @`{a} esquerda ao inv@'{e}s de centralizadas.
1655 Veja tamb@'{e}m @mref{display2d}
1656 para alternar entre o console de exibi@,{c}@~{a}o 1D e o console de exibi@,{c}@~{a}o 2D.
1658 Exemplo:
1660 @example
1661 (%i1) expand((x+1)^3);
1662                         3      2
1663 (%o1)                  x  + 3 x  + 3 x + 1
1664 (%i2) leftjust:true$
1665 (%i3) expand((x+1)^3);
1666        3      2
1667 (%o3) x  + 3 x  + 3 x + 1
1668 @end example
1670 @opencatbox
1671 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1672 @closecatbox
1673 @end defvr
1675 @c -----------------------------------------------------------------------------
1676 @anchor{linel}
1677 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} linel
1678 Valor padr@~{a}o: @code{79}
1680 A vari@'{a}vel de op@,{c}@~{a}o @code{linel} @'{e} a largura assumida (em caracteres) do console de exibi@,{c}@~{a}o com
1681 a finalidade de mstrar express@~{o}es.  @`{A} vari@'{a}vel de op@,{c}@~{a}o @code{linel} pode ser atribu@'{i}do qualquer valor pelo
1682 usu@'{a}rio, embora valores muito pequenos ou muito grandes sejam impratic@'{a}veis.  Texto
1683 mostradaos pelas fun@,{c}@~{o}es embutidas do Maxima, tais como mensagens de erro e a sa@'{i}da de
1684 @mrefcomma{describe}
1685 n@~{a}o s@~{a}o afetadas por @code{linel}.
1687 @opencatbox
1688 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1689 @closecatbox
1690 @end defvr
1692 @c -----------------------------------------------------------------------------
1693 @need 800
1694 @anchor{lispdisp}
1695 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} lispdisp
1696 Valor padr@~{a}o: @code{false}
1698 Quando @code{lispdisp} for @code{true}, s@'{i}mbolos Lisp s@~{a}o mostrados com uma interroga@,{c}@~{a}o
1699 @code{?} no in@'{i}cio.  De outra forma, s@'{i}mbolos Lisp s@~{a}o mostrados sem nada no
1700 in@'{i}cio. Tem o mesmo efeito para sa@'{i}das tanto em uma dimens@~{a}o quanto em duas dimens@~{o}es.
1702 Exemplos:
1704 @c ===beg===
1705 @c lispdisp: false$
1706 @c ?foo + ?bar;
1707 @c lispdisp: true$
1708 @c ?foo + ?bar;
1709 @c ===end===
1710 @example
1711 (%i1) lispdisp: false$
1712 (%i2) ?foo + ?bar;
1713 (%o2)                       foo + bar
1714 (%i3) lispdisp: true$
1715 (%i4) ?foo + ?bar;
1716 (%o4)                      ?foo + ?bar
1717 @end example
1719 @opencatbox
1720 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1721 @closecatbox
1722 @end defvr
1724 @c NEEDS CLARIFICATION, EXAMPLES
1726 @c -----------------------------------------------------------------------------
1727 @anchor{negsumdispflag}
1728 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} negsumdispflag
1729 Valor padr@~{a}o: @code{true}
1731 Quando @code{negsumdispflag} for @code{true}, @code{x - y} @'{e} exibido como @code{x - y}
1732 masmo ao inv@'{e}s de ser exibido como @code{- y + x}.  Ajustando @code{negsumdispflag} para @code{false} faz com que a
1733 verifica@,{c}@~{a}o especial na exibi@,{c}@~{a}o de diferen@,{c}as entre duas express@~{o}es n@~{a}o seja feita.  Uma
1734 aplica@,{c}@~{a}o @'{e} que dessa forma @code{a + %i*b} e @code{a - %i*b} podem ambas serem
1735 mostradas da mesma maneira.
1737 @opencatbox
1738 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1739 @closecatbox
1740 @end defvr
1742 @c -----------------------------------------------------------------------------
1743 @anchor{obase}
1744 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} obase
1745 Valor padr@~{a}o: @code{10}
1747 @code{obase} is the base for integers displayed by Maxima.
1749 @code{obase} may be assigned any integer between 2 and 36 (decimal), inclusive.
1750 When @code{obase} is greater than 10,
1751 the numerals comprise the decimal numerals 0 through 9
1752 plus capital letters of the alphabet A, B, C, @dots{}, as needed.
1753 A leading 0 digit is displayed if the leading digit is otherwise a letter.
1754 The numerals for base 36, the largest acceptable base,
1755 comprise 0 through 9, and A through Z.
1757 Veja tamb@'{e}m @mrefdot{ibase}
1759 Exemplos:
1761 @c ===beg===
1762 @c obase : 2;
1763 @c 2^8 - 1;
1764 @c obase : 8;
1765 @c 8^8 - 1;
1766 @c obase : 16;
1767 @c 16^8 - 1;
1768 @c obase : 36;
1769 @c 36^8 - 1;
1770 @c ===end===
1771 @example
1772 (%i1) obase : 2;
1773 (%o1)                          10
1774 (%i2) 2^8 - 1;
1775 (%o10)                      11111111
1776 (%i3) obase : 8;
1777 (%o3)                          10
1778 (%i4) 8^8 - 1;
1779 (%o4)                       77777777
1780 (%i5) obase : 16;
1781 (%o5)                          10
1782 (%i6) 16^8 - 1;
1783 (%o6)                       0FFFFFFFF
1784 (%i7) obase : 36;
1785 (%o7)                          10
1786 (%i8) 36^8 - 1;
1787 (%o8)                       0ZZZZZZZZ
1788 @end example
1790 @opencatbox
1791 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o} @category{Intera@,{c}@~{a}o com o console}
1792 @closecatbox
1793 @end defvr
1795 @c -----------------------------------------------------------------------------
1796 @anchor{pfeformat}
1797 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} pfeformat
1798 Valor padr@~{a}o: @code{false}
1800 Quando @code{pfeformat} for @code{true}, uma raz@~{a}o entre inteiros @'{e} mostrada com a
1801 barra normal representando o tra@,{c}o de fra@,{c}@~{a}o, e um denominador inteiro @code{n} @'{e}
1802 mostrado como um termo multipllicativo @code{1/n} no in@'{i}cio.
1804 Exemplos:
1806 @example
1807 (%i1) pfeformat: false$
1808 (%i2) 2^16/7^3;
1809                               65536
1810 (%o2)                         -----
1811                                343
1812 (%i3) (a+b)/8;
1813                               b + a
1814 (%o3)                         -----
1815                                 8
1816 (%i4) pfeformat: true$ 
1817 (%i5) 2^16/7^3;
1818 (%o5)                       65536/343
1819 (%i6) (a+b)/8;
1820 (%o6)                      1/8 (b + a)
1821 @end example
1823 @opencatbox
1824 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1825 @closecatbox
1826 @end defvr
1828 @c -----------------------------------------------------------------------------
1829 @anchor{powerdisp}
1830 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} powerdisp
1831 Valor padr@~{a}o: @code{false}
1833 Quando @code{powerdisp} for @code{true},
1834 uma soma @'{e} mostrada com seus termos em ordem crescente de expoente.
1835 Dessa forma um polin@^{o}mio @'{e} mostrado como uma s@'{e}rie de pot@^{e}ncia truncada,
1836 com os termos constantes na frente e o maior expoente por @'{u}ltimo.
1838 Por padr@~{a}o, termos de uma soma s@~{a}o mostrados em ordem decrescente de expoente.
1840 Exemplo:
1842 @example
1843 (%i1) powerdisp:true;
1844 (%o1)                         true
1845 (%i2) x^2+x^3+x^4;
1846                            2    3    4
1847 (%o2)                     x  + x  + x
1848 (%i3) powerdisp:false;
1849 (%o3)                         false
1850 (%i4) x^2+x^3+x^4;
1851                            4    3    2
1852 (%o4)                     x  + x  + x
1853 @end example
1855 @opencatbox
1856 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1857 @closecatbox
1858 @end defvr
1860 @c -----------------------------------------------------------------------------
1861 @anchor{print}
1862 @deffn {Fun@,{c}@~{a}o} print (@var{expr_1}, @dots{}, @var{expr_n})
1864 Avalia e mostra @var{expr_1}, @dots{}, @var{expr_n} uma ap@'{o}s a outra,
1865 da esquerda para a direita, iniciando a partir do canto esquerdo do console de exibi@,{c}@~{a}o.
1867 O valor retornado por @code{print} @'{e} o valor de seu @'{u}ltimo argumento.
1868 A fun@,{c}@~{a}o @code{print} n@~{a}o gera r@'{o}tulos de express@~{o}es intermedi@'{a}rias.
1870 Veja tamb@'{e}m @mrefcomma{display} @mrefcomma{disp} @mrefcomma{ldisplay}
1871 e @mrefdot{ldisp}
1872 Essas fun@,{c}@~{o}es mostram uma express@~{a}o por linha, enquanto
1873 @code{print} tenta mostrar duas ou mais express@~{o}es por linha.
1875 Para mostrar o conte@'{u}do de um arquivo, veja @mrefdot{printfile}
1877 Exemplos:
1879 @example
1880 (%i1) r: print ("(a+b)^3 is", expand ((a+b)^3), "log (a^10/b) is",
1881       radcan (log (a^10/b)))$
1882             3        2      2      3
1883 (a+b)^3 is b  + 3 a b  + 3 a  b + a  log (a^10/b) is 
1885                                               10 log(a) - log(b) 
1886 (%i2) r;
1887 (%o2)                  10 log(a) - log(b)
1888 (%i3) disp ("(a+b)^3 is", expand ((a+b)^3), "log (a^10/b) is",
1889       radcan (log (a^10/b)))$
1890                            (a+b)^3 is
1892                      3        2      2      3
1893                     b  + 3 a b  + 3 a  b + a
1895                          log (a^10/b) is
1897                        10 log(a) - log(b)
1898 @end example
1900 @opencatbox
1901 @category{Fun@,{c}@~{o}es de exibi@,{c}@~{a}o}
1902 @closecatbox
1903 @end deffn
1905 @c -----------------------------------------------------------------------------
1906 @anchor{sqrtdispflag}
1907 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} sqrtdispflag
1908 Valor padr@~{a}o: @code{true}
1910 Quando @code{sqrtdispflag} for @code{false}, faz com que @code{sqrt} seja mostrado com
1911 expoente 1/2.
1912 @c AND OTHERWISE ... ??
1914 @opencatbox
1915 @category{Fun@,{c}@~{o}es matem@'{a}ticas} @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1916 @closecatbox
1917 @end defvr
1919 @c -----------------------------------------------------------------------------
1920 @anchor{stardisp}
1921 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} stardisp
1922 Valor padr@~{a}o: @code{false}
1924 Quando @code{stardisp} for @code{true}, multiplica@,{c}@~{a}o @'{e}
1925 mostrada com um asterisco @code{*} entre os fatores.
1927 @opencatbox
1928 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1929 @closecatbox
1930 @end defvr
1932 @c -----------------------------------------------------------------------------
1933 @anchor{ttyoff}
1934 @defvr {Vari@'{a}vel de op@,{c}@~{a}o} ttyoff
1935 Valor padr@~{a}o: @code{false}
1937 Quando @code{ttyoff} for @code{true}, express@~{o}es de sa@'{i}da n@~{a}o s@~{a}o mostradas.
1938 Mesmo assim elas ainda ser@~{a}o calculadas e ainda receber@~{a}o r@'{o}tulos de sa@'{i}da.  Veja @mrefdot{labels}
1940 Texto mostrados pela fun@,{c}@~{o}es embutidas no Maxima, tais como mensagens de erro e a sa@'{i}da
1941 de @mrefcomma{describe}
1942 n@~{a}o s@~{a}o afetadas por @code{ttyoff}.
1944 @opencatbox
1945 @category{Sinalizadores e vari@'{a}veis de exibi@,{c}@~{a}o}
1946 @closecatbox
1947 @end defvr