Organising data so that it can be efficiently retrieved is one of the cornerstones of software engineering. Cumbersome data structures can lead to sluggish software performance, potential errors, and ultimately, end-user dissatisfaction. In order to become adept at data structuring, it is prudent to continually work with data structure components, one of the most common of which are arrays.
Unlike the Scratch Assignments of recent Weeks, this Hand-In Assignment will challenge your conceptualisation skills when it comes to understanding, and applying your knowledge of arrays. That said, consider the following problem:
Suppose a homogeneous array with 8 rows and 6 columns is stored in column major order starting at address 20 (base ten). If each entry in the array requires only one memory cell, what is the address of the entry in the third row and fourth column? What if each entry requires two memory cells?
To prepare for this Assignment:
- Review your Weekly Learning Resources with a focus on data structures and arrays.
- Critically analyse the given problem.
- You may want to sketch out the hypothetical array, in the given problem, to help visualise it.
- You may use Scratch, or any other programming tool you prefer, to help you solve the problem.
To complete this Assignment:
Submit an answer to the posed problem and address the following:
- Identify the address of the entry in the third row and fourth column of the array, in the given problem.
- Identify the address of the entry in the third row and fourth column of the array, in the given problem if each entry requires two memory cells.
- Explain how you determined your answers