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 ±nal grades.
²he program should output the Student name along with the GPA.

²here are 5 components of your submission including:
Program DescripTon- A detailed, clear descripTon 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 de±niTons. Be sure to describe the
necessary formulas and sample calculaTons that might be needed. ²alk about how your design
will allow any number of students and ±nal grades to be possible inputs.
²est plan - Prepare at least 1 set of input data (²est data) along with their expected output for
tesTng your program.
²his 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 ³owchart for your design. You can use Word, Powerpoint, Visio or any
so´ware you have available that will allow to draw shapes and connectors.
Pseudocode- Provide pseudocode of your overall design that ful±lls the requirements of the
project
All of these components should be placed in word document for submission.
AddiTonal details about the program you need to write:
1.
GPA is calculated by summing the point equivalents for ±nal 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.
²hink about using a simple process to stop entering students and course grades. For
example, if StudentName < 0.
Example applicaton TesT daTa:
±esT 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
…
The answer
1. Program Description
This program allows the user to enter any number of students, and for each student, any number of course final grades (A, B, C, D, F). For each student, the program calculates their Grade Point Average (GPA) based on the grades entered, using the standard scale: A=4, B=3, C=2, D=1, F=0. The program then outputs each student’s name with their calculated GPA. Input is repeated for students and grades until the user signals they are finished (e.g., entering a blank or special value for name).
2. Analysis
Inputs:
-
Student names (string)
-
Course final grades for each student (A, B, C, D, F; repeated for each course)
Outputs:
Process:
-
The program must be able to accept any number of students, and for each student, any number of grades.
-
Grades are converted to points using:
-
A = 4
-
B = 3
-
C = 2
-
D = 1
-
F = 0
-
GPA = (Sum of grade points) / (Number of grades)
-
A loop is used to collect grades for each student, and a loop is used to collect students.
Variables:
-
student_name
: string (name of student, empty or special value to quit)
-
grade
: string (one letter: A, B, C, D, F)
-
grades
: list (to store all grades for a student)
-
total_points
: int/float (sum of grade points for a student)
-
num_grades
: int (number of grades entered for a student)
-
GPA
: float (calculated GPA for the student)
Input Validation:
-
Only accept valid grades (A, B, C, D, F)
-
Student name cannot be blank unless ending input
Formula & Sample Calculation:
-
Example: John has grades [A, A, A, B, B]
Points = [4, 4, 4, 3, 3]
GPA = (4+4+4+3+3)/5 = 18/5 = 3.6
Flexibility:
3. Test Plan
Test Data Table
Student Name | Grades Entered | Expected GPA |
---|
Sally | A, D, B, C | 2.5 |
John | A, A, A, B, B | 3.6 |
Jason | A, A, A, A, B | 3.8 |
Bob | B, B | 3.0 |
Bill | A | 4.0 |
Emma | F, F, D | 0.33 |
Lisa | C, B, A, A | 3.25 |
Tom | D, C, F | 1.0 |
Mary | A, B, A | 3.67 |
Max | C, C, B, D, F, A | 2.0 |
Test case demonstrates various numbers of grades and GPA calculations.
4. Flowchart
(Textual Representation – Draw this using Word, PowerPoint, or any diagram tool)
5. Pseudocode
6. Example Python Implementation (For Reference/Testing):
Place each section into your Word document as requested, and draw the flowchart with your preferred tool.
If you need a PDF version or images of the flowchart, let me know!
📩 Need a similar solution? Email me: adel455@hotmail.com