Sie sind auf Seite 1von 48

# Chapter

Programming
20-1
20-2
20-3
20-4
20-5
20-6
20-7
20-8
20-9
20-10
20-11
20-12
20-13

Before Programming
Programming Examples
Debugging a Program
Calculating the Number of Bytes Used by a Program
Secret Function
Searching for a File
Searching for Data Inside a Program
Editing File Names and Program Contents
Deleting a Program
Useful Program Commands
Command Reference
Text Display
Using Calculator Functions in Programs

20

20-1

Before Programming
The programming function helps to make complex, often-repeated calculations
quick and easy. Commands and calculations are executed sequentially, just like
the manual calculation multistatements. Multiple programs can be stored under file
names for easy recall and editing.
File Name

File Name

Program

File Name

Program

Program

Select the PRGM icon in the Main Menu and enter the PRGM Mode. When you
do, a program list appears on the display.
Selected memory area
(use f and c to move)

## {EXE}/{EDIT} ... program {execute}/{edit}

{NEW} ... {new program}
P.368

P.362

## {SRC}/{REN} ... file name {search}/{change}

CFX

* See the separate Software Library Manual for details (except fx9750G PLUS, CFX-9850G PLUS).
* The following models do not support the LOAD command: fx-9750G
PLUS, CFX-9850G PLUS.
If there are not programs stored in memory when you enter the PRGM Mode,
the message No Programs appears on the display and only the NEW item
(3) is shown in the function menu.
The values to the right of the program list indicate the number of bytes used up
by each program.

352

20-2

Programming Examples
Example 1

## To calculate the surface area and volume of three regular

octahedrons of the dimensions shown in the table below
Store the calculation formula under the file name OCTA.
Length of One Side (A)

## Surface Area (S)

Volume (V)

7 cm

cm2

cm3

10 cm

cm2

cm3

15 cm

cm2

cm3

The following are the formulas used for calculating surface area S and volume V
of a regular octahedron for which the length of one side is known.
2
S = 2 3 A2, V = A3
3
When inputting a new formula, you first register the file name and then input the
actual program.

Example

## Note that a file name can be up to eight characters long.

1. Display the program list menu and press 3 (NEW) to display a menu, which
contains the following items.
{RUN}/{BASE} ... {general calculation}/{number base} program input
P.360

