The program will accept user input to store the student's first and last name . If the name is ZZZ, then the program will end.

The program will accept:
a text entry for the class number (e.g., CGS 1000, COP 1000, etc.)
a numeric value for the class grade
a value of ZZZ will end the user input process and will produce a report for the user that will include the user's name (once), each record for the class number entered and the grade, and a calculated student average score.

We understand what you need to do, most probably a flow diagram or pseudocode.

How can we help you?

which language? java?

To achieve the desired functionality, you can write a program in a programming language such as Python. Here's an example code that fulfills the requirements:

```python
student_name = input("Enter student's first and last name: ")
class_records = []

# Keep accepting user input until the class number is 'ZZZ'
while True:
class_number = input("Enter class number (or 'ZZZ' to end): ")

# Check if input is 'ZZZ' to end user input process
if class_number == 'ZZZ':
break

class_grade = float(input("Enter class grade: "))

# Store the class number and grade as a tuple in the list
class_records.append((class_number, class_grade))

# Calculate the student's average score
total_grade = sum(grade for _, grade in class_records)
average_score = total_grade / len(class_records)

# Produce the report
print("\nReport:")
print("Student Name:", student_name)
for class_number, class_grade in class_records:
print("Class Number:", class_number, "Grade:", class_grade)
print("Average Score:", average_score)
```

In this program, we start by accepting the student's name using the `input()` function. Then, we create an empty list `class_records` to store the class number and grade for each input.

We use a `while` loop to continuously prompt the user for class number and grade. If the user enters 'ZZZ', the loop breaks and the program proceeds to calculate the average score and produce the report.

The class number and grade entered by the user are stored as a tuple in `class_records` list. To calculate the average score, we sum up all the grades using the `sum()` function and divide it by the number of records.

Finally, the report is printed by iterating over `class_records` list and displaying the class number and grade for each record, along with the student's name and average score.

Remember to run this code in a Python interpreter or write it in a Python file and execute it to see the results.