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
po:lab5 [2018/10/29 03:14]
pszwed [Dodaj rozszerzenia i optymalizacje]
po:lab5 [2019/11/05 11:22] (current)
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 96: Line 97:
  
     @Override     @Override
 +    public String toString() {
         String sgn=sign<0?"-":"";         String sgn=sign<0?"-":"";
 //        return sgn+Double.toString(value); //        return sgn+Double.toString(value);
         DecimalFormat format = new DecimalFormat("0.#####",new DecimalFormatSymbols(Locale.US));         DecimalFormat format = new DecimalFormat("0.#####",new DecimalFormatSymbols(Locale.US));
         return sgn+format.format(value);         return sgn+format.format(value);
 +    }
 } }
  
Line 124: Line 126:
     @Override     @Override
     double evaluate() {     double evaluate() {
-        return value;+         return sign*value;
     }     }
  
Line 373: Line 375:
 ===== Symboliczne obliczanie pochodnych ===== ===== Symboliczne obliczanie pochodnych =====
  
-**Zadanie do realizacji w domu przez zainteresowanych.** Za zadanie można otrzymać punkty dodatkowe. Raczej dużo punktów :-D, ponieważ na pewno zajmie kilka godzin...+**Zadanie do realizacji w domu.** 
  
  
po/lab5.1540779277.txt.gz · Last modified: 2018/10/29 03:14 by pszwed
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0