# El manual del &kalgebra;

## Introducció

El &kalgebra; té nombroses característiques que permeten a l'usuari realitzar tota mena d'operacions matemàtiques i mostrar-les gràficament. Alhora, aquest programa ha estat orientat a &MathML;. Ara el pot utilitzar qualsevol persona amb una mica de coneixements matemàtics per a resoldre problemes senzills i avançats per igual.

Inclou característiques com:

- Una calculadora per a l'avaluació ràpida i fàcil de les funcions matemàtiques.

- Capacitat de crear scripts per a sèries de càlculs avançats.

- Capacitats de llenguatge, incloent-hi la compleció automàtica de la definició i sintaxi de les funcions.

- Funcions de càlcul, incloent-hi els derivats de càlcul simbòlic, càlcul vectorial, manipulació de les llistes.

- Gràfiques de les funcions amb cursor dinàmic per a trobar l'arrel gràfica i altres tipus d'anàlisi.

- Gràfiques en 3D per a una visualització útil de les funcions en 3D.

- Un diccionari integrat en construir d'operadors per a una referència ràpida de les funcions disponibles.

A continuació es mostra una captura de pantalla de l'aplicació &kalgebra; en acció:

Aquí hi ha una captura de pantalla de la finestra principal del &kalgebra; La finestra principal del &kalgebra;

Quan l'usuari inicia una sessió del &kalgebra;, es presentarà amb una sola finestra que consisteix en les pestanyes Calculadora, Gràfica en 2D, Gràfica en 3D i Diccionari. Dins de cada pestanya, trobareu un camp d'entrada per a introduir les vostres funcions o càlculs, i un camp de vista que mostrarà els resultats.

En qualsevol moment l'usuari pot gestionar la seva sessió amb les opcions en el menú principal Sessió:

&Ctrl; N Sessió Nou

- Obre una finestra nova del &kalgebra;.

&Ctrl;&Maj; F Sessió Mode de pantalla completa

- Alterna el mode de pantalla completa per a la finestra del &kalgebra;. El mode de pantalla completa també es pot activar i desactivar utilitzant el botó a la part superior dreta de la finestra del &kalgebra;.

&Ctrl; Q Sessió Surt

- Surt del programa.

## Sintaxi

El &kalgebra; utilitza una sintaxi algebraica intuïtiva per a la introducció de funcions d'usuari, similar a la utilitzada en les calculadores gràfiques més modernes. En aquesta secció s'enumeren els operadors fonamentals integrats en construir que hi ha disponibles en el &kalgebra;. L'autor del &kalgebra; modela aquesta sintaxi basant-se en el Maxima i el Maple per als usuaris que estiguin familiaritzats amb aquests programes.

Per als usuaris que estiguin interessats en el funcionament intern del &kalgebra;, les expressions introduïdes per l'usuari es converteixen a &MathML; sobre el dorsal. Una comprensió rudimentària de les capacitats de suport de &MathML; donen un gran avenç a les capacitats internes del &kalgebra;.

Aquí hi ha una llista dels operadors disponibles que tenim per ara:

- `+ - * /` : Suma, resta, multiplicació i divisió.

- `^, **` : Potència, pot utilitzar ambdós. També és possible utilitzar caràcters Unicode `²`. Les potències són una manera de calcular arrels, podeu fer-ho com: `a**(1/b)`

- `->` : lambda. És la manera d'especificar una o més variables lliures que seran acotades a una funció. Per exemple, en l'expressió, `length:=(x,y)->(x*x+y*y)^0.5`, l'operador «lambda» s'utilitza per a indicar que «`x`» i «`y`» s'acoten quan s'utilitza la funció de longitud («length»).

- `x=a..b` : S'utilitza quan necessitem delimitar un abast (variable acotada+límit superior+límit inferior). Això vol dir que «`x`» anirà des de «`a`» a «`b`».

- `()` : S'utilitza per a especificar una prioritat més alta.

- `abc(params)` : Funcions. Quan l'analitzador troba una funció, comprovarà si «`abc`» és un operador. Si ho és, el tractarà com a tal, si no ho és, el tractarà com una funció d'usuari.

- `:=` : Definició. S'utilitza per a definir un valor variable. Podeu fer coses com `x:=3`, `x:=y`, la «`y`» es pot definir o no, o `perimeter:=r->2*pi*r`.

