Math/CSE 1560 Lab 5

Exercise: Writing procedures and functions in Maple

Objective
The objective of this exercise is to test your familiarity with writing your own procedures and functions in Maple.

Grading
This lab exercise is worth 10% of the course. It is meant to be completed in the lab, individually (Collaboration is NOT allowed for this exercise).

NOTE: This is a 2 hour lab. The submission server will close shortly after 4:30 pm. You will not be able to submit your work after that time. Please make sure you submit by 4:30 pm.

Starting off:

  1. Log in to a Gauss lab (aka AML) computer. If you have trouble, ask a system support staff. The TA will not be able to help you wih account/login/password issues.
  2. Open Maple 12 by clicking on the icon marked as such. If Maple does not start, let the TA know immediately. If asked, choose to start a new worksheet.
  3. You should now see the standard 2-d or math view of Maple.
  4. On the first 2 lines, enter your name and student number as comments -- start the lines with character # to indicate to Maple that these are not to be interpreted as Mathematical statements. Then save the file as`lab5.mw` by clicking on `File` and then `save as`.

Problems
Note: You are free to use piecewise() and if-then statements as you wish. However, if you wish to use piecewise, use cond-val pairs as mentioned in class, instead of implicit or default values.

  1. (4 points) Write a procedure that takes 3 integers as inputs and returns the value 1 if two of them are equal and the third not equal to these two. It should return zero in all other cases. For full credit, type check each input. Test your function with a variety of test cases that you can think of, including real numbers. Do not use the max() function in this question.
  2. (4 points) Write a procedure that takes in an integer n and returns the the digits of n as a set. Do not use any functions not covered in classand do not use for or while loops.
  3. (4 points) Write a function that takes an integer n and returns the smallest digit that is not in n. You can use the min() function of Maple, and the procedure you wrote in the previous question(s) if you like.
  4. (4 points) Write a procedure that takes as input an integer n and returns the set of all integers in 1..n that are not powers of 3 or powers of 2. E.g. in the range 1..10, 1, 3 and 9 are powers of 3, and 1,2,4,8 are powers of 2. For full credit, type check the input.
  5. (4 points) Write a function that takes an integer as input and returns 1 if all the digits in the number are either 1 or 2 and 0 otherwise.

Final steps

  1. Save your worksheet.
  2. Submit the assignment as lab 5 in Moodle (the URL is moodle.math.yorku.ca - NOTE: there is no "www" in the URL). You can upload several times, but remember to submit using the "send for marking" at the end ONCE - otherwise it may not be sent.
  3. You are done with this assignment! Remember to logout before you leave the lab.