Git-Leon před 6 roky
rodič
revize
190b4c5981
No account linked to committer's email
1 změnil soubory, kde provedl 34 přidání a 0 odebrání
  1. 34
    0
      README.md

+ 34
- 0
README.md Zobrazit soubor

@@ -37,6 +37,33 @@ All calculators should have the following features:
37 37
 Each operation should automatically update the display
38 38
 
39 39
 
40
+### Scientific Features
41
+
42
+- Switch display mode (binary, octal, decimal, hexadecimal)
43
+  - `switchDisplayMode()` should rotate through the options
44
+  - `switchDisplayMode(String mode)` should set the display to the mode given
45
+- Memory - Store up to one numeric value in memory for recall later (default to 0) *
46
+  - (`M+` key) Add the currently displayed value to the value in memory (store in memory and update display) *
47
+  - (`MC` key) Reset memory *
48
+  - (`MRC` key) Recall the current value from memory to the display *
49
+- Trig functions
50
+  - Sine - Calculate the sine of the displayed value and display it
51
+  - Cosine - Calculate the cosine of the displayed value and display it
52
+  - Tangent - Calculate the tangent of the displayed value and display it
53
+  - Inverse Sine
54
+  - Inverse Cosine
55
+  - Inverse Tangent
56
+- Switch trig units mode (Degrees, Radians)
57
+  - `switchUnitsMode()` should rotate through the options
58
+  - `switchUnitsMode(String mode)` should set the trig units to the type given
59
+- Logarithmic functions
60
+  - Log
61
+  - 10<sup>x</sup> (inverse logarithm)
62
+  - Ln (natural logarithm)
63
+  - e<sup>x</sup> (inverse natural logarithm)
64
+- Factorial function  
65
+
66
+
40 67
 ### Custom Features
41 68
 
42 69
 In addition to the Core and Scientific features, you are required to create at least two of your own features for the calculator. They can be any two features that are not already covered and that you can implement as you see fit. These features must be properly tested.
@@ -49,6 +76,13 @@ The following functions should take the displayed value (x) and updated it accor
49 76
 - `squareRoot()`: √x
50 77
 - `inverse()`: <sup>1</sup>/<sub>x</sub>
51 78
 - `switchSign()`: -x
79
+- `sine()`: sin(x)
80
+- `cosine()`: cos(x)
81
+- `tangent()`: tan(x)
82
+- `inverseSine()`: sin<sup>-1</sup>(x)
83
+- `inverseCosine()`: sin<sup>-1</sup>(x)
84
+- `inverseTangent()`: tan<sup>-1</sup>(x)
85
+- `factorial()`: x! (x factorial)
52 86
 
53 87
 ## Submission
54 88