Homework 3
Repetition Statements
In this homework, you will design a program to perform the following task:
Write a program that would allow a user to enter student names and Final grades (e.g. A,B,C,D,F) from their courses. You do not know how many students need to

be entered. You also do not know how many courses each of the students completed. Design your program to calculate the Grade Point Average (GPA) for each

student based on each of their final grades.  The program should output the Student name along with the GPA.
There are 5 components of your submission including:
•    Program Description- A detailed, clear description of the program you are building.
•    Analysis- Demonstrates your thought process and steps used to analyze the problem. Be sure to include the required input and output and how you will

obtain the required output from the given input? Also, include your variable names and definitions. Be sure to describe the necessary formulas and sample

calculations that might be needed. Talk about how your design will allow any number of students and final grades to be possible inputs.
•    Test plan – Prepare at least 1 set of input data (Test data) along with their expected output for testing your program.  This test case should include at

least 10 students. Your test data can be presented in the form of a table as follows (note: feel free to adapt to your design)
•    Flowchart – Provide a flowchart for your design. You can use Word, Powerpoint, Visio or any software you have available that will allow to draw shapes

and connectors.
•    Pseudocode- Provide pseudocode of your overall design that fulfills the requirements of the project

All of these components should be placed in word document for submission.
Additional details about the program you need to write:
1.    GPA is calculated by summing the point equivalents for final grades and taking the average. A =4, B=3, C=2, D=1, and F = 0. So, if someone earned 2 A’s

and 1 B, their GPA would be (4 + 4 + 3)/3 = 3.67
2.    Think about using a simple process to stop entering students and course grades. For example, if StudentName< 0.
Example application test data:
Test Case #    Input    Expected Output
1    Sally: A,D,B,C
John: A,A,A,B,B
Jason: A,A,A,A,B
Bob: B,B
Bill: A
…    GPA for Sally is : 2.5
GPA for John is: 3.6
GPA for Jason is: 3.8
GPA for Bob is: 3.0
GPA for Bill is: 4.0