Question: Overview: You will write a simplified version of a program that might be used for admissions purposes at a college or university. For each of



Overview: You will write a simplified version of a program that might be used for admissions purposes at a college or university. For each of two applicants, we prompt for exam scores (either SAT or ACT) and overall GPA, plus maximum GPA possible and transcript multiplier. The exam information is turned into a normalized exam score between 0 and 100. The GPA information is also turned into a normalized GPA score between 0 and 100. These two scores are added together to get an overall score between 0 and 200. After obtaining scores for each applicant, the program reports which applicant looks better or whether they look equal. To write this program you will use use if/else statements, char data, boolean variables and expressions, the printf method and throw exception statements in this assignment. You will also get more practice with String and Scannner methods that were introduced in Chapter 3, and you will get more practice implementing methods according to specifications. Sample I/O session: User input is displayed underlined and boldfaced only for convenient identification in the sample 1/0 session below. Welcome to Admissions Applicant Comparison System Information for applicant 11: Do you have (S) AT scores or (A) CT scores? s Enter MATH score between 200 and 800: 450 Enter READING score between 200 and 800: 530 Enter WRITING score between 200 and 800: 490 overall GPA? 3.4 max GPA? 4.0 Transcript Multiplier? 0.9 exam score - 60.0 GPA score - 76.5 Information for applicant +2: Do you have (S)AT scores or (A) CT scores? A Enter ENGLISH score between 1 and 36: 25 Enter MATH score between 1 and 36: 20 Enter READING score between 1 and 36: 18 Enter SCIENCE score between 1 and 36: 15 overall GPA? 3.3 max GPA? 4.0 Transcript Multiplier? 0.95 exam score - 54.4 GPA score - 78.4 First applicant overall score - 136.5 Second applicant overall score = 132.8 The first applicant seems to be better Requirements: After inputting the data for the two college applicants, your program will display one of the following three messages: The first applicant seems to be better The second applicant seems to be better . The two applicants seem to be equal Normalized Exam Scores: The program asks for each applicant whether to enter SAT scores or ACT scores. SAT scores are integers that vary between 200 and 800. The user is prompted for MATH, READING, and WRITING scores IN THAT ORDER. - ACT scores are integers that vary between 1 and 36. The user is prompted for ENGLISH, MATH, READING and SCIENCE scores IN THAT ORDER. These scores are then turned into a real-valued normalized exam score between 0 and 100 using the following formulas: Normalized GPA Scores: In addition to computing the normalized exam score, we compute a normalized GPA score between 0 and 100 based on the GPA. The program prompts for the overall GPA which must be between 0 and the maximum GPA - the maximum GPA which may be 4.0, 5.0, or some other value used by a school a transcript multiplier which is a value between 0.8 and 1.0 o used by admissions staff to account for differences across students and across schools. For example, a student who takes more AP courses or a student who comes from a high school that is known to have tough grading standards will get a higher transcript multiplier. All three of the items listed above are positive real values (i.e., they can have a decimal part). You should turn this into a score between 0 and 100 using the following formula: Commented Stub Code: Download and unzip the Assign4 Files folder. It contains a file named AdmitLab.java. The file contains skeleton stub code. Stub code is dummy/placeholder code that allows the program to run, but will eventually be replaced by real code. Stub code supports building a dummy/placeholder code that allows the program to run, but will eventually be replaced by real code. Stub code supports building a program using iterative enhancement and stepwise refinement as discussed in Chapter 1. In addition to the stub code, the AdmitLab.java file contains detailed comments describing what the real code to replace the stub code will do. You will write code in the AdmitLab.java file to perform the tasks described in the comments in that file. That is, the comments in the Admitlab.java file are an extension of these Lab 4 specifications. Follow the instructions in the comments in the AdmitLab.java file to implement (write the code for the following method stubs in the file. Do not alter these method headers in any way. .char typeScore () used to input and return valid response to (S)AT or (A)CT prompt. .int getExamScore (boolean SAT_Score, String prompt) used to input and return a valid SAT or ACT math, reading, writing, science or English exam score. .double normalizedSAT (int math, int reading, int writing) computes and returns (does not display) the normalized SAT exam score based on the math, reading and writing scores, and on the formula given above .double normalizedACT (int math, int reading, int english, int science) computes and returns (does not display) the normalized ACT exam score based on the math, reading, English and science scores, and on the formula given above. COMMON MISCONCEPTION: The order of the parameters for the normalizedACT() method was intentionally chosen to not match the order in which ACT scores were input from the user. This is so students will understand that it is irrelevant to a method where, when or how the arguments passed for its parameters came from when it gets called. One of the hardest things for beginning programmers to do is separate what's going on in a calling method such as main() from what's going on in a method being called. Those are completely different contexts. It is helpful to pretend that a different programmer wrote each of them. Functionality Requirements: The Assign4Files folder contains a file named Lab410sessions.txt that shows various Functionality Requirements: The Assign4 Files folder contains a file named Lab4I0sessions.txt that shows various sample I/O sessions. Your program should be able to exactly reproduce the format of those sample sessions, as well as the one at the top of this document. Required Language Elements: Use printf() to display normalized exam and GPA scores rounded to one decimal place when displayed. NOTE: Even though your program is rounding numbers to one decimal place when they are displayed, it should not round the numbers that are used to compute results and to compare scores. This can lead to some confusing output. For example, if the normalized exam score is 84.06 and the normalized GPA score is 62.78, then they add up to 146.84. But rounding the displayed numbers to one digit, these would be displayed as 84.1 plus 62.8 adding up to 146.8. This is the correct output to produce even though it doesn't seem to add up properly. WARNING: Even though it seems natural to do so, you are strongly discouraged from using a for-loop to process the two applicants. If you try it anyway, you will see why that approach does not really simplify anything for you. . This program involves character, Boolean, integer and real data values. Choose the most appropriate data type when declaring variables. . Use at least one logical && (and) or 11 (or) operator in your code. . Use at least one else. Limit yourself to Java language constructs from chapters 1 through 4 of the textbook only. You will implement and call methods of your own design. One of the methods you design must be void. Style Requirements: Consult the Good Style Specifications page in the Quick Links module on the Canvas website. All requirements in the As of Lab 1, As of Lab 2. As of Lab 3 and As of Lab 4 sections are now in effect. There is a lot of redundancy in this program. You will have the opportunity to practice your procedural decomposition skills. Overview: You will write a simplified version of a program that might be used for admissions purposes at a college or university. For each of two applicants, we prompt for exam scores (either SAT or ACT) and overall GPA, plus maximum GPA possible and transcript multiplier. The exam information is turned into a normalized exam score between 0 and 100. The GPA information is also turned into a normalized GPA score between 0 and 100. These two scores are added together to get an overall score between 0 and 200. After obtaining scores for each applicant, the program reports which applicant looks better or whether they look equal. To write this program you will use use if/else statements, char data, boolean variables and expressions, the printf method and throw exception statements in this assignment. You will also get more practice with String and Scannner methods that were introduced in Chapter 3, and you will get more practice implementing methods according to specifications. Sample I/O session: User input is displayed underlined and boldfaced only for convenient identification in the sample 1/0 session below. Welcome to Admissions Applicant Comparison System Information for applicant 11: Do you have (S) AT scores or (A) CT scores? s Enter MATH score between 200 and 800: 450 Enter READING score between 200 and 800: 530 Enter WRITING score between 200 and 800: 490 overall GPA? 3.4 max GPA? 4.0 Transcript Multiplier? 0.9 exam score - 60.0 GPA score - 76.5 Information for applicant +2: Do you have (S)AT scores or (A) CT scores? A Enter ENGLISH score between 1 and 36: 25 Enter MATH score between 1 and 36: 20 Enter READING score between 1 and 36: 18 Enter SCIENCE score between 1 and 36: 15 overall GPA? 3.3 max GPA? 4.0 Transcript Multiplier? 0.95 exam score - 54.4 GPA score - 78.4 First applicant overall score - 136.5 Second applicant overall score = 132.8 The first applicant seems to be better Requirements: After inputting the data for the two college applicants, your program will display one of the following three messages: The first applicant seems to be better The second applicant seems to be better . The two applicants seem to be equal Normalized Exam Scores: The program asks for each applicant whether to enter SAT scores or ACT scores. SAT scores are integers that vary between 200 and 800. The user is prompted for MATH, READING, and WRITING scores IN THAT ORDER. - ACT scores are integers that vary between 1 and 36. The user is prompted for ENGLISH, MATH, READING and SCIENCE scores IN THAT ORDER. These scores are then turned into a real-valued normalized exam score between 0 and 100 using the following formulas: Normalized GPA Scores: In addition to computing the normalized exam score, we compute a normalized GPA score between 0 and 100 based on the GPA. The program prompts for the overall GPA which must be between 0 and the maximum GPA - the maximum GPA which may be 4.0, 5.0, or some other value used by a school a transcript multiplier which is a value between 0.8 and 1.0 o used by admissions staff to account for differences across students and across schools. For example, a student who takes more AP courses or a student who comes from a high school that is known to have tough grading standards will get a higher transcript multiplier. All three of the items listed above are positive real values (i.e., they can have a decimal part). You should turn this into a score between 0 and 100 using the following formula: Commented Stub Code: Download and unzip the Assign4 Files folder. It contains a file named AdmitLab.java. The file contains skeleton stub code. Stub code is dummy/placeholder code that allows the program to run, but will eventually be replaced by real code. Stub code supports building a dummy/placeholder code that allows the program to run, but will eventually be replaced by real code. Stub code supports building a program using iterative enhancement and stepwise refinement as discussed in Chapter 1. In addition to the stub code, the AdmitLab.java file contains detailed comments describing what the real code to replace the stub code will do. You will write code in the AdmitLab.java file to perform the tasks described in the comments in that file. That is, the comments in the Admitlab.java file are an extension of these Lab 4 specifications. Follow the instructions in the comments in the AdmitLab.java file to implement (write the code for the following method stubs in the file. Do not alter these method headers in any way. .char typeScore () used to input and return valid response to (S)AT or (A)CT prompt. .int getExamScore (boolean SAT_Score, String prompt) used to input and return a valid SAT or ACT math, reading, writing, science or English exam score. .double normalizedSAT (int math, int reading, int writing) computes and returns (does not display) the normalized SAT exam score based on the math, reading and writing scores, and on the formula given above .double normalizedACT (int math, int reading, int english, int science) computes and returns (does not display) the normalized ACT exam score based on the math, reading, English and science scores, and on the formula given above. COMMON MISCONCEPTION: The order of the parameters for the normalizedACT() method was intentionally chosen to not match the order in which ACT scores were input from the user. This is so students will understand that it is irrelevant to a method where, when or how the arguments passed for its parameters came from when it gets called. One of the hardest things for beginning programmers to do is separate what's going on in a calling method such as main() from what's going on in a method being called. Those are completely different contexts. It is helpful to pretend that a different programmer wrote each of them. Functionality Requirements: The Assign4Files folder contains a file named Lab410sessions.txt that shows various Functionality Requirements: The Assign4 Files folder contains a file named Lab4I0sessions.txt that shows various sample I/O sessions. Your program should be able to exactly reproduce the format of those sample sessions, as well as the one at the top of this document. Required Language Elements: Use printf() to display normalized exam and GPA scores rounded to one decimal place when displayed. NOTE: Even though your program is rounding numbers to one decimal place when they are displayed, it should not round the numbers that are used to compute results and to compare scores. This can lead to some confusing output. For example, if the normalized exam score is 84.06 and the normalized GPA score is 62.78, then they add up to 146.84. But rounding the displayed numbers to one digit, these would be displayed as 84.1 plus 62.8 adding up to 146.8. This is the correct output to produce even though it doesn't seem to add up properly. WARNING: Even though it seems natural to do so, you are strongly discouraged from using a for-loop to process the two applicants. If you try it anyway, you will see why that approach does not really simplify anything for you. . This program involves character, Boolean, integer and real data values. Choose the most appropriate data type when declaring variables. . Use at least one logical && (and) or 11 (or) operator in your code. . Use at least one else. Limit yourself to Java language constructs from chapters 1 through 4 of the textbook only. You will implement and call methods of your own design. One of the methods you design must be void. Style Requirements: Consult the Good Style Specifications page in the Quick Links module on the Canvas website. All requirements in the As of Lab 1, As of Lab 2. As of Lab 3 and As of Lab 4 sections are now in effect. There is a lot of redundancy in this program. You will have the opportunity to practice your procedural decomposition skills
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
