Programming
Your
Calculator
Casio fx-7400G PLUS
Barry Kissane
Barry Kissane
INTRODUCTION
The Casio fx-7400G PLUS does not have all the capabilities of larger, more sophisticated
(and considerably more expensive) graphics calculators. This booklet contains examples
of programs that you can use to extend its capabilities in various ways.
Some of the programs allow the calculator to undertake tasks usually available only on
more sophisticated calculators (such as solving equations). Some programs allow you
to explore mathematical ideas in new ways, such as those involving generating random
data. Some others provide mathematical functions not usually available on calculators
(such as finding factors of a number).
A calculator program is a set of commands to be carried out by the calculator in a
particular sequence. There are special programming commands available to direct the
calculator, although most of the commands are those with which you are already
familiar.
It is not necessary to know how to write a program in order to use a program. All that
you need to do is to faithfully enter into your calculator a program written by someone
else, and to know how and when to use the program.
The User' s Guide provides detailed information on programming, as well as some
other programs, if you would like to know more about this.
Entering a Program
The programs in this book can be entered into your calculator in at least three different
ways.
Provided you have the right calculator accessories and Internet access, you can
download all the programs from the Australian Casio Education Site (ACES), with the
calculator through the communications port. You will need the FA-122 or FA-123 kit
for your computer to do this. Refer to Chapter 9 of the User' s Guide.
A second way is to transfer the programs from another calculator that already has
them entered. To do this, you will need the special SB-62 cable, or an equivalent cable.
In this case, you use the communications port of your calculator, and use Link Mode
for each calculator. Refer to Chapter 9 of the User' s Guide.
A third way is to enter a program by typing in the commands by hand. First press
6 to activate the program mode of the calculator. Press
to start. Enter a name
(maximum eight letters) and press when you’re finished. It is best to use the names
of the programs used in this book to avoid confusion.
Enter the program commands, exactly as they are written in this book, pressing
(shown as ) at the end of each line. Most of the commands you will use in a program
are the same ones you use for other calculator operations. There are also some special
Programming your calculator
commands that are used almost exclusively for programming. These are accessed by
first accessing
(
). The inside back cover of the User' s Guide shows where
all programming commands are, while Chapter 8 describes in detail how each
command works. When you have finished entering the program into the calculator,
press
to return to the programming list menu.
Test the program to make sure there are no typing errors. If possible, you should
check that your program works by using some data for which you already know the
answer, before you place any confidence in the program.
Running a program
To run (i.e. to operate) a program, press
keys to highlight the program name in the list, and then press
blue key.
to enter Program mode, use the
and
( ) or just the
After each input number, you need to press E E to continue running the program.
You also need to press
)
after a display pause on the screen (shown with the word
If a program doesn't work, check your typing in Edit mode. (See the next section.)
To stop a programfrom running, while it is running, press the key. The word
'Break' will appear on the screen . Press
mode. If you press instead of
again to clear the screen and return to
, the program will start again.
You can't stop a program while it is waiting for an input (showing a ? on the screen).
Input a number and then press
.
Editing a program
To edit a program means to correct errors that you have noticed or to change the
program in some other way. Go to the program list, select the program name and then
press
( ).
You can move around with all four cursor keys (
beginning or end of a program with ( ) and
) and move straight to the
( ) respectively.
Both the
and
(
) keys will be useful for editing too.
to return to the program list.
When you have finished making changes, press
Barry Kissane
Deleting programs
Programs remain in your calculator until you delete them. They are not affected by
turning the calculator off. To permanently delete a program, go to the program list
with
from the list, and then press
. ( ) instead of ( ).
, and press the continuation key. Use
and
to select the program name
( ). To delete all the programs in a calculator, choose
In case you have pressed any keys by mistake, you then have a second chance to
confirm that you do actually want to erase the program. Press
any other key or ( ) if you don't.
( ) if you do and
Programs can also be deleted from the Memory mode, accessed by
. In Memory
mode, you have a choice of finding out how much calculator memory is being used for
various things (Memory Usage) or of resetting the calculator (Reset).
There is also a
( ) key on the memory usage screen, which you can use to delete
all the programs at once, if you wish.
Resetting the calculator manually (with the emergency reset on the back of the
calculator) will also delete all the programs. See Appendix A of the User' s Guide for
details and warnings about this.
If you press the Reset key in error (either in Memory mode or using the reset on the
back of the calculator), you still have one last chance to avoid deleting everything: Press
( ) instead of
( ).
And, finally …
Using programs like those in this book will allow you to do many powerful things with
your calculator.
However, the most powerful use of programming comes when you start to write
programs for yourself. The programs in this book are all fairly short, partly to make it
easier for you to see how they work. Once you have a good idea of how these
programs work, you may like to experiment with writing other programs for yourself.
Some aspects of mathematics are fairly routine, and so lend themselves to
programming. An example of this is the quadratic formula, used in program QuadEqtn.
Other examples are the formulae used in the Calendar and Heron programs. There are
many other formulas in mathematics for which programs can easily be written. These
include working out simple interest, compound interest, the area of a circle and the
cosine law.
Another aspect of mathematics for which programming is useful involves the use of
repetition. You might like to try writing programs to deal with sequences and series,
which are of this kind.
Many of the programs in this book make use of the random number generator to
simulate probabilities. You might like to try writing other programs that use this
calculator feature.
Programming your calculator
I express my gratitude to Debbie Taylor, who has been encouraging during this project
and especially helpful in checking the text and the programs in this book, although I
remain responsible for any lingering errors that you may find.
I hope that you enjoy using these programs and wish you well in starting the
adventure of writing some others for yourself or your friends.
Barry Kissane
The Australian Institute of Education
Murdoch University
Western Australia 6150
http:/ / wwwstaff.murdoch.edu.au/ ~kissane
kissane@murdoch.edu.au
Barry Kissane
INDEX OF PROGRAMS
Page
Calendar ..............................................................................................1
Heron.....................................................................................................2
Zero........................................................................................................3
2 x 2 EQ.................................................................................................4
3 x 3 EQ.................................................................................................5
QuadEqtn.............................................................................................6
Intrsect...................................................................................................7
Minimum...............................................................................................8
Maximum..............................................................................................9
Search.................................................................................................10
Integral................................................................................................11
Decimal...............................................................................................12
Factors.................................................................................................13
Dice.....................................................................................................14
TwoDice...............................................................................................15
Coin.....................................................................................................16
FreqDist................................................................................................17
DiffList...................................................................................................18
LongRun..............................................................................................19
SRansamp...........................................................................................20
Normal.................................................................................................21
Binomial ..............................................................................................22
BinProb................................................................................................23
CmpndInt ...........................................................................................24
Programming your calculator
Barry Kissane
CALENDAR
Purpose
Gives the week day for any date, according to the Gregorian calendar, which is in
everyday use today in western countries. The program evaluates a formula that takes
leap years appropriately into account.
Operation
Enter the day, month number and year (all four digits), pressing
after each. For
example, 31 August 1949 is entered as
.
Important Note: January and February must be entered as the 13th and 14th months of
the previous year. So February 6, 1950 must be entered as 6, 14, 1949 instead of 6, 2,
1950.
The program uses the following codes to report the week day:
0
1
2
3
4
5
6
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Check the program by using today's date.
On what day of the week were you born? Check with your parents.
1
Programming your calculator
HERON
Purpose
Uses the lengths of the three sides of a triangle to calculate the area of any triangle,
using Heron's formula, known since ancient times.
Operation
Enter the length of each side, followed by
. Both numbers and expressions (such as
Ö2) are permitted.
The program displays the area of the triangle.
Press
to enter the side lengths of another triangle.
Test the program by entering sides of a familiar triangle, such as a 3-4-5 triangle, and
checking that the calculated area is correct.
Notice what happens when the program is run with side lengths that do not form a
triangle (such as 3-4-11).
There is a discussion of the use of this sort of program in the text:
Kissane, Barry & Harradine, Anthony (2000) Mathematical Interactions: Measurement,
Chatswood, NSW: Shriro, pp 19-20.
2
Barry Kissane
ZERO
Purpose
The program finds approximately a zero of a function, i.e. a value of the variable for
which the function has zero value.
Operation
The function must be entered as
in the function list and then graphed.
Trace to a point near a zero you want to find and then activate the program. The
coordinates of a point close to the zero are given as a list.
The first element is the zero itself (the x-value).
The second element (the y-value) gives an indication of how close it is to an exact zero.
2
Test by using the function y = 2 – x and check that there is a zero near x = 1.4142 and
near x = -1.4142. (You will need to use the program twice to get both zeroes.)
In each case, the y-value is about -0.00000000008, so the value given is very close to a
zero.
3
Programming your calculator
2 X 2 EQ
Purpose
Solving a set of two simultaneous linear equations, by entering only the coefficients of
each.
Operation
The program reminds you of the form for the equations:
a11x + a12y = b1
a21x + a22y = b2
You may have to rewrite your equations into this form before entering them. Input the
six coefficients in the correct order, pressing
after each.
If the coefficients are all integers, the result will be given as a fraction.
Test the program by finding the solutions to the system:
2x + 3y = 3
12y – 2x = 7
The solution is x = 1/ 2 and y = 2/ 3.
4
Barry Kissane
3 X 3 EQ
Purpose
Solving a set of three simultaneous linear equations, by entering only the coefficients of
each.
Operation
The program reminds you of the form for the equations:
a11x + a12y + a13z = b1
a21x + a22y + a23z = b2
a31x + a32y + a33z = b3
You may have to rewrite your equations into this form before entering them. Input the
twelve coefficients in the correct order, pressing
after each.
If the coefficients are all integers, the result will be given as a fraction.
Test the program by finding the solutions to the system:
2x + 3y + z = 3
12y – 2x + 2z = 7
x – z + 4y = 11
The solution is x = 21/ 160, y = 1/ 160 and z = 87/ 32.
5
Programming your calculator
QUADEQTN
Purpose
Finding the roots of a quadratic equation, using the quadratic formula.
Operation
The program reminds you of the form of the equation: ax2 + bx + c = 0. You may have
to rewrite your equations into this form before entering them.
Input the three coefficients in the correct order, pressing
Test the program by finding the solutions to the equation:
x2 = 10 – x
after each.
In this case, first rewrite the equation to the appropriate form, x2 + x – 10 = 0 to see that
the coefficients are A = 1, B = 1 and C = -10.
The two approximate solutions are x = 2.702 and x = -3.702.
6
Barry Kissane
INTRSECT
Purpose
To find the coordinates of a point of intersection of the graphs of two functions. This
can be used to solve a pair of simultaneous equations.
Operation
Start by graphing the two functions, using Y1 and Y2.
Trace to a point close to the point of intersection. Then activate the program.
The result will be given correct to three decimal places.
The program reminds you that the two functions must be in Y1 and Y2.
Test the program by finding the points of intersection of the graphs of
2
y = 2 – x and y = 1 + x.
One of the points is (0.618,1.618), while the other is (-1.618,-0.618).
7
Programming your calculator
MINIMUM
Purpose
Find the coordinates of a relative minimum of a function.
Operation
The function must be in Y1 in the list.
Draw a graph of the function and trace to a point near a minimum point.
Activate the program, which will give the coordinates of the minimum point, correct to
three decimal places.
Test the program by finding the relative minimum of the function
2
y = x – x – 1.
The result is (0.500,-1.250).
8
Barry Kissane
MAXIMUM
Purpose
Find the coordinates of a relative maximum of a function.
Operation
The function must be in Y1 in the list.
Draw a graph of the function and trace to a point near a maximum point.
Activate the program, which will give the coordinates of the maximum point, correct to
three decimal places.
Test the program by finding the relative maximum of the function
3
y = x – x – 1.
The result is (-0.577,-0.664).
9
Programming your calculator
SEARCH
Purpose
To search systematically through a range of values in order to solve a problem.
Operation
In its present form, the program checks each of the numbers from 10 to 100 in turn to
see whether any of them satisfy the following condition:
The product of the tens and units digit, added to the sum of the tens and units digit,
gives the original number.
When the program is run, any numbers satisfying the condition are printed. Press
to continue after each answer.
Not all problems have solutions, of course.
This program can be modified, in order to answer different questions, by changing the
first four lines.
10
Barry Kissane
INTEGRAL
Purpose
To find the area under a curve and above the x-axis between two points, using the
integral of a function.
Operation
The program reminds you that the function must be in Y1.
Enter the function in Graph mode and then start the program in Program mode.
Enter the x-value for the lower limit and the upper limit, pressing
after each.
The area is then printed on the screen.
2
To test the program, check that the area under the function y = 1 – x between x = 0
and x = 1 is 0.785. (Notice that this is an approximation to the area of a quadrant of the
unit circle, the exact area of which is p/ 4.
The program uses 100 intervals to approximate the integral. This is set by the fourth
line of the program. A more accurate (but slower!) result can be obtained by increasing
this number. For example, the following new version of line 4 will change the number
of intervals to 150:
A less accurate (but faster) result can be obtained by decreasing this number.
11
Programming your calculator
DECIMAL
Purpose
To give the decimal expansion of a fraction to as many decimal places as desired.
Operation
Enter the numerator and the denominator, both whole numbers, pressing
each.
after
Each time you press
, the next digit in the decimal expansion will be given. Record
these on paper if you wish. Note that the decimal point is not displayed by the
calculator.
ON
Press
when you wish to stop.
To test the program, check that the decimal expansion of 3/ 13 is 0.023076923..., which is
a recurring decimal.
12
Barry Kissane
FACTORS
Purpose
To find all the prime factors of a positive integer.
Operation
Enter an integer at the prompt and press
to start.
, another prime factor will be displayed.
To test the program, enter 234 and check that the prime factors are 2 x 3 x 3 x 13.
Each time you press
13
Programming your calculator
DICE
Purpose
To simulate rolling a standard six-sided die, for which each of the six possible scores are
equally likely.
Operation
Enter the number of rolls required. (The maximum is 255.) Press
to start.
The program will display the mean score of the simulated dice rolls.
The actual rolls are stored in List 1. Any data already in List 1 will be lost.
Press Menu 2 to see the data, and to analyse them if you wish. You may like to use
program FREQDIST in order to convert the data into a frequency distribution.
Each time the program is run, a different set of dice rolls is generated.
To simulate a dice with a different number of sides, edit the fourth line of the program.
For example, if you change the six to an eight, the program will simulate rolling an 8-
sided die, each side of which is equally likely. Here is the relevant line after editing:
14
Barry Kissane
TWODICE
Purpose
To simulate rolling two standard six-sided die, for which each of the six possible scores
are equally likely on each die. The two die rolls are added each time to produce a score.
Operation
Enter the number of rolls required. (The maximum is 255.)
The program will display the mean score of the simulated dice rolls.
The actual totals are stored in List 1. Any data already in List 1 will be lost.
Press Menu 2 to see the data, and to analyse them if you wish. You may like to use
program FREQDIST in order to convert the data into a frequency distribution.
Each time the program is run, a different set of dice rolls is generated.
To simulate dice with different numbers of sides, edit the fourth line of the program.
For example, if you change the first six to a ten, the program will simulate rolling a ten-
sided die followed by a six-sided die and then adding the scores. In each case, all sides
of dice are equally likely. Here is the relevant line after editing:
15
Programming your calculator
COIN
Purpose
Simulate tossing a coin and counting how often a head is obtained.
Operation
Enter the (whole) number of tosses. There is no limit on the number, except your time
and batteries. With fresh batteries, the calculator will need about 30 seconds for each
thousand tosses.
The program will display how many of the tosses were 'heads'.
Do this a few times to see how much it varies each time. Compare your results with
someone else's.
If you wish to simulate tosses of a biased coin, you will need to change the fourth line
of the program. For example, a change to
will simulate tossing a coin with only a 45% chance of a head each time.
16
Barry Kissane
FREQDIST
Purpose
To generate a frequency distribution from raw data.
Operation
The first two lines of the program remind you that the data must be in List 1 and must
all be integers.
Press
to continue the program after the messages. The frequency distribution will
be placed into Lists 2 and 3. Any data already in List 2 and List 3 will be lost.
When finished, the calculator displays a message reminding you that List 2 shows the
possible scores and List 3 shows the frequencies of each score. Press
to see these.
or
17
Programming your calculator
DIFFLIST
Purpose
Find the first and second differences for a sequence.
Operation
Delete the contents of List 1 and then enter your sequence into List 1.
The program will store the first differences between elements of the sequence into List
2 and the second differences into List 3. Any data already in List 2 and List 3 will be lost.
Press
(or
) to see the results of finding the differences.
To test the program, put the squares of the first ten integers (1, 4, 9, … , 100) into List 1.
When the program is activated, List 2 will show odd numbers and List 3 will show a
constant value of 2 (the difference between successive odd numbers).
When the second differences are constant, you can deduce that the original sequence is
quadratic.
Experienced programmers will be able to see how to modify the program so that third
differences are also calculated.
18
Barry Kissane
LONGRUN
Purpose
To illustrate what happens in the long run when events with a certain probability are
generated. For example, to see what happens when a fair coin is tossed repeatedly, by
plotting the proportion of the heads after various numbers of tosses.
Operation
Enter the probability concerned and press
to continue.
The program will display the 'ideal' theoretical probability as a horizontal line. The
vertical axis is marked in steps of 0.1 or 10%.
After each simulated event, the proportion of 'successful' times is plotted. This is likely
to be eventually (in the long run) close to the horizontal line.
After a screen full of simulations, the relative frequency is displayed. This will not
usually be the same as the probability.
Press the
Press the
key to switch between the graph and the numerical results.
key to repeat the simulation.
Do this a few times to see how much it varies each time. Compare your results with
someone else's.
There is a discussion of the use of this sort of program in the text,
Kissane, Barry, Harradine, Anthony & Boys, Anthony (1999) Mathematical Interactions:
Data Analysis and Probability, Chatswood, NSW: Shriro, pp 21-22.
19
Programming your calculator
SRANSAMP
Purpose
Take a simple random sample of a certain size from a population.
A simple random sample is one for which each element of the population has the same
chance of being chosen. Notice that it is possible for the same elements to be chosen
more than once. (That is, sampling with replacement is involved.)
Operation
First delete the contents of List 1 and then enter the population of interest into List 1.
(The population cannot exceed 255 elements.)
Start the program, enter the sample size and press
.
The calculator will select a simple random sample of the chosen size and display the
mean of the sample. The sample will be stored into List 6. Any data already in List 6 will
be lost.
The actual sample chosen can be seen in List 6 by first pressing
.
Compare several samples of the same size; you should find that, while they differ from
each other, they have similar means.
Compare samples of different sizes; you should find that larger samples give more
reliable information about your population.
There is a discussion of the use of this sort of program in the text,
Kissane, Barry, Harradine, Anthony & Boys, Anthony (1999) Mathematical Interactions:
Data Analysis and Probability, Chatswood, NSW: Shriro, pp 23-26.
20
Barry Kissane
NORMAL
Purpose
To generate values for areas between two values of a normal probability distribution
with mean M and standard deviation S.
Operation
Enter the mean and standard deviation, each followed by
. (For the standard
normal (z) distribution, enter M = 0 and S = 1.)
Then enter the lower value and the upper value, each followed by
. The probability
that the normal random variable will have a value between these two is then printed,
correct to four decimal places.
Press
to enter another pair of lower and upper values for the same distribution.
To find probabilities associated with a different normal distribution, press
and then
start the program again.
Test the program by inputting values of -1 and 2 to find Pr (-1 < z < 2) = 0.8186.
The program can be made faster (but less accurate) by changing the fourth line. For
example, changing it to
will make it faster, but a little less accurate. Increasing N will, of course, make it more
accurate but slower.
21
Programming your calculator
BINOMIAL
Purpose
To simulate a binomial random variable, consisting of a number of trials each of which
has the same probability of success. For example, tossing a set of 12 coins, each of
which has a probability of 0.5 of landing 'heads', and counting how many of the twelve
land heads each time.
Operation
Enter the probability of success each time, followed by
.
Enter the number of trials involved, followed by
.
Enter the number of separate simulations required, followed by
255 is possible.)
. (A maximum of
For example, to simulate 50 separate sets of 12 tosses of a fair coin, enter:
.
The program will store the numbers of heads in each set of trials into List 1. Any data
already in List 1 will be lost.
You may like to use program FREQDIST to analyse the resulting data in List 1.
Notice that, in the above case, you usually don' t get exactly six 'heads' out of twelve
tosses.
22
Barry Kissane
BINPROB
Purpose
To generate values for the binomial and cumulative binomial probability distributions.
Operation
Enter the number of trials (N) and the probability of success for each (P), followed by
in each case.
The probability of zero successes is displayed on the screen. Write this result down on
paper.
Then press
to see the probabilities of getting various numbers of successes,
together with the associated cumulative probabilities. These are stored in List 1 and List
2 respectively. Any data already in these lists will be lost.
To test the program, consider the case of twelve tosses of a coin with probability 0.5 of
getting 'heads'. Check the following results:
The probability of obtaining no heads in the twelve tosses is about 0.00024.
The probability of obtaining six heads out of twelve tosses is about 0.22559.
The probability of getting six heads or less out of twelve tosses is about 0.61279.
Notice that the final value in List 2 is always 1. Why is this?
23
Programming your calculator
CMPNDINT
Purpose
To explore various compound interest situations involving a Principal, an Amount, an
interest rate, a number of years of investment and a number of compounding periods
per year. If all except one of these variables is known, the other one is calculated.
Operation
Enter the variable values when requested, pressing
after each.
Enter a negative value, such as -1, for the one value you wish to calculate.
RATE P.A. refers to the annual interest rate. Enter it either as a decimal or as a
percentage. (E.g., 5.4% per annum can be entered either as 5.4 or as 0.054.)
The variable # PERIODS refers to the total number of compounding periods. For
example, if the principal is invested for 25 years with interest compounded monthly,
then enter 300, as there are 12 x 25 = 300 compounding periods. (If you wish, you can
enter 12 x 25, and let the calculator do the multiplication.)
The variable TIMES/YEAR refers to the number of compounding periods per year. For
example, if interest is added monthly, the value is 12, while for quarterly interest, the
value is 4.
Test the program by checking that $2800 will accumulate to $3871.89 if it is deposited
into an account in which interest of 6.5% is compounded monthly for five years.
24
|