第二章 数、表达式和简单程序
最后更新于:2022-04-02 04:14:12
[TOC]
## 课后习题
### 习题 2.2.1
习题2.2.1定义程序 `Fahrenheit->Celsius`,输入为华氏温度值,输出为等值的摄氏温度值。请查看化学或物理书籍了解温度的转换公式。
设计出函数后,使用教学软件包 teachpack中的 convert. ss对所设计的函数进行测试, teachpack提供了3个函数 convert-gui、 convert-repl和 convert -file,第1个函数用于创建图形界面,请按以下方式调用(convert-gui Fahrenheit->Celsius)以创建一个包含按钮和滑动条的窗口。
答:
转换公式 `°C =(°F-32)×5/9`
```
(define (Fahrenheit->Celsius f)
(/ (* (- f 32) 5) 9))
;(Fahrenheit->Celsius 20) ; -6.6
```
1. convert-gui
`(convert-gui Fahrenheit->Celsius)`
![8B15DFC8-EE21-4E4A-945C-3E79264F5367.png](http://yanxuan.nosdn.127.net/8b8dd3334be902563bb8fc408e7f220b.png)
2. convert-repl 交互输出
`(convert-repl Fahrenheit->Celsius)`
![B4304CE8-7A81-43F6-9DF9-D0949EBD57BF.png](http://yanxuan.nosdn.127.net/ac75f771afab9072f0ec59f01a380be8.png)
3. convert-file 数据文件导入导出
`(convert-file "in.dat" Fahrenheit->Celsius "out.dat")`
先把 DrRacket 的文件保存,在统计目录创建 `in.dat`
in.dat
```
4
50
345
```
out.dat
```
-140/9
10
1565/9
```
';