COMP-200: Intro to Computer Systems
Assignment 1
mo khan - 3431709
Choose ONE exercise each from Chapters 2 and 3
Chapter 2:
-
Write an algorithm that gets the price for item A plus the quantity purchased. The algorithm prints the total cost, including 6% sales tax.
Pseudocode
Get values for `price` and `quantity` Set the value of `tax` to 1.06 Set the value of `total` to `price` multiplied by `quantity` multiplied by `tax` Print the value of `total`Ruby code
def calculate_total(price, quantity, tax = 0.06) (price * quantity) * (1.0 + tax) end
Chapter 3:
-
Use the binary search algorithm to decide whether 35 is in the following list:
3, 6, 7, 9, 12, 14, 18, 21, 22, 31, 43Pseudocode
Get the list of numbers and assign to variable `items` Get the target number and assign to variable `target` Set variable `min` to 0 Set variable `max` to total # of `items` Set variable `mid` to `max - min / 2` Set variable `found` to No while (mid > min && mid < max) Set the variable `current` to `items` at index `mid` if current = target Set variable `found` to Yes Set variable `mid` to `min - 1` else if target > current Set variable `min` to the value of `mid` Set the variable `mid` to `((max-min) / 2) + min` else Set variable `max` to the value of `mid` Set the variable `mid` to `((max-min) / 2) + min` end end of loop If Found = Yes print Found else print Not Found stopRuby code
def bsearch(target, items) min = 0 max = items.size mid = (max - min) / 2 while (mid > min && mid < max) do current = items[mid] if target == current return true elsif target > current min = mid else max = mid end mid = ((max - min) / 2) + min end return false endWhat numbers will be compared with 35?
- 14
00 01 02 03 04 05 06 07 08 09 10 03 06 07 09 12 14 18 21 22 31 43 - 22
00 01 02 03 04 18 21 22 31 43 - 31
00 01 31 43 - 43
00 43