58 lines
900 B
Plaintext
58 lines
900 B
Plaintext
PROGRAM "Periodic table"
|
|
|
|
DECLARE FUNCTION Entry ()
|
|
DECLARE FUNCTION MostarPos (N)
|
|
|
|
FUNCTION Entry ()
|
|
DIM Element[12]
|
|
Element[0] = 1
|
|
Element[1] = 2
|
|
Element[2] = 29
|
|
Element[3] = 42
|
|
Element[4] = 57
|
|
Element[5] = 58
|
|
Element[6] = 59
|
|
Element[7] = 71
|
|
Element[8] = 72
|
|
Element[9] = 89
|
|
Element[10] = 90
|
|
Element[11] = 103
|
|
Element[12] = 113
|
|
|
|
FOR e = 0 TO 12 'UBOUND (Element())
|
|
MostarPos (Element[e])
|
|
NEXT
|
|
|
|
END FUNCTION
|
|
|
|
FUNCTION MostarPos (N)
|
|
DIM A[7]
|
|
A[0] = 1
|
|
A[1] = 2
|
|
A[2] = 5
|
|
A[3] = 13
|
|
A[4] = 57
|
|
A[5] = 72
|
|
A[6] = 89
|
|
A[7] = 104
|
|
DIM B[7]
|
|
B[0] = -1
|
|
B[1] = 15
|
|
B[2] = 25
|
|
B[3] = 35
|
|
B[4] = 72
|
|
B[5] = 21
|
|
B[6] = 58
|
|
B[7] = 7
|
|
I = 7
|
|
DO WHILE A[I] > N
|
|
DEC I
|
|
LOOP
|
|
M = N + B[I]
|
|
R = (M \ 18) + 1
|
|
C = (M MOD 18) + 1
|
|
PRINT "Atomic number "; FORMAT$ ("###", N); " ->"; R; ","; C
|
|
|
|
END FUNCTION
|
|
END PROGRAM
|