You are on page 1of 3

; tinh giai thua bang phuong phap de quy

(define (fac n)
(if (zero? n)
1
(* n (fac (- n 1)))))
; Giai thua lap
(define (i-fac a b)
(if (= a 0)
b
(i-fac(- a 1)(* a b))))
; ham tinh fibonaci bang phuong phap de quy
(define (fibo n)
(if (<= n 1)
n
(+ (fibo(- n 1))(fibo (- n 2)))))
; Fibo bang phuong phap lap
(define (i-fibo x y z)
(if (= z 0)
y
(i-fibo (+ x y) x (- z 1))))
; Chay chuong trinh : (i-fibo 1 0 n)
3. Tnh t?ng sum 1+ 1/2 +1/3 +.1/n v?i n>0, nguyn
a. Phuong php d? quy
; Tinh tong cac 1/i bang de quy
(define (sum n)
(if (= n 1)
1
(+(/ 1 n)(sum (- n 1)))))
b. Phuong php l?p
; phuong phap lap
(define (i_sum1 p r)
(if (= p 1)
r
(i_sum1(- p 1)(+(/ 1 p)r))))
; goi chuong trinh (i_sum1 2 1)
4. Tnh xn= x*xn-1
a. Phuong php d? quy
; Tinh x mu n bang phuong phap de quy
(define (power x n)
(if(= n 0)
1
(* x(power x(- n 1)))))
b. Phuong php l?p
; Tinh x mu n bang phuong phap lap
(define (i_power y m r)
(if (= m 0)
r
(i_power y(- m 1)(* y r))))
; Chay chuong trinh Dr scheme : (i_power x n 1)
5. Tnh t? h?p n ch?p k
(define (tohop n k)
(cond ((zero? k) 1)
((= k n )1)
(else (+ (tohop (- n 1) k)
(tohop (- n 1) (- k 1))))))
; Cach chay ( tohop n k) nho co phan biet chu thuong chu hoa
6. Tnh s? Pi/4 theo chu?i sau: p/4 =1-1/3+1/5 -1/7
(define (tong n)
(cond ((= n 0) 1)
((=(remainder n 2) 1)(+ (tong(- n 1))(*(/ 1(+(* 2 n)1))-1)))
(else (+(tong(- n 1))(/ 1 (+(* 2 n )1))))))
7. Tnh T?ng s= 1+2*2+3*3+=n*n
(define (tongbp n)
(if (zero? n )
0
(+ (tongbp(- n 1))(* n n))))
8. Vi?t hm (nbsec h m s) tnh ra s? giy theo gi?, pht, giy d cho. V d?: (nbsec 10 3 45)
(define (nbsec h m s)
(+ (* h 3600)(* m 60) s)
)
9. Vi?t chuong trnh nh?p vo m?t s? (0..1000), in ra bnh phuong, y/c s? d?ng menu.
(define (menu)
( (display "Chon gia tri: (0. Thoat, 1. Tinh)")
( let ((rd (read)))
(cond ((equal? rd 0) (display "Hoan thanh"))
((equal? rd 1) ((
let ( (a (read))) (
if (or (< a 0) (> a 1000)) ((d
isplay "Loi") (newline) (menu)) ( let ((a2 (* a a))) ((display "Ket qua: ") (dis
play a2) (newline) (menu)))
)
) (newline) (menu)))
( else ((display "Nhap lai") (newline) (menu)))
))))
Ch?y chuong trnh (menu)
10. Tnh cc chi?u cao h c?a tam gic, bi?t cc c?nh a, b, c.
(define (cal_h a b c) (
let* ((p (/ (+ a b c) 2))
(S (sqrt (* p (- p a) (- p b) (- p c))))
(ha (/ (* 2 S) a))
(hb (/ (* 2 S) b))
(hc (/ (* 2 S) c))
) (
(display "ha = ") (display ha) (newline)
(display "hb = ") (display hb) (newline)
(display "hc = ") (display hc) (newline)
)
))
11. Bi ton thp H N?i
(define (hanoi n A B C)
(if (= n 0)
(display "")
(begin
(hanoi (- n 1) A C B)
(display "move ") (display A) (display " to ") (display C) (newline)
(hanoi (- n 1) B A C))))
12. Tnh t?ng 1 danh sch
(define (tong L) (
if (null? L)
0
(+ (car L) (tong (cdr L)))
))
> (tong (list 1 2 3))

You might also like