Preview

15 - 1 and 2d Arrays

 1. Read the below paragraph on arrays and fill in the blanks.
Arrays are made up of elements (items) holding items of the same _______________
(note however, that Python lists store different data types can be used as 
arrays)

Every item in an array has an _________like a room number in a hotel 
that we can access it by. 

Some arrays can have 'multiple floors' in keeping with the hotel analogy. In this 
case we would call them ________________


A scores_array is shown below>>
================================

          0              1              2             3                 4    
         100            90              80           70                 60
		
scores_array [3] will return ___________

  data type / index / multi-dimensional 70

  index / data type / creational / 80

  data type / index / one dimensional /70

  index / data type / fictional / 80

 2. What is the output of print(scores_array[0] - scores_array[1])?
scores_array shown below>>
===========================
 
          0              1              2             3                 4   
         100            90              80           70                 60

*Note that this is a simple 1d array

  90

  1

  10

  100

 3. A 2d array is used to store the names of the top two pupils in each round of a maths challenge. (e.g. Ruth and Jonathan were the top pupils in the Logic Round, and Hannah and Pigacheen were top two in Mental Maths. Which of the statements below is accurat
Valid reasons for using a 2d array to store this data in this case are:
=======================================================================
	
Option #1 : Multiple items of data need to be stored 

Option #2 : All data being stored has the same data type (String)

Option #3 : Data is split by two categories so can be represented as a table 
            and a table is best represented by a 2d array

Option #4 : The data can be stored together under one variable name. 

Option #5 : Accessing the information would be more efficient if a 2d array 
            is used e.g. a single command could be used to access a 
	        name rather than two
	
Option #6 : All of the above options are valid

  Option #1 and Option #3

  Option #1 and Option #4

  None of these options describe the advantages of a 2d array

  Option #6

 4. Select the correct answer that corresponds to where the "?" is below.
uploads/2darray1.png

  2,2

  1,2

  1,0

  0,0

 5. What would the result of Mynames(2,1) and Mynames(3,0) in this example be?
uploads/2darray2.png

  Joey / Mention

  Blogs / Joey

  Jonathan / Joey

  Smith / Marvin

 6. What would the output of this print call (referring to the matrix) be?
uploads/2darray3.png

  1

  8

  3

  2

 7. The below shows the creation of a 2d array to store names in vb.net. Analyse the algorithm and re-create it in python. What needs to go on line 6? Play around with the 2d array and nested for loops to see how it works!
uploads/2darray_code_names.png

  for j in range(2): (indented inside the first for loop)

  for j in range(4): (indented inside the first for loop)

  for j in range(1): (indented inside the first for loop)

  for j in range(3): (indented inside the first for loop)

 8. You may want to search for a particular first name, and return the surname. Play around with the code below to return the surname for any specified first name. e.g. if it is 'jonathan', it should print 'marvin'. Can you fill in the missing code?

  print(mynames[i+1][j])

  print(mynames[i][j+1])

  print(mynames[i+1][j+1])

  print(mynames[i][j]+1)

 9. A teacher wants to record how many hours his three students have spent coding for every day of one week. He stores the data in a 2d array called "codingTime". Fill in the blanks below
                             Days of the week
				0       1         2       3      4      5       6 
               ------------------------------------------------------
Student   0   |  2       3         1       2      1      0       7
              | 
	      1   |  1       2         0       2      0      2       5
		      |
		  2   |  0       0         1       1      1      1       7


The number of hours coded by student 2 on day 0 is given by:

	>>codingTime[0,2] (which will give) ___________?
	
Code to display the coding time by student 3 on day 4 would be> ____________?
		

  0 / codingTime[4,3]

  1 / [3,4]

  1 / codingTime[3,4]

  0 / [3][4]

 10. You are required to write code that takes a student number as an input and then outputs the total number of coding hours that they have completed over the week. Fill in the blank in the trinket below. Extension: add up the total hours.

  it could be: print("Hours for each day of week:",codingTime[i][j])

  it could be: print("Hours for each day of week:",codingTime[0][1][2])

  it could be: print("Hours for each day of week:",codingTime[0][6])

  it could be: print("Hours for each day of week:",codingTime[student])