CMSC15100 Autumn 2010: Homework 2Due Tuesday, October 12 at 10pm. SetupThis homework requires the use of the image.ss teachpack, so you will need to include the following at the beginning of your program: (require 2htdp/image) Note that you should not add the image.ss teachpack using the Language|Add Teachpack... menu, since that will load an older version that has a different interface. Documentation for the image.ss teachpack is available at use image.ss or from the Help|Help Desk menu (look at the HtDP/2e Teachpacks). Exercise 1: Distance between two pointsDevelop a function ;; distance : posn posn -> num Exercise 2: Mixed dataA shape is either a circle, defined by its center (a posn) and radius, or a rectangle, defined by its upper-left corner (a posn) and its width and height (integers). Give definitions for shapes and develop a function ;; render : shape mode color -> image that renders a shape as an image using the given drawing mode and color. NOTE: that you will need to use the names "Circle" and "Rectangle" (note leading uppercase letter) for the struct names, since "circle" and "rectangle" will give you an error that the name already has a built-in meaning. Exercise 3: Body massA person's body mass index (BMI) is defined to be their mass (in kilos) divided by their height (in meters) squared. Define a data representation for a person that includes three fields: name, mass, and height. Then define a function for computing a person's BMI. Exercise 4: Lists of peopleUsing the data definition from Exercise 3 and the following definition for lists of people ;; a list of people is either write a function tallest that returns the tallest person from a list of people. Exercise 5: Lists of numbersGiven the following data definition for lists of numbers: ;; a list of numbers is either Write the following recursive functions: ;; len : list-of-numbers -> num ;; sum : list-of-numbers -> num ;; sq-list : list-of-numbers -> list-of-numbers |