File: ch05.html

package info (click to toggle)
genius 1.0.27-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 25,308 kB
  • sloc: ansic: 75,620; xml: 71,565; sh: 4,445; makefile: 1,927; lex: 523; yacc: 298; perl: 54
file content (82 lines) | stat: -rw-r--r-- 12,806 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 5. Conceptos de GEL</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><link rel="home" href="index.html" title="Manual de Genius"><link rel="up" href="index.html" title="Manual de Genius"><link rel="prev" href="ch04s05.html" title="Gráficos de superficie"><link rel="next" href="ch05s02.html" title="Usar variables"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 5. Conceptos de GEL</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="genius-gel"></a>Chapter 5. Conceptos de GEL</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch05.html#genius-gel-values">Valores</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05.html#genius-gel-values-numbers">Números</a></span></dt><dt><span class="sect2"><a href="ch05.html#genius-gel-values-booleans">Booleanos</a></span></dt><dt><span class="sect2"><a href="ch05.html#genius-gel-values-strings">Cadenas</a></span></dt><dt><span class="sect2"><a href="ch05.html#genius-gel-values-null">Nulo</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s02.html">Usar variables</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s02.html#genius-gel-variables-setting">Configurar variables</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#genius-gel-variables-built-in">Variables integradas</a></span></dt><dt><span class="sect2"><a href="ch05s02.html#genius-gel-previous-result">Resultado de la variable anterior</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s03.html">Usar funciones</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s03.html#genius-gel-functions-defining">Definir funciones</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#genius-gel-functions-variable-argument-lists">Listas de argumentos de variables</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#genius-gel-functions-passing-functions">Pasar funciones a funciones</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#genius-gel-functions-operations">Operaciones con funciones</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s04.html">Separador</a></span></dt><dt><span class="sect1"><a href="ch05s05.html">Comentarios</a></span></dt><dt><span class="sect1"><a href="ch05s06.html">Evaluación modular</a></span></dt><dt><span class="sect1"><a href="ch05s07.html">Lista de operadores GEL</a></span></dt></dl></div><p>GEL significa Lenguaje de Extensión de Genius. Éste es el lenguaje que se utiliza para escribir programas para Genius. Un programa en GEL es simplemente una expresión que se evalúa como un número, una matriz, o cualquier objeto en GEL. Por lo tanto, la <span class="application">Herramienta matemática Genius</span> se puede utilizar como una simple calculadora o como una herramienta de investigación teórica muy potente. La sintaxis está pensada para suavizar lo más posible la curva de aprendizaje, especialmente para usarlo como calculadora.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="genius-gel-values"></a>Valores</h2></div></div></div><p>Los valores en GEL pueden ser <a class="link" href="ch05.html#genius-gel-values-numbers" title="Números">números</a>, <a class="link" href="ch05.html#genius-gel-values-booleans" title="Booleanos">booleanos</a> o <a class="link" href="ch05.html#genius-gel-values-strings" title="Cadenas">cadenas</a>. GEL también trata las <a class="link" href="ch08.html" title="Chapter 8. Matrices en GEL">matrices</a> como valores. Los valores se pueden usar en cálculos, asignarse a variables y devolverse desde funciones, entre otros usos.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="genius-gel-values-numbers"></a>Números</h3></div></div></div><p lang="en">
Integers are the first type of number in GEL. Integers are written in the normal way.
</p><pre lang="en" class="programlisting">1234
</pre><p lang="en">
Hexadecimal and octal numbers can be written using C notation. For example:
</p><pre lang="en" class="programlisting">0x123ABC
01234
</pre><p lang="en">
Or you can type numbers in an arbitrary base using <code class="literal">&lt;base&gt;\&lt;number&gt;</code>. Digits higher than 10 use letters in a similar way to hexadecimal. For example, a number in base 23 could be written:
</p><pre lang="en" class="programlisting">23\1234ABCD
</pre><p lang="en">
        </p><p lang="en">
The second type of GEL number is rationals. Rationals are simply achieved by dividing two integers. So one could write:
</p><pre lang="en" class="programlisting">3/4
</pre><p lang="en">
to get three quarters. Rationals also accept mixed fraction notation. So in order to get one and three tenths you could write:
</p><pre lang="en" class="programlisting">1 3/10
</pre><p lang="en">
        </p><p lang="en">
The next type of number is floating point. These are entered in a similar fashion to C notation. You can use <code class="literal">E</code>, <code class="literal">e</code> or <code class="literal">@</code> as the exponent delimiter. Note that using the exponent delimiter gives a float even if there is no decimal point in the number. Examples:
</p><pre lang="en" class="programlisting">1.315
7.887e77
7.887e-77
.3
0.3
77e5
</pre><p lang="en">
	When Genius prints a floating point number it will always append a
	<code class="computeroutput">.0</code> even if the number is whole.  This is to indicate that
	floating point numbers are taken as imprecise quantities.  When a number is written in the
	scientific notation, it is always a floating point number and thus Genius does not
	print the <code class="computeroutput">.0</code>.
        </p><p lang="en">
