Commodore PET User Manual page 205

Table of Contents

Advertisement

Step 3: Add the corresponding digits of the strings. At first glance. vou
might assume that A$ and B$ can now be added using the following statement:
C$=A$+B$
This is incorrect. When strings are added with a plus sign they are not added.
but are concatenated:
C$=A$+B$
C$= [112131415161718IgI0111213/415161
+
1~]~I~I~!~M~I~Th17J914[3151*1
C$= 111213/41516/718Ig/0
/112j31415161~1~1~1~1~1~1~1~15171*1*1*1
We want to add the digits in the strings. not concatenate the strings. To add
the contents of numeric strings. each digit must be extracted separately
from the string. converted into a numeric digit. then added to one digit from
the other string. This is done with a routine using the two string functions VAL
and MID$.
1020 FOR I=LEN(A$) TO 1 8TEP-l
1030 A=VAL(MID$(A$,I,l»
1050 B=VAL(MID$(B$,I,l»
11
f10
NE:X:T 1
where:
A =
digit extracted from
A$
B =
digit extracted from
B$
''1''
is a counter initialized to the length of the INPUT strings (either A$ or B$
may be usedl. With each FOR ... NEXT loop iteration. the value of 1 is decre-
mented by 1. As 1decrements. it allows the string contents to be extracted one by
one. right to leH. using the MID$ function:
1
MID$(B$.1.1)
16
~~~~~~~~5794357~
15
~~~~~~~~579435.2
14
~~~~~~~~57943.72
13
~~~~~~~~5794.572
12
~~~~~~~~579.3572
11
~~~~~~~~57~43572
10
~~~~~~~~5.943572
9
~~~~~~~~.7943572
8
~~~~~~~.57943572
7
~~~~~~.~57943572
6
~~~~~.~~57943572
5
~~~~.~~~57943572
4
~~~.~~~~57943572
3
~~.~~~~~57943572
2
~.~~~~~~57943572
1
~~~~~~~~57943572
792

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Cbm

Table of Contents