# Tuesday November 22, 1994

Handouts (available on-line): none

Topics Covered:

• Announcement: Deadline for Project 4 extended to Wednesday, November 30, 1994.
• Reviewed arrays briefly.
• Tested our random number generator (from November 3 Lecture) by simulating rolling two six-sided dice 50 times. Used arrays in this program to help us plot the histograms.
• We examined a new version of the sampling program that allows us to specify the number of trials. Note that as the number of trials increases, the distribution of the results of rolling two six-sided dice approaches the expected distribution. Sample runs.
• We discussed what happens when you pass an array as a parameter to a function. The main difference between passing an array to a function and passing a normal variable is that changes made to the array by the called function changes the array in the calling function. We looked at a sample program that exploits this behavior. Sample runs.
• We modified our program that counts the occurrence of letters in the user's input to report some additional statistics (minimum, maximum and average). The new program uses functions that have arrays as parameters. Sample runs.
• With arrays, we can also sort a list of integers entered by the user. This program uses Selection Sort to put the numbers in increasing order. Sample runs.
• With a sorted list, we can find the location of a number more efficiently than looking at every entry. This program uses binary search to find the location of a number in a sorted list. In a list of 63 numbers, we need to examine at most 6 entries to find the location of any number. If our array had 250 million entries (approximate population of the United States), we would only need to examine 38 entries to find the position of any number. Sample run.