The final type of number in GEL is the complex numbers. You can enter a complex number as a sum of real and imaginary parts. To add an imaginary part, append an <code class="literal">i</code>.  Here are examples of entering complex numbers:
</p><pre lang="en" class="programlisting">1+2i
8.01i
77*e^(1.3i)
</pre><p lang="en">
        </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>Al introducir números imaginarios, deba haber un número delante de la <code class="literal">i</code>. Si usa <code class="literal">i</code> por sí sola, Genius lo interpretará como una referencia a la variable <code class="varname">i</code>. Si necesita referirse a <code class="literal">i</code> por sí sola, use <code class="literal">1i</code> en su lugar.</p><p>Para usar notación de fracciones mixtas con números imaginarios debe colocar las fracciones mixtas entre paréntesis (ej. <strong class="userinput"><code>(1 2/5)i</code></strong>).</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="genius-gel-values-booleans"></a>Booleanos</h3></div></div></div><p>Genius también soporta valores booleanos nativos. Las dos constantes booleanas están definidas como <code class="constant">true</code> y <code class="constant">false</code>; estos identificadores se pueden utilizar como cualquier otra variable. Así mismo, puede utilizar los identificadores <code class="constant">True</code>, <code class="constant">TRUE</code>, <code class="constant">False</code> y <code class="constant">FALSE</code> como alias de las anteriores.</p><p>Puede usar un valor booleano o cualquier expresión que produzca un número o valor booleano en cualquier lugar donde se espera una expresión Booleana. Si Genius necesita evaluar un valor numérico como un valor booleano interpretará «0» como <code class="constant">false</code> y cualquier otro valor como <code class="constant">true</code>.</p><p lang="en">
In addition, you can do arithmetic with Boolean values. For example:
</p><pre lang="en" class="programlisting">( (1 + true) - false ) * true
</pre><p lang="en">
is the same as:
</p><pre lang="en" class="programlisting">( (true or true) or not false ) and true
</pre><p lang="en">
Only addition, subtraction and multiplication are supported. If you mix numbers with Booleans in an expression then the numbers are converted to Booleans as described above. This means that, for example:
</p><pre lang="en" class="programlisting">1 == true
</pre><p lang="en">
always evaluates to <code class="constant">true</code> since 1 will be converted to <code class="constant">true</code> before being compared to <code class="constant">true</code>.
        </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="genius-gel-values-strings"></a>Cadenas</h3></div></div></div><p lang="en">
Like numbers and Booleans, strings in GEL can be stored as values inside variables and passed to functions. You can also concatenate a string with another value using the plus operator. For example:
</p><pre lang="en" class="programlisting">a=2+3;"The result is: "+a
</pre><p lang="en">
will create the string:
</p><pre lang="en" class="programlisting">The result is: 5
</pre><p lang="en">
You can also use C-like escape sequences such as <code class="literal">\n</code>,<code class="literal">\t</code>,<code class="literal">\b</code>,<code class="literal">\a</code> and <code class="literal">\r</code>. To get a <code class="literal">\</code> or <code class="literal">"</code> into the string you can quote it with a <code class="literal">\</code>. For example:
</p><pre lang="en" class="programlisting">"Slash: \\ Quotes: \" Tabs: \t1\t2\t3"
</pre><p lang="en">
will make a string:
</p><pre lang="en" class="programlisting">Slash: \ Quotes: " Tabs: 	1	2	3
</pre><p lang="en">
Do note however that when a string is returned from a function, escapes are
quoted, so that the output can be used as input.  If you wish to print the
string as it is (without escapes), use the 
<a class="link" href="ch11s02.html#gel-function-print"><code class="function">print</code></a>
or
<a class="link" href="ch11s02.html#gel-function-printn"><code class="function">printn</code></a> functions.
        </p><p lang="en">
		In addition, you can use the library function <a class="link" href="ch11s02.html#gel-function-string"><code class="function">string</code></a> to convert anything to a string. For example:
</p><pre lang="en" class="programlisting">string(22)
</pre><p lang="en">
will return
</p><pre lang="en" class="programlisting">"22"
</pre><p lang="en">
Strings can also be compared with <code class="literal">==</code> (equal), <code class="literal">!=</code> (not equal) and <code class="literal">&lt;=&gt;</code> (comparison) operators
        </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="genius-gel-values-null"></a>Nulo</h3></div></div></div><p>Existe un valor especial llamado <code class="constant">null</code>. No se permite efectuar operaciones sobre él y no se muestra nada cuando se devuelve este valor. Por lo tanto, <code class="constant">null</code> es útil cuando no quiera ninguna salida de una expresión. El valor <code class="constant">null</code> puede obtenerse como una expresión al escribir <code class="literal">.</code>, la constante <code class="constant">null</code> o nada. Nada referido a que si termina una expresión con un separador <code class="literal">;</code>, equivale a terminar la expresión con un separador seguido de <code class="constant">null</code>.</p><p lang="en">
Example:
</p><pre lang="en" class="programlisting">x=5;.
x=5;
</pre><p lang="en">
        </p><p>Algunas funciones devuelven <code class="constant">null</code> cuando no pueden devolver un valor o producen algún error. También se usa <code class="constant">null</code> como un vector o matriz vacía o una referencia vacía.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Gráficos de superficie </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Usar variables</td></tr></table></div></body></html>