Homework Assignment No. 5A CSc 2010

Due Monday, Nov. 8, 1999

(Revised)

The purpose of this homework is twofold: first, for you to experience writing software specifications (the statement in English of the solution to the problem); and, second, to produce a complete set of pseudocode which includes complex structures such as linked lists.

According to the previous homework, you are to use the following record structure (Student):

Student definesa record

Student_Number isoftype Num

Student_Data isoftype Class_Grade //see solution to Exercise 5.1 Next isoftype Ptr toa Student

endrecord//Student

Your deliverables are:

1. Write the specifications for each task of this assignment!

Then you are to create the following modules that:

2. Initializes the list of students;

3. Adds a student to the list in the order of his/her student number;

4. Removes a student from the list (Recall the four cases and especially beware of a student at either the head or tail!); and

5. Finds a particular student in the list by student number.

Finally, you are to write:

6. An algorithm (the "main") that uses (exercises) all of these modules.