Lab on decisions and loops: 1. Write a function get_min that returns the smaller of its two floating point arguments: 2. Write a short main function that reads four numbers and finds and displays the smallest of the 4 numbers. Do not have any if statements in your function. Find the smallest value by making multiple calls to function get_min. 3. Write a single assignment statement with nested function calls to get_min that solves problem 2 above. 4. Write a function is_letter that returns the value true if its character argument is a letter (uppercase or lowercase). Write a main function that reads 3 characters and displays 1 of 3 messages depending on the data read. Your main function must use function is_letter to determine which of the messages below to display. All 3 are letters One or more are letters None are letters The main function should call function is_letter to do this. 5. Write a function to_uppercase that returns the uppercase form of its character argument if it is a letter. If its argument is not a letter, it should just return its argument unchanged. Example: to_uppercase('a') returns 'A' to_uppercase('A') returns 'A' to_uppercase('#') returns '#' 6. Write a main function that reads in a string (using getline) and changes all letters in the string to uppercase. If the input string is "Aces>Kings", the final string should be "ACES>KINGS". Use the string functions and function to_uppercase. You will have to access each character individually and replace it with its uppercase equivalent. 7. Outside assignment: Write a function that reads a problem involving two common fractions such as 2/4 + 5/6 . After reading the common fractions problem, call a function to perform the indicated operation (call addFrac for +, call multiplyFrac for *, and so on). Pass the numerator and denominator of both fractions to the function that performs the operation; the function should return the numerator and denominator of the result through its output parameters. Then display the result as a common fraction. Hint: use functions readFracProblem and getFrac (see Fig. 6.5 and 6.6). Continue processing fractions until the line 0/0 q 0/0 is read.