Similar to the parsing tree example in class, there is not much usefulness in parsing and evaluating statements without an operator. Therefore, it is safe to assume that any input to your parsing tree will contain an operator.
Examples of valid inputs are:
Example of inputs that are not expected (and that you don’t need to account for):
Also, if you haven’t started, and want a clean slate to start with, use this skeleton code in MS Teams: mp_parse.py (Links to an external site.)
What is the assignment?
What to hand in?
What needs to be done?
The primary tasks in this fourth assignment are to implement the following three functions.
1. buildMPLogicParseTree(s) – this function should take a string as input (e.g. s=”( T OR P_0.9 )”) and should return the binary tree representing the parse tree as described in class
2. evaluateMPLogicParseTree(t) – this function should take a binary tree as input and should return a T or an F that is based on the on the input statement
3. printMPLogicExpression(t) – this function should take a binary tree as input and should return the string that looks like the original string (perhaps with extra parentheses)
4. create some examples of how your functions work (inside of def main()), and test that each of the functions works correctly (using unittest)
Note: Those exact function names above should be used. If those name are not used 10pts will be automatically deducted.
When you submit your assignment, it will be graded in large part based on whether it successfully runs when using different input strings. The tests will roughy look like the following:
pt = buildMPLogicParseTree('( ( T AND F ) OR M_0.3 )')
ans = evaluateMPLogicParseTree(pt)
exp = printMPLogicExpression(pt)
# pt, ans, and exp will all be checked to ensure they are correct
Again, several different input strings will be also be tested.
When an M_x or P_x is present then the test will confirm that your tree evaluates to the correct average.
For example, the above input string will evaluate to T roughly 30% of the time.
What does maybe-probably logic look like again, exactly?
The symbols of our maybe-probably Boolean logic are:
Some additional examples of statements in this language are:
As with other assignments, the final code should be your own work. However, discussing the general approach, or specific Python issues/functions, with others (e.g. on MSU Discord server), is acceptable, and encouraged! Of course, don’t hesitate to ask questions in MS Teams, by email, and in class. Again, note that the tree should include x, and that M_x or P_x terms should evaluate only inside of the evaluate function.
Try it now!
How it works?
Follow these simple steps to get your paper done
Place your order
Fill in the order form and provide all details of your assignment.
Proceed with the payment
Choose the payment system that suits you most.
Receive the final file
Once your paper is ready, we will email it to you.
Platinum Essay has stood as the world’s leading custom essay writing services providers. Once you enter all the details in the order form under the place order button, the rest is up to us.
At Platinum Essay, we prioritize on all aspects that bring about a good grade such as impeccable grammar, proper structure, zero-plagiarism and conformance to guidelines. Our experienced team of writers will help you completed your essays and other assignments.
Admission and Business Papers
Be assured that you’ll definitely get accepted to the Master’s level program at any university once you enter all the details in the order form. We won’t leave you here; we will also help you secure a good position in your aspired workplace by creating an outstanding resume or portfolio once you place an order.
Editing and Proofreading
Our skilled editing and writing team will help you restructure you paper, paraphrase, correct grammar and replace plagiarized sections on your paper just on time. The service is geared toward eliminating any mistakes and rather enhancing better quality.
We have writers in almost all fields including the most technical fields. You don’t have to worry about the complexity of your paper. Simply enter as much details as possible in the place order section.