Almetare  1.15
Alle meine Taschenrechner - Eine C++-Bibliothek zur Entwicklung von Taschenrechnern
ComputerFx85v Klassenreferenz

Die Klasse implementiert den Computer des Casio fx-85v. Mehr ...

#include <calc_fx85v.h>

Klassendiagramm für ComputerFx85v:
ComputerCasioSci ComputerSci ComputerBase

Öffentliche Methoden

 ComputerFx85v ()
 Konstruktor fuegt der Symboltabelle spezielle fx-85v-Symbole hinzu.
 
bool map (string &sym)
 Mapped das uebergebene Symbol gegebenenfalls auf ein anderes Symbol um. Mehr ...
 
bool getIsForcedSciTypeB ()
 
void setIsForcedSciTypeB (bool isOn)
 
- Öffentliche Methoden geerbt von ComputerCasioSci
 ComputerCasioSci ()
 Konstruktor fuegt die neuen Symbole zur Symboltabelle hinzu.
 
bool getIsMode () const
 
bool getIsKinInput () const
 
bool getIsKoutInput () const
 
bool getIsXkInput () const
 
Number getKmem (int idx) const
 
CalcMode getCalcMode () const
 
Number getXdata () const
 
string getSdDat () const
 
string getLrDat () const
 
void setKmem (const int idx, const Number &num)
 
void setIsMode (bool isOn=false)
 
void setIsKinInput (bool isOn)
 
void setIsKoutInput (bool isOn)
 
void setIsXkInput (bool isOn)
 
void setCalcMode (CalcMode cm)
 
void setXdata (Number x)
 
void setSdDat (const string &dat)
 
void setLrDat (const string &dat)
 
Number calcA () const
 Berechnet aus den K-Speichern den y-Achsenabschnitt A bei Regressionsrechnung. Mehr ...
 
Number calcB () const
 Berechnet Regressionskoeffizient B aus den K-Speichern. Mehr ...
 
Number calcR () const
 Berechnet Korrelationskoeffizient r aus den K-Speichern. Mehr ...
 
void handleEmptyNumStack (Number &a, SymOperator *soP, Number &b)
 Erfindet einen zweiten Operanden, falls ein Operator mit nur einem berechnet werden soll. Mehr ...
 
void handleDisplayAfterBra ()
 Siehe Kommentar ComputerBase::handleDisplayAfterBra(). Mehr ...
 
SymOperatorcheckConstMode (SymOperator *opP)
 Untersucht, ob in den Konstanten-Modus gewechselt werden muss oder dieser abgeschaltet werden muss. Mehr ...
 
void handlePercent ()
 Prozessiert das Prozentzeichen. Mehr ...
 
void popNumDepOnLastSym ()
 Siehe gleichartige Funktion in ComputerBase.
 
bool popNumDepOnLastSymCasio ()
 Siehe gleichartige Funktion in ComputerBase.
 
void aftProcess (string &in)
 Fuehrt Aktionen nach Prozessierung des Symbols in aus. Mehr ...
 
string makeCompCasioSciInfoStr ()
 Erzeugt fuers Debugging String mit den wichtigen Member-Variablen. Mehr ...
 
virtual string makeCompInfoStr ()
 
- Öffentliche Methoden geerbt von ComputerSci
 ComputerSci ()
 Der Konstruktor fuegt der Symboltabelle die zusaetzlichen Symbole fuer wissenschaftliche Taschenrechner hinzu. Mehr ...
 
bool getIsInv () const
 
bool getIsHyp () const
 
bool getIsFixInput () const
 
bool getIsSciInput () const
 
AngMode getAngMode () const
 
void setIsInv (bool isOn)
 
void setIsHyp (bool isOn)
 
void setIsFixInput (bool isOn)
 
void setIsSciInput (bool isOn)
 
void setAngMode (AngMode mode=DEG)
 
string makeCompSciInfoStr ()
 Erzeugt String mit den wichtigen Member-Variablen. Mehr ...
 
- Öffentliche Methoden geerbt von ComputerBase
 ComputerBase ()
 Konstruktor erzeugt Symboltabelle, initialisiert Symbol- und Nummern-Stack.
 
virtual ~ComputerBase ()
 Die mit new angelegten Symbole muessen wieder geloescht werden.
 