{Q
2. Input the name of the file.
OCTA
The cursor changes form to indicate alpha character input.
The following are the characters you can use in a file name:
A through Z, r, , spaces, [, ], {, }, , , ~, 0 through 9, ., +, , ,
Note, however, that v and . cannot be input for the name of a program
that contains binary, octal, decimal, or hexadecimal calculations.

353

20 - 2

Programming Examples
Use 1 (RUN) to input a program for general calculations (a program to be
executed in the COMP Mode). For programs that involve number system
specifications, use 2 (BASE). Note that programs input after pressing 2
(BASE) are indicated by B to the right of the file name.
Pressing 6 (SYBL) displays a menu of symbols ( , , ~ ) that can be input.
You can delete a character while inputting a file name by moving the cursor to
the character you want to delete and pressing D.
3. Press w to register the file name and change to the program input screen.

File name

## Registering a file name uses 17 bytes of memory.

The file name input screen remains on the display if you press w without
inputting a file name.
To exit the file name input screen and return to the program list without
registering a file name, press J.
When you register the name of a program that contains binary, octal, decimal,
or hexadecimal calculations, the indicator B is appended to the right of the file
name.

## uTo input a program

The following items are included in the function menu of the program input screen,
which is used for program input.
P.365

P.364

## uTo change modes in a program

Pressing 4 (MENU) while the program input screen is on the display causes
a mode change menu to appear. You can use this menu to input mode
{STAT}/{MAT}/{LIST}/{GRPH}/{DYNA}/{TABL}/{RECR}
P.3

For details on each of these modes, see To select an icon, as well as the
sections of this manual that describe what you can do in each mode.
The following menu appears whenever you press 4 (MENU) while inputting a
program that involves number base specifications.
{d ~ o}/{LOG}

354

Programming Examples

20- 2

## Pressing 6 (SYBL) displays a menu of symbols ( , , ~, *, /, # ) that can be

input into a program.
Pressing ! Z displays a menu of commands that can be used to change
set up screen settings inside a program.
{ANGL}/{COOR}/{GRID}/{AXES}/{LABL}/{DISP}/{P/L }/{DRAW}/{DERV}/
{BACK}/{FUNC}/{SIML}/{S-WIN}/{LIST}/{LOCS }/{T-VAR}/{DSP}/{RESID}
P.5

For details on each of these commands, see Set Up Screen Function Key
The following function key menu appears if you press !Z while inputting a
program that contains binary, octal, decimal, or hexadecimal calculation.
{Dec}/{Hex}/{Bin}/{Oct}
Actual program contents are identical to manual calculations. The following shows
how the calculation of the surface area and volume of a regular octahedron would
be calculated using a manual calculation.
Surface Area S .. c*!9d* <value of A> xw
Volume V ........... !9c/d* <value of A> Mdw
You could also perform this calculation by assigning the value for the length of one
side to variable A.
Length of One Side A
............ <value of A> aaAw
Surface Area S .. c*!9d*aAxw
Volume V ........... !9c/d*aAMdw
If you simply input the manual calculations shown above however, the calculator
would execute them from beginning to end, without stopping. The following
commands make it possible to interrupt a calculation for input of values and
display of intermediate results.
? : This command pauses program execution and displays a question mark as a
prompt for input of a value to assign to a variable. The syntax for this command is: ? <variable name>.
^ : This command pauses program execution and displays the last calculation
result obtained or text. It is similar to pressing w in a manual calculation.

P.369

For full details on using these and other commands, see Useful Program
Commands.

355

20- 2

Programming Examples
The following shows examples of how to actually use the ? and ^ commands.
!W4(?)aaA6(g)5(:)
c*!9d*aAx
6(g)5(^)
!9c/d*aAMd

!Q or JJ

## uTo run a program

1. While the program list is on the display, use f and c to highlight the name
of the program you want to run.
2. Press 1 (EXE) or w to run the program.
Lets try running the program we input above.

## Surface Area (S)

Volume (V)

7 cm

169.7409791 cm2

161.6917506 cm3

10 cm

346.4101615 cm2

471.4045208 cm3

15 cm

779.4228634 cm2

1590.990258 cm3

1 (EXE) or w
hw
(Value of A)
Intermediate result produced by ^

ww

baw

356

Programming Examples

20- 2

Pressing w while the programs final result is on the display re-executes the
program.
P.378

You can also run a program while in the RUN Mode by inputting:
Prog <file name> w.
An error occurs if the program specified by Prog <file name> cannot be
found.

357

20-3

Debugging a Program
A problem in a program that keeps the program from running correctly is called a
bug, and the process of eliminating such problems is called debugging. Either
of the following symptoms indicates that your program contains bugs and that
debugging is required.
Error messages appearing when the program is run
Results that are not within your expectations

## uTo eliminate bugs that cause error messages

An error message, like the one shown below, appears whenever something illegal
occurs during program execution.

P.436
P.360

When such a message appears, press d or e to display the location where the
error was generated, along with the cursor. Check the Error Message Table for
steps you should take to correct the situation.
Note that pressing d or e will not display the location of the error if the

## uTo eliminate bugs that cause bad results

P.365

358

If your program produces results that are not what you normally expect, check the
contents of the program and make necessary changes. See Editing File Names
and Program Contents for details on how to change program contents.

20-4

## Calculating the Number of Bytes Used by a

Program
There are two types of commands: 1-byte* commands and 2-byte* commands.
* A byte is a unit of memory that can be used for storage of data.
Examples of 1-byte commands: sin, cos, tan, log, (, ), A, B, C, 1, 2, etc.
Examples of 2-byte commands: Lbl 1, Goto 2, etc.
While the cursor is located inside of a program, each press of d or e causes
the cursor to move one byte.

P.24

You can check how much memory has been used and how much remains at
any time by selecting the MEM icon in the Main Menu and entering the MEM
Mode. See Memory Status (MEM) for details.

359

20-5

Secret Function
programs can be executed by anyone without inputting the password.

Example

## To create a program file under the name AREA and protect it

1. While the program list is on the display, press 3 (NEW) and input the file
name of the new program file.
3(NEW)
AREA
2. Press 5 (Q) and then input the password.
5(Q)
CASIO
P.353

The password input procedure is identical to that used for file name input.
3. Press w to register the file name and password. Now you can input the
contents of the program file.
Registration of a password uses 16 bytes of memory.
Pressing w without inputting a password registers the file name only, without
4. After inputting the program, press ! Q to exit the program file and return
to the program list. Files that are password protected are indicated by an
asterisk to the right of the file name.

Example

## To recall the file named AREA which is protected by the

1. In the program list, use f and c to move the highlighting to the name of the
program you want to recall.

360

Secret Function

20- 5

2. Press 2 (EDIT).

## 3. Input the password and press w to recall the program.

The message Mismatch appears if you input the wrong password.

361

20-6

## Searching for a File

There are three different methods for searching for a specific file name.

Example

## 1. While the program list is on the display, use

f and c to scroll through the list of
program names until you find the one you
want.

1 2 3 4 5 6
2. When the highlighting is located at the name
of the file you want, press 2 (EDIT) to
recall it.

Example

## To use file name search to recall the program named OCTA

1. While the program list is on the display, press 3 (NEW) and input the name of
the file you want to find.
P.360

If the file you are looking for is password protected, you should also input the
3(NEW)
OCTA
2. Press w to recall the program.
If there is no program whose file name matches the one you input, a new file is
created using the input name.

Example

## To use initial character search to recall the program named

OCTA

1. While the program list is on the display, press 6 (g) 1 (SRC) and input the
initial characters of the file you want to find.
6(g)1(SRC)
OCT
362

## Searching for a File

20- 6

2. Press w to search.

All files whose file names start with the characters you input are recalled.
If there is no program whose file name starts with the characters you input, the
message Not Found appears on the display. If this happens, press J to
clear the error message.
3. Use f and c to highlight the file name of the program you want to recall
and then press 2 (EDIT) to recall it.

363

20-7

Example

## 1. Recall the program.

2. Press 3 (SRC) and input the data you want to search for.

3(SRC)
aA

You cannot specify the newline symbol (_) or display command (^) for the
search data.
3. Press w to begin the search. The contents of the program appear on the
screen with the cursor located at the first instance of the data you specified.

## 4. Press w to find the next instance of the data.

If there is no match inside the program for the data you specified, the contents
of the program appear with the cursor located at the point from which you
Once the contents of the program are on the screen, you can use the cursor
keys to move the cursor to another location before searching for the next
instance of the data. Only the part of the program starting from the current
cursor location is searched when you press w.
Once the search finds an instance of your data, inputting characters or moving
the cursor causes the search operation to be cancelled (clearing the Search
indicator from the display).
If you make a mistake while inputting characters to search for, press A to
clear your input and re-input from the beginning.

364

20-8

## Editing File Names and Program Contents

uTo edit a file name
Example

## To change the name of a file from TRIANGLE to ANGLE

1. While the program list is on the display, use f and c to move the highlighting to the file whose name you want to edit and then press 6 (g) 2 (REN).

## 2. Make any changes you want.

DDD
3. Press w to register the new name and return to the program list.
If the modifications you make result in a file name that is identical to the name
appears. When this happens, you can perform either of the following two
operations to correct the situation.
Press e or d to clear the error and return to the file name input screen.
Press A to clear the new file name and input a new one.

## uTo edit program contents

1. Find the file name of the program you want in the program list.
2. Recall the program.
P.20

The procedures you use for editing program contents are identical to those
used for editing manual calculations. For details, see Editing Calculations.
The following function keys are also useful when editing program contents.
1 (TOP) ....... Moves the cursor to the top
of the program
2 (BTM) ....... Moves the cursor to the
bottom of the program

P.353

Example 2

## To use the OCTA program to create a program that calculates

the surface area and volume of regular tetrahedrons when the
length of one side is known

365

20 - 8

## Editing File Names and Program Contents

Use TETRA as the file name.
Length of One Side (A)

## Surface Area (S)

Volume (V)

7 cm

cm2

cm3

10 cm

cm2

cm3

15 cm

cm2

cm3

The following are the formulas used for calculating surface area S and volume V
of a regular tetrahedron for which the length of one side is known.
2
S = 3 A2, V = A3
12
Use the following key operations when inputting the program.
Length of One Side A .. !W4(?)aaA6(g)5(:)
Surface Area S ............ !9d*aAx6(g)5(^)
Volume V ..................... !9c/bc*aAMd
Compare this with the program for calculating the surface area and volume of a
regular octahedron.
Length of One Side A .. !W4(?)aaA6(g)5(:)
Surface Area S ............ c*!9d*aAx6(g)5(^)
Volume V ..................... !9c/d*aAMd
As you can see, you can produce the TETRA program by making the following
changes in the OCTA program.
Deleting c * (underlined using a wavy line above)
Changing d to b c (underlined using a solid line above)
Lets edit OCTA to produce the TETRA program.
1. Edit the program name.
6(g)2(REN)TETRA

w
2. Edit the program contents.
2(EDIT)

eeeeDD

366

## Editing File Names and Program Contents

20- 8

cd![bc

!Q
Lets try running the program.

## Surface Area (S)

Volume (V)

7 cm

84.87048957 cm2

40.42293766 cm3

10 cm

173.2050808 cm2

117.8511302 cm3

15 cm

389.7114317 cm2

397.7475644 cm3

1 (EXE) or w

hw
(Value of A)

ww

baw

367

20-9

Deleting a Program
There are two methods for deletion of a file name and its program.

## uTo delete a specific program

1. While the program list is on the display, use f and c to move the highlighting to the name of the program you want to delete.
2. Press 4 (DEL).
3. Press 1 (YES) to delete the selected program or 6 (NO) to abort the
operation without deleting anything.

## uTo delete all programs

1. While the program list is on the display, press 5 (DELA).
2. Press 1 (YES) to delete all the programs in the list or 6 (NO) to abort the
operation without deleting anything.
P.26

368

You can also delete all programs using the MEM Mode. See Clearing Memory
Contents for details.

20-10

## Useful Program Commands

In addition to calculation commands, this calculator also includes a variety of
relational and jump commands that can be used to create programs that make
repeat calculations quick and easy.

Press ! W to display the program menu.
{COM}/{CTL}/{JUMP}/{CLR}/{DISP}/{REL}/{I/O}
{?} ... {input command}
{^} ... {output command}
{ : } ... {multi-statement command}

## k COM (program command menu)

items.
{If}/{Then}/{Else}/{I-End}/{For}/{To}/{Step}/{Next}/{Whle}/{WEnd}/{Do}/{Lp-W}
... {If}/{Then}/{Else}/{IfEnd}/{For}/{To}/{Step}/{Next}/{While}/{WhileEnd}/{Do}/
{LpWhile} command

## k CTL (program control command menu)

items.
{Prog}/{Rtrn}/{Brk}/{Stop} ... {Prog}/{Return}/{Break}/{Stop} command

## k JUMP (jump command menu)

items.
{Lbl}/{Goto} ... {Lbl}/{Goto} command
{} ... {jump command}
{Isz}/{Dsz} ... {jump and increment}/{jump and decrement}

## k CLR (clear command menu)

items.
{Text}/{Grph}/{List} ... clears {text}/{graph}/{list}

369

20- 10

items.

## u {Stat}/{Grph}/{Dyna} ... {statistical graph}/{graph}/{Dynamic Graph} draw

u {F-Tbl} ... {Table & Graph command menu}
The following are the items that appear in the above menu.
{Tabl}/{G-Con}/{G-Plt} ... {DispF-Tbl}/{DrawFTG-Con}/{DrawFTG-Plt}
command

## u {R-Tbl} ... {recursion calculation and recursion fomula}

The following are the items that appear in the above menu.
{Tabl}/{Web}/{an-Cn}/{a-Cn}/{an-Pl}/{a-Pl} ... {DispR-Tbl}/{DrawWeb}/
{DrawR-Con}/{DrawR-Con}/{DrawR-Plt}/{DrawR-Plt} command

## k REL (conditional jump relational operator commands)

items.
{=}/{G
G}/{>}/{<}/{ }/{ } ... {=}/{G}/{>}/{<}/{}/{} relational operators

## k I/O (input/output commands)

Selecting {I/O} from the program menu displays the following function menu items.
The appearance of the function menu differs slightly for a program that
contains binary, octal, decimal, or hexadecimal calculation, but the functions in

370

## 20-11 Command Reference

k Command Index
Break ..................................................................................... 378
ClrGraph ................................................................................ 382
ClrList .................................................................................... 382
ClrText ................................................................................... 382
DispF-Tbl, DispR-Tbl ............................................................. 383
Do~LpWhile ........................................................................... 377
DrawDyna ............................................................................. 383
DrawFTG-Con, DrawFTG-Plt ................................................ 383
DrawGraph ............................................................................ 383
DrawR-Con, DrawR-Plt ......................................................... 384
DrawR-Con, DrawR-Plt ..................................................... 384
DrawStat ............................................................................... 384
DrawWeb ............................................................................... 384
Dsz ........................................................................................ 380
For~To~Next ......................................................................... 375
For~To~Step~Next ................................................................ 376
Getkey ................................................................................... 385
Goto~Lbl ................................................................................ 380
If~Then .................................................................................. 373
If~Then~Else ......................................................................... 374
If~Then~Else~IfEnd .............................................................. 375
If~Then~IfEnd ....................................................................... 374
Isz .......................................................................................... 381
Locate ................................................................................... 385
Prog ....................................................................................... 378
Return ................................................................................... 379
Send ( .................................................................................... 387
Stop ....................................................................................... 379
While~WhileEnd .................................................................... 377
? (Input Command) ............................................................... 372
^ (Output Command) ........................................................... 372
: (Multi-statement Command) ................................................ 373
_ (Carriage Return) ............................................................. 373
(Jump Code) ..................................................................... 381
=, G, >, <, , (Relational Operators) ................................... 387

371

20- 11

Command Reference
The following are conventions that are used in this section when describing the
various commands.
Boldface Text ............. Actual commands and other items that always must be
input are shown in boldface.
{Curly Brackets} ......... Curly brackets are used to enclose a number of items,
one of which must be selected when using a command.
Do not input the curly brackets when inputting a command.
[Square Brackets] ...... Square brackets are used to enclose items that are
optional. Do not input the square brackets when inputting
a command.
Numeric Expressions . Numeric expressions (such as 10, 10 + 20, A) indicate
constants, calculations, numeric constants, etc.
Alpha Characters ....... Alpha characters indicate literal strings (such as AB).

## k Basic Operation Commands

? (Input Command)
Function: Prompts for input of values for assignment to variables during program
execution.
Syntax: ? <variable name>
Example: ? A _
Description:
1. This command momentarily interrupts program execution and prompts for input
of a value or expression for assignment to a variable. When the input command is executed, ? to appears on the display and the calculator stands by
for input.
2. Input in response to the input command must be a value or an expression, and
the expression cannot be a multi-statement.

^ (Output Command)
Function: Displays and intermediate result during program execution.
Description:
1. This command momentarily interrupts program execution and displays alpha
character text or the result of the calculation immediately before it.
2. The output command should be used at locations where you would normally
press the w key during a manual calculation.

372

Command Reference

20- 11

: (Multi-statement Command)
Function: Connects two statements for sequential execution without stopping.
Description:
1. Unlike the output command (^), statements connected with the multistatement command are executed non-stop.
2. The multi-statement command can be used to link two calculation expressions
or two commands.
3. You can also use a carriage return indicated by _ in place of the multistatement command.

_ (Carriage Return)
Function: Connects two statements for sequential execution without stopping.
Description:
1. Operation of the carriage return is identical to that of the multi-statement
command.
2. Using a carriage return in place of the multi-statement command makes the

## k Program Commands (COM)

If~Then
Function: The Then-statement is executed only when the If-condition is true (nonzero).
Syntax:
If

<condition>
numeric expression

_
:
^

Then <statement>

_
:
^

<statement>

## Parameters: condition, numeric expression

Description:
1. The Then-statement is executed only when the If-condition is true (non-zero).
2. If the condition is false (0), the Then-statement is not executed.
3. An If-condition must always be accompanied by a Then-statement. Omitting
the Then-statement results in an error.
Example: If A = 0 _
Then A = 0

373

20- 11

Command Reference

If~Then~IfEnd
Function: The Then-statement is executed only when the If-condition is true (nonzero). The IfEnd-statement is always executed: after the Then-statement is
executed or directly after the If-condition when the If-condition is false (0).
Syntax:
<condition>

If

numeric expression

_
:
^

Then <statement>
_
:
^

_
:
^

<statement>

IfEnd

## Parameters: condition, numeric expression

Description:
This command is almost identical to If~Then. The only difference is that the IfEndstatement is always executed, regardless of whether the If-condition is true (nonzero) or false (0).
Example: If A = 0 _
Then A = 0 _
IfEnd_
END

If~Then~Else
Function: The Then-statement is executed only when the If-condition is true (nonzero). The Else-statement is executed when the If-condition is false (0).
Syntax:
If

<condition>
numeric expression

_
:
^

_
:
^

Then <statement>

Else <statement>

_
:
^

_
:
^

<statement>

<statement>

## Parameters: condition, numeric expression

Description:
1. The Then-statement is executed when the If-conditions is true (non-zero).
2. The Else-statement is executed when the If-conditions is false (zero).
Example: If A = 0 _
Then TRUE _
Else FALSE

374

20- 11

Command Reference

If~Then~Else~IfEnd
Function: The Then-statement is executed only when the If-condition is true
(non-zero). The Else-statement is executed when the If-condition is false (0). The
IfEnd-statement is always executed following either the Then-statement or
Else-statement.
Syntax:
If

<condition>
numeric expression

_
:
^

_
:
^

Then <statement>

Else <statement>

_
:
^

_
:
^

<statement>

<statement>
_
:
^

IfEnd

## Parameters: condition, numeric expression

Description:
This command is almost identical to If~Then~Else. The only difference is that the
IfEnd-statement is always executed, regardless of whether the If-condition is true
(non-zero) or false (0).
Example: ? A _
If A = 0 _
Then TRUE_
Else FALSE_
IfEnd_
END

For~To~Next
Function: This command repeats everything between the For-statement and the
Next-statement. The starting value is assigned to the control variable with the first
execution, and the value of the control variable is incremented by one with each
execution. Execution continues until the value of the control variable exceeds the
ending value.
Syntax:
For <starting value> <control variable name> To <ending value>
<statement>

_
:
^

_
:
^

Next

375

20- 11

Command Reference
Parameters:
control variable name: A to Z
starting value: value or expression that produces a value (i.e. sin x, A, etc.)
ending value: value or expression that produces a value (i.e. sin x, A, etc.)
Description:
1. When the starting value of the control variable is greater than the ending value,
execution continues from the statement following Next, without executing the
statements between For and Next.
2. A For-statement must always have a corresponding Next-statement, and the
Next-statement must always come after its corresponding For-statement.
3. The Next-statement defines the end of the loop created by For~Next, and so it
must always be included. Failure to do so results in an error.
Example: For 1 A To 10_
A 3 B_
B^
Next

For~To~Step~Next
Function: This command repeats everything between the For-statement and the
Next-statement. The starting value is assigned to the control variable with the first
execution, and the value of the control variable is changed according to the step
value with each execution. Execution continues until the value of the control
variable exceeds the ending value.
Syntax:
For <starting value> <control variable name> To <ending value> Step <step value>

_
:
^

Next
Parameters:

## control variable name: A to Z

starting value: value or expression that produces a value (i.e. sin x, A, etc.)
ending value: value or expression that produces a value (i.e. sin x, A, etc.)
step value: numeric value (omitting this value sets the step to 1)

Description:
1. This command is basically identical to For~To~Next. The only difference is that
you can specify the step.
2. Omitting the step value automatically sets the step to 1.

376

Command Reference

20- 11

3. Making the starting value less than the ending value and specifying a positive
step value causes the control variable to be incremented with each execution.
Making the starting value greater than the ending value and specifying a
negative step value causes the control variable to be decremented with each
execution.
Example: For 1 A To 10 Step 0.1_
A3B_
B^
Next

Do~LpWhile
Function: This command repeats specific commands as long as its condition is
true (non-zero).
Syntax:
Do

_
:
^

~ LpWhile <expression>

Parameters: expression
Description:
1. This command repeats the commands contained in the loop as long as its
condition is true (non-zero). When the condition becomes false (0), execution
proceeds from the statement following the LpWhile-statement.
2. Since the condition comes after the LpWhile-statement, the condition is tested
(checked) after all of the commands inside the loop are executed.
Example: Do_
? A_
A 2 B_
B^
LpWhile B >10

While~WhileEnd
Function: This command repeats specific commands as long as its condition is
true (non-zero).
Syntax:
While <expression>

_
:
^

~ WhileEnd

Parameters: expression
Description:
1. This command repeats the commands contained in the loop as long as its
condition is true (non-zero). When the condition becomes false (0), execution
proceeds from the statement following the WhileEnd-statement.

377

20- 11

Command Reference
2. Since the condition comes after the While-statement, the condition is tested
(checked) before the commands inside the loop are executed.
Example: 10 A_
While A > 0_
A 1 A_
GOOD_
WhileEnd

## k Program Control Commands (CTL)

Break
Function: This command breaks execution of a loop and continues from the next
command following the loop.
Syntax: Break _
Description:
1. This command breaks execution of a loop and continues from the next
command following the loop.
2. This command can be used to break execution of a For-statement, Dostatement, and While-statement.
Example: While A>0_
If A > 2_
Then Break_
IfEnd_
WhileEnd_
A ^ Executed after Break

Prog
Function: This command specifies execution of another program as a subroutine.
In the RUN Mode, this command executes a new program.
Syntax: Prog file name _
Example: Prog ABC _
Description:
1. Even when this command is located inside of a loop, its execution immediately
breaks the loop and launches the subroutine.
2. This command can be used as many times as necessary inside of a main
routine to call up independent subroutines to perform specific tasks.
3. A subroutine can be used in multiple locations in the same main routine, or it
can be called up by any number of main routines.

378

Command Reference
Main Routine
A

20- 11

Subroutines
D

Prog D
Prog C

Prog E

Prog I

Prog J

Level 2

Level 3

Level 1

Level 4

## 4. Calling up a subroutine causes it to be executed from the beginning. After

execution of the subroutine is complete, execution returns to the main routine,
continuing from the statement following the Prog command.
5. A Goto~Lbl command inside of a subroutine is valid inside of that subroutine
only. It cannot be used to jump to a label outside of the subroutine.
6. If a subroutine with the file name specified by the Prog command does not
exist, an error occurs.
7. In the RUN Mode, inputting the Prog command and pressing w launches the
program specified by the command.

Return
Function: This command returns from a subroutine.
Syntax: Return _
Description:
Execution of the Return command inside a main routine causes execution of the
program to stop.
Example: Prog A
1 A_
Prog B_
C^

Prog B
For A B To 10_
B + 1 C_
Next_
Return

## Executing the program in File A displays the result of the operation

(11).

Stop
Function: This command terminates execution of a program.
Syntax: Stop _
Description:
1. This command terminates program execution.
2. Execution of this command inside of a loop terminates program execution
without an error being generated.

379

20- 11

Command Reference
Example: For 2 I To 10_
If I = 5_
Then STOP : Stop_
IfEnd_
Next
This program counts from 2 to 10. When the count reaches 5, however,
it terminates execution and displays the message STOP.

## k Jump Commands (JUMP)

Dsz
Function: This command is a count jump that decrements the value of a control
variable by 1, and then jumps if the current value of the variable is zero.
Syntax:
Variable Value G 0
Dsz <variable name> : <statement>
Variable Value = 0

_
:

<statement>

Parameters:
Variable Name: A to Z, r,
[Example] Dsz B : Decrements the value assigned to variable B by 1.
Description:
This command decrements the value of a control variable by 1, and then tests
(checks) it. If the current value is non-zero, execution continues with the next
statement. If the current value is zero, execution jumps to the statement following
the multi-statement command (:), display command (^), or carriage return (_).
Example: 10 A : 0 C :
Lbl 1 : ? B : B+C C :
Dsz A : Goto 1 : C 10
This program prompts for input of 10 values, and then calculates the
average of the input values.

Goto~Lbl
Syntax: Goto <value or variable> ~ Lbl <value or variable>
Parameters: Value (from 0 to 9), variable (A to Z, r, )
Description:
1. This command consists of two parts: Goto n (where n is a value from 0 to 9)
and Lbl n (where n is the value specified for Goto). This command causes
specified by the Goto-statement.

380

Command Reference

20- 11

## 2. This command can be used to loop back to the beginning of a program or to

3. This command can be used in combination with conditional jumps and count
jumps.
4. If there is no Lbl-statement whose value matches that specified by the Gotostatement, an error occurs.
Example: ? A : ? B : Lbl 1 :
?X:A X+B^
Goto 1
This program calculates y = AX + B for as many values for each
variable that you want to input. To quit execution of this program, press
A.

Isz
Function: This command is a count jump that increments the value of a control
variable by 1, and then jumps if the current value of the variable is zero.
Syntax:
Variable Value G 0
Isz <variable name> : <statement>

_
:

<statement>

Variable Value = 0
Parameters:
Variable Name: A to Z, r,

## [Example] Isz A : Increments the value assigned to variable A by 1.

Description:
This command increments the value of a control variable by 1, and then tests
(checks) it. If the current value is non-zero, execution continues with the next
statement. If the current value is zero, execution jumps to the statement following
the multi-statement command (:), display command (^), or carriage return (_).

(Jump Code)
Function: This code is used to set up conditions for a conditional jump. The jump
is executed whenever the conditions are false.
Syntax:
True
<left side> <relational operator> <right side> <statement>
False

_
:

<statement>

381

20- 11

Command Reference
Parameters:
left side/right side: variable (A to Z, r, ), numeric constant, variable expression
(such as: A 2)

P.387

## relational operator: =, G, >, <, ,

Description:
1. The conditional jump compares the contents of two variables or the results of
two expressions, and a decision is made whether or not to execute the jump
based on the results of the comparison.
2. If the comparison returns a true result, execution continues with the statement
following the command. If the comparison returns a false result, execution
jumps to the statements following the multi-statement command (:), display
command (^), or carriage return (_).
Example: Lbl 1 : ? A :
A>0
A^
Goto 1
With this program, inputting a value of zero or greater calculates and displays the
square root of the input value. Inputting a value less than zero returns to the input
prompt without calculating anything.

## k Clear Commands (CLR)

ClrGraph
Function: This command clears the graph screen.
Syntax: ClrGraph_
Description: This command clears the graph screen during program execution.

ClrList
Function: This command clears list data.
Syntax: ClrList_
Description: This command clears the contents of the currently selected list (List
1 to List 6) during program execution.

ClrText
Function: This command clears the text screen.
Syntax: ClrText_
Description: This command clears text from the screen during program execution.

382

Command Reference

20- 11

## k Display Commands (DISP)

DispF-Tbl, DispR-Tbl
Function: These commands display numeric tables.
Syntax:
DispF-Tbl_
DispR-Tbl_
Description:
1. These commands generate numeric tables during program execution in
accordance with conditions defined within the program.
2. DispF-Tbl generates a function table, while DispR-Tbl generates a recursion
table.

DrawDyna
Function: This command executes a Dynamic Graph draw operation.
Syntax: DrawDyna_
Description: This command performs a Dynamic Graph draw operation during
program execution in accordance with the drawing conditions defined within the
program.

DrawFTG-Con, DrawFTG-Plt
Function: These commands graph functions.
Syntax:
DrawFTG-Con_
DrawFTG-Plt_
Description:
1. These commands graph functions in accordance with conditions defined within
the program.
2. DrawFTG-Con produces a connect type graph, while DrawFTG-Plt produces a
plot type graph.

DrawGraph
Function: This command draws a graph.
Syntax: DrawGraph_
Description: This command draws a graph in accordance with the drawing
conditions defined within the program.

383

20- 11

Command Reference

DrawR-Con, DrawR-Plt
Function: These commands graph recursion expressions, with an(bn) as the
vertical axis and n as the horizontal axis.
Syntax:
DrawR-Con_
DrawR-Plt_
Description:
1. These commands graph recursion expressions, with an(bn) as the vertical axis
and n as the horizontal axis, in accordance with conditions defined within the
program.
2. DrawR-Con produces a connect type graph, while DrawR-Plt produces a plot
type graph.

DrawR-Con, DrawR-Plt
Function: These commands graph recursion expressions, with an(bn) as the
vertical axis and n as the horizontal axis.
Syntax:
DrawR-Con_
DrawR-Plt_
Description:
1. These commands graph recursion expressions, with an(bn) as the vertical
axis and n as the horizontal axis, in accordance with conditions defined within
the program.
2. DrawR-Con produces a connect type graph, while DrawR-Plt produces a
plot type graph.

DrawStat
Function: This draws a statistical graph.
Syntax:
DrawStat_
Description:
This command draws a statistical graph in accordance with conditions defined
within the program.

DrawWeb
Function: This command graphs convergence/divergence of a recursion expression (WEB graph).
Syntax: DrawWeb [name of recursion expression], [number of lines]_
Example: DrawWeb an+1 (bn+1), 5_

384

Command Reference

20- 11

Description:
1. This command graphs convergence/divergence of a recursion expression
(WEB graph).
2. Omitting the number of lines specification automatically specifies the default
value 30.

## k Input/Output Commands (I/O)

Getkey
Function: This command returns the code that corresponds to the last key
pressed.
Syntax: Getkey_
Description:
1. This command returns the code that corresponds to the last key pressed.

79

69

59

49

78

68

58

48

39

29
28

38

27

77

67

57

47

76

66

56

46

36

26

75

65

55

45

35

25

37

74

64

54

44

73

63

53

43

33

72

62

52

42

32

71

61

51

41

31

## 2. A value of zero is returned if no key was pressed prior to executing this

command.
3. This command can be used inside of a loop.

Locate
Function: This command displays alpha-numeric characters at a specific location
on the text screen.

385

20- 11

Command Reference
Syntax:
Locate <column number>, <line number>, <value>
Locate <column number>, <line number>, <variable name>
Locate <column number>, <line number>, <string>
[Example] Locate 1, 1, AB_
Parameters:

## line number: number from 1 to 7

column number: number from 1 to 21
value: numeric value
variable name: A to Z
string: character string

Description:
1. This command displays values (including variable contents) or text at a specific
location on the text screen.
2. The line is designated by a value from 1 to 7, while the column is designated
by a value from 1 to 21.
(1, 1)

(21, 1)

(1, 7)

(21, 7)

Example: Cls_
Locate 7, 1, CASIO CFX
This program displays the text CASIO CFX in the center of the
screen.
In some cases, the ClrText command should be executed before running the
above program.

Function: This command receives data from an external device.
Description:
1. This command receives data from an external device.
2. The following types of data can be received by this command.
Individual values assigned to variables
Matrix data (all values - individual values cannot be specified)
List data (all values - individual values cannot be specified)
Picture data

386

Command Reference

20- 11

Send (
Function: This command sends data to an external device.
Syntax: Send (<data>)
Description:
1. This command sends data to an external device.
2. The following types of data can be sent by this command.
Individual values assigned to variables
Matrix data (all values - individual values cannot be specified)
List data (all values - individual values cannot be specified)

## k Conditional Jump Relational Operators (REL)

=, G, >, <, ,
Function: These relational operators are used in combination with the conditional
jump command.
Syntax:
<left side> <relational operator> <right side> <statement>

_
:
^

<statement>

Parameters:
left side/right side: variable (A to Z, r, ), numeric constant, variable expression
(such as: A 2)
relational operator: =, G, >, <, ,
Description:
1. The following six relational operators can be used in the conditional jump
command
<left side> = <right side> : true when <left side> equals <right side>
<left side> G <right side> : true when <left side> does not equal <right side>
<left side> > <right side> : true when <left side> is greater than <right side>
<left side> < <right side> : true when <left side> is less than <right side>
<left side> <right side> : true when <left side> is greater than or equal to <right side>
<left side> <right side> : true when <left side> is less than or equal to <right side>
P.381

## 2. See (Jump Code) for details on using the conditional jump.

387

20-12

Text Display
You can include text in a program by simply enclosing it between double quotation
marks. Such text appears on the display during program execution, which means
you can add labels to input prompts and results.
Program

Display

?X

X = ? X

X=?

## If the text is followed by a calculation formula, be sure to insert a display

command (^), a carridge return (_) or multi-statement command (:) between
the text and calculation.
Inputting more than 21 characters causes the text to move down to the next
line. The screen scrolls automatically if the text causes the screen to become
full.

388

20-13

## Using Calculator Functions in Programs

k Using Matrix Row Operations in a Program

P.80

## These commands let you manipulate the rows of a matrix in a program.

For this type of program, be sure to use the MAT Mode to input the matrix, and
then switch to the PRGM Mode to input the program.

Example 1

Matrix A =

Swap A, 2, 3
Matrix name

(MAT Mode)

`Row)
Example 2

the scalar 4

`Row 4, A, 2
Matrix name
Multiplier

(MAT Mode)

389

20- 13

`Row+)
row (`
Example 3

## To calculate the product of Row 2 of the matrix in Example 1 and

the scalar 4, then add the result to row 3

`Row+ 4, A, 2, 3
Matrix name
Multiplier

(MAT Mode)

Example 4

Row+ A, 2, 3
Matrix name

(MAT Mode)

## k Using Graph Functions in a Program

P.112

You can incorporate graph functions into a program to draw complex graphs and
to overlay graphs on top of each other. The following shows various types of
syntax you need to use when programming with graph functions.
View Window
View Window 5, 5, 1, 5, 5, 1_
Graph function input
Y = Type_ ..... Specifies graph type.
X2 3 Y1_
Graph draw operation
DrawGraph_
Example Program

390

ClrGraph_

!W612

!31J

## Using Calculator Functions in Programs

20- 13

Y = Type_

4431

X ^ 4 X ^ 3 24X2 + 4X + 80 Y1_

J41JJ

G SelOn 1_

4411J

Orange G1_

42

DrawGraph

!W622

CFX

shown here.

P.182

## Using Dynamic Graph functions in a program makes it possible to perform

repeated Dynamic Graph operations. The following shows how to specify the
Dynamic Graph range inside a program.
Dynamic Graph range
1 D Start_
5 D End_
1 D pitch_
Example Program
ClrGraph_
View Window 5, 5, 1, 5, 5, 1_
Y = Type_
AX + 1 Y1_

J41JJ

D SelOn 1_

451

D Var A_

1 4 D Start_

J51

1 6 D pitch_

DrawDyna

!W623

D End_

shown here.

391

20- 13

## k Using Table & Graph Functions in a Program

P.206

Table & Graph functions in a program can generate numeric tables and perform
graphing operations. The following shows various types of syntax you need to use
when programming with Table & Graph functions.
Table range setting
1 F Start_
5 F End_
1 F pitch_
Numeric table generation
DispF-Tbl_
Graph draw operation
Connect type: DrawFTG-Con_
Plot type: DrawFTG-Plt_
Example Program
ClrGraph_
ClrText_
View Window 0, 6, 1, 2, 106, 2_
Y = Type_
3X2 2 Y1_
T SelOn 1_

4611

J611

6 3 F End_

1 4 F pitch_

DispF-Tbl^

!W6241

DrawFTG-Con

!W6242

F Start_

Numeric Table

392

Graph

20- 13

## k Using Recursion Table & Graph Functions in a Program

P.218

Incorporating Recursion Table & Graph functions in a program lets you generate
numeric tables and perform graphing operations. The following shows various
types of syntax you need to use when programming with Recursion Table & Graph
functions.
Recursion formula input

## an+1 Type_ .... Specifies recursion type.

3an + 2 an+1_
4bn + 6 bn+1_
Table range setting
1 R Start_
5 R End_
1 a0_
2 b0_
1 an Start_
3 bn Start_
Numeric table generation
DispR-Tbl_
Graph draw operation
Connect type: DrawR-Con_, DrawR-Con_
Plot type: DrawR-Plt_, DrawR-Plt_
Statistical convergence/divergence graph (WEB graph)
DrawWeb an+1, 10_
Example Program
ClrGraph_
View Window 0, 1, 1, 0, 1, 1_
1

46232J

3 an + 3 an an+1_
3 bn 0.2 bn+1_

42

0 3 R Start_

J6221

!W6251

!W6252JJJ
46243

an+1 Type_
2

6 R End_
0.01 a0_
0.11 b0_
0.01 an Start_
0.11 bn Start_
4
5

DispR-Tbl^
6

DrawWeb an+1, 30

393

20- 13

## Using Calculator Functions in Programs

Executing this program produces the results shown here.
Numeric Table

Recursion graph

## k Using List Sort Functions in a Program

P.234

These functions let you sort data in lists into ascending or descending order.
Ascending order
1

## SortA (List 1, List 2, List 3)

Lists to be sorted (up to six can be specified)
1

431J

K11

Descending order
SortD (List 1, List 2, List 3)
Lists to be sorted (up to six can be specified)

## k Using Solve Calculation Function in a Program

You can incorporate a solve calculation function into a program.
The following is the syntax for using the Solve function in a program.
Solve( f(x), n, a, b)
Upper limit
Lower limit
Initial estimated value

Example Program
1

Solve( 2X2 + 7X 9, 1, 0, 1)

K41

## In the function f(x), only X can be used as a variable in expressions. Other

variables (A through Z, r, ) are treated as constants, and the value currently
assigned to that variable is applied during the calculation.
Input of the closing parenthesis, lower limit a and upper limit b can be omitted.
Solutions obtained using Solve may include errors.
Note that you cannot use a Solve, differential, quadratic differential, integration,
maximum/minimum value or calculation expression inside of a Solve
calculation term.

394

20- 13

## k Using Statistical Calculations and Graphs in a Program

P.250

Including statistical calculations and graphing operations into program lets you
calculate and graph statistical data.

## uTo set conditions and draw a statistical graph

Following StatGraph, you must specify the following graph conditions:
Graph draw/non-draw status (DrawOn/DrawOff)
Graph Type
x-axis data location (list name)
y-axis data location (list name)
Frequency data location (list name)
Mark Type
Graph Color
CFX

P.252

The graph conditions that are required depends on the graph type. See Changing
Graph Parameters.
The following is a typical graph condition specification for a scatter diagram or
xyLine graph.
S-Gph1 DrawOn, Scatter, List1, List2, 1, Square, Blue _
In the case of an xy line graph, replace Scatter in the above specification with
xyLine.
The following is a typical graph condition specification for a normal probability
plot.
S-Gph1 DrawOn, NPPlot, List1, Square, Blue _
The following is a typical graph condition specification for a single-variable
graph.
S-Gph1 DrawOn, Hist, List1, List2, Blue _
The same format can be used for the following types of graphs, by simply
replacing Hist in the above specification with the applicable graph type.

P.254

## Histogram: ...................... Hist

Median Box: ................... MedBox
Mean Box: ...................... MeanBox
Normal Distribution: ........ N-Dist
Broken Line: ................... Broken

395

20- 13

## Using Calculator Functions in Programs

The following is a typical graph condition specification for a regression graph.
S-Gph1 DrawOn, Linear, List1, List2, List3, Blue _
The same format can be used for the following types of graphs, by simply
replacing Linear in the above specification with the applicable graph type.

P.254

## Linear Regression: ......... Linear

Med-Med: ....................... Med-Med
Cubic Regression: .......... Cubic
Quartic Regression: ....... Quart
Logarithmic Regression: .. Log
Exponential Regression: Exp
Power Regression: ......... Power
The following is a typical graph condition specification for a sine regression graph.
S-Gph1 DrawOn, Sinusoidal, List1, List2, Blue _
The following is a typical graph condition specification for a logistic regression
graph.
S-Gph1 DrawOn, Logistic, List1, List2, Blue _
1

!Z6631

K11

1JJ

4121J

11J

ClrGraph_

24J

J41

J51

!W621

Example Program

S-Wind Auto_
2

{1, 2, 3} List 1_
3

{1, 2, 3} List 2_
4

## S-Gph1 DrawOn, Scatter, List1, List2, 1, Square, Blue _

9

DrawStat
Executing this program produces the scatter
diagram shown here.

396

20- 13

## k Performing Statistical Calculations

Single-variable statistical calculation
1

## 1-Variable List 1, List 2

Frequency data (Frequency)

1

4161

## Paired-variable statistical calculation

2-Variable List 1, List 2, List 3
Frequency data (Frequency)

## y-axis data (YList)

x-axis data (XList)

1

Calculation
type*

## y-axis data (YList)

x-axis data (XList)

41661

## * Any one of the following can be specified as the calculation type.

LinearReg .......
Med-MedLine .
CubicReg .......
QuartReg ........
LogReg ...........
ExpReg ..........
PowerReg ......

linear regression
Med-Med calculation
cubic regression
quartic regression
logarithmic regression
exponential regression
power regression

397

20- 13

## Using Calculator Functions in Programs

Sine regression statistical calculation
SinReg List 1, List 2

## y-axis data (YList)

x-axis data (XList)
Logistic regression statistical calculation
LogisticReg List 1, List 2

## y-axis data (YList)

x-axis data (XList)

398