Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Check the Lisp program below and make sure it behaves as same as the given instruction and make the necessary adjusments needed. THE CODE: (
Check the Lisp program below and make sure it behaves as same as the given instruction and make the necessary adjusments needed.
THE CODE:
defun simplifyarithmeticexpression expression
let simplified format nil ~~a~ ~ expression
simplified
defun evaluatearithmeticexpression expression values
lettokens splitsequence:splitsequence # expression
evaluatedtokens mapcar lambda token
eval readfromstring token tokens
result apply # evaluatedtokens
format t "Expression value: ~a~ result
defun main
loop
format t "Enter arithmetic expression:
let input readline
cond string input "quit"
format t "Good Bye!~
return
t
letsimplified simplifyarithmeticexpression splitsequence:splitsequenceif #lambda charmember char # # input
format t "Simplification: ~a~ simplified
format t "Evaluateyn
let decision readline
cond string decision y
format t "Provide variable values~
let values makehashtable
loop for var in removeduplicates removeifnot #'alphacharp coerce simplified 'list
do progn format t ~a : var
setf gethash var valuesread
evaluatearithmeticexpression input values
string decision n
format t ~
t format t "Invalid choice.~
main
THE INSTRUCTION:
Create a program for the simplification and evaluation of arithmetic expressions. The program, when executed, should prompt the user to enter an arithmetic expression:
exeval
Enter arithmetic expression: x y x
The expression should be a linear combination of single letter variables. The program will then simplify the expression:
exeval
Enter arithmetic expression: x y x
Simplification: x y
and then will ask whether to evaluate the expression. If the answer is y then it will prompt for values for each of the variables and evaluate the expression:
exeval
Enter arithmetic expression: x y x
Simplification: x y
Evaluate? y
Provide variable values
x :
y :
Expression value:
Enter arithmetic expression:
then ask for a new expression to evaluate. If the answer is n then it will simply ask for a new expression to evaluate:
exeval
Enter arithmetic expression: x y x
Simplification: x y
Evaluate? n
Enter arithmetic expression:
The program will quit with command 'quit' enter at the expression prompt:
exeval
Enter arithmetic expression: x y x
Simplification: x y
Evaluate? n
Enter arithmetic expression: quit
Good Bye!
PLZ include screenshots of the execution the program
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started