- `?` : Definició de condicions. Aquesta és la manera com podem definir les operacions condicionals al &kalgebra;. Dit d'una altra manera, aquesta és una forma d'especificar una condició «if», «elseif», «else». Si presentem la condició abans del caràcter «`?`» només s'utilitzarà aquesta condició si és veritat, si troba un caràcter «`?`» sense cap condició, introduirà l'última instància. Exemple: `piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 }`

- `{}` : Contenidor de &MathML;. Es pot utilitzar per a definir un contenidor. Principalment útil per a treballar amb les definicions d'operacions condicionals.

- `= > >= < <=` : Comparadors de valor per a «igual que», «més gran que», «més gran o igual que», «més petit que» i «més petit o igual que», respectivament.

Ara us podeu preguntar, què fa llavors el &MathML;? És molt senzill. Amb ell, podem operar amb funcions com `cos()`, `sin()`, altres funcions trigonomètriques, `sum()` o `product()`. No importa de quin tipus siguin. Podem utilitzar `plus()`, `times()` i tot el que té el seu operador. Les funcions booleanes també s'apliquen, de manera que no podem fer quelcom semblant a `or(1,0,0,0,0)`.

## Ús de la calculadora

La calculadora del &kalgebra; és útil com una calculadora amb esteroides. L'usuari pot introduir expressions per a avaluar en el mode Calcula o Avalua, depenent de la selecció al menú Calculadora.

En el mode avaluació, el &kalgebra; simplifica l'expressió fins i tot si veu una variable sense definir. En el mode càlcul, el &kalgebra; ho calcula tot i si troba una variable sense definir, mostrarà un error.

A més de mostrar a la pantalla de la calculadora les equacions i resultats introduïts per l'usuari, totes les variables que es declaren es mostren en un quadre persistent de la dreta. Fent doble clic sobre una variable, veureu un diàleg que us permetrà canviar els seus valors (només una manera d'enganyar al registre).

La variable «`ans`» és especial, cada vegada que introduïu una expressió, el valor de la variable «`ans`» canviarà el resultat final.

Els següents exemples són de funcions que es poden introduir en el camp d'entrada de la finestra de la calculadora:

- `sin(pi)`

- `k:=33`

- `sum(k*x : x=0..10)`

- `f:=p->p*k`

- `f(pi)`

A continuació es mostra una captura de pantalla de la finestra de la calculadora després d'introduir les expressions d'exemple de dalt:

Captura de pantalla de la finestra «Calculadora» del &kalgebra; amb expressions d'exemple La finestra «Calculadora» del &kalgebra;

Un usuari pot controlar l'execució d'una sèrie de càlculs utilitzant les opcions del menú Calculadora:

&Ctrl; L Calculadora Carrega un script...

- Executa les instruccions en un fitxer seqüencial. Útil si es volen definir algunes biblioteques o reprendre algun treball anterior.

Calculadora Scripts recents

- Mostra un submenú que permetrà triar entre els scripts executats recentment.

&Ctrl; G Calculadora Desa un script...

- Desa les instruccions que heu escrit des que es va iniciar la sessió per a poder-les tornar a utilitzar. Genera fitxers de text de manera que siguin fàcils de corregir utilitzant qualsevol editor de text, com el &kate;.

&Ctrl; S Calculadora Exporta el registre...

- Desa el registre amb tots els resultats en un fitxer &HTML; per a poder-lo imprimir o publicar.

F3 Calculadora Insereix «ANS»...

- Insereix la variable «`ans`» i facilita la reutilització dels valors més antics.

Calculadora Calcula

- Un botó d'opció per a establir el Mode d'execució a càlcul.

Calculadora Avalua

- Un botó d'opció per a establir el Mode d'execució a avaluació.

## Gràfiques en 2D

Per a afegir una nova gràfica en 2D en el &kalgebra;, seleccioneu la pestanya Gràfica en 2D i feu clic a la pestanya Afegeix per a afegir una nova funció. El vostre focus anirà a un quadre de text des d'on podreu escriure la funció.

### Sintaxi

Si voleu utilitzar una funció típica `f(x)`, no és necessari especificar-la, però si voleu `f(y)` o una funció polar, haureu d'afegir `y->` i `q->` com en les variables acotades.

Exemples:

- `sin(x)`

- `x²`

- `y->sin(y)`

- `q->3*sin(7*q)`

- `t->vector{sin t, t**2}`

Si heu introduït la funció, feu clic al botó D'acord per a visualitzar la gràfica a la finestra principal.

### Característiques

Podeu ajustar diverses gràfiques en la mateixa vista. Només heu d'utilitzar el botó Afegeix quan es troba en mode de llista. Podeu ajustar cada gràfica amb el seu propi color.

