home *** CD-ROM | disk | FTP | other *** search
/ Mega CD-ROM 1 / megacd_rom_1.zip / megacd_rom_1 / MATH / CC4.ZIP / DEMO.CC < prev    next >
Text File  |  1991-01-29  |  10KB  |  628 lines

  1.  
  2. 1
  3. // This file will help you learn to use CC.
  4. 1
  5.  
  6. 1
  7. // Lines following // are called COMMENTS and
  8. 1
  9. // are ignored by CC.  Comments can be used to
  10. 1
  11. // annotate your calculations.
  12. 1
  13.  
  14. 1
  15. // As you read this file, place the cursor on
  16. 1
  17. // each line and push <Enter>.  That will cause
  18. 1
  19. // the line to be executed, so you will be able
  20. 1
  21. // to see what it does.
  22. 1
  23.  
  24. 1
  25. // CC runs best off a hard disk.  If you are   
  26. 1
  27.   using a floppy disk, then remove the program
  28. 2
  29.   disk and put a blank, formatted disk in the 
  30. 3
  31.   disk drive.  This disk may be necessary for 
  32. 4
  33.   storing graphics images for recall.
  34. 5
  35.  
  36. 1
  37. 2+3   // execute this line
  38. 1
  39.  
  40. 1
  41. // If you executed 2+3, you saw 5 as the ANSwer
  42. 1
  43. // and the Last Result.  Enter your own formula
  44. 1
  45. // on the blank line below and execute it.
  46. 1
  47.  
  48. 1
  49. // Anytime you want to interrupt this lesson to
  50. 1
  51. // try a function of your own, just push 
  52. 1
  53. // function key F3 a few times to open up empty
  54. 1
  55. // lines in the window.  Try pushing F3 now.
  56. 1
  57. // To erase a line, put the cursor on it and
  58. 1
  59. // press Shift-F4.  Altering the screen will 
  60. 1
  61. // not change the file DEMO.CC on your disk.
  62. 1
  63.  
  64. 1
  65. // You can use transcendental functions with CC
  66. 1
  67. // Try the following lines:
  68. 1
  69.  
  70. 1
  71. 3.6^2.1   // ^ means exponentiation
  72. 1
  73. Sin(2.4)
  74. 1
  75. Exp(-30)  // very large and small numbers are  
  76. 1
  77.            represented in exponential notation
  78. 2
  79. ln(1.3)   // natural logarithm
  80. 1
  81. sin(3.4)-4*ln(2.7)   //* means multiply
  82. 1
  83. sqrt(18.27)   // sqrt means square root
  84. 1
  85.  
  86. 1
  87. // CC includes an on-line help facility.  To 
  88. 1
  89. // read about CC's functions, press function 
  90. 1
  91. // key F1 and choose topic H.
  92. 1
  93. // Push <ESC> to leave Help and return here.
  94. 1
  95.  
  96. 1
  97. // CC can calculate with complex numbers.  If
  98. 1
  99. // you are interested in complex math, try the
  100. 1
  101. // following lines.
  102. 1
  103.  
  104. 1
  105. (1+î)/(3-4î)  // enter î=sqrt(-1) with alt-i
  106. 1
  107. exp(3+4î)
  108. 1
  109. Asin(3)    // real argument, complex result
  110. 1
  111. Ln(-1)
  112. 1
  113.  
  114. 1
  115. // You can assign the result of a calculation
  116. 1
  117. // to a variable.  Watch the Output window as
  118. 1
  119. // you execute these lines:
  120. 1
  121.  
  122. 1
  123. a = 4
  124. 1
  125. b = (3.2 - 5.4)/2.1
  126. 1
  127. c = a-3 //variables can be used in calculations
  128. 1
  129.  
  130. 1
  131. // Test yourself -- answers at end of file
  132. 1
  133. // 1.  Find the hypotenuse of a right triangle 
  134. 1
  135.       with legs of length 3.8 and 7.2.
  136. 2
  137.  
  138. 1
  139.  
  140. 1
  141. // 2.  What is the final balance if $5000 is   
  142. 1
  143.       invested at 7% for 8 years
  144. 2
  145.  
  146. 1
  147.  
  148. 1
  149. // You can also define functions with CC, which
  150. 1
  151. // can be evaluated, graphed, integrated,
  152. 1
  153. // differentiated, and solved for roots.
  154. 1
  155.  
  156. 1
  157. f(x) = x^2 + sin(x)  // execute this line to   
  158. 1
  159.                        define f(x)
  160. 2
  161.  
  162. 1
  163. y = f(2)
  164. 1
  165. z = 3+f(sin(y))
  166. 1
  167.  
  168. 1
  169. // There are now more variables defined than
  170. 1
  171. // can be shown.  Use function keys F5 and F6
  172. 1
  173. // to scroll the output window.
  174. 1
  175.  
  176. 1
  177. // Now we will graph f(x).  Push <Enter> when  
  178. 1
  179.   you wish to stop viewing the graph and      
  180. 2
  181.   return to this screen.
  182. 3
  183.  
  184. 1
  185. graph(f(x),x)
  186. 1
  187.  
  188. 1
  189. // To see more or less of the curve, you can 
  190. 1
  191. // alter the viewing window with the WINDOW
  192. 1
  193. // command.  The syntax is 
  194. 1
  195. //    WINDOW(xmin, xmax, ymin, ymax)
  196. 1
  197.  
  198. 1
  199. Window(-3,3,-.5,10)
  200. 1
  201. Graph(f(x),x)
  202. 1
  203.  
  204. 1
  205. // Compare to curve y = x^2
  206. 1
  207.  
  208. 1
  209. Graph(x^2,x)
  210. 1
  211.  
  212. 1
  213. // You can graph any expression like f(x) or
  214. 1
  215. // x^2 or even x^2*f(x).  
  216. 1
  217. // You can display as many curves as you want 
  218. 1
  219. // on one graph.  To erase the graph and start
  220. 1
  221. // over, enter the command ERASE or resize the
  222. 1
  223. // window with WINDOW.
  224. 1
  225.  
  226. 1
  227. // Read more about graphing in the help file.
  228. 1
  229.  
  230. 1
  231. // To differentiate the function f(x) at x=3,  
  232. 1
  233.   i.e. to calculate f'(3), enter the command
  234. 2
  235.  
  236. 1
  237. d1 = dif(f(x),x=3)
  238. 1
  239.  
  240. 1
  241. // You can also differentiate an expression
  242. 1
  243.  
  244. 1
  245. d2 = dif(x^2+sin(x),x=3)   // will equal d1
  246. 1
  247.  
  248. 1
  249. // You can define one function to be the       
  250. 1
  251.   derivative of another
  252. 2
  253.  
  254. 1
  255. g(x) = dif(f(x),x)
  256. 1
  257. window(-1,1,-1,3)
  258. 1
  259. graph(f(x),x)
  260. 1
  261. graph(g(x),x)
  262. 1
  263. Write@(0.6,0.85,'F(x)')  // graphs can be 
  264. 1
  265. Write@(0.5,1.75,'dF/dx') // labeled
  266. 1
  267.  
  268. 1
  269. // To see the symbolic derivative of f(x),     
  270. 1
  271.   differentiate f(x) with respect to an       
  272. 2
  273.   undefined variable name.
  274. 3
  275.  
  276. 1
  277. df = dif(f(w),w)
  278. 1
  279.  
  280. 1
  281. // To find where the graph of x^2+sin(x)       
  282. 1
  283.   crosses the x-axis, we solve the equation   
  284. 2
  285.   f(p) = 0
  286. 3
  287.  
  288. 1
  289. Solve(f(p)=0, p=-1)   // p=-1 is first guess
  290. 1
  291.  
  292. 1
  293. // Recall what the graph of f(x) looks like by 
  294. 1
  295.   pressing function key F9 to review the last 
  296. 2
  297.   graph.  To find the area between the graph  
  298. 3
  299.   of f(x) and the x-axis, we integrate f(x)   
  300. 4
  301.   between p (where the graph crosses the x-   
  302. 5
  303.   axis) and 0. 
  304. 6
  305. // This would not be possible without first    
  306. 1
  307.   solving for p.
  308. 2
  309.  
  310. 1
  311. Area := -IN(f(x),x=p to 0)
  312. 1
  313.  
  314. 1
  315. // CC includes a version of the integration    
  316. 1
  317.   operator, INTEG, that shows a graph of the  
  318. 2
  319.   area being integrated.  It returns the same 
  320. 3
  321.   answer as the ordinary integration operator 
  322. 4
  323.   IN.
  324. 5
  325.  
  326. 1
  327. Area = -INTEG(f(x),x=p to 0)
  328. 1
  329.  
  330. 1
  331. // CC will graph parametric and polar equations
  332. 1
  333.   It will also graph surfaces in three dimen- 
  334. 2
  335.   sions.  You can read about all these opera- 
  336. 3
  337.   tions in the help file.  Here's an example  
  338. 4
  339.   of 3D graphing.
  340. 5
  341.  
  342. 1
  343. Graph3d(2x^2-y^2, x=-1,1, y=-1,1)
  344. 1
  345.  
  346. 1
  347. // You can change the shading of 3d graphs by  
  348. 1
  349.   pressing the keys 1 (opaque--what you see   
  350. 2
  351.   first), 2 (striped), 3 (striped the other   
  352. 3
  353.   way), 4 (transparent).  Press F9 to recall  
  354. 4
  355.   the last graph, then press the number keys  
  356. 5
  357.   to change its shading.
  358. 6
  359.  
  360. 1
  361. // You can also rotate the 3d graph on the     
  362. 1
  363.   screen by pressing the keys x, X, y, Y, z, Z
  364. 2
  365.  
  366. 1
  367. // Test yourself
  368. 1
  369. // 3.  Graph the curve cos(x)-x.  Find the     
  370. 1
  371.       intersections of this curve with the x- 
  372. 2
  373.       axis, the area between the curve and the
  374. 3
  375.       x-axis, and the slope of the curve where
  376. 4
  377.       it crosses the x-axis.
  378. 5
  379.  
  380. 1
  381.  
  382. 1
  383.  
  384. 1
  385.  
  386. 1
  387. // 4.  Find the first three points to the right
  388. 1
  389.       of the y-axis where the line y = x meets
  390. 2
  391.       the graph of y = tan(x).
  392. 3
  393.  
  394. 1
  395.  
  396. 1
  397.  
  398. 1
  399.  
  400. 1
  401. // If you aren't interested in vectors, skip   
  402. 1
  403.   the next section.  CC3 will do vector arith-
  404. 2
  405.   metic and other operations with arrays and  
  406. 3
  407.   lists.  Note that if you define
  408. 4
  409.  
  410. 1
  411. v = (3, 5, 6)   // execute this line
  412. 1
  413.  
  414. 1
  415. // v is displayed in the output window as three
  416. 1
  417.   parts: v[1], v[1], v[3].
  418. 2
  419. // Let's do some vector arithmetic.
  420. 1
  421.  
  422. 1
  423. w = (4, 6, 3)
  424. 1
  425.  
  426. 1
  427. u = v+w
  428. 1
  429.  
  430. 1
  431. u = 5*v
  432. 1
  433.  
  434. 1
  435. u = v^2
  436. 1
  437.  
  438. 1
  439. u = v*w  
  440. 1
  441.  
  442. 1
  443. // CC is not just a calculator.  It is also a  
  444. 1
  445.   programming environment.   Push function key
  446. 2
  447.   F10 to view the "Scratchpad", where CC's    
  448. 3
  449.   programs are written, then push F10 again to
  450. 4
  451.   return to this screen.
  452. 5
  453.  
  454. 1
  455. // Now that you have viewed the Scratchpad,    
  456. 1
  457.   execute the function PC(x,n)
  458. 2
  459.  
  460. 1
  461. a1=PC(1,10)    // approximate solution
  462. 1
  463. a2 = sin(1)    // exact solution
  464. 1
  465.  
  466. 1
  467. a3 = PC(1,20)  // better approximation
  468. 1
  469. a4 = PC(1,100) // excellent approximation
  470. 1
  471.  
  472. 1
  473. // The algorithm fails for x > 1.5 because CC
  474. 1
  475. // always computes positive square roots.
  476. 1
  477.  
  478. 1
  479. // The manual has many more examples of using  
  480. 1
  481.   programming with CC.
  482. 2
  483.  
  484. 1
  485. // These notes have not mentioned the          
  486. 1
  487.   constructors SUM, PRODUCT, and LIST; CC's   
  488. 2
  489.   statistical features; symbolic calculations;
  490. 3
  491.   saving work with disk and printer; or       
  492. 4
  493.   advanced programming techniques.
  494. 5
  495. // All these points are explained in the manual
  496. 1
  497.  
  498. 1
  499. // *** Answers to Test Yourself ***
  500. 1
  501.  
  502. 1
  503. Ans1 = sqrt(3.8^2 + 7.2^2)
  504. 1
  505.  
  506. 1
  507. Ans2 = 5000*(1.07)^8
  508. 1
  509.  
  510. 1
  511. // Ans3
  512. 1
  513. f(x) = cos(x)-x
  514. 1
  515. window(0,1,-1,1)
  516. 1
  517. graph(f(x),x)
  518. 1
  519. solve(f(p)=0,p=1)       // curve crosses x-axis
  520. 1
  521. Ans3_1 = in(f(x),x=0,p)  // area
  522. 1
  523. Ans3_2 = dif(f(x),x=p)     // slope
  524. 1
  525.  
  526. 1
  527. // Ans4
  528. 1
  529. window(0,12,0,12)
  530. 1
  531. graph(tan(x),x)
  532. 1
  533. graph(x,x)
  534. 1
  535. // using the crosshairs, we see that the x-    
  536. 1
  537.   coordinates of the intersections are approx-
  538. 2
  539.   imately 4.504, 7.735, 10.893
  540. 3
  541. solve(Tan(x)=x, x=4.505)
  542. 1
  543. Ans4_1 = x
  544. 1
  545. solve(tan(x)=x, x=7.735)
  546. 1
  547. Ans4_2 = x
  548. 1
  549. solve(tan(x)=x, x=10.893)
  550. 1
  551. Ans4_3 = x
  552. 1
  553.  
  554. 1
  555.  
  556. 1
  557. // This is CC's Scratchpad, where you can write programs using CC's features.
  558. 1
  559.  
  560. 1
  561. // One warning.  If you push <Enter> while in the Scratchpad, you will split
  562. 1
  563. // the line you are on at the cursor and push the lines below the cursor down
  564. 1
  565. // one line.  To avoid rearranging the lines in the Scratchpad, use the up-
  566. 1
  567. // and down-arrow keys to move the cursor around the Scratchpad.
  568. 1
  569.  
  570. 1
  571. // Below is a sample program that uses the predictor-corrector method to
  572. 1
  573. // compute the solution to the differential equation:
  574. 1
  575.  
  576. 1
  577. //              y'(t) = sqrt(1-y(t)^2)
  578. 1
  579. //              y(0) = 0
  580. 1
  581.  
  582. 1
  583. // Of course, the exact solution is y(t) = sin(t).  To execute this program,
  584. 1
  585. // push function key F10 to return to the calculator window and follow the
  586. 1
  587. // instructions there.
  588. 1
  589.  
  590. 1
  591.  
  592. 1
  593. Function PC(x,n)
  594. 1
  595. // use n-step predictor corrector method to solve the initial value problem  
  596. 1
  597.   above and return the estimated value for y(x).
  598. 2
  599.   dt = x/n             // use n steps between 0 and x
  600. 1
  601.   t = 0                // starting value for t
  602. 1
  603.   y = 0                // initial value for y
  604. 1
  605.   f(y) = sqrt(1-y^2)   // f(y) is slope of y(t) 
  606. 1
  607.   for j = 1 to n do
  608. 1
  609.       slope1 = f(y)    
  610. 1
  611.       y1 = y + slope1*dt   // first estimate for next value of y
  612. 1
  613.       slope2 = f(y1)
  614. 1
  615.       avgslope = (slope1+slope2)/2
  616. 1
  617.       y = y+avgslope*dt    // corrected estimate for next value of y
  618. 1
  619.     end
  620. 1
  621.   return(y)
  622. 1
  623. end      
  624. 1
  625.