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))))