FUNCMASTER

1. DelVar ιLIM
2. DelVar ιMEAN
3. DelVar ιOLDX
4. DelVar ιY
5. DelVar ιX
6. DelVar ιMGUES
7. DelVar ιGUESS
8. DelVar ιSLIM
9. DelVar ιKEY
10. DelVar ιA
11. DelVar ιB
12. DelVar ιC
13. DelVar ιT
14. DelVar ιROOTS
15. DelVar ιOPT
16. DelVar ιINT
17. DelVar ιL1
18. DelVar ιFUNC
19. DelVar ιOLD
20. DelVar ιN
21. DelVar ιSTEP
22. DelVar X1T
23. DelVar Y2T
24. DelVar ιDIV
25. DelVar ιBUF1
26. DelVar ιBUF2
27. DelVar ιM1
28. DelVar ιM2
29. FUNC
30. ClrHome
31. Lbl M1        Menu
32. Menu("Func Master v1.2","Area",AR,"Volume",VO,"Average value",AV,"Def. integral",DI,"Tan line/deriv",TL,"Arc length",AL,"More",M2)
33. Lbl AR        Area
34. ClrHome
35. Menu("Find area ... ","B/W 2 curves",A2,"Of revolution"A3,"Polar",A4,"Back",M1)
36. Lbl A2        B/W 2 curves
37. Input "1st function: ",Str1
38. Input "2nd function" ",Str2
39. X->ιOLDX(1)
40. Input "Lower limit: ",X
41. X->ιLIM(1)
42. ιOLDX(1)->X
43. Input "Upper limit: ",X
44. X->ιLIM(2)
45. ιOLDX(1)->X
46. DelVar Y1
47. DelVar Y2
48. String>Equ(Str1,Y1)
49. String>Equ(Str2,Y2)
50. If ιLIM(1)>=0
51. Then
52. (ιLIM(2)-ιLIM(1))/2->ιMEAN(1)
53. Else
54. (ιLIM(2)+ιLIM(1))/2->ιMEAN(1)
55. End
56. "Integrate..."->Str1
57. "f(x)-g(x),x,a,b"->Str2
58. If Y1(ιMEAN(1))>=Y2(ιMEAN(1))
59. Then
60. fnInt(Y1-Y2,x,ιLIM(1),ιLIM(2))->ιY(1)
61. Else
62. fnInt(Y2-Y1,x,ιLIM(1),ιLIM(2))->ιY(1)
63. End
64. ClrHome
65. Disp Str1, Str2,"",ιY(1)>Frac
66. Goto ZZ
67. Lbl A3        Of revolution
68. ClrHome
69. Input "Function
70. ",Str1
71. Input "Axis
72. ",Str2
73. X->ιOLDx(1)
74. Input "Lower limit
75. ",X
76. X->ιLIM(1)
77. Input "Upper limit
78. ",X
79. X->ιLIM(2)
80. ιOLDx(1)->X
81. DelVar Y1
82. DelVar Y2
83. String>Equ(Str1,Y1
84. "2(("+Str1+")-("+Str2+"))sqrt(1+nDeriv(Y1,X,X)²)"->Str2
85. String>Equ(Str2,Y2
86. fnInt(Y2,X,ιLIM(1),ιLIM(2))->ιY(1)
87. ClrHome
88. Disp "pi*",ιY(1)>Frac
89. Goto ZZ
90. Lbl A4        Polar
91. Polar
92. Input "r function
93. ",Str1
94. x->ιOLDX(1)
95. Input "Lower limit
96. ",X
97. X->ιLIM(1)
98. ιOLDX(1)->X
99. Input "Upper limit
100. ",X
101. X->ιLIM(2)
102. ιOLDX(1)->X
103. DelVar r1
104. String>Equ(Str1,r1)
105. "Integrate..."->Str1
106. "r²/2,theta,a,b"->Str2
107. .5fnInt(r1²/2theta,ιLIM(1),ιLIM(2)->ιY(1)
108. Func
109. ClrHome
110. Disp Str1,Str2,"",ιY(1)>Frac
111. Goto ZZ
112. Lbl VO        Volume
113. ClrHome
114. Input "1st function
115. ",Str1
116. Input "2nd function
117. ",Str2
118. Input "Axis
119. ",Str3
120. X->ιOLDX(1)
121. Input "Lower limit
122. ",X
123. X->ιLIM(1)
124. ιOLDX(1)->X
125. Input "Upper limit
126. ",X
127. X->ιLIM(2)
128. ιOLDX(1)->X
129. DelVar Y(1)
130. DelVar Y(2)
131. DelVar Y(3)
132. String>Equ(Str1,Y1)
133. String>Equ(Str2,Y2)
134. String>Equ(Str3,Y3)
135. If ιLIM(1)>=0
136. Then
137. (ιLIM(2)-ιLIM(1))/2->ιMEAN(1)
138. Else
139. (ιLIM(2)+ιLIM(1))/2->ιMEAN(1)
140. End
141. Menu("Select method
142. ","Disk/washer",DWE,"Shell",SH,"Quit",ZZ)
143. Lbl DW
144. If Y1(ιMEAN(1))>=Y2(ιMEAN(1))
145. Then
146. If Y3(ιMEAN(1))>=Y1(ιMEAN(1))
147. Then
148. "[("+Str3+")-("+Str1+")]²"->Str4
149. "-[("+Str3+")-("+Str2+")]²"->Str5
150. fnInt((Y3-Y1)²-(Y3-Y2)²,X,ιLIM( 1),ιLIM(2))->ιY(1)
152. Goto D1
153. Else
154. "[("+Str1+")-("+Str3")]²"->Str4
155. "-[("+Str2+")-("+Str3+")]²"->Str5
156. fnInt((Y1-Y3)²-(Y2-Y3)²,X,ιLIM( 1),ιLIM(2))->ιY(1)
157. Goto D1
158. End
159. End
160. Else
161. If Y3(ιMEAN(1))>=Y2(ιMEAN(1))
162. Then
163. "[("+Str3+")-("+Str2")]²"->Str4
164. "-[("+Str3+")-("+Str1+")]²"->Str5
165. fnInt((Y3-Y2)²-(Y3-Y1)²,X,ιLIM( 1),ιLIM(2))->ιY(1)
166. Goto D1
167. Else
168. "[("+Str2+")-("+Str3")]²"->Str4
169. "-[("+Str1+")-("+Str3+")]²"->Str5
170. fnInt((Y2-Y3)²-(Y1-Y3)²,X,ιLIM( 1),ιLIM(2))->ιY(1)
171. Goto D1
172. End
173. End
174. Lbl SH