Got it! This site uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website.nbsp; Note: This appears on each machine/browser from which this site is accessed.
Domain knowledge is the background knowledge that is useful in solving a problem, designing a solution, implementing the solution, etc. The following domain knowledge may be useful for this requirement.
In the x-y plane, there are four quadrants.
In the traditional x-y plane, the four quadrants are as follows.
the upper-right is quadrant 1 (positive x, positive y)
the upper-left is quadrant 2 (negative x, positive y)
the lower-left is quadrant 3 (negative x, negative y)
the lower-right is quadrant 4 (positive x, negative y)
The assumptions for this work are the following.
the upper-right is quadrant 1 (nonnegative x, nonnegative y)
the upper-left is quadrant 2 (negative x, nonnegative y)
the lower-left is quadrant 3 (negative x, negative y)
the lower-right is quadrant 4 (nonnegative x, negative y)
Note: In addition to specific domain knowledge, you should be familiar with all concepts covered to this point in the course.
8. Decision tree
Here is a decision tree for this problem.
9. Coding notes
The following coding examples and/or notes may be of use for this requirement.
Make all necessary assumptions. Make no unnecessary assumptions.
In addition to specific coding examples, you should be familiar with all concepts covered to this point in the course.
10. Starter program
You are provided with the following starter program in file quadrant.c.
Do not remove any comment that starts with three slashes.
Here is the C code.
You are to fill in the missing parts of the program according to the work requirements (see above).
In the comments at the top, you are to fill in the author (your name), help received (person and type of help), and pseudo-code parts which are not in the solution (usually provided, but you need to add them). Remove the parentheses too.
11. Possible solution
Begin solution
Here is a possible solution to the above problem. Note: Once a solution is provided, or the day before the next class, further submissions for this work receive no credit.
End solution
12. Examples of input and output
Here are some examples of input and output for the above program code.
Here is an example input from file input1.txt.
For the above example input, here is the expected output.
Here is an example input from file input2.txt.
For the above example input, here is the expected output.
Here is an example input from file input3.txt.
For the above example input, here is the expected output.
Here is an example input from file input4.txt.
For the above example input, here is the expected output.
Here is an example input from file input5.txt.
For the above example input, here is the expected output.
Here is an example input from file input6.txt.
For the above example input, here is the expected output.
Here is an example input from file input7.txt.
For the above example input, here is the expected output.
13. Pseudo-code
Pseudo-code is a "false" code. It is not really code, but a simplified English explanation that is somewhat similar to code. Pseudo-code is useful for understanding what a program does. For this work, the following can be used as the pseudo-code. Adjust if needed.
Note: Only some essential details are included. Some details, such as input, prompts, input echo, and obviously needed output are omitted.
The best way to copy-paste pseudo-code that includes indented code (e.g., with tabs) is as follows (in the code file) using a multi-line comment.
/*
(pasted pseudo-code here)
*/
14. Processing
It is best to separate input, processing and output into different parts of a program.
Since C has limited string handling capabilities (they can get complex), some processing involving string processing is moved to the output section of the code.
15. Test cases
For a two level decision tree, (at least) 2*2= 4 test cases, one for each branched outcome, are needed.
Since most conditions have a boundary, one usually wants to have a test case at and on side of the boundary.
For a two level decision tree, with boundary conditions, (at least) 3*3= 9 test cases, one for each branched outcome, are needed.
Note that as the number of possible if branches increase, the number of test cases increase, and it becomes impossible to manually run and test your program with each change.
Automated test methods allow the programmer to automatically run their program against many test cases.
16. Scoring rubric
CS 101 - L4 : Lab#4: Quadrant determination
Your grade: _ / 20
[LATE] Late or redo penalty: _ / -20
[SUBMIT] Not submitted properly: _ / -20
[RUN] Does not compile, run-time crash, etc.: _ / -20
[ETHICS] Ethical issues: _ / -20
[HEADER] Header comments not done as required: _ / -10
[STYLE] Inconsistant style or indentation: _ / -10
[CODE] Code guidelines ignored: _ / -20
[XCODE] Code used not yet covered: _ / -10
[REMOVED] Triple slash comments removed: _ / -10
[ADDED] Code added outside of marked areas: _ / -10
[OUTPUT] Functional requirements met: _ / 20
[CREDIT] Extra credit: _ / +4
Comments: