From c5fcf7179a83ef65c86c6a4a390029149e518649 Mon Sep 17 00:00:00 2001 From: Franciszek Malinka Date: Tue, 5 Oct 2021 21:49:54 +0200 Subject: Duzy commit ze smieciami --- Semestr 2/racket/deriv.rkt | 47 ---------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 Semestr 2/racket/deriv.rkt (limited to 'Semestr 2/racket/deriv.rkt') diff --git a/Semestr 2/racket/deriv.rkt b/Semestr 2/racket/deriv.rkt deleted file mode 100644 index 0eef9d2..0000000 --- a/Semestr 2/racket/deriv.rkt +++ /dev/null @@ -1,47 +0,0 @@ -#lang racket - -(define (variable? x) (symbol? x)) - -(define (same-variable? v1 v2) - (and (variable? v1) (variable? v2) (eq? v1 v2))) - -(define (=number? exp num) - (and (number? exp) (= exp num))) - -(define (make-sum a1 a2) - (cond ((=number? a1 0) a2) - ((=number? a2 0) a1) - ((and (number? a1) (number? a2) (+ a1 a2))) - (else (list '+ a1 a2)))) -(define (sum? x) - (and (pair? x) (eq? (car x) '+))) -(define (addend s) (cadr s)) -(define (augend s) (caddr s)) - -(define (make-product m1 m2) - (cond ((or (=number? m1 0) (=number? m2 0)) 0) - ((=number? m1 1) m2) - ((=number? m2 1) m1) - ((and (number? m1) (number? m2)) (* m1 m2)) - (else (list '* m1 m2)))) -(define (product? x) - (and (pair? x) (eq? (car x) '*))) -(define (multiplier p) (cadr p)) -(define (multiplicand p) (caddr p)) - -(define (deriv exp var) - (cond ((number? exp) 0) - ((variable? exp) - (if (same-variable? exp var) 1 0)) - ((sum? exp) - (make-sum (deriv (addend exp) var) - (deriv (augend exp) var))) - ((product? exp) - (make-sum - (make-product (multiplier exp) - (deriv (multiplicand exp) var)) - (make-product (deriv (multiplier exp) var) - (multiplicand exp)))) - (else - (error "Nieznany rodzaj wyrazenia -- DERIV" exp)))) - \ No newline at end of file -- cgit v1.2.3