In documentation for lreduce and rreduce, supply second argument as an explicit list
[maxima.git] / doc / info / pt_BR / Help.texi
blobcd8fe14a3d6466e28b98e61c68ba4e160d6ce4f0
1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /Help.texi/1.23/Sat Jun  2 00:12:47 2007/-ko/
3 @iftex
4 @hyphenation{cor-res-pon-de}
5 @end iftex
6 @menu
7 * Lisp e Maxima::            
8 * Descartando::          
9 * Documentação::               
10 * Funções e Variáveis Definidas para Ajuda::        
11 @end menu
13 @node Lisp e Maxima, Descartando, Ajuda, Ajuda
14 @section Lisp e Maxima
15 Maxima é escrito na liguagem de programação Lisp, e é fácil acessar funções Lisp e variáveis
16 a partir do Maxima e vice-versa.
17 Símbolos Lisp e Maxima são disting@"{u}idos através de uma convenção de nome.
18 Um símbolo Lisp que começa com um sinal de dólar @code{$} corresponde a
19 um símbolo Maxima sem o sinal de dólar.
20 @c NEED TO MENTION THIS OR IS IT JUST CLUTTERING ??
21 @c This includes special Maxima variables such as @code{%} and input and output labels,
22 @c which appear as @code{$%}, @code{$%i1}, @code{$%o1}, etc., in Lisp.
23 Um símbolo Maxima que começa com um ponto de interrogação @code{?} corresponde a
24 um símbolo Lisp sem o ponto de interrogação.
25 Por exemplo, o símbolo Maxima @code{foo} corresponde ao símbolo Lisp @code{$foo},
26 enquanto o símbolo Maxima @code{?foo} corresponde ao símbolo Lisp @code{foo},
27 Note que @code{?foo} é escrito sem um espaço entre @code{?} e @code{foo};
28 de outra forma pode ser uma chamada errônea para @code{describe ("foo")}.
30 Hífen @code{-}, asterisco @code{*}, ou outro caractere especial em símbolos Lisp
31 deve ser precedido por uma barra invertida @code{\} onde ele aparecer no código Maxima.
32 Por exemplo, o identificador Lisp @code{*foo-bar*} é escrito @code{?\*foo\-bar\*} no Maxima.
34 Código Lisp pode ser executado dentro de uma sessão Maxima.
35 Uma linha simples de Lisp (contendo uma ou mais formas) pode ser executada
36 através do comando especial @code{:lisp}. Por exemplo,
38 @example
39 (%i1) :lisp (foo $x $y)
40 @end example
42 @noindent
43 chama a função Lisp @code{foo} com variáveis Maxima @code{x} e @code{y} como argumentos.
44 A constução @code{:lisp} pode aparecer na linha de comando interativa
45 ou em um arquivo processado por @code{batch} ou @code{demo}, mas não em um arquivo processado por
46 @code{load}, @code{batchload}, @code{translate_file}, ou @code{compile_file}.
48 A função @code{to_lisp()} abre uma sessão interativa Lisp.
49 Digitando @code{(to-maxima)} fecha a sessão Lisp e retorna para o Maxima.
50 @c I DON'T EVEN WANT TO MENTION USING CTRL-C TO OPEN A LISP SESSION.
51 @c (1) IT TAKES EXTRA SET UP TO GET STARTED NAMELY :lisp (setq *debugger-hook* nil)
52 @c (2) IT GETS SCREWED UP EASILY -- TYPE SOMETHING WRONG AND YOU CAN'T GET BACK TO MAXIMA
53 @c (3) IT DOESN'T OFFER FUNCTIONALITY NOT PRESENT IN THE to_lisp() SESSION
55 Funções Lisp e variáveis que são para serem visíveis no Maxima como
56 funções e variáveis com nomes comuns (sem pontuação especial)
57 devem ter nomes Lisp começando com o sinal de dólar @code{$}.
59 Maxima é sensível à caixa, distingue entre letras em caixa alta (maiúsculas) e letras em caixa baixa (minúsculas)
60 em identificadores, enquanto Lisp não é sensível à caixa.
61 Existem algumas regras governando a tradução de nomes entre o Lisp e o Maxima.
63 @enumerate
64 @item
65 Um identificador Lisp não contido entre barras verticais corresponde a um identificador Maxima
66 em caixa baixa.
67 Se o identificador Lisp estiver em caixa alta, caixa baixa, ou caixa mista, é ignorado.
68 E.g., Lisp @code{$foo}, @code{$FOO}, e @code{$Foo} todos correspondem a Maxima @code{foo}.
69 @item
70 Um identificador Lisp que está todo em caixa alta ou todo em caixa baixa
71 e contido em barras verticais corresponde a um identificador Maxima com caixa invertida.
72 Isto é, caixa alta é alterada para caixa baixa e caixa baixa para caixa alta.
73 E.g., Lisp @code{|$FOO|} e @code{|$foo|}
74 corresponde a Maxima @code{foo} e @code{FOO}, respectivamente.
75 @item
76 Um identificador Lisp que é misto de caixa alta e caixa baixa
77 e contido entre barras verticais corresponde a um identificador Maxima com o mesma caixa.
78 E.g., Lisp @code{|$Foo|} corresponde a Maxima @code{Foo}.
79 @end enumerate
81 A macro Lisp @code{#$} permite o uso de expressões Maxima em código Lisp.
82 @code{#$@var{expr}$} expande para uma expressão Lisp equivalente à expressão Maxima @var{expr}.
84 @example
85 (msetq $foo #$[x, y]$)
86 @end example
88 @noindent
89 Isso tem o mesmo efeito que digitar
91 @example
92 (%i1) foo: [x, y];
93 @end example
95 @noindent
96 A função Lisp @code{displa} imprime uma expressão em formato Maxima.
98 @example
99 (%i1) :lisp #$[x, y, z]$ 
100 ((MLIST SIMP) $X $Y $Z)
101 (%i1) :lisp (displa '((MLIST SIMP) $X $Y $Z))
102 [x, y, z]
104 @end example
106 Funções definidas em Maxima não são funções comuns em Lisp.
107 A função Lisp @code{mfuncall} chama uma função Maxima.
108 Por exemplo:
110 @example
111 (%i1) foo(x,y) := x*y$
112 (%i2) :lisp (mfuncall '$foo 'a 'b)
113 ((MTIMES SIMP) A B)
114 @end example
116 Algumas funções Lisp possuem o mesmo nome que no pacote Maxima, a saber as seguintes.
118 @code{complement},
119 @code{continue},
120 @code{//},
121 @code{float},
122 @code{functionp},
123 @code{array},
124 @code{exp},
125 @code{listen},
126 @code{signum},
127 @code{atan},
128 @code{asin},
129 @code{acos},
130 @code{asinh},
131 @code{acosh},
132 @code{atanh},
133 @code{tanh},
134 @code{cosh},
135 @code{sinh},
136 @code{tan},
137 @code{break},
138 e @code{gcd}.
141 @node Descartando, Documentação, Lisp e Maxima, Ajuda
142 @section Descartando
143 Computação simbólica tende a criar um bom volume
144 de arquivos temporários, e o efetivo manuseio disso pode ser crucial para sucesso
145 completo de alguns programas.
147 @c HOW MUCH OF THE FOLLOWING STILL HOLDS ??
148 @c WHAT ABOUT GC IN GCL ON MS WINDOWS ??
149 @c SHOULD WE SAY SOMETHING ABOUT GC FOR OTHER LISPS ??
150 Sob GCL, nos sistemas UNIX onde a chamada de sistema mprotect ( controle de acessso autorizado a uma região de memória) está disponível
151 (incluindo SUN OS 4.0 e algumas variantes de BSD) uma organização de arquivos temporários estratificada
152 está disponível.   Isso limita a organização para páginas que tenham sido recentemente
153 escritas.    Veja a documentação da GCL sob ALLOCATE e GBC.   No
154 ambiente Lisp fazendo (setq si::*notify-gbc* t) irá ajudar você a determinar quais
155 áreas podem precisar de mais espaço.
157 @node Documentação, Funções e Variáveis Definidas para Ajuda, Descartando, Ajuda
158 @section Documentação
160 @c SHOULD TALK ABOUT OTHER FORMS OF DOCUMENTATION ASIDE FROM ON-LINE MANUAL.
162 O manual on-line de usuário do Maxima pode ser visto em diferentes formas.
163 A partir da linha de comando interativa do Maxima, o manual de usuário
164 é visto em texto plano através do comando @code{?} (i.e., a função @code{describe} ).
165 O manual de usuário é visto como hipertexto @code{info} através do programa visualizador @code{info}
166 e como uma web page através de qualquer navegador web comum.
168 @code{example} mostra exemplos de muitas funções do Maxima.
169 Por exemplo,
171 @example
172 (%i1) example (integrate);
173 @end example
175 retorna
177 @example
178 (%i2) test(f):=block([u],u:integrate(f,x),ratsimp(f-diff(u,x)))
179 (%o2) test(f) := block([u], u : integrate(f, x), 
181                                          ratsimp(f - diff(u, x)))
182 (%i3) test(sin(x))
183 (%o3)                           0
184 (%i4) test(1/(x+1))
185 (%o4)                           0
186 (%i5) test(1/(x^2+1))
187 (%o5)                           0
188 @end example
190 e saída adicional.
192 @node Funções e Variáveis Definidas para Ajuda,  , Documentação, Ajuda
193 @section Funções e Variáveis Definidas para Ajuda
195 @deffn {Função} demo (@var{nomearquivo})
196 Avalia expressões Maxima em @var{nomearquivo} e mostra os resultados.
197 @code{demo} faz uma pausa após avaliar cada expressão
198 e continua após a conclusão com um enter das entradas de usuário.
199 (Se executando em Xmaxima, @code{demo} pode precisar ver um ponto e vírgula @code{;}
200 seguido por um enter.)
202 @code{demo} procura na lista de diretórios
203 @code{file_search_demo} para achar @code{nomearquivo}.
204 Se o arquivo tiver o sufixo @code{dem},
205 o sufixo pode ser omitido.
206 Veja também @code{file_search}.
208 @code{demo} avalia seus argumento.
209 @code{demo} retorna o nome do arquivo de demonstração.
211 Exemplo:
213 @example
214 (%i1) demo ("disol");
216 batching /home/wfs/maxima/share/simplification/disol.dem
217  At the _ prompt, type ';' followed by enter to get next demo
218 (%i2)                      load("disol")
221 (%i3)           exp1 : a (e (g + f) + b (d + c))
222 (%o3)               a (e (g + f) + b (d + c))
225 (%i4)                disolate(exp1, a, b, e)
226 (%t4)                         d + c
228 (%t5)                         g + f
230 (%o5)                   a (%t5 e + %t4 b)
233 (%i5) demo ("rncomb");
235 batching /home/wfs/maxima/share/simplification/rncomb.dem
236  At the _ prompt, type ';' followed by enter to get next demo
237 (%i6)                     load("rncomb")
240                              z         x
241 (%i7)               exp1 : ----- + ---------
242                            y + x   2 (y + x)
243                           z         x
244 (%o7)                   ----- + ---------
245                         y + x   2 (y + x)
248 (%i8)                     combine(exp1)
249                           z         x
250 (%o8)                   ----- + ---------
251                         y + x   2 (y + x)
254 (%i9)                     rncombine(%)
255                              2 z + x
256 (%o9)                       ---------
257                             2 (y + x)
260                              d   c   b   a
261 (%i10)                exp2 : - + - + - + -
262                              3   3   2   2
263                           d   c   b   a
264 (%o10)                    - + - + - + -
265                           3   3   2   2
268 (%i11)                    combine(exp2)
269                       2 d + 2 c + 3 (b + a)
270 (%o11)                ---------------------
271                                 6
274 (%i12)                   rncombine(exp2)
275                       2 d + 2 c + 3 b + 3 a
276 (%o12)                ---------------------
277                                 6
280 (%i13) 
281 @end example
283 @end deffn
285 @deffn {Função} describe (@var{string})
286 @deffnx {Função} describe (@var{string}, exact)
287 @deffnx {Função} describe (@var{string}, inexact)
288 @ifinfo
289 @fnindex Ajuda
290 @end ifinfo
292 @code{describe(@var{string})} é equivalente a @code{describe(@var{string}, exact)}.
294 @code{describe(@var{string}, exact)} encontra um item com título igual
295 (case-insensitive)
296 a @var{string}, se existir tal item.
298 @code{describe(@var{string}, inexact)} encontra todos os itens documentados que contiverem @var{string} em seus títulos.
299 Se existe mais de um de tal item, Maxima solicita ao usuário selecionar
300 um item ou ítens para mostrar.
302 Na linha de comando interativa,
303 @code{? foo} (com um espaço entre @code{?} e @code{foo})
304 é equivalente a @code{describe("foo", exact)}.
305 e @code{?? foo} é equivalente a @code{describe("foo", inexact)}.
307 @code{describe("", inexact)} retorna uma lista de todos os tópicos documentados no manual on-line.
309 @code{describe} não avalia seu argumento.
310 @code{describe} retorna @code{true} se alguma documentação for encontrada, de outra forma retorna @code{false}.
312 Veja também @ref{Documentação}.
314 Exemplo:
316 @example
317 (%i1) ?? integ
318  0: Functions and Variables for Elliptic Integrals
319  1: Functions and Variables for Integration
320  2: Introduction to Elliptic Functions and Integrals
321  3: Introduction to Integration
322  4: askinteger  (Functions and Variables for Simplification)
323  5: integerp  (Functions and Variables for Miscellaneous Options)
324  6: integer_partitions  (Functions and Variables for Sets)
325  7: integrate  (Functions and Variables for Integration)
326  8: integrate_use_rootsof  (Functions and Variables for Integration)
327  9: integration_constant_counter  (Functions and Variables for Integration)
328  10: nonnegintegerp  (Functions and Variables for linearalgebra)
329 Enter space-separated numbers, `all' or `none': 7 8
331  -- Function: integrate (<expr>, <x>)
332  -- Function: integrate (<expr>, <x>, <a>, <b>)
333      Attempts to symbolically compute the integral of <expr> with
334      respect to <x>.  `integrate (<expr>, <x>)' is an indefinite
335      integral, while `integrate (<expr>, <x>, <a>, <b>)' is a definite
336      integral, [...]
337      
338  -- Option variable: integrate_use_rootsof
339      Default value: `false'
341      When `integrate_use_rootsof' is `true' and the denominator of a
342      rational function cannot be factored, `integrate' returns the
343      integral in a form which is a sum over the roots (not yet known)
344      of the denominator.
345      [...]
346 @end example
348 Nesse exemplo, ítens 7 e 8 foram selecionados
349 (a saída foi encurtada por razões tipográficas e economico-financeiras como indicado por @code{[...]}.
350 Todos ou nenhum dos ítens poderia ter sido selecionado através da inserção de @code{all} ou @code{none},
351 que podem ser abreviado para @code{a} ou para @code{n}, respectivamente.
353 @end deffn
355 @deffn {Função} example (@var{tópico})
356 @deffnx {Função} example ()
357 @code{example (@var{topic})} mostra alguns exemplos de @var{tópico},
358 que é um símbolo (não uma seq@"{u}ência de caracteres).
359 A maioria dos tópicos são nomes de função.
360 @code{example ()} retorna a lista de todos os tópicos reconhecidos.
362 O nome do arquivo contendo os exemplos é dado pela
363 variável global @code{manual_demo}, cujo valor padrão é @code{"manual.demo"}.
365 @code{example} não avalia seu argumento.
366 @code{example} retorna @code{done}
367 a menos que ocorra um erro ou não exista o argumento fornecido pelo usuário, nesse caso @code{example}
368 retorna uma lista de todos os tópicos reconhecidos.
370 Exemplos:
372 @example
373 (%i1) example (append);
374 (%i2) append([x+y,0,-3.2],[2.5E+20,x])
375 (%o2)             [y + x, 0, - 3.2, 2.5E+20, x]
376 (%o2)                         done
377 (%i3) example (coeff);
378 (%i4) coeff(b+tan(x)+2*a*tan(x) = 3+5*tan(x),tan(x))
379 (%o4)                      2 a + 1 = 5
380 (%i5) coeff(1+x*%e^x+y,x,0)
381 (%o5)                         y + 1
382 (%o5)                         done
383 @end example
385 @end deffn