void createSymTabBase ()
 Erzeugt Symboltabelle mit allen Symbolen des "minimalen" Taschenrechners. Mehr ...
 
void showSymTab ()
 Schreibt alle Symbole in die Log-Datei.
 
void initStacks ()
 Initialisiert die beiden Stack-Listen. Mehr ...
 
void initMembers (bool clrMem=true)
 Initialisiert die Members von ComputerBase. Mehr ...
 
void clearNum ()
 
Number getConstVal () const
 
Number getPrcWhole () const
 
Number getMemory () const
 
int getBraLev () const
 
int getParam () const
 
SymOperatorgetConstOpP () const
 
SymOperatorgetLastOpP () const
 
SymOperatorgetLastButOneOpP () const
 
SymbolgetLastInP () const
 
SymbolgetLastButOneInP () const
 
SymbolgetSymP (const string &sym)
 
void setDsplP (DisplayBase *dsplP)
 
void setConstVal (const Number &val)
 
void setPrcWhole (const Number &val)
 
void setMemory (const Number &val)
 
void setParam (const int val)
 
void setLastOpP (SymOperator *soP)
 Speichert die Zeiger auf die beiden zuletzt eingegebene Operator-Symbole. Mehr ...
 
void setConstOpP (SymOperator *soP)
 
void setLastInPisNotToSet (bool is)
 
void setLastInP (Symbol *sP)
 Speichert den Zeiger auf das zuletzt eingegebene Symbol. Mehr ...
 
void setIsToInit (bool in)
 
void pushNewStacks ()
 Wirft neue Stacks auf die Stack-Listen. Mehr ...
 
void popStacks ()
 Holt die letzten Stacks von den Stack-Listen. Mehr ...
 
void pushNum (const Number &n)
 
void pushSym (SymOperator *sP)
 
Number getTopButOneNum ()
 
void setTopButOneNum (const Number &n)
 
bool isNumEmpty ()
 
bool isSymEmpty ()
 
Number popNum ()
 
Number topNum ()
 
SymOperatorpopSym ()
 
SymOperatortopSym ()
 
void incBraLev ()
 
void decBraLev ()
 
void printSymHelp ()
 Gibt alle Symbole der Symboltabelle auf die Konsole aus.
 
string getAllSyms ()
 Gibt saemtliche Symbole und Infos im String zurueck.
 
bool isSym (const string &sym)
 Prueft, ob Symbol sym in der Symboltabelle ist, und gibt true oder false zurueck. Mehr ...
 
Error compute ()
 Berechnet den letzten Operator auf dem Symbol-Stack. Mehr ...
 
Error swapNum ()
 
string extractParam (string &in)
 Extrahiert einen moeglicherweise vorhandenen Parameter des Symbols. Mehr ...
 
string makeCompBaseInfoStr ()
 Erzeugt fuers Debugging String mit den wichtigen Member-Variablen. Mehr ...
 
virtual void aftProcess2 (string &in)
 

Private Methoden

void addCasioFx85SymsToSymTab ()
 Fuegt der Symboltabelle spezielle fx-85v-Symbole hinzu.
 
bool preProcess (string &in)
 Fuehrt Pre-Processing des Symbols durch. Mehr ...
 

Private Attribute

DisplayFx85vmDisplayFx85vP
 Zeiger auf das Display des Rechners.
 
bool mIsForceSciTypeB
 true, wenn SCI erst bei Zahlen kleiner 1e-7
 

Weitere Geerbte Elemente

- Geschützte Methoden geerbt von ComputerCasioSci
bool mapCasioSci (string &sym)
 Mapped einige Symbole auf andere Symbole um. Mehr ...
 
bool mapKinKoutInputCasioSci (string &sym)
 Fuehrt spezielles Mapping von Ziffern oder "+", "-", "*", "/" aus, falls zuvor "Kin" oder "Kout" eingegeben wurde. Mehr ...
 
- Geschützte Methoden geerbt von ComputerSci
bool mapSci (string &sym)
 Prueft verschiedene Shift-Ebenen und versucht, das Symbol sym entsprechend anzuupassen. Mehr ...
 
