SICP 習題2 3 計算矩形面積和周長

2021-07-13 08:02:22 字數 1056 閱讀 9537

我是用兩個點表示的乙個矩形,矩形的左下方的點和右上方的點。

還有一種方法可以用乙個左下方的點,乙個長,乙個寬就可以了。

建立抽象屏障就是要求每個表示方法都能求出乙個矩形的長和寬,根據這兩個資訊,就可以求出矩形面積和周長。

(define make-rect cons)

(define s-rect car)

(define e-rect cdr)

(define make-point cons)

(define x-point car)

(define y-point cdr)

(define rect-width

(lambda

(rect)

(- (x-point

(e-rect rect))

(x-point

(s-rect rect)))))

(define rect-heigth

(lambda

(rect)

(- (y-point

(e-rect rect))

(y-point

(s-rect rect)))))

(define rect-area

(lambda

(rect)

(* (rect-width rect)

(rect-heigth rect))))

(define rect-perimeter

(lambda

(rect)

(* (+

(rect-width rect)

(rect-heigth rect))

2)))

(define rect

(make-rect

(make-point12)

(make-point

34)))

(newline

)(display

(rect-area rect))

(newline

)(display

(rect-perimeter rect))

使用類計算矩形的面積

定義並實現乙個矩形類,有長和寬兩個屬性,由成員函式計算矩形的面積。矩形類rectang介面定義如下 class rectangle 請實現rectangle類的成員函式。裁判測試程式樣例 include using namespace std class rectangle int main 你的 ...

語音計算矩形面積 如何計算廣義球面矩形的面積

如圖,dc為赤道上的圓弧,ab為緯線上的圓弧,兩個平面 和 分別通過兩極切割球面,形成割線ad和bc,顯然,dc ad bc皆為大圓弧。我們稱四邊形abcd為廣義球面矩形。這個矩形的面積如何計算呢?用矩形在緯度線上的弧長與 的乘積,然後求和就可以得到矩形的面積,也就是 s cos d sin c 1...

計算2個矩形所佔的面積

這是在leetcode上看到的題目。2個矩形由各自的左下角和右上角來定義。座標定義為 a,b c,d e,f g,h 頂點座標全部為int整數。兩個矩形分布可以分為三種情況。分離,包含與相交。如下 public class rearea else if a e c g b f d h else if...