Write your programs using Racket functional language.
Run each of the programs as many times as necessary to show that different situations are handled properly.
- In the beginning of each part of this problem, introduce a named value pi, which is 3.1416. You will have to write a function my_calc that takes two numerical parameters. If the first parameter is 1, calculate the area of a circle, whose radius equals the second parameter of the function. If the first parameter is 2, calculate the volume of the sphere, whose radius equals the second parameter of the function. For other values of the first parameter and for a non-positive second parameter return a false Boolean value.
- (a) [10 points] Implement a function my_calc using a multiple-way selection structure when checking the value of the first parameter.
- (b) [10 points] Implement a function my_calc using a two-way selection structure when checking the value of the first parameter.
2. [12 points] Write a Racket function rem_second that takes a simple list as a parameter and returns a list identical to the parameter except with the second top-level element removed. If the given list does not have two elements, the function should return an empty list.
3. [15 points] Write a Racket function my_union that returns a union of two simple list parameters that represent sets. Remember that duplicate elements are not allowed in a set. You are only allowed to use a program ‘membership.rkt’ from the folder ‘DrRacket’ under ‘Modules’; no other functions!
- [18 points] Write a function my_delete that takes two parameters: an atom and a list (which may be a nested list). This function will produce a list, identical to its parameter list, except with all occurrences of an atom parameter removed, no matter how deep they were. The produced list should not have anything in place of the deleted atoms.
Standard Racket functions that were not discussed in video lectures are NOT allowed.
Submit a separate Word or pdf file for each part of the project, or combine all code and output into one file.
The code should be copied and pasted as a text; include output in the form of snippets (not screenshots; no typing).
Submissions without the output will NOT be graded.