Advertisement
Guest User

Untitled

a guest
Sep 10th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 1.37 KB | None | 0 0
  1. ;; The first three lines of this file were inserted by DrRacket. They record metadata
  2. ;; about the language level of this file in a form that our tools can easily process.
  3. #reader(lib "htdp-advanced-reader.ss" "lang")((modname testfile1) (read-case-sensitive #t) (teachpacks ()) (htdp-settings #(#t quasiquote repeating-decimal #t #t none #t ())))
  4. (define (ggT a b)
  5.   (if (= b 0) a
  6.       (ggT b(remainder a b))
  7.       ))
  8.  
  9. (define (kgV a b)
  10.   (/ (* a b) (ggT a b)))
  11.  
  12. (define (zaehler bruch)
  13.   (car bruch))
  14.  
  15. (define (nenner bruch)
  16.   (cadr bruch))
  17.  
  18.  
  19. (define (erweitern bruch zahl)
  20.   (list (* (zaehler bruch)
  21.            zahl)
  22.         (* (nenner bruch)
  23.            zahl)))
  24.  
  25.  
  26.  
  27. (define (kuerzen bruch)
  28.   (let ((teiler (ggT (zaehler bruch) (nenner bruch))))
  29.     (list (/ (zaehler bruch)
  30.              teiler)
  31.           (/ (nenner bruch)
  32.              teiler))))
  33.  
  34. (define (b-plus b1 b2)
  35.   (kuerzen
  36.    (list
  37.     (+ (* (zaehler b1)
  38.           (nenner b1))
  39.        (* (zaehler b2)
  40.           (nenner b2)))
  41.     (* (nenner b1)
  42.        (nenner b2)))))
  43.  
  44. (define (b-minus b1 b2)
  45.   (kuerzen
  46.    (list
  47.     (- (* (zaehler b1)
  48.           (nenner b1))
  49.        (* (zaehler b2)
  50.           (nenner b2)))
  51.     (* (nenner b1)
  52.        (nenner b2)))))
  53.  
  54. (define (b-mal b1 b2)
  55.   (kuerzen
  56.    (list
  57.     (* (zaehler b1) (zaehler b2))
  58.     (* (nenner b1) (nenner b2)))))
  59.  
  60. (b-minus '(4 6) '(8 3))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement