Blob


1 ;; The first three lines of this file were inserted by DrScheme. They record metadata
2 ;; about the language level of this file in a form that our tools can easily process.
3 #reader(lib "htdp-beginner-reader.ss" "lang")((modname 3.3.1) (read-case-sensitive #t) (teachpacks ((lib "convert.ss" "teachpack" "htdp"))) (htdp-settings #8(#t constructor repeating-decimal #f #t none #f ((lib "convert.ss" "teachpack" "htdp")))))
4 (define INCHES->CM 2.54)
5 (define FEET->INCHES 12)
6 (define YARDS->FEET 3)
7 (define RODS->YARDS 5.5)
8 (define FURLONGS->RODS 40)
9 (define MILES->FURLONGS 8)
11 ;; inches->cm : number -> number
12 ;; Converts inches to cm by multiplying by the conversion factor INCHES->CM
14 (define (inches->cm inches)
15 (* inches INCHES->CM))
17 ;; feet->inches : number -> number
18 ;; Converts feet to inches by multiplying by the conversion factor FEET->INCHES
20 (define (feet->inches feet)
21 (* feet FEET->INCHES))
23 ;; yards->feet : number -> number
24 ;; Converts yards to feet by multiplying by the conversion factor YARDS->FEET
26 (define (yards->feet yards)
27 (* yards YARDS->FEET))
29 ;; rods->yards : number -> number
30 ;; Converts rods to yards by multiplying by the conversion factor RODS->YARDS
32 (define (rods->yards rods)
33 (* rods RODS->YARDS))
35 ;; furlongs->rods : number -> number
37 (define (furlongs->rods furlongs)
38 (* furlongs FURLONGS->RODS))
40 ;; miles->furlongs : number -> number
42 (define (miles->furlongs miles)
43 (* miles MILES->FURLONGS))
45 ;; feet->cm : number -> number
46 ;; Converts feet to cm by first converting to inches
48 (define (feet->cm feet)
49 (inches->cm (feet->inches feet)))
51 ;; yards->cm : number -> number
52 ;; Converts yards to cm by first converting to feet
54 (define (yards->cm yards)
55 (feet->cm (yards->feet yards)))
57 ;; rods->inches : number -> number
58 ;; Converts rods to inches by first converting to yards, then converting to feet, then converting to inches
60 (define (rods->inches rods)
61 (feet->inches
62 (yards->feet
63 (rods->yards rods))))
65 ;; miles->feet: number -> number
66 ;; Converts miles to feet by first converting to furlongs, then to rods, then to yards, then to feet
68 (define (miles->feet miles)
69 (yards->feet
70 (rods->yards
71 (furlongs->rods
72 (miles->furlongs miles)))))