1 Ht DP Teachpacks
2 Ht DC Teachpacks
On this page:
convert-gui
convert-repl
convert-file
Version: 4.0.2

 

1.3 Converting Temperatures: convert.ss

The teachpack convert.ss provides three functions for converting Fahrenheit temperatures to Celsius. It is useful for a single exercise in HtDP. Its purpose is to demonstrate the independence of “form” (user interface) and “function” (also known as “model”).

(convert-gui convert)  true

  convert : (-> number? number?)

Consumes a conversion function from Fahrenheit to Celsius and creates a graphical user interface with two rulers, which users can use to convert temperatures according to the given temperature conversion function.

(convert-repl convert)  true

  convert : (-> number? number?)

Consumes a conversion function from Fahrenheit to Celsius and then starts a read-evaluate-print loop. The loop prompts users to enter a number and then converts the number according to the given temperature conversion function. A user can exit the loop by entering “x.”

(convert-file in convert out)  true

  in : string?

  convert : (-> number? number?)

  out : string?

Consumes a file name in, a conversion function from Fahrenheit to Celsius, and a string out. The program then reads all the number from in, converts them according to convert, and prints the results to the newly created file out.

Warning: If out already exists, it is deleted.

Example: Create a file with name "in.dat" with some numbers in it, using your favorite text editor on your computer. Define a function f2c in the Definitions window and set teachpack to “convert.ss” and click RUN. Then evaluate

  (convert-gui f2c)

  ; and

  (convert-file "in.dat" f2c "out.dat")

  ; and

  (convert-repl f2c)

Finally inspect the file "out.dat" and use the repl to check the answers.