Welcome to the second part of our beginners introduction to programming the
                     
ST:
                     
                     
                     
FirST STeps in BASIC
                     
                     
                     
Doing simple maths using a program like PowerBASIC is not so very different
                     
from using a calculator. One problem that arises is the ST symbols for
                     
operations often bear no resemblance to those use in normal mathematical
                     
notation. The table below lists the most common symbols:
                     
                     
                     
A ^ B               Raise A to the Bth power
                     
A * B               Multiply A by B
                     
A / B               Divide A by B
                     
A MOD B             Divide A by B and leave the remainder
                     
A + B               Add A to B
                     
A - B               Subtract B away from A
                     
                     
                     
In BASIC "MOD" stands for modulus, and is a keyword not a  symbol. Because of
                     
the way BASIC works, this make no difference  to the way the equation works.
                     
The tilde ( ^ ) raises a number to  the specified power, and is called
                     
exponentiation. Try  experimenting with the symbols and keywords above to see
                     
what  results you get.
                     
                     
                     
At this point, you may notice that the equals sign ( = ) is not  included
                     
anywhere in the table. Although equals in often used in  BASIC, it is not
                     
required if we want an immediate result.
                     
                     
                     
With the above table firmly in mind, lets try some simple  sums. First, enter:
                     
                     
                     
     PRINT 2+3
                     
                     
                     
(Remember to press return after each line. Select RUN from menu  to see the
                     
result, or press ALT-R)
                     
                     
                     
The ST replies with 5, a correct answer. Now try:
                     
                     
                     
     PRINT 2+3*2
                     
                     
                     
The ST prints the answer as 8. This sum is interesting  because there are two
                     
different answers, depending on how you  work it out.
                     
                     
                     
Method One.
                     
                     
                     
         2+3 equals 5
                     
         5*2 equals 10
                     
         Final answer: 10
                     
                     
                     
Method Two.
                     
                     
                     
         3*2 equals 6
                     
         6+2 equals 8
                     
         Final answer: 8
                     
                     
                     
How the result comes out is determined by how the numbers  of the problem are
                     
tackled. If you simply solve the problem from  first to last, taking each
                     
number and symbol in order then the  answer is 10. If you use the MDAS rule,
                     
then the answer comes  out as 8
                     
                     
                     
MY DEAR AUNT SALLY...?
                     
                     
                     
My Dear Aunt Sally is the way children are often taught to  remember this
                     
mathematical rule in school. Like so many things  in maths, there is a correct
                     
order to tackle solving a problem,  like this:
                     
                     
                     
         Multiplication first
                     
then     Division
                     
then     Addition
                     
and      Subtraction last
                     
                     
                     
This is the order we are taught to evaluate sums in school,  and is the way all
                     
maths problems should be solved. Because the  rule applies to the mathematical
                     
operations, it is called  "OPERATOR PRECEDENCE". In our example, PowerBASIC
                     
computes  the multiplication first, then the addition.
                     
                     
                     
There are often times when it is useful to force BASIC to  evaluate an
                     
expression in a particular order, say we want to do  the addition first. The
                     
way to do this is to place part of the  expression in brackets, forcing BASIC
                     
to work out that part first.
                     
                     
                     
In the previous example, if we wanted to force BASIC to  come up with an answer
                     
of 10, we need to write the expression  like this:
                     
                     
                     
     PRINT (2+3)*2
                     
                     
                     
BASIC works out the bracketed part of the expression first  and get and answer
                     
of 5. It then multiplies this by 2 to get the  required answer, in this case
                     
10.
                     
                     
                     
If necessary, brackets can be used to create some  needlessly complex
                     
equations, like this:
                     
                     
                     
     PRINT 1+(((3+2)*4)+5)^6
                     
                     
                     
In practice, nesting brackets to this sort of level is very  unusual. For a
                     
start it makes the equation practically impossible  to read, let alone
                     
understand. Errors tend to crop up, such as not  having enough opening or
                     
closing brackets, or getting the brackets  in the wrong place. If you need a
                     
create an equation as complex as  this, it is often possible to break it down
                     
into several simpler  steps.
                     
                     
                     
UNTIL NEXT TIME...
                     
                     
                     
As a little practice with numbers, try modifying the simple  equations used
                     
here, changing the +, -, / and * signs and try to  predict the results. Also
                     
see what happens when brackets are  used. Try creating equations using
                     
brackets, and put the brackets  in different places to get a different result.
                     
                     
                     
In the next part of the series I'll be looking at how programs  can use
                     
variables to store numbers, and how those variables can  be addressed by name.

Takaisin

(C) Marko, Suomen Atari-sivut / ArkiSTo 2003