bool mapInvSci (string &sym)
 Ordnet einem Symbol dasjenige Symbol zu, das ihm im Invers-Modus entspricht. Mehr ...
 
bool mapHypSci (string &sym)
 Ordnet einem Symbol dasjenige Symbol zu, das ihm im Hyperbolicus-Modus entspricht (sin -> sinh, cos -> cosh etc.). Mehr ...
 
bool mapFixSciInputSci (string &sym)
 Macht aus einer Ziffer ein "fix"- oder "sci"-Symbol, wenn zuvor "fix" oder "sci" eingegeben wurde. Mehr ...
 
- Geschützte Methoden geerbt von ComputerBase
bool popNumDepOnLastSymBase ()
 Holt die vorherige Eingabe vom Zahlenstack, wenn es kein Operator war. Mehr ...
 
- Geschützte Attribute geerbt von ComputerCasioSci
DisplayCasioScimDisplayCasioP
 Zeiger auf das zugehoerige Display.
 
bool mIsMode
 Mode-Modus.
 
bool mIsKinInput
 Kin wurde gedrueckt.
 
bool mIsKoutInput
 Kin wurde gedrueckt.
 
bool mIsXkInput
 X<->K wurde gedrueckt.
 
Number mKmem [6]
 Konstantenspeicher K1 bis K6.
 
CalcMode mCalcMode
 Calculation-Modus CMP, SD, LR.
 
Number mXdata
 temporaerer Speicher fuer Regressionsrechnung
 
string mSdDat
 zuletzt im Editor eingegebene SD-Daten
 
string mLrDat
 dito LR-Daten
 
- Geschützte Attribute geerbt von ComputerSci
bool mIsInv
 Invers-Modus.
 
bool mIsHyp
 Hyperbolicus.
 
bool mIsFixInput
 fix wurde gedrueckt, jetzt wird auf Ziffer gewartet
 
bool mIsSciInput
 sci wurde gedrueckt, jetzt wird auf Ziffer gewartet
 
AngMode mAngMode
 Modus RAD, DEG, GRA.
 
- Geschützte Attribute geerbt von ComputerBase
DisplayBasemDsplP
 Zeiger auf zugehoeriges Display.
 
SymTabT mSymTab
 Symboltabelle.
 
NumStackList mNumStackList
 Zahlen-Stack-Liste zum Rechnen.
 
SymStackList mSymStackList
 Symbol-Stack-Liste zum Rechnen.
 
NumStack mNumStack
 Default-Zahlen-Stack: ist immer leer.
 
SymStack mSymStack
 Default-Symbol-Stack: ist immer leer.
 
SymbolmLastInP
 das zuletzt eingegebene Symbol
 
SymbolmLastButOneInP
 das vorletzte eingegebene Symbol
 
SymOperatormLastOpP
 der zuletzt eingegebene Operator
 
SymOperatormLastButOneOpP
 der vorletzte eingegebene Operator
 
Number mMemory
 Speicherregister.
 
int mBraLev
 Klammerebene.
 
Number mPrcWhole
 bei Prozentrechnung: das "Ganze"
 
SymOperatormConstOpP
 bei Konstantenrechnung: der Operator
 
Number mConstVal
 bei Konstantenrechnung: der konstante Wert
 
int mParam
 bei manchen Operatoren uebergebener Parameter
 
bool mLastInPisNotToSet
 damit kann Setzen von mLastInP verhindert werden
 
bool mIsToInit
 wird von AcAc::process() auf true gesetzt und nur vom fx-3600P ausgewertet
 

Ausführliche Beschreibung

Die Klasse implementiert den Computer des Casio fx-85v.

Dokumentation der Elementfunktionen

◆ map()

bool ComputerFx85v::map ( string &  in)
virtual

Mapped das uebergebene Symbol gegebenenfalls auf ein anderes Symbol um.

Das ist z.B. noetig, wenn der Computer gerade im Invers-Modus ist.

Erneute Implementation von ComputerSci.

◆ preProcess()

bool ComputerFx85v::preProcess ( string &  in)
privatevirtual

Fuehrt Pre-Processing des Symbols durch.

Hier besteht das Pre-Processing nur aus dem Mapping.

Rückgabewerte
inzu mappendes Symbol

Erneute Implementation von ComputerSci.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: