Help Topics A. Introduction to CC O. Graphing B. List of Features P. Graphing polar and parametric C. Keywords: Constants, Functions equations and Operators Q. 3D Graphing D. Keywords: Graphing, Logic, R. Creating tables of values Programming and Other S. Entering lists, sums and products E. Entering formulas I of values and formulas F. Entering formulas II T. Lists and vector operations G. Using real, complex, hexidecimal U. Lists and statistical operations and binary numbers V. Saving formulas, graphs H. Functions and operators and data I. Variables W. Loading formulas, graphs J. User-defined functions and data K. Differentiation X. Printing formulas, graphs L. Integration and data M. Solving equations Y. Subroutines N. Implicit functions Choose a topic by letter -- Push to return to CC Introduction to CC CC is a graphing, programmable scientific calculator. It runs on any IBM-compatible PC with CGA, Hercules, EGA or VGA graphics. To evaluate a formula, just type it and press ; the result will appear in the Last Result window at the bottom of the screen and as the value of the variable ANS (for answer). Here are some examples ( * means multiply, ^ means exponentiation): 3.4 - 8.2*7.3 4.6*sin(5.87) (3.2 - 4.8)/(5.6 + 7.2) 4.5^(-3.2) If a formula is longer than one screen line, just keep typing. DO NOT PRESS ; pressing terminates and executes a line. Corrections can be made to a formula while it is typed. Use the cursor keys to move the blinking cursor to any point on the line, erase with the or key and type new characters. Error messages can be cleared by pressing any key. Previously entered formulas can be used again, either with or without changes. To re-use a formula, move the blinking cursor to it with the cursor keys, make any changes you desire by adding and erasing characters, then press . Push for more help, to return to CC List of Features * Numeric types include real (decimal), complex, integral, hexidecimal and binary. * Mathematical operations include trigonometric, exponential and logarithmic functions. These are defined for real and complex arguments. Integral, hexidecimal and binary values are acted upon by both arithmetic and boolean operators. * Functions and variables may be defined using ordinary mathematical notation. * Functions of one variable can be graphed in a user-defined window. Polar functions can also be graphed, and curves defined by parametric equations can be sketched. * The graphs of functions of two variables can be sketched, as can surfaces defined by parametric equations. * Functions may be differentiated symbolically and integrated numerically. * Equations and systems of equations can be solved. * Functions can be defined implicitly. Implicit functions can be integrated, differentiated and graphed. * Lists can be defined and then combined with vector operations or acted on by statistical operators. Linear regression is supported. * Pascal-like subroutines can be defined. Standard programming structures and recursion are supported. * Data can be imported from and exported to disk files. * Formulas, functions, subroutines and graphs can be saved and reloaded. * All input and output, including graphs, can be printed. Push for more help, to return to CC Keywords: Constants, Functions and Operators Constants Trig Exponential Algebraic Operators List Functions Functions Functions Functions Œ (Alt-i) SIN EXP + DIF LIST ˆ (Alt-e) COS LN - DIFFG | PI TAN SINH * IN MAX UNDEFINED COT COSH / FIN MIN TRUE SEC TANH ^ INTEG LENGTH FALSE CSC ASINH DIV SUM AVERAGE ASIN ACOSH MOD PRODUCT STANDEV ACOS ATANH SQRT SOLVE REGR ATAN LNGAMMA ABS FSOLVE LISTGRAPH DEGREE ABS IMPLICIT HISTOGRAM ATAN2 INT TABLE FREQUENCIES RADIAN FRAC EVAL DEGREE RE IM BINOM ! Push for more help, to return to CC Keywords: Graphing, Logic, Programming and Other Graphing Colors Logic Programming Other GRAPH AXISON BLACK NOT PROCEDURE RANDOM QUICKG AXISOFF BLUE AND FUNCTION HEX SKETCH WINDOW GREEN OR RETURN BIN DOTGRAPH ERASE CYAN < IF INTEGER POLARG KEEPLINE RED > ELSE PAR PARAMG VARYLINE MAGENTA <= WHILE SHOW LINE CROSSX BROWN >= REPEAT HIDE RECT CROSSY LIGHTGRAY == UNTIL FORGET PLOT CURRENTCOLOR DARKGRAY <> FOR PRECISION MARK COLOR LIGHTBLUE ISALIST EXIT INTOL UNMARK LINESTYLE LIGHTGREEN END INDEPTH WRITE@ THICKLINE LIGHTCYAN INPUT SOLVETOL WRITE@C THINLINE LIGHTRED INPUTS TEXTCOLOR HORIZDIR BKCOLOR LIGHTMAGENTA WRITE VERTDIR MAXCOLOR YELLOW GRAPHICS FILL WINDOWLEFT WHITE TEXT GRAPH3D WINDOWRIGHT PAUSE PARAMG3D WINDOWTOP BEEP WINDOWBOTTOM Push for more help, to return to CC Entering formulas I To enter a formula into the Input Window, first the Input Window must be visible. If the Subroutine Window is visible, push F10 to switch to the Input Window. Formulas are typed using ordinary mathematical notation, except that the formula cannot use subscripts or superscripts. Exponentiation is denoted with a circumflex ^; multiplication by an asterisk * . Multiplication can also be denoted by a blank--3.4*1.2 = 3.4 1.2-- or just inferred from context-- (3.2-4.1)*8.3 = (3.2-4.1)8.3 . Parentheses can be used for grouping and to control the order of operations. Without them, exponentiation precedes multiplication and division, which precede addition and subtraction. Here are two examples: Math CC 1.4 3.2 + 4.8 3.2^1.4 + 4.8 4.6(3.8-2.1) ------------ 4.6*(3.8 - 2.1)/(6.4 - 3.3) (6.4 - 3.3) Push for more help, to return to CC Entering Formulas II Shorthand for commands: GR Graph SK Sketch PA ParamG PO PolarG GR3 Graph3d PA3 ParamG3d WI Window IMP implicit Alt-s Sum Alt-q Sqrt Alt-p pi Alt-2 ý alt-l <= alt-m >= Greek symbols for variable names: alt-a = à; alt-b = á; alt-d = ë; alt-g = â; alt-f = í; alt-t = é; alt-h = î; alt-o = ê In general, the seperators , (comma) ; (semi-colon) 'TO' 'STEP' '=' may be used interchangeably. They are allowed for expressiveness only; SUM(f(x); x = 0 to 1 step 0.1) means the same as SUM(f(x),x,0,1,.1). The one exception to this rule is in derivatives. Dif(f(x),x=n) means evaluate the first derivative of f(x) at x = n; Dif(f(x),x,n) means differentiate f(x) n times without specifying a value for x. See help screen on differentiation. Push for more help, to return to CC Using real, complex, hexidecimal and binary numbers Real (decimal) numbers are entered either in the usual way or in exponential notation. Blanks and parentheses are not permitted in numbers, including numbers in exponential notation. All the following numbers are equal: 3.4 3.400 0.34e1 .034E02 34E-1 340.0e-2 The value ã = 3.14159 is entered as PI or Alt-p ; e = 2.71828 is entered as Alt-e and denoted ˆ on the screen. Complex numbers are entered in the form a + bŒ , where a and b are real and Œ is entered with Alt-i. For example: 3.4 - 8.2Œ. Hexidecimal numbers up to 8 hex digits are preceded by a dollar sign $, for example: $10 $a1 $FFFFFFFF . Binary numbers up to 32 bits are preceded by a pound sign # : #10 #10101010110 . Hexidecimal, binary and integer values can be combined with arithmetic operators or boolean operators AND OR NOT . Arithmetic with hexidecimal and binary numbers, including combinations of these numbers with integers, is performed modulo 2^32. However, division of hex and binary numbers is treated as real division; to perform integer division use DIV and MOD . Push for more help, to return to CC Functions and operators Infix Operators: + - * / ^ DIV MOD AND OR DIV and MOD are integer quotient and remainder AND and OR apply to hex and binary values Arithmetic Functions: SQRT ABS INT FRAC RE IM BINOM ! ý ABS(x)=³x³; INT and FRAC = integer and fraction part of real or complex number; RE and IM are real and imaginary parts of complex numbers; BINOM is binomial coefficient; n! = 1*2*3*...*n (n factorial)--n must be an integer >= 0; ý is entered as Alt-2--xý = x*x is faster than x^2. Trigonometric Functions: SIN COS TAN COT SEC CSC ASIN ACOS ATAN ATAN2 ATAN2(x,y) is the polar angle of the vector (x,y). Exponential and Logarithmic Functions: LN EXP LNGAMMA Hyperbolic Functions: SINH COSH TANH ASINH ACOSH ATANH Transfer Functions: INTEGER HEX BIN These change the way a number is represented Push for more help, to return to CC Variables The results of CC's calculations can be saved in variables. Variable names can contain up to twelve characters and must begin with a letter. To assign a result to a variable, enter a line like: x = 4*sin(pi/3) y1 = 3*ln(4.2) b = x/5 Once defined, variables can be used like numbers in formulas. Whenever you execute a formula containing a variable, the formula uses the current value of the variable, not the value held by the variable when the formula was originally entered. This rule applies particularly to the case where a formula is entered with a variable, the value of the variable is changed, and then cursor is moved back to the original formula which is executed again. Expressions with undefined variables are allowed. CC will evaluate them as far as possible and return a symbolic result. If the undefined variable is later defined, the expression using the variable can be evaluated again, and the value will be substituted for the variable. Push for more help, to return to CC User-defined functions You can define your own functions much as you would in ordinary mathematics. Function names can be up to 12 characters long and must begin with a letter. Functions can use one or more variables. Here are some examples: f(x) = sin(3*x) g(x,y) = x*ˆ^y Once defined, functions can be evaluated, differentiated, integrated and graphed just like any other expressions. Functions can also be used as a component of other expressions: Compute a value: f(3)*7 Define a function: h(t) = g(3,t)/4 Define a variable: k = g(sin(3),cos(4)) Push for more help, to return to CC Differentiation Any expression using variables can be differentiated with respect to any variable. CC differentiates expressions symbolically. You may also specify a value to be substituted for the variable of differentiation and the order of the derivative. The general format for the derivative is: Dif(f(x),x=a,n) If the value a is not specified, then x in the derivative will be given whatever value it has previously been assigned. If x is undefined, then the formal derivative of f(x) with respect to x is returned. If you do not specify the order n of differentiation, then the function will be differentiated once. Here are some examples, with their output: dif(x^3, x=4) 48 dif(x^3, x=4, 2) 24 dif(x^3,x) 3x^2 dif(x^3,x,2) 6x f(x,y) = x*sin(y) function definition dif(f(x,y),x) sin(y) dif(f(x,y),y,2) -x sin(y) The operator DiffG(f(x),x=a) graphs f(x), graphs the tangent line at x=a, and returns the first derivative of f(x) at x=a. Push for more help, to return to CC Integration You can integrate any expression between any two finite limits. CC computes integrals numerically, so the expression to be evaluated and the limits must be completely defined. If the integrand has a singularity (like 1/x from 0 to 1), then the best possible value will be calculated for the integral and an error warning will be displayed on the screen. Results so flagged should be used with caution. Here are some sample integrals with their values: In(x^2, x = 0 to 1) 0.5 In(sin(x), x = 0 to pi) 2 Functions can be defined with integrals, and expressions with integrals can be differentiated. f(x,y) = In(sin(x*t), t = 0 to y) function definition Dif(f(x,y),x) In(t*sin(x*t), t=0 to y) Dif(f(x,y),y) sin(x*y) Dif(f(pi/2,y), y=1) 1 The operator InteG(f(x),x=a,b) causes the graph of f(x) to be drawn in the current window, fills in the area between the curve f(x) and the x-axis in the region a ó x ó b, and returns the value of the integral. Push for more help, to return to CC Solving equations To solve an equation, you must specify not only the equation to be solved, but also the variable to be solved for and a first guess for the solution. The result is returned in the variable solved for. Here are some examples: Solve(x^2 = 2, x=1) returns x = 1.414... Solve(cos(x)=x, x=0) returns x = 0.739085 Equations are solved numerically, so equations with symbolic solutions cannot be solved. Systems of equations can be solved as easily as single equations. Just specify the variables to solve for and initial guesses for each one. Solve(x*y = 6, x+y = 6, x = 3, y = 2) returns x = 4.732051, y = 1.267949 A system of equations must have as many variables as equations. In general, if the equation(s) have more than one solution, then the solution nearest the initial guess will be returned. See Implicit Functions for information on defining functions using the solutions to equations. Push for more help, to return to CC Implicit functions Implicit functions of one or more variables can be defined. The number of equations must equal the number of variables to be solved for. Here are some examples: f(x) = Implicit(t^2 = x, t = 1) this is a fancy version of f(x) = sqrt(x) f(x) = Implicit(a+b = x, a*b = x^2, a = 0, b = 1) f(x,y) = Implicit(a*b^2 = x, a+2*b = y+1, a = 1, b = 1) The last two functions return a pair of values for each input. The values are returned in a list (see Help for Lists). Push for more help, to return to CC Graphing Any expression with one undefined variable can be graphed. First the region to contain the graph must be specified with the Window command: Window(xmin, xmax, ymin, ymax) where the horizontal axis will include (xmin,xmax) and the vertical axis the interval (ymin, ymax). Then the function can be graphed with the command: graph(f(x),x) You must specify the variable to graph with respect to. Here are some sample graphing commands: graph(sin(t),t) graph(cos(x)*sin(x),x) Multiple graphs can be superimposed on the same screen. The crosshairs can be moved with the cursor keys to any point on the graph, and the coordinates of the point can be seen in the lower-right corner of the screen. The graphics screen can be erased with the command Erase . To draw graphs more quickly but less accurately, use the command Sketch instead of Graph. Anytime you are viewing a text screen, you can recall the last graph by pressing F9. Push for more help, to return to CC Graphing Polar and Parametric equations The polar function r = f(é) can be graphed over the region 0 < é < 2ã (the symbol é is entered with alt-t) with the command: PolarG(f(é), é = 0 to 2*pi) For example: PolarG(sin(6*é), é = 0 to 2*pi) To graph a parametric equation, you must specify both components and the range of the parameter to use, for example: Paramg(t^2, t^3, t = -1 to 1) graphs a cusp Paramg(3*cos(t), 2*sin(t), t = 0 to 2*pi) graphs an ellipse Before drawing a polar or parametric graph, a window (See Graphing) of the appropriate size must be created. Polar and parametric graphs are drawn with 200 points. To use a different number of points, add the number desired after range of the parameter. To use only 100 points, for example, enter: PolarG(sin(6*é), é = 0 to 2*pi, 100) Push for more help, to return to CC 3D Graphing To display the graph of the expression f(x,y), enter the command: Graph3d(f(x,y), x=a to b; y=c to d; e to f; n) where (a,b) is the domain of x, (c,d) is the domain of y, and only values of f(x,y) in the range (e,f) will be graphed. The number of values of x and y which are used is n. The smallest useful value of n is 10, and the largest permitted is 30. For example: Graph3d(x^2 - y^2, x=-1 to 1, y=-1 to 1, -1 to 1, 15. To graph a parametric surface, you must specify the three parametric equations, the limits of the two parameters, the limits on each of the three axes for graphing, and the number of values of each parameter to use. For example, to graph a sphere: Paramg3d(sin(s)*cos(t), sin(s)*sin(t), cos(s); s=0 to pi, t=0 to 2*pi; -1,1;-1,1;-1,1;15) Semicolons and commas are the same to CC; they are used above for clarity. The Window command has no effect on 3d graphing, and 3d graphs may not be superimposed. Push for more help, to return to CC Creating tables of values To make a table of up to 22 values for one or two expressions, use the command TABLE and specify the function(s) to be tabulated, the first and last values for the variable, and the amount to increment the variable. For example: Table(e^x, x=0 to 1 step 0.1) Table(x, sin(x), x = 0 to pi/2 step pi/40) Push for more help, to return to CC Entering lists, sums and products of values and formulas The value of a variable can be a number or expression with undefined variables, or it can be a list of such values. To create a list, either specify the entries between square brackets or use the LIST command: x = (0,1,4,9,16) These are the same x = List(x^2,x=0 to 4 step 1) lists Lists can be combined with the concatenation operator |, an existing entry in a list can be extracted as x[3], for example, or a sublist x[3:5] can be extracted from a list. The first entry in a list has index 1. An existing entry in a list can be changed by entering, for example, x[3] = 5, but a new entry cannot be created this way. If you want to put 5 at the end of an existing list x , use: x = x|5 . Similar to LIST are the commands for summing and multiplying a sequence of values. To add or multiply the odd numbers from 1 to 15, enter: Sum(x, x=1 to 15 step 2) Product(x, x=1 to 15 step 2) 2 n To define the function f(x,n) = x+2x +...+nx enter: f(x,n) = Sum(i*x^i, x=1 to n step 1) Push for more help, to return to CC Lists and vector operations Lists can be added or multiplied term by term or multiplied by a scalar. Any built-in function applied to a list will be applied to each element in the list. For example: 3*(1,2,3) = (3,6,9) (1,2,3)+(4,5,6) = (5,7,9) (1,2,3)*(4,5,6) = (4,10,18) sin((0,pi/2,pi)) = (0,1,0) If x is a list, then Sum(x) is the sum of the elements of x, and product(x) is their product. User-defined functions can have list arguments. For example, Norm(x) = sqrt(sum(x^2)) returns the norm of any list considered as a vector. Here, x^2 is a list of the elements of x all squared, sum(x^2) is the sum of the squares of the elements of x, and sqrt(sum(x^2)) is the square root of the sum of the squares, which is the norm of x. Push for more help, to return to CC Lists and statistical operations If x is a list, then AVERAGE(x) is the average of the entries of x, and StanDev(x) is their (sample) standard deviation. Sum(x) is the sum of the elements of x, and Product(x) is their product. Length(x) is the number of elements in x. If x and y are both lists of the same length, then r = Regr(x,y) returns a list of three terms: r[1] is the slope of the regression line through the points (x[i],y[i]), r[2] is the y-intercept of the same line, and r[3] is the coefficient of regression for the data. The points (x[i],y[i]) can also be graphed, provided they are in the current window, with the command mark(x,y). They can be connected with line segments by entering the command ListG(x,y). To graph the points (x[i],y[i]) and the regression line through them, enter the commands: r = regr(x,y) find regression coefficients mark(x,y) graph the points Graph(r[1]*t+r[2],t) graph the regression line For information about reading data from external files, see Help on Loading formulas, graphs and data. Push for more help, to return to CC Saving formulas, graphs and data To save your current formulas, variable and function definitions and subroutines on disk for later use, push the function key F7 and enter the name of the file for saving. To save a graph on disk for later loading, push function key F7 while the graph is displayed and enter the name of the file for saving. To save the value of a single variable on disk, push function key F2 and select option 8. This process is most useful for saving the contents of a list variable. An ASCII file containing the value(s) of the variable will be created, with one value on each line.. This file can be read back into CC (see Help on Loading formulas, graphs and data), printed, or used as input to another program. To make an ASCII file containing a list of all the entries in the Input Window, all the subroutines in the Subroutine Window, and the values of all the variables, press F2 and select option 7. Push for more help, to return to CC Loading formulas, graphs and data To load a suite of formulas, definitions and subroutines saved previously with function key F7 (see Help on Saving formulas, graphs and data), press function key F8, select option (C)alculator entries and specify the file name to recall. Everything saved will be appended to the end of the current contents of the Input and Subroutine Windows. To load a graph previously saved to disk (see Help on Saving formulas, graphs and data), press function key F8, select option (G)raph and specify the file name to recall. The graph will be displayed and will become your "Last Graph". To load data into a variable, you must have a file containing the data to be loaded represented as decimal numbers in ASCII strings, one per line. The file created by F2, option 8 (see Help on Saving formulas, graphs and data) is in this format and may be read into a variable, or you can create your own data file to read into a variable. Press function key F8 and select option one (V)ariable, then specify the variable to be filled and the file to load from. The data will be loaded into the variable, which will be a list variable whose elements are the data loaded. Push for more help, to return to CC Printing formulas, graphs and data To make a running record of all the entries into CC and all the results, press function key F2 and select option 1. To stop making this record, press F2 and select option 2. Instead of making a running record, it is possible to print the current contents of the Input Window, all the Subroutines, and all the variables and their values. You can do any one of these operations or all of them by pressing F2 and selecting one of the options 3..6. To print a graph on your printer, press F2 while the graph is visible and select option (P)rint graph. To save a graph on disk in a file containing all of the codes necessary to print the graph, press F2 while the graph is visible and select option save on (D)isk. You will be asked for the type of printer to be used (IBM, Epson or HP compatible), and a graphics file will be created that can be printed by copying it to the printer of appropriate type. The first time the printer is used, the printer type must be specified. CC knows four printer types: Epson, IBM, Hewlett-Packard LaserJet and neither (generic DOS text printer). Once the printer type is specified, it can be changed by pressing F2 and selecting option 9. Graphs cannot be printed to a generic printer. Push for more help, to return to CC Subroutines Subroutines are entered into the Subroutine Window, which is reached by pressing F10. Pressing F10 again returns to the Input Window. Subroutines are of two types, Procedures and Functions. Each is a list of variable and function definitions similar to those in the input window together with control structures that can only be used in subroutines. Functions differ from subroutines only in that functions can include the command Return(..), which causes the subroutine function to return a value. Subroutine headers can include parameters that are determined when the subroutine is called. The parameters can be variables which receive ordinary or list values, or they can be function parameters that allow function definitions to be passed to a subroutine. Subroutines are called from the Input Window or from other subroutines. They can call themselves recursively either directly or indirectly. Infinite recursion results in a stack overflow that is trapped and generates an error message. Subroutine writing is too complex to deal with in these short screens. See the manual for details. Push for more help, to return to CC