EffeX.exe, un analizzatore di espressione matematiche.

l'autore propone un potente parser (parser = analizzatore) di espressioni matematiche. L'immagine sotto mostra come appare EffeX.exe.

Come si usa EffeX.exe

Ecco come si presenta la finestra di Effex.exe dopo che è stata lanciata l'applicazione. Come si vede dall'immagine, EffeX.exe mostra al suo interno due sezioni:

  • sezione input-eval expression , ovvero sezione di immissione e valutazione dell'espressione matematica

  • sezione Define-Memorize Variable and Function , ovvero sezione riservata alla creazione e alla memorizzazione delle variabili numeriche e delle funzioni.

Processare espressioni matematiche

processare = svolgere

L'immagine mostra l'immissione nella finestra di testo, Expr. , di una espressione matematica abbastanza complessa. Il risultato è mostrato sotto, nel text-box Result.

Accanto al text-box del risultato si nota un altro text-box più piccolo, Compiling 0 = OK, se in esso compare il numero 0, allora vuol dire che l'espressione immessa è stata processata regolarmente con esito positivo e il risultato mostrato può essere accettato.

In questo caso nel tex-box Result compare un messaggio di errore, ERROR,  e nel text-box Compiling compare il codice di errore relativo 1 ; in particolare l'espressione immessa mostra un'irregolarità: manca la parentesi tonda finale.

Usare le variabili numeriche e le funzioni

L'immagine mostra la definizione (creazione) di una variabile numerica nel text-box Edit; a questa variabile numerica, alfa , è stato assegnato nel text-box, F(x) argument, variable value,  il valore numerico risultante da 5 + 2 (si può digitare un numero qualunque).

La memorizzazione della variabile alfa avviene dopo aver cliccato sul pulsante Variable.

l'immagine mostra l'uso della variabile appena creata, alfa, in una semplicissima espressione ALFA+1; notare che EffeX.exe trasforma da minuscolo a maiuscolo il nome della variabile.

 

Ma come si fa a far comparire nel text-box di calcolo la variabile appena creata? Ci sono due modi:

  • basta semplicemente digitare la variabile all'interno del tex-box di calcolo;

  • si cerca, nella casella di riepilogo a discesa denominata Var , la variabile alfa precedentemente memorizzata agendo sui pulsantini a forma di triangolo.

Appena rintracciata ci si fa sopra un doppio click; in questo modo la variabile comparirà nel text-box di calcolo.

 

Scorrendo l'elenco delle variabili memorizzate, ne compariranno alcune che EffeX.exe crea autonomanente: si tratta di PI = 3.14 , X = 0, e ZETA che vale l'ultimo risultato valido otteneuto in un calcolo.

 

Attenzione: la variabile PI (pi greco) è impossibile da modificare, varrà perciò sempre 3.14... . Invece la variabile X può essere modificata a vostro piacere; ZETA vale in ogni caso l'ultimo risultato valido ottenuto in un calcolo.

L'immagine sopra mostra il modo di creare memorizzare e usare in un calcolo una funzione matematica di una variabile numerica (obbligatoriamente X ). In questo caso l'immagine mostra l'uso della funzione doppio di , ovvero DOPPIO( X ) .

 

Attenzione, è necessario che all'interno delle parentesi della funzione sia immesso un numero, altrimenti il parser (parser = analizzatore) di EffeX.exe segnalerà un errore.

Per finire, qualcosa di avanzato, una funzione interna di EffeX.exe utilizzabile per calcoli tecnici-scientifici particolari. Si tratta della funzione di due variabili  XX_RAD(  ; ) in grado di trasformare le coordinate cartesiane di un punto del piano (x ; y) in un valore compreso tra 0 e 6.28...

 

Come si può notare nell'immagine, le coordinate (-1;-1) di un punto sono trasformate dalla funzione:

 XX_RAD(  (-1 );( -1) )

 in un valore numerico angolare che vale 225 (gradi).


Appendice

simboli aritmetici

  • + addizione

  • - sottrazione

  • * moltiplicazione

  • / divisione

  • ^ elevamento a potenza

  • ( ) parentesi, solo tonde, es. : ((2*(13+(3+4)+(4+5)-12)+4)^(2+3))

funzioni matematiche pre-definite

  • ABS()  valore assoluto

  • ACOS() arcocoseno

  • ASIN() arcoseno

  • ATAN() arcotangente

  • CBRT() radice cubica

  • COS() coseno

  • COSH() coseno iperbolico

  • CUB() cubo

  • EXP() esponenziale , es. EXP(1) = 2.718282 , base logaritmi neperiani

  • FRAC() parte decimale di un numero

  • INT() parte intera di un numero

  • LN() logaritmo neperiano, es. LN(1) = 0

  • LOG() logaritmo decimale

  • SIN() seno

  • SINH()  seno iperbolico

  • SQR()  quadrato di un numero

  • SQRT() radice quadrata

  • TAN() tangente

  • XY_RAD(x ;y ) XYRAD(x ; y)  funzione di due variabili che restituisce un valore numerico positivo compreso tra 0 e 2pigreco:  0 < n < 2pigreco


EffeX.exe consente di creare e memorizzare a piacere funzioni matematiche anche complesse che ne contengono altre.

La lunghezza massima di una espressione non deve superare i 254 caratteri tipografici; in ogni caso è possibile processare espressioni matematiche più lunghe spezzando l'espressione in più parti, impiegando al loro posto le variabili numeriche, oppure sfruttando la capacità di EffeX.exe di creare e memorizzare funzioni di una variabile.

EffeX.exe è stato realizzato in Visual C++ impiegando le classi MFC di Microsoft. Per altri chiarimenti rivolgetevi all' autore .

scarica Effe.EXE