Prova a esprimere queste formule (scritte per un computer) nella usuale
scrittura e a trasformarle in grafo ad albero (ed, eventualmente, in
una sequenza di assegnazioni elementari)

ASSEGNAZIONE:      X <- A*B                            (##)

ASSEGNAZIONE:      X <- A*B+C                          (##)

ASSEGNAZIONE:      Y <- A+B*C                          (##)

ASSEGNAZIONE:      W <- A-B*C                          (##)

ASSEGNAZIONE:      U <- A+B^C                          (##)

ASSEGNAZIONE:      A <- B+C/D*E                        (##)

ASSEGNAZIONE:      X <- 2/abs(Y+C*D)                   (##)

ASSEGNAZIONE:      H <- A+B*-C^D                       (##)

ASSEGNAZIONE:      W <- A-B+2^-sqrt(Y)                 (##)

ASSEGNAZIONE:      Z <- A/(B+C)+(D+E)/F                (##)

ASSEGNAZIONE:      T <- abs(X+Y/(Z+1))                 (##)

ASSEGNAZIONE:      R <- sqrt(X^2+Y^2)                  (##)

ASSEGNAZIONE:      K <- -(A+B)+C^D/E                   (##)

ASSEGNAZIONE:      A <- 2^((B+C)/(D+E))                (##)

ASSEGNAZIONE:      A <- (X^U*-X)/(V-Z)+X*5             (##)

ASSEGNAZIONE:      Y <- abs(A+(B^C)^D*E)+F+abs(A+B*C^D)(##)

ASSEGNAZIONE:      V <- A+B/(C+D)*E^F/G*H+K            (##)

ASSEGNAZIONE:      W <- -sqrt(T-1/(X+A*B)/5)           (##)

Le operazioni e i fattori in ordine di priorità, con R.
Confrontale con i grafi ad albero [occorre caricare   library(codetools) ]

showTree(quote( A*B ))
(* A B)
showTree(quote( A*B+C ))
(+ (* A B) C)
showTree(quote( A+B*C ))
(+ A (* B C))
showTree(quote( A-B*C ))
(- A (* B C))
showTree(quote( A+B^C ))
(+ A (^ B C))
showTree(quote( B+C/D*E ))
(+ B (* (/ C D) E))
showTree(quote( 2/abs(Y+C*D) ))
(/ 2 (abs (+ Y (* C D))))
showTree(quote( A+B*-C^D ))
(+ A (* B (- (^ C D))))
showTree(quote( A-B+2^-sqrt(Y) ))
(+ (- A B) (^ 2 (- (sqrt Y))))
showTree(quote( A/(B+C)+(D+E)/F ))
(+ (/ A ("(" (+ B C))) (/ ("(" (+ D E)) F))
Le scritte "(" segnalano solo la presenza di pił parentesi, come fosse:
(+ (/ A (+ B C)) (/ (+ D E) F))
nel seguito sono omesse
showTree(quote( abs(X+Y/(Z+1)) ))
(abs (+ X (/ Y (+ Z 1))))
showTree(quote( sqrt(X^2+Y^2) ))
(sqrt (+ (^ X 2) (^ Y 2)))
showTree(quote( -(A+B)+C^D/E ))
(+ (- (+ A B)) (/ (^ C D) E))
showTree(quote( 2^((B+C)/(D+E)) ))
(^ 2 ( (/ (+ B C) (+ D E))))
showTree(quote( (X^U*-X)/(V-Z)+X*5 ))
(+ (/ (* (^ X U) (- X)) (- V Z)) (* X 5))
showTree(quote( abs(A+(B^C)^D*E)+F+abs(A+B*C^D) ))
(+ (+ (abs (+ A (* (^ (^ B C) D) E))) F) (abs (+ A (* B (^ C D)))))
showTree(quote( A+B/(C+D)*E^F/G*H+K ))
(+ (+ A (* (/ (* (/ B (+ C D)) (^ E F)) G) H)) K)
showTree(quote( -sqrt(T-1/(X+A*B)/5) ))
(- (sqrt (- T (/ (/ 1 ( (+ X (* A B))) 5))))