19#ifndef CALC_CASIO_SCI_H
20#define CALC_CASIO_SCI_H
23#error calc_casio_sci.h is only for C++!
32enum CalcMode { CMP, SD, LR };
63 bool getIsMode ()
const {
return mIsMode; }
66 bool getIsXkInput ()
const {
return mIsXkInput; }
67 Number getKmem(
int idx)
const {
return mKmem[idx]; }
68 CalcMode getCalcMode ()
const {
return mCalcMode; }
70 string getSdDat ()
const {
return mSdDat; }
71 string getLrDat ()
const {
return mLrDat; }
72 void setKmem(
const int idx,
const Number& num) {
mKmem[idx] = num; }
73 void setIsMode (
bool isOn =
false) {
mIsMode = isOn; }
74 void setIsKinInput (
bool isOn) {
mIsKinInput = isOn; }
76 void setIsXkInput (
bool isOn) {
mIsXkInput = isOn; }
77 void setCalcMode(CalcMode cm) {
mCalcMode = cm; }
79 void setSdDat(
const string& dat) {
mSdDat = dat; }
80 void setLrDat(
const string& dat) {
mLrDat = dat; }
116 virtual int getNumStrLen(
string numStr)
const {
return numStr.size(); }
119 void resetCalcModes() {
mSd =
mLr =
".."; }
120 void setSd () { resetCalcModes();
mSd =
"SD"; }
121 void setLr () { resetCalcModes();
mLr =
"LR"; }
122 void setCmp() { resetCalcModes(); }
124 void setMode(
bool on) {
mMode = on ?
"m" :
".";
return; }
161 AcKin() :
SymAction(
"kin",
"store display to memory K1..K6 ('kin@2')") {}
174 AcKout() :
SymAction(
"kout",
"recall memory K1..K6 to display ('kout@2')") {}
186 AcKac() :
SymAction(
"kac",
"clear all and all memories K1..K6") {}
198 AcCmp() :
SymAction(
"cmp",
"switch off statistical and regression mode") {}
234 AcXd() :
SymAction(
"xd",
"input x data in regression mode") {}
261 AcDel() :
SymAction(
"del",
"delete display from statistical data") {}
429 AcSxg() :
SymAction(
"sxg",
"conversion decimal to sexagesimal number") {}
452 AcXk() :
SymAction(
"xk",
"swap display and memory K1, K2, ... or K6 ('xk@2')") {}
463 OpRp() :
SymOperator(
"rp", 6,
"transform rectangualar to polar coordinates") {}
475 OpPr() :
SymOperator(
"pr", 6,
"transform polar to rectangualar coordinates") {}
Klassen fuer alle wissenschaftlichen Taschenrechner (Modul base).
Konstanter Wert A bei Regression.
Definition: calc_casio_sci.h:346
void process()
y-Achsenabschnitt A bei Regression.
Definition: calc_casio_sci.cpp:1001
Regressionskoeffizient B.
Definition: calc_casio_sci.h:358
void process()
Regressionskoeffizient B.
Definition: calc_casio_sci.cpp:1014
Schaltet Statistik- und Regressionsmodus ab ("Compute"-Modus).
Definition: calc_casio_sci.h:196
Enter fuer Statistik- und Regressionsmodus.
Definition: calc_casio_sci.h:244
void processLr()
Prozessiert "Data" im Regressionsmodus.
Definition: calc_casio_sci.cpp:803
void processSd()
Prozessiert "Data" im Statistikmodus.
Definition: calc_casio_sci.cpp:779
void process()
Enter fuer Statistik- und Regressionsmodus.
Definition: calc_casio_sci.cpp:760
Delete fuer Statistik- und Regressionsmodus.
Definition: calc_casio_sci.h:258
void process()
Delete fuer Statistik- und Regressionsmodus.
Definition: calc_casio_sci.cpp:827
void processLr()
Prozessiert "Delete" im Regressionsmodus.
Definition: calc_casio_sci.cpp:869
void processSd()
Prozessiert "Delete" im Statistikmodus.
Definition: calc_casio_sci.cpp:845
Eingabe von Zahlen im Sexagesimalsystem.
Definition: calc_casio_sci.h:416
void process()
Konvertierung Sexagesimal-/Dezimalsystem.
Definition: calc_casio_sci.cpp:1094
Gesamtloeschung und Loeschen aller Speicher K1 bis K6.
Definition: calc_casio_sci.h:184
void process()
Loeschen aller Speicher K1 bis K6.
Definition: calc_casio_sci.cpp:693
Speicher K1 bis K6.
Definition: calc_casio_sci.h:159
void process()
Schreiben der Speicher K1 bis K6.
Definition: calc_casio_sci.cpp:631
Speicher K1 bis K6.
Definition: calc_casio_sci.h:172
void process()
Lesen der Speicher K1 bis K6.
Definition: calc_casio_sci.cpp:669
Wechselt in Regressionsmodus.
Definition: calc_casio_sci.h:220
Symbol Mode-Taste.
Definition: calc_casio_sci.h:146
void process()
Setzt Mode-Modus.
Definition: calc_casio_sci.cpp:617
Korrelationskoeffizient r.
Definition: calc_casio_sci.h:370
void process()
Korrelationskoeffizient r.
Definition: calc_casio_sci.cpp:1027
Zufallszahl.
Definition: calc_casio_sci.h:405
void process()
Dreistellige Zufallszahl zwischen 0 und 1.
Definition: calc_casio_sci.cpp:1077
Wechselt in Statistikmodus.
Definition: calc_casio_sci.h:208
Umwandlung Dezimal- nach Sexagesimalsystem.
Definition: calc_casio_sci.h:427
Berechnungswert x bei Regression.
Definition: calc_casio_sci.h:382
void process()
Berechnungswert x bei Regression.
Definition: calc_casio_sci.cpp:1041
Durchschnitt der x-Werte.
Definition: calc_casio_sci.h:273
void process()
Durchschnitt der x-Werte.
Definition: calc_casio_sci.cpp:893
Uebertraegt Anzeige in den x-Daten-Zwischenspeicher.
Definition: calc_casio_sci.h:232
Vertauscht Anzeige mit Speicher K1 bis K6.
Definition: calc_casio_sci.h:450
void process()
Vertauschen der Speicher K1 bis K6 mit der Anzeige.
Definition: calc_casio_sci.cpp:710
Stichproben-Standardabweichung x.
Definition: calc_casio_sci.h:321
void process()
Stichproben-Standardabweichung x.
Definition: calc_casio_sci.cpp:964
Grundgesamtheits-Standardabweichung x.
Definition: calc_casio_sci.h:297
void process()
Grundgesamtheits-Standardabweichung x.
Definition: calc_casio_sci.cpp:925
Vertauscht Anzeige mit oberstem Element des Nummernstacks.
Definition: calc_casio_sci.h:438
void process()
Vertauschen des obersten Nummern-Stack-Elements mit der Anzeige.
Definition: calc_casio_sci.cpp:736
Berechnungswert y bei Regression.
Definition: calc_casio_sci.h:394
void process()
Berechnungswert y bei Regression.
Definition: calc_casio_sci.cpp:1058
Durchschnitt der y-Werte.
Definition: calc_casio_sci.h:285
void process()
Durchschnitt der y-Werte.
Definition: calc_casio_sci.cpp:909
Stichproben-Standardabweichung x.
Definition: calc_casio_sci.h:334
void process()
Stichproben-Standardabweichung y.
Definition: calc_casio_sci.cpp:982
GrundgesamtheitsStandardabweichung y.
Definition: calc_casio_sci.h:309
void process()
Grundgesamtheits-Standardabweichung y.
Definition: calc_casio_sci.cpp:946
Basisklasse aller Computer.
Definition: calculator.h:85
Gemeinsame Basisklasse aller wissenschaftlichen Casio-Rechner.
Definition: calc_casio_sci.h:44
bool mIsKoutInput
Kin wurde gedrueckt.
Definition: calc_casio_sci.h:52
bool mapInvCasioSci(string &sym)
Ordnet einem Symbol dasjenige Symbol zu, das ihm im Invers-Modus entspricht.
Definition: calc_casio_sci.cpp:277
string mLrDat
dito LR-Daten
Definition: calc_casio_sci.h:58
string mSdDat
zuletzt im Editor eingegebene SD-Daten
Definition: calc_casio_sci.h:57
void aftProcess(string &in)
Fuehrt Aktionen nach Prozessierung des Symbols in aus.
Definition: calc_casio_sci.cpp:581
Number calcA() const
Berechnet aus den K-Speichern den y-Achsenabschnitt A bei Regressionsrechnung.
Definition: calc_casio_sci.cpp:415
Number calcR() const
Berechnet Korrelationskoeffizient r aus den K-Speichern.
Definition: calc_casio_sci.cpp:449
bool popNumDepOnLastSymCasio()
Siehe gleichartige Funktion in ComputerBase.
Definition: calc_casio_sci.cpp:560
ComputerCasioSci()
Konstruktor fuegt die neuen Symbole zur Symboltabelle hinzu.
Definition: calc_casio_sci.cpp:98
void addCasioSymsToSymTab()
Fuegt die Symbole der wissenschaftlichen Casio-Rechner der Symboltabelle hinzu.
Definition: calc_casio_sci.cpp:113
bool mapCasioSci(string &sym)
Mapped einige Symbole auf andere Symbole um.
Definition: calc_casio_sci.cpp:160
bool mapKinKoutInputCasioSci(string &sym)
Fuehrt spezielles Mapping von Ziffern oder "+", "-", "*", "/" aus, falls zuvor "Kin" oder "Kout" eing...
Definition: calc_casio_sci.cpp:220
bool mIsMode
Mode-Modus.
Definition: calc_casio_sci.h:50
Number mXdata
temporaerer Speicher fuer Regressionsrechnung
Definition: calc_casio_sci.h:56
string makeCompCasioSciInfoStr()
Erzeugt fuers Debugging String mit den wichtigen Member-Variablen.
Definition: calc_casio_sci.cpp:594
bool mapModeCasioSci(string &sym)
Ordnet einem Symbol dasjenige Symbol zu, das ihm im Mode-Modus entspricht.
Definition: calc_casio_sci.cpp:319
Number calcB() const
Berechnet Regressionskoeffizient B aus den K-Speichern.
Definition: calc_casio_sci.cpp:431
void popNumDepOnLastSym()
Siehe gleichartige Funktion in ComputerBase.
Definition: calc_casio_sci.cpp:548
bool mIsXkInput
X<->K wurde gedrueckt.
Definition: calc_casio_sci.h:53
DisplayCasioSci * mDisplayCasioP
Zeiger auf das zugehoerige Display.
Definition: calc_casio_sci.h:49
void handlePercent()
Prozessiert das Prozentzeichen.
Definition: calc_casio_sci.cpp:490
bool mIsKinInput
Kin wurde gedrueckt.
Definition: calc_casio_sci.h:51
void handleDisplayAfterBra()
Siehe Kommentar ComputerBase::handleDisplayAfterBra().
Definition: calc_casio_sci.cpp:359
CalcMode mCalcMode
Calculation-Modus CMP, SD, LR.
Definition: calc_casio_sci.h:55
Number mKmem[6]
Konstantenspeicher K1 bis K6.
Definition: calc_casio_sci.h:54
SymOperator * checkConstMode(SymOperator *opP)
Untersucht, ob in den Konstanten-Modus gewechselt werden muss oder dieser abgeschaltet werden muss.
Definition: calc_casio_sci.cpp:385
void handleEmptyNumStack(Number &a, SymOperator *soP, Number &b)
Erfindet einen zweiten Operanden, falls ein Operator mit nur einem berechnet werden soll.
Definition: calc_casio_sci.cpp:344
Bruchdarstellung: Fliesskomma, Bruch, gemischter Bruch.
Definition: calc_sci.h:48
Klasse der Anzeige aller wissenschaftlichen Casio-Rechner.
Definition: calc_casio_sci.h:103
string mModesShort
jeder Mode wird hier durch ein Zeichen repraesentiert
Definition: calc_casio_sci.h:109
string mLr
String des Regressionsmodus' "LR".
Definition: calc_casio_sci.h:111
string mMode
String des Mode-Modus'.
Definition: calc_casio_sci.h:112
void setCalcMode(CalcMode cm)
Setzt den Modus, in dem sich der Rechner jetzt befinden soll.
Definition: calc_casio_sci.cpp:77
void setModesCasioSci()
Schaut im Computer, welche Modes gesetzt sind, und baut den Mode-String des Displays entsprechend zus...
Definition: calc_casio_sci.cpp:57
string mSd
String des Statistikmodus' "SD".
Definition: calc_casio_sci.h:110
DisplayCasioSci(ComputerBase *cbP)
Konstruktor der Casio-Display-Klasse.
Definition: calc_casio_sci.cpp:43
Display fuer wissenschaftliche Taschenrechner.
Definition: calc_sci.h:96
Symbol Fakultaet.
Definition: calc_casio_sci.h:135
Rundet Wert auf Wert in Anzeige.
Definition: calc_casio_sci.h:485
Number calcVal(const Number &a)
Rundet den Wert in der Anzeige so, wie er aktuell in der Aneige erscheint.
Definition: calc_casio_sci.cpp:1163
Die Klasse Number repraesentiert Zahlen.
Definition: number.h:49
Verwandelt Polar- in rechtwinklige Koordinaten.
Definition: calc_casio_sci.h:473
Number calcVal(const Number &a, const Number &b)
Wandelt Polarkoordinaten (r,phi) in rechtwinklige Koordinaten (a,b) um.
Definition: calc_casio_sci.cpp:1142
Verwandelt rechtwinklige in Polarkoordinaten.
Definition: calc_casio_sci.h:461
Number calcVal(const Number &a, const Number &b)
Wandelt rechtwinklige Koordinaten (a,b) in Polarkoordinaten (r,phi) um.
Definition: calc_casio_sci.cpp:1123
Basisklasse fuer alle Aktionen ("=", "%", ...).
Definition: symbols.h:278
Basisklasse fuer die Operatoren.
Definition: symbols.h:104
void processCommon()
Prozessiert einen eingegebenen Operator.
Definition: symbols.cpp:255
Basisklasse der Nicht-Winkelfunktionen.
Definition: symbols.h:253
static DisplayBase * mDsplP
Zeiger auf Display (f. wissenschftl. Rechner)
Definition: symbols.h:52
static ComputerBase * mCompP
Zeiger auf Computer mit der Symboltabelle.
Definition: symbols.h:51
static double fact(double n)
Berechnet rekursiv die Fakultaet n! der Zahl n.
Definition: util.cpp:993