RosettaCodeData/Task/Periodic-table/Yabasic/periodic-table.basic

38 lines
873 B
Plaintext

// Rosetta Code problem: http://rosettacode.org/wiki/Periodic_table
// by Jjuanhdez, 06/2022
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 arraysize(Element(),1)
MostarPos (Element(e))
next e
end
sub 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
while A(I) > N
I = I - 1
wend
M = N + B(I)
R = int(M / 18) +1
C = mod(M, 18) +1
print "Atomic number ", N using("###"), " -> ", R, ", ", C
end sub