Integrare simbolică LISP

Referat
7/10 (1 vot)
Domeniu: Calculatoare
Conține 1 fișier: doc
Pagini : 7 în total
Cuvinte : 915
Mărime: 10.06KB (arhivat)
Puncte necesare: 6
UNIVERSITATEA “POLITEHNICA” TIMISOARA FACULTATEA DE AUTOMATICA SI CALCULATOARE

Extras din referat

Tema 7:Integrare simbolica

Se va realiza integrarea simbolică în raport cu o variabilă.

Se permite citirea expresiei de integrat într-o formă mai uşor interpretabilă de program (forma prefix). Se va urmării tratarea cazurilor cât mai general posibile.

Exemplu: 2*X rezultă X^2+C.

Cerinte :

- se va realiza un program interactiv;

- documentatie.

Dificultate estimata: dificila

Efort de programare: mediu

Consideratii de implementare

Structura de date folosita pentru a implementa acest program este structura de lista prezenta in LISP.Citirea expresiei de integrat se va face sub forma prefix.Acest mod de citire este folosita pentru o mai usoara implementare.

In acest sens,au fost create au fost create o serie de functii care de asemenea sa usureze aceasta implementare :

- functii pentru a stabili tipul integralei care se doreste a fi calculata

ex : (defun is_inmultire (n)

(equal (car n) '*))

- functii de calcul a integralelor pentru fiecare caz particular

ex : (defun exponentiala (n)

(cond ((and (equal (car n) '^)(equal (cadr n) 'e) (equal (caddr n) 'x)) (list 'e^x+C))

((equal (caadr n) '*) (cons '+ (list (cons '* (cons (/ 1 (cadadr n)) n))'C)))))

- o functie care calculeaza orice tip de integrala si care verifica ce fel de integrala e folosindu-se de functiile specificate mai sus

(defun integrala (n)

(cond ((numberp n) (cons '+ (list (cons '* (cons n (list 'x) )) 'C)))

((equal n 'x) (cons '+ (list (cons '* (cons '0.5 (list (cons 'expt (cons 'x (list '2)))))) 'C )))

(t (cond ((is_adunare n) (append '(+) (mapcar 'integrala (cdr n))))

((is_scadere n) (append '(-) (mapcar 'integrala (cdr n))))

((is_putere n) (x^n&n^x n))

((is_sinus n) (sinus n))

((is_cosinus n) (cosinus n))

((is_exp n) (exponentiala n))

((and (atom n) (numberp n)) (integrala_numar))

(t (princ "Ati introdus un format gresit!") (terpri))))))

- functia program,care permite introducerea unei integrale de utilizator sau calculul unei integrale aflate in lista.

Programul trateaza expresii de forma: [integrala] f1 ±... fn ,acestea vor fi specificate sub forma : (± expresie1...expresien).

Toate expresiile sunt exprimate sub forma prefix.De exemplu daca vrem sa calculam e la puterea ax, semantica pentru program va fi :

(e (* a x)) iar valoarea integralei (valoarea returnata) va fi (+ (* 1/a E (* a X)) C)

Preview document

Integrare simbolică LISP - Pagina 1
Integrare simbolică LISP - Pagina 2
Integrare simbolică LISP - Pagina 3
Integrare simbolică LISP - Pagina 4
Integrare simbolică LISP - Pagina 5
Integrare simbolică LISP - Pagina 6
Integrare simbolică LISP - Pagina 7

Conținut arhivă zip

  • Integrare Simbolica LISP.doc

Te-ar putea interesa și

Proiect Concepte Fundamentale ale Limbajelor de Programare

Descrierea problemei: Se va realiza integrarea simbolică în raport cu o variabilă. Se permite citirea expresiei de integrat într-o formă mai...

Ai nevoie de altceva?