La vista es pot apropar i moure amb el ratolí. Utilitzant la roda podeu apropar i allunyar. També podeu seleccionar una zona amb el &BER; i aquesta àrea serà ampliada. Moureu la vista amb les tecles de fletxa del teclat.

L'àrea de visualització de les gràfiques en 2D es pot definir de forma explícita utilitzant la pestanya Àrea de visualització sobre una pestanya Gràfica en 2D.

A la pestanya Llista a la part inferior dreta, podreu obrir una pestanya Editant per a editar o eliminar una funció amb doble clic i marcar o desmarcar la casella de selecció al costat del nom de la funció per a mostrar-la o ocultar-la.

Al menú Gràfica en 2D trobareu aquestes opcions:

- Quadrícula: Mostra o oculta la quadrícula

- Mantén la relació d'aspecte: Mantén la relació d'aspecte mentre es fa zoom

- Desa: Desa (&Ctrl; S) la gràfica com un fitxer d'imatge

- Apropa/Allunya: Apropa (&Ctrl; +) i allunya (&Ctrl; -)

- Mida real: Reinicia la vista a l'apropament original

- Resolució: Seguit d'una llista de botons d'opció per a seleccionar una resolució per a les gràfiques

A continuació es mostra una captura de pantalla d'un usuari en què el cursor es troba en l'arrel a la dreta de la funció, `sin(1/x)`. L'usuari utilitza una resolució molt alta per a crear aquesta gràfica (atès que una funció amb una freqüència cada vegada major acaba oscil·lant al voltant de les coordenades d'origen). També hi ha una funció de cursor en viu, on cada vegada que moveu el cursor sobre un punt, es mostren els valors de «`x`» i «`y`» a la cantonada inferior esquerra de la pantalla. També s'ha dibuixat una «línia tangent» sobre la funció a la posició on es troba el cursor.

Aquí hi ha una captura de pantalla de la finestra «Gràfica en 2D» del &kalgebra; La finestra «Gràfica en 2D» del &kalgebra;

## Gràfiques en 3D

Per a dibuixar una gràfica en 3D amb el &kalgebra;, seleccioneu la pestanya Gràfica en 3D i veureu un camp d'entrada a la part inferior on escriureu la funció. `Z` encara no es pot definir. De moment, el &kalgebra; només admet gràfiques en 3D explícitament que depenen únicament de la «`x`» i «`y`», com ara `(x,y)->x*y, on z=x*y`.

Exemples:

- `(x,y)->sin(x)*sin(y)`

- `(x,y)->x/y`

La vista es pot apropar i moure amb el ratolí. Utilitzant la roda podeu apropar i allunyar. Manteniu premut el &BER; i moveu el ratolí per a fer girar la gràfica.

Les tecles &Left; i &Right; giren la gràfica al voltant de l'eix «`z`», les tecles &Up; i &Down; la giren al voltant de l'eix horitzontal de la vista. Premeu W per a ampliar i S per a allunyar dins de la gràfica.

Al menú Gràfica en 3D trobareu aquestes opcions:

- Desa: Desa (&Ctrl;S) la gràfica com un fitxer d'imatge o document admès

- Restableix la vista: Reinicia la vista a l'apropament original al menú Gràfica en 3D

- Podeu dibuixar les gràfiques amb els estils Punts, Línies o Sòlid al menú Gràfica en 3D

A continuació es mostra una captura de pantalla de l'anomenada funció «sombrero». En aquesta gràfica en particular es mostra la gràfica en 3D utilitzant l'estil de línies.

Aquí hi ha una captura de pantalla de la finestra «Gràfica en 3D» del &kalgebra; La finestra «Gràfica en 3D» del &kalgebra;

## Diccionari

El diccionari conté una llista de totes les funcions integrades en construir el &kalgebra;. Es pot utilitzar per a trobar la definició d'una operació i els seus paràmetres d'entrada. És un lloc útil per a cercar les moltes capacitats del &kalgebra;.

A continuació es mostra una captura de pantalla de la cerca al diccionari del &kalgebra; de la funció cosinus.

Aquí hi ha una captura de pantalla de la finestra «Diccionari» del &kalgebra; La finestra «Diccionari» del &kalgebra;
&commands;

## Crèdits i llicència

- Copyright del programa 2005-2009 &Aleix.Pol;

Copyright de la documentació 2007 &Aleix.Pol; &Aleix.Pol.mail;

Traductor/Revisor de la documentació: &credits.Antoni.Bella;

&underFDL; &underGPL;
&documentation.index;