Hoofdstuk 2. Syntaxis

In KAlgebra kent een intuïtieve algebraïsche syntaxis voor het invoeren van functies, gelijk aan die van de meeste moderne grafische rekenmachines. U vindt hier een lijst van de fundamentele ingebouwde bewerkingen in KAlgebra. De auteur van KAlgebra modelleerde de syntaxis naar Maxima en Maple om tegemoet te komen aan gebruikers van deze programma's.

Voor hen die belang stellen in hoe KAlgebra werkt: door de gebruiker ingevoerde expressies worden in de backend geconverteerd naar MathML. Een rudimentair begrip van de mogelijkheden van MathML kan al veel duidelijk maken van de interne mogelijkheden van KAlgebra.

Hier is een lijst van de tot nu toe beschikbare bewerkingen:

  • + - * / : Optellen, aftrekken, vermenigvuldigen en delen.

  • ^, **: Machtverheffen, u kunt ze allebei gebruiken. Het is ook mogelijk de unicode ² -karakters te gebruiken. U kunt machten ook gebruiken voor het berekenen van wortels zoals: a**(1/b)

  • -> : lambda. Dit is hoe een of meer vrije variabelen worden opgegeven in een functie. Bijvoorbeeld, in de expressie lengte:=(x,y)->(x*x+y*y)^0.5, wordt de bewerking lambda gebruikt om aan te geven dat x en y in de functie lengte zullen worden gebruikt.

  • x=a..b : Wordt gebruikt wanneer het nodig is om een interval te begrenzen (begrensde variabele+bovengrens+ondergrens). Dit betekent dat x verloopt van a naar b.

  • () : Wat tussen haakjes staat eerst berekenen.

  • abc(params) : Functies. Wanneer bij het inlezen een functie wordt gevonden, wordt nagegaan of abc een interne bewerking is. Indien dit zo is, dan wordt het als zodanig beschouwd, en anders als een door de gebruiker gemaakte functie.

  • := : Waardetoekenning. Wordt gebruikt om aan een variabele een waarde te geven. U kunt dingen doen als x:=3, x:=y, waarin y al of niet een waarde heeft, of omtrek:=r->2*pi*r.

  • ? : piecewise: voorwaarden in gedeelten. Hiermee kunnen we in KAlgebra voorwaardelijke bewerkingen definiëren. Anders gezegd: dit iseen andere manier voor het opgeven van voorwaarden dan in de vorm van if, elseif, else. Geven we de voorwaarde op voor het symbool '?' dan geldt die alleen als die waar is. Bij een '?' zonder een voorwaarde, dan wordt die alsnog ingevoerd. Voorbeeld: piecewise { x=0 ? 0, x=1 ? x+1, ? x**2 }

  • { } : plaatshouder in MathML. Kan worden gebruikt om een plaatshouder te definiëren. Wordt het meest met piecewise worden gebruikt.

  • = > >= < <= : Vergelijking van getallen, in de genoemde volgorde gelijk aan, groter dan of gelijk aan, kleiner dan en kleiner dan of gelijk aan.

U zou mij nu kunnen vragen wat een gebruiker te maken heeft met MathML. Nou, dat is eenvoudig te beantwoorden. Hiermee kunnen we werken met functies zoals cos(), sin(), en andere goniometrische functies, sum() of product(). (optellen en vermenigvuldigen). Het doet er niet toe wat. We kunnen plus(), times() (keer) gebruiken, en verder alles waarvoor er een bewerking is. Booleaanse functies zijn ook aanwezig, zodat we zoiets kunnen gebruiken als or(1,0,0,0,0) (de or-functie)