Practice exercise: Problem Solving and Algorithms(7b) 1. Array: Declare item an int array with 10 components indexed from 0 through 9. Input and assign a value to each item[] component. Echo the values stored. 2. Linear and Sequential Search: a. Extend step 1 to search item[] for a particular value. Assume this is an unsorted array and search until the value is found or until all item[] components have been checked. After the search ends, output a message to show whether(or not) the value was found. Set index to 0 Set found to false Repeat while index is less than length and found is false if item[index] equals searchItem set found to true else increment index if found output search item "found" else output "not found" b. Develop code to search a sorted array. That is, the values are stored in (ascending) order. In this case stop the search when the value is found or when the search has passed the place where it should be stored. Output a message stating whether(or not) the value was found in the array. Set index to 0 Set found to false Repeat while index is less than length and (search item) NOT found: if item[index] equals the search item set found to true, else if item[index] greater than search item set index to length else increment index; if found output search item "found" else output "not found" 3. Binary Search("method of halving"): Given a sorted array named data, apply a divide and conquer strategy that starts the search from the middle component in data[], and if the data value sought is not there decide whether to search the first half of data[] or the second half. Look in the chosen half and repeat the strategy. A binary search algorithm: Set first to 0 Set last to length - 1 Set found to false while (first less than or equal to last AND NOT found) Set middle to (first + last) / 2 if (itemValue equals data[middle]) Set found to true else if (itemValue less than data[middle]) Set last to middle - 1 else Set first to middle + 1