[HTDP] <2.2 변수 및 프로그램>

2045 단어 Scheme
exercise_2.2.scm
#lang racket/base

;;; [HTDP] <2.2      > <   2.2.1>
;;; <  > Fahrenheit->Celeiue : number->number
;;; <  >                   
(require htdp/convert) ;;   "convert.rkt"
(define Fahrenheit->Celeiue ;       
  (lambda (Fahrenheit)
    (* (- Fahrenheit 32) (/ 5 9))))

(convert-gui Fahrenheit->Celeiue) ;;     ,     
(convert-repl Fahrenheit->Celeiue) ;;     ,     
(convert-file "in.dat" Fahrenheit->Celeiue "out.dat") ;;            ,     

#lang racket/base

;;; [HTDP] <2.2      > <   2.2.2>
;;; <  > dullar->euro : number->number
;;; <  >         
(define RATE 0.82338) ;; 1  =0.8238  
(define dullar->euro ;       
  (lambda (dullar)
    (* dullar RATE)))

(dullar->euro 1) ; 0.82338
(dullar->euro 30) ; 24.7014

;;; [HTDP] <2.2      > <   2.2.3>
;;; <  > triangle : (number number)->number
;;; <  >                  
(define triangle ;       
  (lambda (bottom height)
    (/ (* bottom height) 2)))

(triangle 1 2) ; 1
(triangle 23 6) ; 69

;;; [HTDP] <2.2      > <   2.2.4>
;;; <  > convert3 : (number number number)->number
;;; <  >            
(define convert3 ;       
  (lambda (number1 number2 number3)
    (+ (* number1 1) (* number2 10) (* number3 100))))

(convert3 1 2 3) ; 321

;;; [HTDP] <2.2      > <   2.2.5>
;;; <  > function1 : number->number
;;; <  > n^2 + 10
(define function1 ;       
  (lambda (number)
    (+ (* number number) 10)))

(function1 4) ; 26

;;; [HTDP] <2.2      > <   2.2.5>
;;; <  > function2 : number->number
;;; <  > (1/2) * n^2 + 20
(define function2 ;       
  (lambda (number)
    (+ (* (/ 1 2) (* number number)) 20)))

(function2 20) ; 220

;;; [HTDP] <2.2      > <   2.2.5>
;;; <  > function3 : number->number
;;; <  > 2-(1/n)
(define function3 ;       
  (lambda (number)
    (- 2 (/ 1 number))))

(function3 4) ; 7/4

좋은 웹페이지 즐겨찾기