Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
po:lab5 [2018/10/29 03:10]
pszwed [Wyrażenia matematyczne]
po:lab5 [2018/11/15 14:41]
pszwed [Implementujemy klasy]
Line 1: Line 1:
 ====== Wyrażenia matematyczne ====== ====== Wyrażenia matematyczne ======
  
-Podczas laboratorium zaimplementujemy kilka klas pozwalających na reprezentację prostych wyrażeń matematycznych (funkcji jednej lub kilku zmiennych) w pamięci+Podczas laboratorium zaimplementujemy kilka klas pozwalających na reprezentację prostych wyrażeń matematycznych (funkcji jednej lub kilku zmiennych) jako grafów.  
 +Podobna reprezentacja jest rdzeniem funkcji oferowanych na przykład przez [[https://live.sympy.org/]] lub [[https://www.derivative-calculator.net/]]. Nie będziemy jednak "parsowali" wyrażeń, czyli budowali grafowej reprezentacji na podstawie specyfikacji tekstowej. Zamiast tego, wyrażenia będą budowane za pomocą odpowiednio skonstruowanego kodu. 
 Założona funkcjonalność: Założona funkcjonalność:
   *budowa wyrażeń   *budowa wyrażeń
Line 8: Line 10:
   *symboliczne obliczanie pochodnych [opcjonalnie]   *symboliczne obliczanie pochodnych [opcjonalnie]
  
-Podobna reprezentacja jest rdzeniem funkcji oferowanych na przykład przez [[https://live.sympy.org/]] lub [[https://www.derivative-calculator.net/]]. Nie będziemy jednak "parsowali" wyrażeń, czyli budowali grafowej reprezentacji na podstawie specyfikacji tekstowej. Zamiast tego, wyrażenia będą budowane za pomocą odpowiednio skonstruowanego kodu. 
  
 ===== Jakie klasy będą potrzebne ===== ===== Jakie klasy będą potrzebne =====
Line 124: Line 125:
     @Override     @Override
     double evaluate() {     double evaluate() {
-        return value;+         return sign*value;
     }     }
  
Line 549: Line 550:
 ==== Dodaj rozszerzenia i optymalizacje ==== ==== Dodaj rozszerzenia i optymalizacje ====
  
-**Pomijaj przy sumowaniu wyrażenia zerowe** Przed utworzeniem węzłów ''Sum'' i ''Prod'' umieść wyrażenia na liście+**Pomijaj przy sumowaniu wyrażenia zerowe** Przed utworzeniem węzłów ''Sum'' i ''Prod'' umieść wyrażenia na listach
   *Jeżeli lista jest pusta, zwróć ''new Constant(0)''   *Jeżeli lista jest pusta, zwróć ''new Constant(0)''
   *Jeżeli lista zawiera jeden element, po prostu zwróć go   *Jeżeli lista zawiera jeden element, po prostu zwróć go
po/lab5.txt · Last modified: 2019/11/05 11:22 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0