<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 習題 10.1.8 設計求解二次方程的函數 quadratic-roots,該函數的輸入為方程的系數,即a、b以及c,所執行的計算根據輸入而定 ``` (define (base-root a b c) (sqrt (- (* b b) (* 4 a c)))) (define (root-add a b c) (/ (+ (- b) (base-root a b c)) (* 2 a))) (define (root-desc a b c) (/ (- (- b) (base-root a b c)) (* 2 a))) (define (quadratic-roots a b c) (cond [(= a 0) 'degenrate] [(< (* b b) (* 4 a c)) 'none] [(= (* b b) (* 4 a c)) (/ (- b) (* 2 a))] [(> (* b b) (* 4 a c)) (cons (root-add a b c) (cons (root-desc a b c) empty))])) ;(quadratic-roots 1 2 1) ;-1 ;(quadratic-roots 3 4 5) ;'none (quadratic-roots 3 40 5) ;'(-0.1261943765504725 -13.207138956782861) ``` ## 習題 10.1.9 在許多雜貨店,收銀員需要向顧客報出價格。收銀員的計算機對于顧客必須支付的金額,構造含有如下五個元素的表 1.元的數額; 2.如果元的數額是1,這一元素是符號 'dollar,否則就是 'dollars 3.符號and; 4.分的數額; 5.如果分的數額是1,這一元素是符號cent,否則就是'cents。 開發函數 controller,該函數讀入一個數,返回如上描述的表。例如,如果金額數是$1.03,那么`( controller 103)`的計算過程如下: ``` (controller 103) ;;預期值 ;;(cons 1 (cons dollar (cons and (cons 3(cons cents empty)))) ``` 提示: Scheme提供了算術操作 quotient和 remainder,對于整數n和m,分別生成n/m的商和余數。 解答 ``` ; 通過美元價格輸出 cons ; 模板 ;(define (controller price) ; (cons 美元 ; (cons ('dollar 或 'dollars) ; (cons 'and ; (cons 美分 ; (cons ('cent 或 'cents) empty)))) ;預期 ;(cons 1 (cons dollar (cons and (cons 3 (cons cents empty))))) (define (controller money) (cons (quotient money 100) (cons (cond[(= (quotient money 100) 1) 'dollar] [else 'dollars]) (cons 'and (cons (remainder money 100) (cons (cond[(= (remainder money 100) 1) 'cent] [else 'cents]) empty)))))) (controller 230) ;(list 2 'dollars 'and 30 'cents) (controller 101) ;(list 1 'dollar 'and 1 'cent) ``` ## 習題 10.2.2 給出包含每個物品照片的庫存清單的數據定義和結構體定義。說明如何表示圖103所示的庫存清單。 設計函數 show-picture,該函數讀入一個符號(玩具的名字)和一個上述定義的庫存清單,函數返回相應的玩具照片,如果庫存清單中沒有此種玩具,返回 false。 ![D05015CE-B155-436F-9C6B-738E77D9D612.png](http://yanxuan.nosdn.127.net/651d7930199a52486d0ef45be656c2ee.png) 解答: ``` ; 設置物品的結構體 (define-struct goods (name price pictrue)) ; 通過物品名稱獲取物品照片 (define (shop-symbol? name list-struct) (cond [(empty? list-struct) false] [(symbol=? name (goods-name (first list-struct))) (goods-pictrue (first list-struct))] [else (shop-symbol? name (rest list-struct)) ] )) ;初始化商店物品 (define list-goods (cons (make-goods 'robot 29.95 'robot-p) (cons (make-goods 'doll 11.95 'doll-p) (cons (make-goods 'rocket 19.95 'rocket-p) empty)))) (shop-symbol? 'robot list-goods ) ;'robot-p (shop-symbol? 'robot empty) ;#flase ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看