~ubuntu-branches/debian/squeeze/maxima/squeeze

« back to all changes in this revision

Viewing changes to doc/info/es/Command.es.texi

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2006-10-18 14:52:42 UTC
  • mto: (1.1.5 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20061018145242-vzyrm5hmxr8kiosf
ImportĀ upstreamĀ versionĀ 5.10.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
@c english version 1.41
 
2
@menu
 
3
* Introducci@'on a la L@'{@dotless{i}}nea de Comandos::  
 
4
* Definiciones para  la L@'{@dotless{i}}nea de Comandos::  
 
5
@end menu
 
6
 
 
7
@node Introducci@'on a la L@'{@dotless{i}}nea de Comandos, Definiciones para la L@'{@dotless{i}}nea de Comandos, L@'{@dotless{i}}nea de Comandos, L@'{@dotless{i}}nea de Comandos
 
8
 
 
9
@section Introducci@'on a la L@'{@dotless{i}}nea de Comandos
 
10
 
 
11
@c NEEDS EXAMPLES
 
12
@c THIS ITEM IS VERY IMPORTANT !!
 
13
 
 
14
@deffn {Operador} "'"
 
15
 
 
16
El operador comilla sencilla @code{'} evita la evaluaci@'on. 
 
17
 
 
18
Aplicado a un s@'{@dotless{i}}mbolo, 
 
19
la comilla sencilla evita la evaluaci@'on del s@'{@dotless{i}}mbolo. 
 
20
 
 
21
Aplicado a la llamada de una funci@'on,
 
22
la comilla sencilla evita la evaluaci@'on de la funci@'on llamada,
 
23
aunque los argumentos de la funci@'on son evaluados (siempre y cuando 
 
24
la evaluaci@'on no se evite de otra manera). 
 
25
El resultado es una forma de nombre de la funci@'on llamada.  
 
26
 
 
27
Aplicado a una expresi@'on con par@'entesis, 
 
28
la comilla simple evita la evaluaci@'on de todos los s@'{@dotless{i}}mbolos y llamadas a funciones que hayan en la expresi@'on. 
 
29
@c DUNNO IF THESE EXAMPLES ARE STILL NEEDED -- COVERED BY ITEMS UNDER "Examples"
 
30
E.g., @code{'(f(x))} significa que no se evalua la expresi@'on @code{f(x)}. 
 
31
@code{'f(x)} (con la comilla simple aplicada a @code{f} en cambio de a @code{f(x)})
 
32
significa el retorno de la forma de nombre de @code{f} aplicada a @code{[x]}. 
 
33
 
 
34
La comilla simple no evita la simplificaci@'on. 
 
35
 
 
36
Cuando el interruptor global @code{noundisp} es @code{true}, 
 
37
los nombres se muestran con una comilla simple. 
 
38
Este interruptor siempre tiene como valor @code{true} cuando 
 
39
se muestran definiciones de funciones. 
 
40
 
 
41
Ver tambi@'en los operadores comilla-comilla @code{''} y @code{nouns}. 
 
42
 
 
43
Ejemplos:
 
44
 
 
45
Aplicado a un s@'{@dotless{i}}mbolo, 
 
46
la comilla sencilla evita la evaluaci@'on del s@'{@dotless{i}}mbolo. 
 
47
 
 
48
@c ===beg===
 
49
@c aa: 1024;
 
50
@c aa^2;
 
51
@c 'aa^2;
 
52
@c ''%;
 
53
@c ===end===
 
54
@example
 
55
(%i1) aa: 1024;
 
56
(%o1)                         1024
 
57
(%i2) aa^2;
 
58
(%o2)                        1048576
 
59
(%i3) 'aa^2;
 
60
                                 2
 
61
(%o3)                          aa
 
62
(%i4) ''%;
 
63
(%o4)                        1048576
 
64
@end example
 
65
 
 
66
Aplicado a la llamada de una funci@'on,
 
67
la comilla sencilla evita la evaluaci@'on de la funci@'on llamada,
 
68
aunque los argumentos de la funci@'on son evaluados (siempre y cuando 
 
69
la evaluaci@'on no se evite de otra manera). 
 
70
El resultado es una forma de nombre de la funci@'on llamada.  
 
71
 
 
72
@c ===beg===
 
73
@c x0: 5;
 
74
@c x1: 7;
 
75
@c integrate (x^2, x, x0, x1);
 
76
@c 'integrate (x^2, x, x0, x1);
 
77
@c %, nouns;
 
78
@c ===end===
 
79
@example
 
80
(%i1) x0: 5;
 
81
(%o1)                           5
 
82
(%i2) x1: 7;
 
83
(%o2)                           7
 
84
(%i3) integrate (x^2, x, x0, x1);
 
85
                               218
 
86
(%o3)                          ---
 
87
                                3
 
88
(%i4) 'integrate (x^2, x, x0, x1);
 
89
                             7
 
90
                            /
 
91
                            [   2
 
92
(%o4)                       I  x  dx
 
93
                            ]
 
94
                            /
 
95
                             5
 
96
(%i5) %, nouns;
 
97
                               218
 
98
(%o5)                          ---
 
99
                                3
 
100
@end example
 
101
 
 
102
Aplicado a una expresi@'on con par@'entesis, 
 
103
la comilla simple evita la evaluaci@'on de todos los s@'{@dotless{i}}mbolos y llamadas a funciones que hayan en la expresi@'on. 
 
104
 
 
105
@c ===beg===
 
106
@c aa: 1024;
 
107
@c bb: 19;
 
108
@c sqrt(aa) + bb;
 
109
@c '(sqrt(aa) + bb);
 
110
@c ''%;
 
111
@c ===end===
 
112
@example
 
113
(%i1) aa: 1024;
 
114
(%o1)                         1024
 
115
(%i2) bb: 19;
 
116
(%o2)                          19
 
117
(%i3) sqrt(aa) + bb;
 
118
(%o3)                          51
 
119
(%i4) '(sqrt(aa) + bb);
 
120
(%o4)                     bb + sqrt(aa)
 
121
(%i5) ''%;
 
122
(%o5)                          51
 
123
@end example
 
124
 
 
125
La comilla sencilla no evita la simplificaci@'on. 
 
126
 
 
127
@c ===beg===
 
128
@c sin (17 * %pi) + cos (17 * %pi);
 
129
@c '(sin (17 * %pi) + cos (17 * %pi));
 
130
@c ===end===
 
131
@example
 
132
(%i1) sin (17 * %pi) + cos (17 * %pi);
 
133
(%o1)                          - 1
 
134
(%i2) '(sin (17 * %pi) + cos (17 * %pi));
 
135
(%o2)                          - 1
 
136
@end example
 
137
 
 
138
@end deffn
 
139
 
 
140
@deffn {Operador} "
 
141
El operador comilla-comilla @code{'@w{}'} (dos comillas simples) modifica la evaluaci@'on
 
142
en las expresiones de entrada.
 
143
 
 
144
Aplicado a cualquier expresi@'on general @var{expr}, las dos comillas simples hacen que
 
145
el valor de @var{expr} sea sustituido por @var{expr} en la expresi@'on de entrada.
 
146
 
 
147
Aplicado al operador de una expresi@'on, el operador comilla-comilla hace que el operador
 
148
pase de ser un nombre a ser un verbo, a menos que ya sea un verbo.
 
149
 
 
150
El operador comilla-comilla es aplicado por el analizador sint@'actico de entrada;
 
151
no se almacena como una parte de la expresi@'on de entrada analizada.
 
152
Este operador se aplica siempre tan pronto como es detectado y no puede ser comentado con
 
153
una comilla simple. De esta manera, el operador comilla-comilla provoca la evaluaci@'on de
 
154
una expresi@'on cuando @'esta no estaba previsto que fuese evaluada, como en la
 
155
definici@'on de funciones, expresiones lambda y expresiones comentadas con una comilla simple
 
156
@code{'}.
 
157
 
 
158
El operador comilla-comilla es reconocido tanto por @code{batch} como por @code{load}.
 
159
 
 
160
V@'eanse tambi@'en el operador comilla simple @code{'} y @code{nouns}.
 
161
 
 
162
Ejemplos:
 
163
 
 
164
Aplicado a cualquier expresi@'on general @var{expr}, las dos comillas simples hacen que
 
165
el valor de @var{expr} sea sustituido por @var{expr} en la expresi@'on de entrada.
 
166
 
 
167
@c ===beg===
 
168
@c expand ((a + b)^3);
 
169
@c [_, ''_];
 
170
@c [%i1, ''%i1];
 
171
@c [aa : cc, bb : dd, cc : 17, dd : 29];
 
172
@c foo_1 (x) := aa - bb * x;
 
173
@c foo_1 (10);
 
174
@c ''%;
 
175
@c ''(foo_1 (10));
 
176
@c foo_2 (x) := ''aa - ''bb * x;
 
177
@c foo_2 (10);
 
178
@c [x0 : x1, x1 : x2, x2 : x3];
 
179
@c x0;
 
180
@c ''x0;
 
181
@c '' ''x0;
 
182
@c ===end===
 
183
@example
 
184
(%i1) expand ((a + b)^3);
 
185
                     3        2      2      3
 
186
(%o1)               b  + 3 a b  + 3 a  b + a
 
187
(%i2) [_, ''_];
 
188
                         3    3        2      2      3
 
189
(%o2)     [expand((b + a) ), b  + 3 a b  + 3 a  b + a ]
 
190
(%i3) [%i1, ''%i1];
 
191
                         3    3        2      2      3
 
192
(%o3)     [expand((b + a) ), b  + 3 a b  + 3 a  b + a ]
 
193
(%i4) [aa : cc, bb : dd, cc : 17, dd : 29];
 
194
(%o4)                   [cc, dd, 17, 29]
 
195
(%i5) foo_1 (x) := aa - bb * x;
 
196
(%o5)                 foo_1(x) := aa - bb x
 
197
(%i6) foo_1 (10);
 
198
(%o6)                      cc - 10 dd
 
199
(%i7) ''%;
 
200
(%o7)                         - 273
 
201
(%i8) ''(foo_1 (10));
 
202
(%o8)                         - 273
 
203
(%i9) foo_2 (x) := ''aa - ''bb * x;
 
204
(%o9)                 foo_2(x) := cc - dd x
 
205
(%i10) foo_2 (10);
 
206
(%o10)                        - 273
 
207
(%i11) [x0 : x1, x1 : x2, x2 : x3];
 
208
(%o11)                    [x1, x2, x3]
 
209
(%i12) x0;
 
210
(%o12)                         x1
 
211
(%i13) ''x0;
 
212
(%o13)                         x2
 
213
(%i14) '' ''x0;
 
214
(%o14)                         x3
 
215
@end example
 
216
 
 
217
Aplicado al operador de una expresi@'on, el operador comilla-comilla hace que el operador
 
218
pase de ser un nombre a ser un verbo, a menos que ya sea un verbo.
 
219
 
 
220
@c ===beg==
 
221
@c sin (1);
 
222
@c ''sin (1);
 
223
@c declare (foo, noun);
 
224
@c foo (x) := x - 1729;
 
225
@c foo (100);
 
226
@c ''foo (100);
 
227
@c ===end==
 
228
@example
 
229
(%i1) sin (1);
 
230
(%o1)                        sin(1)
 
231
(%i2) ''sin (1);
 
232
(%o2)                    0.8414709848079
 
233
(%i3) declare (foo, noun);
 
234
(%o3)                         done
 
235
(%i4) foo (x) := x - 1729;
 
236
(%o4)                 ''foo(x) := x - 1729
 
237
(%i5) foo (100);
 
238
(%o5)                       foo(100)
 
239
(%i6) ''foo (100);
 
240
(%o6)                        - 1629
 
241
@end example
 
242
 
 
243
El operador comilla-comilla es aplicado por el analizador sint@'actico de entrada;
 
244
no se almacena como una parte de la expresi@'on de entrada analizada.
 
245
 
 
246
@c ===beg===
 
247
@c [aa : bb, cc : dd, bb : 1234, dd : 5678];
 
248
@c aa + cc;
 
249
@c display (_, op (_), args (_));
 
250
@c ''(aa + cc);
 
251
@c display (_, op (_), args (_));
 
252
@c ===end===
 
253
@example
 
254
(%i1) [aa : bb, cc : dd, bb : 1234, dd : 5678];
 
255
(%o1)                 [bb, dd, 1234, 5678]
 
256
(%i2) aa + cc;
 
257
(%o2)                        dd + bb
 
258
(%i3) display (_, op (_), args (_));
 
259
                           _ = cc + aa
 
260
 
 
261
                         op(cc + aa) = +
 
262
 
 
263
                    args(cc + aa) = [cc, aa]
 
264
 
 
265
(%o3)                         done
 
266
(%i4) ''(aa + cc);
 
267
(%o4)                         6912
 
268
(%i5) display (_, op (_), args (_));
 
269
                           _ = dd + bb
 
270
 
 
271
                         op(dd + bb) = +
 
272
 
 
273
                    args(dd + bb) = [dd, bb]
 
274
 
 
275
(%o5)                         done
 
276
@end example
 
277
 
 
278
El operador comilla-comilla provoca la evaluaci@'on de
 
279
una expresi@'on cuando @'esta no estaba previsto que fuese evaluada, como en la
 
280
definici@'on de funciones, expresiones lambda y expresiones comentadas con una comilla simple
 
281
@code{'}.
 
282
 
 
283
@c ===beg===
 
284
@c foo_1a (x) := ''(integrate (log (x), x));
 
285
@c foo_1b (x) := integrate (log (x), x);
 
286
@c dispfun (foo_1a, foo_1b);
 
287
@c integrate (log (x), x);
 
288
@c foo_2a (x) := ''%;
 
289
@c foo_2b (x) := %;
 
290
@c dispfun (foo_2a, foo_2b);
 
291
@c F : lambda ([u], diff (sin (u), u));
 
292
@c G : lambda ([u], ''(diff (sin (u), u)));
 
293
@c '(sum (a[k], k, 1, 3) + sum (b[k], k, 1, 3));
 
294
@c '(''(sum (a[k], k, 1, 3)) + ''(sum (b[k], k, 1, 3)));
 
295
@c ===end===
 
296
@example
 
297
(%i1) foo_1a (x) := ''(integrate (log (x), x));
 
298
(%o1)               foo_1a(x) := x log(x) - x
 
299
(%i2) foo_1b (x) := integrate (log (x), x);
 
300
(%o2)           foo_1b(x) := integrate(log(x), x)
 
301
(%i3) dispfun (foo_1a, foo_1b);
 
302
(%t3)               foo_1a(x) := x log(x) - x
 
303
 
 
304
(%t4)           foo_1b(x) := integrate(log(x), x)
 
305
 
 
306
(%o4)                      [%t3, %t4]
 
307
(%i4) integrate (log (x), x);
 
308
(%o4)                     x log(x) - x
 
309
(%i5) foo_2a (x) := ''%;
 
310
(%o5)               foo_2a(x) := x log(x) - x
 
311
(%i6) foo_2b (x) := %;
 
312
(%o6)                    foo_2b(x) := %
 
313
(%i7) dispfun (foo_2a, foo_2b);
 
314
(%t7)               foo_2a(x) := x log(x) - x
 
315
 
 
316
(%t8)                    foo_2b(x) := %
 
317
 
 
318
(%o8)                      [%t7, %t8]
 
319
(%i8) F : lambda ([u], diff (sin (u), u));
 
320
(%o8)             lambda([u], diff(sin(u), u))
 
321
(%i9) G : lambda ([u], ''(diff (sin (u), u)));
 
322
(%o9)                  lambda([u], cos(u))
 
323
(%i10) '(sum (a[k], k, 1, 3) + sum (b[k], k, 1, 3));
 
324
(%o10)         sum(b , k, 1, 3) + sum(a , k, 1, 3)
 
325
                    k                  k
 
326
(%i11) '(''(sum (a[k], k, 1, 3)) + ''(sum (b[k], k, 1, 3)));
 
327
(%o11)             b  + a  + b  + a  + b  + a
 
328
                    3    3    2    2    1    1
 
329
@end example
 
330
 
 
331
@end deffn
 
332
 
 
333
@node Definiciones para la L@'{@dotless{i}}nea de Comandos,  , Introducci@'on a la L@'{@dotless{i}}nea de Comandos, L@'{@dotless{i}}nea de Comandos
 
334
 
 
335
@section Definiciones para la L@'{@dotless{i}}nea de Comandos
 
336
 
 
337
@c NEEDS WORK, ESPECIALLY EXAMPLES
 
338
@deffn {Funci@'on} alias (@var{new_name_1}, @var{old_name_1}, ..., @var{new_name_n}, @var{old_name_n})
 
339
provee un nombre
 
340
alternativo para una (bien sea definida por el usuario o por el sistema) funci@'on, variable, arreglo, etc. 
 
341
Cualquier n@'umero par de argumentos puede ser usado. 
 
342
 
 
343
@end deffn
 
344
 
 
345
@defvr {Variable opcional} debugmode
 
346
Valor por defecto: @code{false}
 
347
 
 
348
Cuando en Maxima ocurre un error, Maxima inicializar@'a el depurador si @code{debugmode} tiene el valor @code{true}. 
 
349
El usuario puede ingresar comandos para examinar la pila de llamadas, los puntos de interrupci@'on; en pocas palabras ir a trav@'es del c@'odigo de Maxima. Vea @code{debugging} para una lista de los comandos del depurador.  
 
350
 
 
351
Habilitando @code{debugmode} no se capturar@'an los errores tipo Lisp. 
 
352
 
 
353
@c DO WE WANT TO SAY MORE ABOUT DEBUGGING LISP ERRORS ???
 
354
@c I'M NOT CONVINCED WE WANT TO OPEN THAT CAN OF WORMS !!!
 
355
 
 
356
@end defvr
 
357
 
 
358
@c NEEDS CLARIFICATION
 
359
@c VERY IMPORTANT !!
 
360
 
 
361
@deffn {Funci@'on} ev (@var{expr}, @var{arg_1}, ..., @var{arg_n})
 
362
Evalua la expresi@'on @var{expr} en el entorno especificado
 
363
por los argumentos @var{arg_1}, ..., @var{arg_n}.
 
364
Los argumentos son interruptores (Variables Booleanas), variables de
 
365
asignaci@'on, ecuaciones y funciones. 
 
366
@code{ev} retorna el resultado (otra expresi@'on) de la evaluaci@'on. 
 
367
 
 
368
La evaluaci@'on se realiza por etapas, como sigue: 
 
369
 
 
370
@enumerate
 
371
@item
 
372
Primero se configura el entorno de acuerdo a los argumentos los
 
373
cuales pueden ser algunos o todos de la siguiente lista:  
 
374
 
 
375
@itemize @bullet
 
376
@item
 
377
@code{simp} causa que @var{expr} sea simplificada sin importar el valor de la variable interruptor @code{simp} la cual inhibe la simplificaci@'on cuando su valor es @code{false}. 
 
378
@item
 
379
@code{noeval} suprime la fase de evaluaci@'on de @code{ev} (Vea el paso (4) m@'as adelante). 
 
380
Esto es muy @'util en conjunci@'on con otras variables interruptor y causan en @var{expr} que sea resimplificada sin ser reevaluada. 
 
381
@item
 
382
@code{nouns} causa que la evaluaci@'on de las formas de nombre
 
383
(t@'{@dotless{i}}picamente funciones sin evaluar tales como @code{'integrate} or @code{'diff}) en @code{expr}. 
 
384
@item
 
385
@code{expand} causa expansi@'on. 
 
386
@item
 
387
@code{expand (@var{m}, @var{n})} causa expansi@'on, asignando los valores de @code{maxposex} y
 
388
@code{maxnegex} a @var{m} y @var{n}, respectivamente.
 
389
@item
 
390
@code{detout} hace que cualesquiera matrices inversas calculadas en @var{expr} conserven su determinante fuera de la inversa, en vez de que divida a cada elemento.  
 
391
@item
 
392
@code{diif} realiza todas las diferenciaciones indicadas en @var{expr}. 
 
393
@item
 
394
@code{derivlist (@var{x}, @var{y}, @var{z}, ...)} realiza s@'olo las diferenciaciones con respecto a las variables indicadas. 
 
395
@item
 
396
@code{float} provoca la conversi@'on de los n@'umeros racionales no-enteros a n@'umeros decimales de coma flotante. 
 
397
@item
 
398
@code{numer} causa que algunas funciones matem@'aticas (incluyendo potenciaci@'on) con argumentos num@'ericos sean evaluados como punto flotante. Esto causa que las variables en @var{expr} las cuales hayan sido declaradas como variables num@'ericas sean reemplazadas por sus respectivos valores. Esto tambi@'en configura la variable interruptor @code{float} a @code{true}. 
 
399
@item
 
400
@code{pred} provoca la evaluaci@'on de los predicados (expresiones las cuales se evaluan a @code{true} o @code{false}). 
 
401
@item
 
402
@code{eval} provoca una post-evaluaci@'on extra de @var{expr} (v@'ease el paso (5) m@'as adelante), pudiendo aparecer
 
403
@code{eval} varias veces; por cada aparici@'on de @code{eval}, la expresi@'on es reevaluada.
 
404
@item
 
405
@code{A}, donde @code{A} es un @'atomo declarado como una variable de tipo interruptor, (Vea @code{evflag})
 
406
causa que @code{A} tenga como valor @code{true} durante 
 
407
la evaluaci@'on de @var{expr}.  
 
408
@item
 
409
@code{V: expresion} (o alternativamente @code{V=expresion}) causa que 
 
410
@code{V} tenga el valor de @code{expresion} durante la evaluaci@'on
 
411
de @var{expr}. Notese que si @code{V} es una opci@'on Maxima, entonces
 
412
@code{expresion} se usa como su valor durante la evaluaci@'on de
 
413
@var{expr}. Si m@'as de un argumento de @code{ev} es de este 
 
414
tipo entonces el v@'{@dotless{i}}nculo se hace en paralelo. Si @code{V} es una
 
415
expresi@'on no at@'omica entonces se hace una sustituci@'on m@'as que 
 
416
un v@'{@dotless{i}}nculo.
 
417
@item
 
418
@code{F} donde @code{F}, un nombre de funci@'on, ha sido declarado para 
 
419
ser una funci@'on de evaluaci@'on (Vea @code{evfun}) causa que
 
420
@code{F} sea aplicada a @var{expr}. 
 
421
@item
 
422
Cualquier otro nombre de funci@'on (e.g., @code{sum}) causa la evaluaci@'on de las ocurrencias de esos nombres en @code{expr} como si ellos fueran
 
423
verbos. 
 
424
@item
 
425
En adici@'on de que una funci@'on ocurra en @var{expr} (digamos @code{F(x)}) puede ser definida localmente para el prop@'osito de esta evaluaci@'on 
 
426
de @var{expr} pasando @code{F(x) := expresion} como un argumento a
 
427
@code{ev}. 
 
428
@item
 
429
Si un @'atomo no mencionado anteriormente o una variable o expresi@'on 
 
430
con sub@'{@dotless{i}}ndices fueran pasadas como un argumento, esta es evaluada y
 
431
si el resultado es una ecuaci@'on o una asignaci@'on entonces el 
 
432
v@'{@dotless{i}}nculo o sustituci@'on se llevar@'a a cabo. Si el resultado es una
 
433
lista entonces los miembros de la lista tratados como si ellos fueran
 
434
argumentos adicionales pasados a @code{ev}. Esto permite que una
 
435
lista de argumentos sea pasada (e.g., @code{[X=1, Y=A**2]}) o una lista
 
436
de nombres de ecuaciones (e.g., @code{[%t1, %t2]} donde @code{%t1} y
 
437
@code{%t2} son ecuaciones) tal como lo que es retornado por 
 
438
@code{solve}. 
 
439
@end itemize
 
440
 
 
441
Los argumentos de @code{ev} pueden ser pasados en cualquier orden con excepci@'on de la sustituci@'on de ecuaciones las cuales son manipuladas en 
 
442
secuencia, de izquierda a derecha y las funciones de evaluaci@'on las 
 
443
cuales son compuestas, e.g., @code{ev (@var{expr}, ratsimp, realpart)}
 
444
es manipulada como @code{realpart (ratsimp (@var{expr}))}. 
 
445
 
 
446
Los interruptores @code{simp}, @code{numer}, @code{float} y @code{pred} 
 
447
pueden tambi@'en ser configurados localmente en una sentencia block, o
 
448
globalmente en Maxima para que su efecto permanezca hasta que
 
449
sean reconfiguradas.   
 
450
 
 
451
Si @var{expr} es una Expresi@'on Racional Can@'onica (CRE, por sus siglas en ingl@'es), entonces la expresi@'on retornada por @code{ev} es tambi@'en 
 
452
de tipo CRE, siempre que los interruptores @code{numer} y @code{float} no sean @code{true}. 
 
453
 
 
454
@item
 
455
Durante el paso (1), se fabrica una lista de las variables que no contienen sub@'{@dotless{i}}ndices que aparecen en el lado izquierdo de las ecuaciones en los
 
456
argumentos o en el valor de algunos argumentos si el valor es una ecuaci@'on. Las variables (variables que contienen sub@'{@dotless{i}}ndices las cuales no tienen asociado un arreglo de funciones como tambi@'en las variables que no contienen sub@'{@dotless{i}}ndices) en la expresi@'on @var{expr} son reemplazadas por sus valores globales, excepto por aquellos que aparezcan en esa lista. 
 
457
Usualmente, @var{expr} es s@'olo una etiqueta o un @code{%} 
 
458
(como en @code{%i2} en el ejemplo de m@'as abajo) as@'{@dotless{i}} que 
 
459
este paso simplemente recupera la expresi@'on a la que hace referencia 
 
460
la etiqueta y as@'{@dotless{i}} @code{ev} puede trabajarla. 
 
461
 
 
462
@item
 
463
Si algunas sustituciones son indicadas por los argumentos, ellas
 
464
ser@'an llevadas a cabo ahora. 
 
465
 
 
466
@item
 
467
La expresi@'on resultante es tambi@'en reevaluada (a menos que uno de 
 
468
los argumentos fuese @code{noeval}) y simplificada de acuerdo a los 
 
469
argumentos. Notese que cualquier llamada a una funci@'on en @var{expr} 
 
470
ser@'a llevada a cabo despu@'es de que las variables sean evaluadas 
 
471
en ella y que @code{ev(F(x))} pueda comportarse como @code{F(ev(x))}. 
 
472
 
 
473
@item
 
474
Por cada aparici@'on de @code{eval} en los argumentos, se repetir@'an los pasos (3) y (4).
 
475
@end enumerate
 
476
 
 
477
Ejemplos
 
478
 
 
479
@example
 
480
(%i1) sin(x) + cos(y) + (w+1)^2 + 'diff (sin(w), w);
 
481
                                     d                    2
 
482
(%o1)              cos(y) + sin(x) + -- (sin(w)) + (w + 1)
 
483
                                     dw
 
484
(%i2) ev (%, sin, expand, diff, x=2, y=1);
 
485
                          2
 
486
(%o2)           cos(w) + w  + 2 w + cos(1) + 1.909297426825682
 
487
@end example
 
488
 
 
489
Una sintaxis alternativa de alto nivel ha sido proveida para @code{ev}, 
 
490
por medio de la cual uno puede escribir solamente sus argumentos, sin 
 
491
el comando @code{ev()}. Esto es, una forma sencilla de escritura:
 
492
 
 
493
@example
 
494
@var{expr}, @var{arg_1}, ..., @var{arg_n}
 
495
@end example
 
496
 
 
497
Esto no es permitido como parte de otra 
 
498
expresi@'on , e.g., en funciones, sentencias block, etc. 
 
499
 
 
500
N@'otese el proceso de v@'{@dotless{i}}nculo en paralelo en el siguiente ejemplo:
 
501
 
 
502
@example
 
503
(%i3) programmode: false;
 
504
(%o3)                                false
 
505
(%i4) x+y, x: a+y, y: 2;
 
506
(%o4)                              y + a + 2
 
507
(%i5) 2*x - 3*y = 3$
 
508
(%i6) -3*x + 2*y = -4$
 
509
(%i7) solve ([%o5, %o6]);
 
510
Soluci@'on
 
511
 
 
512
                                          1
 
513
(%t7)                               y = - -
 
514
                                          5
 
515
 
 
516
                                         6
 
517
(%t8)                                x = -
 
518
                                         5
 
519
(%o8)                            [[%t7, %t8]]
 
520
(%i8) %o6, %o8;
 
521
(%o8)                              - 4 = - 4
 
522
(%i9) x + 1/x > gamma (1/2);
 
523
                                   1
 
524
(%o9)                          x + - > sqrt(%pi)
 
525
                                   x
 
526
(%i10) %, numer, x=1/2;
 
527
(%o10)                      2.5 > 1.772453850905516
 
528
(%i11) %, pred;
 
529
(%o11)                               true
 
530
@end example
 
531
 
 
532
@end deffn
 
533
 
 
534
 
 
535
 
 
536
@defvr {Propiedad} evflag
 
537
Cuando un s@'{@dotless{i}}mbolo @var{x} goza de la propiedad @code{evflag},
 
538
las expresiones @code{ev(@var{expr}, @var{x})} y @code{@var{expr}, @var{x}}
 
539
(en modo interactivo) equivalen a @code{ev(@var{expr}, @var{x} = true)}.
 
540
Esto es, a @var{x} se le asigna @code{true} al tiempo que se eval@'ua @var{expr}.
 
541
 
 
542
La expresi@'on @code{declare(@var{x}, evflag)} dota a la variable @var{x}
 
543
de la propiedad @code{evflag}.
 
544
 
 
545
Los interruptores que tienen la propiedad @code{evflag} son: 
 
546
 
 
547
@c FOLLOWING LIST CONSTRUCTED FROM LIST UNDER (prog1 '(evflag properties) ...)
 
548
@c NEAR LINE 2649 OF mlisp.lisp AT PRESENT (2004/11).
 
549
@code{algebraic},
 
550
@code{cauchysum},
 
551
@code{demoivre},
 
552
@code{dotscrules},
 
553
@code{%emode},
 
554
@code{%enumer},
 
555
@code{exponentialize},
 
556
@code{exptisolate},
 
557
@code{factorflag},
 
558
@code{float},
 
559
@code{halfangles},
 
560
@code{infeval},
 
561
@code{isolate_wrt_times},
 
562
@code{keepfloat},
 
563
@code{letrat},
 
564
@code{listarith},
 
565
@code{logabs},
 
566
@code{logarc},
 
567
@code{logexpand},
 
568
@code{lognegint},
 
569
@code{lognumer},
 
570
@code{m1pbranch},
 
571
@code{numer_pbranch},
 
572
@code{programmode},
 
573
@code{radexpand},
 
574
@code{ratalgdenom},
 
575
@code{ratfac},
 
576
@code{ratmx},
 
577
@code{ratsimpexpons},
 
578
@code{simp},
 
579
@code{simpsum},
 
580
@code{sumexpand}, y
 
581
@code{trigexpand}.
 
582
 
 
583
Ejemplos:
 
584
 
 
585
@c ===beg===
 
586
@c sin (1/2);
 
587
@c sin (1/2), float;
 
588
@c sin (1/2), float=true;
 
589
@c simp : false;
 
590
@c 1 + 1;
 
591
@c 1 + 1, simp;
 
592
@c simp : true;
 
593
@c sum (1/k^2, k, 1, inf);
 
594
@c sum (1/k^2, k, 1, inf), simpsum;
 
595
@c declare (aa, evflag);
 
596
@c if aa = true then YES else NO;
 
597
@c if aa = true then YES else NO, aa;
 
598
@c ===end===
 
599
@example
 
600
(%i1) sin (1/2);
 
601
                                 1
 
602
(%o1)                        sin(-)
 
603
                                 2
 
604
(%i2) sin (1/2), float;
 
605
(%o2)                   0.479425538604203
 
606
(%i3) sin (1/2), float=true;
 
607
(%o3)                   0.479425538604203
 
608
(%i4) simp : false;
 
609
(%o4)                         false
 
610
(%i5) 1 + 1;
 
611
(%o5)                         1 + 1
 
612
(%i6) 1 + 1, simp;
 
613
(%o6)                           2
 
614
(%i7) simp : true;
 
615
(%o7)                         true
 
616
(%i8) sum (1/k^2, k, 1, inf);
 
617
                            inf
 
618
                            ====
 
619
                            \     1
 
620
(%o8)                        >    --
 
621
                            /      2
 
622
                            ====  k
 
623
                            k = 1
 
624
(%i9) sum (1/k^2, k, 1, inf), simpsum;
 
625
                                 2
 
626
                              %pi
 
627
(%o9)                         ----
 
628
                               6
 
629
(%i10) declare (aa, evflag);
 
630
(%o10)                        done
 
631
(%i11) if aa = true then YES else NO;
 
632
(%o11)                         NO
 
633
(%i12) if aa = true then YES else NO, aa;
 
634
(%o12)                         YES
 
635
@end example
 
636
 
 
637
@end defvr
 
638
 
 
639
@defvr {Propiedad} evfun
 
640
Cuando la funci@'on @var{F} goza de la propiedad @code{evfun},
 
641
las expresiones @code{ev(@var{expr}, @var{F})} y @code{@var{expr}, @var{F}}
 
642
(en modo interactivo) equivalen a @code{@var{F}(ev(@var{expr}))}.
 
643
 
 
644
Si se especifican dos o m@'as funciones, @var{F}, @var{G}, etc., como poseedoras 
 
645
de la propiedad @code{evfun}, @'estas se aplican en el mismo orden en el que han sido 
 
646
especificadas como tales.
 
647
 
 
648
La expresi@'on @code{declare(@var{F}, evfun)} dota a la funci@'on  @var{F}
 
649
de la propiedad @code{evfun}.
 
650
 
 
651
Las funciones que tienen la propiedad @code{evfun} por defecto son: 
 
652
 
 
653
@c FOLLOWING LIST CONSTRUCTED FROM LIST UNDER (prog1 '(evfun properties) ...)
 
654
@c NEAR LINE 2643 IN mlisp.lisp AT PRESENT (2004/11).
 
655
@code{bfloat},
 
656
@code{factor},
 
657
@code{fullratsimp},
 
658
@code{logcontract},
 
659
@code{polarform},
 
660
@code{radcan},
 
661
@code{ratexpand},
 
662
@code{ratsimp},
 
663
@code{rectform},
 
664
@code{rootscontract},
 
665
@code{trigexpand}, y
 
666
@code{trigreduce}.
 
667
 
 
668
Ejemplos:
 
669
 
 
670
@c ===beg===
 
671
@c x^3 - 1;
 
672
@c x^3 - 1, factor;
 
673
@c factor (x^3 - 1);
 
674
@c cos(4 * x) / sin(x)^4;
 
675
@c cos(4 * x) / sin(x)^4, trigexpand;
 
676
@c cos(4 * x) / sin(x)^4, trigexpand, ratexpand;
 
677
@c ratexpand (trigexpand (cos(4 * x) / sin(x)^4));
 
678
@c declare ([F, G], evfun);
 
679
@c (aa : bb, bb : cc, cc : dd);
 
680
@c aa;
 
681
@c aa, F;
 
682
@c F (aa);
 
683
@c F (ev (aa));
 
684
@c aa, F, G;
 
685
@c G (F (ev (aa)));
 
686
@c ===end===
 
687
@example
 
688
(%i1) x^3 - 1;
 
689
                              3
 
690
(%o1)                        x  - 1
 
691
(%i2) x^3 - 1, factor;
 
692
                                2
 
693
(%o2)                 (x - 1) (x  + x + 1)
 
694
(%i3) factor (x^3 - 1);
 
695
                                2
 
696
(%o3)                 (x - 1) (x  + x + 1)
 
697
(%i4) cos(4 * x) / sin(x)^4;
 
698
                            cos(4 x)
 
699
(%o4)                       --------
 
700
                               4
 
701
                            sin (x)
 
702
(%i5) cos(4 * x) / sin(x)^4, trigexpand;
 
703
                 4           2       2         4
 
704
              sin (x) - 6 cos (x) sin (x) + cos (x)
 
705
(%o5)         -------------------------------------
 
706
                                4
 
707
                             sin (x)
 
708
(%i6) cos(4 * x) / sin(x)^4, trigexpand, ratexpand;
 
709
                           2         4
 
710
                      6 cos (x)   cos (x)
 
711
(%o6)               - --------- + ------- + 1
 
712
                          2          4
 
713
                       sin (x)    sin (x)
 
714
(%i7) ratexpand (trigexpand (cos(4 * x) / sin(x)^4));
 
715
                           2         4
 
716
                      6 cos (x)   cos (x)
 
717
(%o7)               - --------- + ------- + 1
 
718
                          2          4
 
719
                       sin (x)    sin (x)
 
720
(%i8) declare ([F, G], evfun);
 
721
(%o8)                         done
 
722
(%i9) (aa : bb, bb : cc, cc : dd);
 
723
(%o9)                          dd
 
724
(%i10) aa;
 
725
(%o10)                         bb
 
726
(%i11) aa, F;
 
727
(%o11)                        F(cc)
 
728
(%i12) F (aa);
 
729
(%o12)                        F(bb)
 
730
(%i13) F (ev (aa));
 
731
(%o13)                        F(cc)
 
732
(%i14) aa, F, G;
 
733
(%o14)                      G(F(cc))
 
734
(%i15) G (F (ev (aa)));
 
735
(%o15)                      G(F(cc))
 
736
@end example
 
737
 
 
738
@end defvr
 
739
 
 
740
@c NEEDS WORK
 
741
@defvr {Variable opcional} infeval
 
742
Habilita el modo de "evaluaci@'on infinita". @code{ev} repetidamente 
 
743
evalua una expresi@'on hasta que se interrumpa la acci@'on. Para prevenir
 
744
que una variable, digamos @code{X}, sea evaluada sin parar en este modo, 
 
745
simplemente incluya @code{X='X} como argumento de @code{ev}. 
 
746
Esta claro que expresiones como: @code{ev (X, X=X+1, infeval)} generar@'an un bucle infinito.
 
747
@end defvr
 
748
 
 
749
@c REVIEW FOR ACCURACY AND COMPLETENESS
 
750
@c THIS ITEM IS VERY IMPORTANT !!
 
751
@c NEEDS EXAMPLES
 
752
@deffn {Funci@'on} kill (@var{a_1}, ..., @var{a_n})
 
753
@deffnx {Funci@'on} kill (labels)
 
754
@deffnx {Funci@'on} kill (inlabels, outlabels, linelabels)
 
755
@deffnx {Funci@'on} kill (@var{n})
 
756
@deffnx {Funci@'on} kill ([@var{m}, @var{n}])
 
757
@deffnx {Funci@'on} kill (values, functions, arrays, ...)
 
758
@deffnx {Funci@'on} kill (all)
 
759
@deffnx {Funci@'on} kill (allbut (@var{a_1}, ..., @var{a_n}))
 
760
Elimina todas las asignaciones (valor, funci@'on, arreglo o regla) hechas a los
 
761
argumentos @var{a_1}, ..., @var{a_n}.
 
762
Un argumento @var{a_k} puede ser un s@'{@dotless{i}}mbolo o el elemento
 
763
de un array. Si @var{a_k} es elemento de un array, @code{kill} elimina la
 
764
asignaci@'on hecha a este elemento sin afectar al resto del array.
 
765
 
 
766
Se reconocen varios argumentos especiales. 
 
767
Se pueden combinar diferentes clases de argumentos, 
 
768
como por ejemplo, @code{kill (inlabels, functions, allbut (foo, bar))}.
 
769
 
 
770
La instrucci@'on @code{kill (labels)} borra todas las asignaciones asociadas
 
771
a las etiquetas de entrada, de salida e intermedias creadas hasta el
 
772
momento. La instrucci@'on @code{kill (inlabels)} elimina @'unicamente
 
773
las asignaciones de las etiquetas de entrada que comienzan con el
 
774
valor actual de @code{inchar}. Del mismo modo, @code{kill (outlabels)}
 
775
elimina @'unicamente las asignaciones de las etiquetas de salida
 
776
que comienzan con el valor actual de @code{outchar}. Finalmente,
 
777
@code{kill (linelabels)} elimina @'unicamente las asignaciones
 
778
las asignaciones de las etiquetas de las expresiones intermedias
 
779
que comienzan con el valor actual de @code{linechar}.
 
780
 
 
781
La instrucci@'on @code{kill (@var{n})}, siendo @var{n} un entero,
 
782
elimina las asignaciones de las @'ultimas @var{n} etiquetas, tanto
 
783
de entrada como de salida.
 
784
 
 
785
La instrucci@'on @code{kill ([@var{m}, @var{n}])} elimina las asignaciones
 
786
hechas a las etiquetas de entrada y salida desde la @var{m} hasta la@var{n}.
 
787
 
 
788
La instrucci@'on @code{kill (@var{infolist})}, siendo @var{infolist} 
 
789
cualquier elemento de @code{infolists} (como @code{values}, @code{functions} 
 
790
o @code{arrays}), elimina todas las asignaciones hechas a los elementos de
 
791
@var{infolist}. V@'ease tambi@'en @code{infolists}.
 
792
 
 
793
La instrucci@'on @code{kill (all)} elimina todas las asignaciones de
 
794
todas las variables, pero no reinicia las variables globales a sus
 
795
valores por defecto. V@'ease tambi@'en @code{reset}.
 
796
 
 
797
La instrucci@'on @code{kill (allbut (@var{a_1}, ..., @var{a_n}))}
 
798
elimina las asignaciones hechas a todas las variables,
 
799
excepto a @var{a_1}, ..., @var{a_n}; la instrucci@'on
 
800
@code{kill (allbut (@var{infolist}))} elimina todas las asignaciones,
 
801
excepto las de los elementos de @var{infolist}, pudiendo ser @var{infolist}
 
802
igual a @code{values}, @code{functions}, @code{arrays}, etc.
 
803
 
 
804
La memoria reservada para una asignaci@'on no se libera hasta que
 
805
no se vac@'{@dotless{i}}en todos los s@'{@dotless{i}}mbolos
 
806
asociados con esta asignaci@'on; por ejemplo, para liberar la memoria
 
807
del valor de un s@'{@dotless{i}}mbolo es necesario eliminar tanto
 
808
la asignaci@'on de la etiqueta de salida que muestra el resultado,
 
809
como la del propio s@'{@dotless{i}}mbolo.
 
810
 
 
811
La funci@'on @code{kill} no evalua sus argumentos. 
 
812
El operador comilla-comilla, @code{'@w{}'}, obliga a que se realice la evaluaci@'on.
 
813
 
 
814
La llamada @code{kill (@var{symbol})} elimina todas las propiedades de @var{symbol}.
 
815
Por el contrario, @code{remvalue}, @code{remfunction}, @code{remarray} y @code{remrule}
 
816
eliminan propiedades espec@'{@dotless{i}}ficas. 
 
817
 
 
818
@code{kill} siempre devuelve @code{done}, incluso cuando alguno de sus 
 
819
argumento carec@'{@dotless{i}}a de asignaci@'on previa. 
 
820
 
 
821
@end deffn
 
822
 
 
823
@deffn {Funci@'on} labels (@var{symbol})
 
824
@deffnx {Variable del sistema} labels
 
825
Retorna la lista de etiquetas de entrada, salida o de expresiones intermedias las cuales empiezan con @var{symbol}. 
 
826
T@'{@dotless{i}}picamente @var{symbol} es el valor de las variables @code{inchar}, @code{outchar} o @code{linechar}. 
 
827
El caract@'er de etiqueta puede ser pasado con o sin signo de porcentaje, 
 
828
as@'{@dotless{i}}, por ejemplo, @code{i} y @code{%i} producen el mismo resultado.  
 
829
 
 
830
Si ninguna etiqueta empieza con @var{symbol}, @code{labels} retorna a una
 
831
lista vac@'{@dotless{i}}a. 
 
832
 
 
833
La funci@'on @code{labels} no evalua su argumento.
 
834
El operador comilla-comilla, @code{'@w{}'}, obliga a que se realice la evaluaci@'on.
 
835
Por ejemplo, 
 
836
@code{labels (''inchar)} devuelve las etiquetas de entrada que empiezan con el caract@'er de etiqueta de entrada actual. 
 
837
 
 
838
La variable @code{labels} es una lista de las etiquetas de entrada, salida y expresiones intermedias, incluyendo todas las etiquetas anteriores en el caso de que @code{inchar}, @code{outchar} o @code{linechar} hayan sido redefinidas. 
 
839
 
 
840
Por defecto, Maxima muestra el resultado de cada expresi@'on introducida por el usuario, asignando al resultado una etiqueta de salida. 
 
841
La salida (es decir el resultado) puede ser suprimida terminando la expresi@'on de entrada con un @code{$} (signo de d@'olar) en vez de un @code{;} (punto y coma). 
 
842
En este caso, se crea la etiqueta de salida y se le asigna el resultado, aunque @'este no se muestre; a@'un as@'{@dotless{i}}, la etiqueta puede ser referenciada de la misma forma que se hace con aqu@'ellas cuyos resultados s@'{@dotless{i}} son muestrados.
 
843
 
 
844
V@'eanse tambi@'en: @code{%}, @code{%%} y @code{%th}. 
 
845
 
 
846
Las etiquetas de expresiones intermedias pueden ser generadas por algunas funciones. El interruptor @code{programmode} controla si @code{solve} y algunas otras funciones generan etiquetas de expresiones intermedias en vez de retornar una lista de expresiones. 
 
847
Algunas otras funciones, tales como @code{ldisplay}, siempre generan etiquetas de expresiones intermedias. 
 
848
 
 
849
 
 
850
V@'ease tambi@'en: @code{inchar}, @code{outchar}, @code{linechar} y @code{infolists}.
 
851
 
 
852
@end deffn
 
853
 
 
854
@c EXPAND; SHOW WHAT HAPPENS WHEN linenum IS ASSIGNED A VALUE
 
855
@defvr {Variable del sistema} linenum
 
856
El n@'umero de la l@'{@dotless{i}}nea del par de expresiones de entrada y salida actuales. 
 
857
@end defvr
 
858
 
 
859
@c NEEDS WORK
 
860
@defvr {Variable del sistema} myoptions
 
861
Valor por defecto: @code{[]}
 
862
 
 
863
@code{myoptions} es la lista de todas las opciones que nunca fueron reconfiguradas por el usuario, aunque @'estas hayan sido reconfiguradas a su valor por defecto. 
 
864
 
 
865
@end defvr
 
866
 
 
867
@defvr {Variable opcional} nolabels
 
868
Valor por defecto: @code{false}
 
869
 
 
870
Cuando @code{nolabels} vale @code{true},
 
871
las etiquetas de entrada y salida 
 
872
(@code{%i} y @code{%o}, respectivamente)
 
873
son mostradas, pero a @'estas no se les 
 
874
asignan los resultados; adem@'as, las etiquetas no se
 
875
incorporan a la lista @code{labels}.
 
876
Puesto que a las etiquetas no se les asignan resultados, 
 
877
el colector de basura puede recuperar la memoria ocupada
 
878
por los @'estos.
 
879
 
 
880
En el caso contrario, a las etiquetas de entrada y salida se les asignan los resultados correspondientes y son a@~nadidas a la lista @code{labels}.
 
881
 
 
882
Las etiquetas de expresiones intermedias (@code{%t}) no se ven afectadas por la variable @code{nolabels};
 
883
independientemente de que @code{nolabels} valga @code{true} o @code{false}, a las etiquetas de expresiones intermedias se les asignan siempre valores, adem@'as de ser a@~nadidas a la lista @code{labels}.
 
884
 
 
885
V@'eanse tambi@'en @code{batch}, @code{batchload} y @code{labels}. 
 
886
 
 
887
@end defvr
 
888
 
 
889
@defvr {Variable opcional} optionset
 
890
Valor por defecto: @code{false}
 
891
 
 
892
Cuando @code{optionset} tiene como valor @code{true}, Maxima imprime un
 
893
mensaje cada vez que una opci@'on de Maxima es reconfigurada. Esto es 
 
894
muy @'util si el usuario duda con frecuencia de la correctitud de alguna
 
895
opci@'on y quiere estar seguro de la variable a la que @'el asign@'o un
 
896
valor fue verdaramente una variable opci@'on (o interruptor). 
 
897
 
 
898
@end defvr
 
899
 
 
900
@deffn {Funci@'on} playback ()
 
901
@deffnx {Funci@'on} playback (@var{n})
 
902
@deffnx {Funci@'on} playback ([@var{m}, @var{n}])
 
903
@deffnx {Funci@'on} playback ([@var{m}])
 
904
@deffnx {Funci@'on} playback (input)
 
905
@deffnx {Funci@'on} playback (slow)
 
906
@deffnx {Funci@'on} playback (time)
 
907
@deffnx {Funci@'on} playback (grind)
 
908
Muestra las entradas, salidas y expresiones intermedias 
 
909
sin recalcularlas. 
 
910
@code{playback} s@'olo muestra las expresiones asociadas con etiquetas; 
 
911
cualquier otra salida (tal como texto impreso por @code{print} o @code{describe}, o mensajes de error) no es mostrada. 
 
912
V@'ease tambi@'en: @code{labels}. 
 
913
 
 
914
@code{playback} no evalua sus argumentos. 
 
915
El operador comilla-comilla, @code{'@w{}'}, obliga a que se realice la evaluaci@'on.
 
916
@code{playback} siempre devuelve @code{done}. 
 
917
 
 
918
@code{playback ()} (sin argumentos) muestra todas las entradas, salidas y expresiones intermedias generadas hasta el momento. 
 
919
Una expresi@'on de salida es mostrada incluso si @'esta fue suprimida por el caracter de terminaci@'on @code{$}, cuando fue originalmente calculada. 
 
920
 
 
921
@code{playback (@var{n})}  muestra las @var{n} expresiones m@'as recientes. Cada entrada, salida y expresi@'on intermedia cuenta como una. 
 
922
 
 
923
@code{playback ([@var{m}, @var{n}])} muestra entradas, salidas y expresiones intermedias con los n@'umeros desde @var{m} hasta @var{n}, ambos inclusive. 
 
924
 
 
925
@code{playback ([@var{m}])} es equivalente a @code{playback ([@var{m}, @var{m}])};
 
926
esto usualmente imprime un par de expresiones de entrada y salida. 
 
927
 
 
928
@code{playback (input)} muestra todas las expresiones de entrada generadas hasta el momento. 
 
929
 
 
930
@code{playback (slow)} hace pausas entre expresiones y
 
931
espera a que el usuario pulse la tecla @code{enter} para continuar. 
 
932
Esto es un comportamiento similar a @code{demo}. 
 
933
 
 
934
@c WHAT DOES THE FOLLOWING MEAN ???
 
935
@c HAY QUE ESPERAR PARA ACLARAR ESTA PARTE
 
936
@code{playback (slow)} es muy @'util en conjunci@'on con @code{save} o
 
937
@code{stringout} cuando se crea un archivo secundario de almacenamiento con el objetivo de elegir cuidadosamente las expresiones realmente @'utiles. 
 
938
 
 
939
@c @code{playback (slow)} is useful in conjunction with @code{save} or @code{stringout}
 
940
@c when creating a secondary-storage file in order to pick out useful expressions.
 
941
 
 
942
@code{playback (time)} muestra el tiempo de computo por cada expresi@'on. 
 
943
 
 
944
@c DON'T BOTHER TO MENTION OBSOLETE OPTIONS !!!
 
945
@c The arguments @code{gctime} and @code{totaltime} have the same effect as @code{time}.
 
946
 
 
947
@code{playback (grind)} muestra las expresiones de entrada 
 
948
en el mismo formato como la funci@'on @code{grind}. 
 
949
Las expresiones de salida no se ven afectadas por la opci@'on 
 
950
@code{grind}. 
 
951
Vea @code{grind}. 
 
952
 
 
953
Los argumentos pueden ser combinandos, e.g., 
 
954
@code{playback ([5, 10], grind, time, slow)}.
 
955
@c APPEARS TO BE input INTERSECT (UNION OF ALL OTHER ARGUMENTS). CORRECT ???
 
956
 
 
957
@end deffn
 
958
 
 
959
@deffn {Funci@'on} printprops (@var{a}, @var{i})
 
960
@deffnx {Funci@'on} printprops ([@var{a_1}, ..., @var{a_n}], @var{i})
 
961
@deffnx {Funci@'on} printprops (all, @var{i})
 
962
Muestra la propiedad con el indicador @var{i} asociado 
 
963
con el @'atomo @var{a}. @var{a} pueder ser tambi@'en una lista de
 
964
@'atomos o el @'atomo @code{all} en cuyo caso todos los @'atomos a los cuales se les haya dado esa propiedad ser@'an usados. 
 
965
Por ejemplo, @code{printprops ([f, g], atvalue)}. @code{printprops} es 
 
966
para propiedades que no pueden ser mostradas de otra manera, i.e. para
 
967
@code{atvalue}, @code{atomgrad}, @code{gradef}, y @code{matchdeclare}.
 
968
 
 
969
@end deffn
 
970
 
 
971
@defvr {Variable opcional} prompt
 
972
Valor por defecto: @code{_}
 
973
 
 
974
@code{prompt} es el s@'{@dotless{i}}mbolo del prompt de la funci@'on @code{demo}, 
 
975
del modo @code{playback (slow)} y del bucle de interrupci@'on de Maxima (el que se invoca con @code{break}). 
 
976
 
 
977
@end defvr
 
978
 
 
979
@deffn {Funci@'on} quit ()
 
980
Termina una sesi@'on de Maxima. 
 
981
N@'otese que la funci@'on debe ser invocada como @code{quit();} o @code{quit()$}, no como @code{quit}. 
 
982
 
 
983
Para parar un c@'alculo muy demorado 
 
984
pulse @code{Control-C}. 
 
985
La acci@'on por defecto es retornar a prompt de Maxima. 
 
986
Si @code{*debugger-hook*} tiene como valor @code{nil},
 
987
pulsar @code{Control-C} abrir@'a el depurador de Lisp. 
 
988
Vea tambi@'en: @code{debugging}. 
 
989
 
 
990
@end deffn
 
991
 
 
992
 
 
993
@deffn {Funci@'on} remfunction (@var{f_1}, ..., @var{f_n})
 
994
@deffnx {Funci@'on} remfunction (all)
 
995
Desliga las definiciones de funci@'on de sus s@'{@dotless{i}}mbolos @var{f_1}, ..., @var{f_n}.
 
996
Los argumentos pueden ser nombres de funciones ordinarias (creadas con @code{:=} o @code{define}) o de funciones macro (creadas con @code{::=}).
 
997
 
 
998
La instrucci@'on @code{remfunction (all)} desliga todas las definiciones de funciones.
 
999
 
 
1000
La funci@'on @code{remfunction} no eval@'ua sus argumentos.
 
1001
 
 
1002
La funci@'on @code{remfunction} devuelve una lista con los s@'{@dotless{i}}mbolos para los que la definici@'on de funci@'on fue desligada. Devuelve @code{false} en el lugar de cualquier s@'{@dotless{i}}mbolo para el que no hay funci@'on definida.
 
1003
 
 
1004
@end deffn
 
1005
 
 
1006
@deffn {Funci@'on} reset ()
 
1007
Reconfigura muchas variables y opciones globales y algunas otras variables a sus valores por defecto. 
 
1008
 
 
1009
@code{reset} procesa las variables que se encuentran en la lista Lisp 
 
1010
@code{*variable-initial-values*}. 
 
1011
La macro Lisp @code{defmvar} pone las variables en @'esta lista (entre otras acciones). 
 
1012
Muchas, pero no todas, las variables y opciones globales son definidas por @code{defmvar}, y algunas variables definidas por @code{defmvar} no son ni variables ni opciones globales. 
 
1013
 
 
1014
@end deffn
 
1015
 
 
1016
@defvr {Variable opcional} showtime
 
1017
Valor por defecto: @code{false}
 
1018
 
 
1019
Cuando @code{showtime} tiene como valor @code{true}, el tiempo de c@'alculo y el tiempo de retardo se imprimen junto con la salida de cada expresi@'on. 
 
1020
 
 
1021
El tiempo de c@'alculo se almacena siempre, de manera que @code{time} y @code{playback} puedan mostrar el tiempo de c@'alculo incluso cuando @code{showtime} vale @code{false}.
 
1022
 
 
1023
V@'ease tambi@'en @code{timer}.
 
1024
 
 
1025
@end defvr
 
1026
 
 
1027
@c IS THIS ANY DIFFERENT FROM ASSIGNING A PROPERTY ??
 
1028
@c THIS REALLY SEEMS LIKE A HACK
 
1029
@deffn {Funci@'on} sstatus (@var{feature}, @var{package})
 
1030
Configura el estado de @var{feature} en @var{package}. 
 
1031
Despu@'es de que @code{sstatus (@var{feature}, @var{package})} es 
 
1032
ejecutado @code{status (@var{feature}, @var{package})} retorna
 
1033
@code{true}. 
 
1034
Esto puede ser muy @'util para escritores de paquetes, con el 
 
1035
objetivo de conservar las pistas de que caracter@'{@dotless{i}}siticas han 
 
1036
cargado estos. 
 
1037
 
 
1038
@end deffn
 
1039
 
 
1040
@deffn {Function} to_lisp ()
 
1041
Entra en el int@'erprete Lisp bajo Maxima. @code{(to-maxima)} retorna de nuevo a Maxima. 
 
1042
 
 
1043
@end deffn
 
1044
 
 
1045
@defvr {Variable del sistema} values
 
1046
Valor inicial: @code{[]}
 
1047
 
 
1048
@code{values} es una lista de todas las variables que el usuario ha creado (no constituye las opciones Maxima ni los interruptores). 
 
1049
La lista comprende los s@'{@dotless{i}}mbolos @code{:} , @code{::}, o @code{:=}.
 
1050
 
 
1051
@end defvr