| Category | Points | Min | Max |
ProcessInput
- Processes Decimal, Hex, and Binary Input
- Perform mode changes (test uppercase MB, MD, MH)
- Test input of Hex & Binary Numbers
MB [enter] 1101 [enter] MD == 13
MH [enter] 1B [enter] == 16+11=27
- Verify input for arbitrary Decimal, Hex, and Binary Values
TAs will provide random test cases during demo
- Ignore comments and linefeeds (LF is defined in constant section)
- Check that 'L' does not print 'Lockwood'
| | 0 | 20 |
FormatOutput
- Formats OutputBuffer for Decimal, Hex, and Binary Output
- Test for 2's complement display of binary numbers:
1 [enter] N [enter] MH [enter] == FFFF
1 [enter] N [enter] MB [enter] == 1111111111111111
- Verify output for arbitrary Decimal, Hex, and Binary Values
TAs will provide random test cases during demo
| | 0 | 15 |
Calculate
- Performs all standard 1- and 2- operand instructions (math & logic)
- Test -6/2=-3: 6 [enter] N [enter] 2 [enter] / [enter] == -3
- Test -3*2=-6: 3 [enter] N [enter] 2 [enter] * [enter] == -6
- Test Factorial(0)=1: 0 [enter] ! [enter] == 1
- Factorial -13 is not 'an unlucky number'
- Verify calculations for arbitrary Decimal, Hex, and Binary Values
TAs will provide random test cases during demo
- Verify that running MP2 < MP2.IN
- Produces final output matching MP2.OUT
- Last calculated value=FFD4
| | 0 | 15 |
| 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
- Makes poor use of registers and/or variables: -2
| | -5 | 0 |
I/O Specs & Modularity (* percentage of code written)
- Violates specifications for given subroutines: -5
| | -5 | 0 |
Penalty/Bonus
Before 5pm on deadline: +1 pt/weekday
After 5pm on deadline: -10 pts/weekday
| | -50 | 5 |
| Total | | 0 | 55 |