Please print this page and provide it to the
TA when you demonstrate your machine problem.
When you submit this, the TA should:
check your solutions,
ask a random question that tests your understanding of the MP,
assign points for each item on the list,
check the 'Demo' box,
assign bonus/penalty points,
and provide the floppy for electronic handin.
This page should be stapled to the front of your MP1 assignemnt.
| Category |
Points |
Min |
Max |
Input
- Takes user input.
- Ignores line feeds.
- Accepts back space.
- Doesn't overflow or underflow the input buffer.
- Terminates on <ESC> or carriage return.
- Places a '$' at the end of the string.
- Beeps on invalid input
|
|
0 |
6 |
CheckParens
- Determines if parentheses match.
- Displays an error mesage to the screen when parentheses don't match.
- Output from MP2 < paren.in matches that of the library code.
|
|
0 |
2 |
Parse
- Properly parses the input string.
- Verifies the string and displays error messages.
- Output from MP2 < bad.in matches that of the library code.
- Places an ENDSTR character at the end of controlStr.
- Does not effect inputStr.
|
|
0 |
8 |
CheckDone
- Correctly determines when the input string is completely simplified.
- Returns outputs in ZF and CF.
|
|
0 |
3 |
FindInner
- Correctly identifies the first set of innermost parentheses.
- Identifies the entire string if there ar no parentheses in controlStr.
- Ignores "numbers" in controlStr.
- Ignores NULLs in controlStr.
|
|
0 |
3 |
FindOne
- Properly finds the highest precidented operator in controlStr
- Ignores "numbers" in controlStr
- Ignores NULLs in controlStr.
|
|
0 |
3 |
SolveOne
- Correctly performs the highest precidented operation.
- Performs signed math.
- Prevents division by zero, and displays an error message if it is attempted.
- Displays an error message on overflow.
|
|
0 |
7 |
GetOp1
- Correctly identifies the closest operand to the left of the operator.
- Returns an index in BP.
- Ignores NULLs in controlStr
|
|
0 |
3 |
GetOp2
- Correctly identifies the closest operand to the right of the operator.
- Returns an index in BP.
- Ignores NULLs in controlStr
|
|
0 |
3 |
Extra Functionality
- 4 points:Brackets and Braces. (paren.in)
- 5 points:Implicit Multiplication (imul.in)
- 3 points:Factorials (fact.in)
- 1 extra point for both Implicit Multiplication and Factorial. (ifact.in)
- 4 points:Bitwise NOT and Unary Negation (negnot.in)
- 1 extra point for Implicit Multiplication, Bitwise NOT and Unary Negation. (inegnot.in)
- 2 points:AND, OR, XOR (logic.in)
- 3 points:Shifing. (shift.in)
- 3 points:Intelligent negation (neg.in)
- 3 points:No White Space Needed (nospace.in)
- 2 points:-32768 Accepted (-32768,in)
- 12 points:Uses DWORDS
|
|
0 |
12 |
| Functionality SubTotal |
|
0 |
50 |
Comments (* percentage of code written)
- Clear and precise line & procedure comments
(describes all major routines): -0
- Sports Announcer comments (line-by-line): -1
- Unclear comments: -1
- Sparse comments: -3
| | -5 | 0 |
Technique & Style (* percentage of code written)
- Compact and Efficient code: -0
- Contains repeated code (lacks loops): -3
- Does not use Defined constants: -2
| | -5 | 0 |
I/O Specs & Modularity (* percentage of code written)
- Violates specifications for given subroutines: -5
- Proceures do not preserve registers: -3
| | -5 | 0 |
Penalty/Bonus
Before 5pm, Tue 10/5/99: +1 pt/weekday
After 5pm, Tue 10/5/99: -10 pts/weekday
| | -50 | 5 |
| Total | | 0 | 55 |