ECE291 Computer Engineering II Kalbarczyk, Fall 1999

Machine Problem 2: Grading Report

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.

Name:
Date Submitted:
Demo To: Graded By:
Handin to floppy
Score recorded
Gold Star
Programming Excellence

Completed Checksheet. (Grader will give you this when you turn it in.)

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
 
-50
Technique & Style (* percentage of code written)
  • Compact and Efficient code: -0
  • Contains repeated code (lacks loops): -3
  • Does not use Defined constants: -2
 
-50
I/O Specs & Modularity (* percentage of code written)
  • Violates specifications for given subroutines: -5
  • Proceures do not preserve registers: -3
 
-50
Penalty/Bonus
Before 5pm, Tue 10/5/99: +1 pt/weekday
After 5pm, Tue 10/5/99: -10 pts/weekday
 
-505
Total
 
055