Data update

This commit is contained in:
Ingy döt Net 2024-10-16 18:07:41 -07:00
parent 81fd053722
commit 52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions

View file

@ -0,0 +1,36 @@
100 REM Periodic table
110 DECLARE EXTERNAL SUB ShowRowAndColumn
120 DIM A(0 TO 7), B(0 TO 7)
130 CALL SetAB
140 FOR J = 0 TO 9
150 READ ANUM
160 CALL ShowRowAndColumn(A, B, ANUM)
170 NEXT J
180 REM
190 SUB SetAB
200 FOR I = 0 TO 7
210 READ A(I)
220 NEXT I
230 FOR I = 0 TO 7
240 READ B(I)
250 NEXT I
260 END SUB
270 REM
280 REM Data.
290 REM Arrays A, B.
300 DATA 1, 2, 5, 13, 57, 72, 89, 104
310 DATA -1, 15, 25, 35, 72, 21, 58, 7
320 REM Example elements (atomic numbers).
330 DATA 1, 2, 29, 42, 57, 58, 72, 89, 90, 103
340 END
350 REM
360 EXTERNAL SUB ShowRowAndColumn(A(), B(), ANUM)
370 LET I = 7
380 DO WHILE A(I) > ANUM
390 LET I = I - 1
400 LOOP
410 LET M = ANUM + B(I)
420 LET R = INT(M / 18) + 1
430 LET C = MOD(M, 18) + 1
440 PRINT ANUM; "->"; R; C
450 END SUB

View file

@ -0,0 +1,51 @@
Global Dim A.i(7)
Global Dim B.i(7)
Procedure.i MostarPos(N)
Define.i M, I, R, C
I = 7
While I >= 0 And A(I) > N
I - 1
Wend
If I < 0 : I = 0 : EndIf
M = N + B(I)
R = Int(M / 18) + 1
C = Mod(M, 18) + 1
PrintN("Atomic number " + RSet(Str(N), 3) + " -> " + Str(R) + ", " + RSet(Str(C), 2))
EndProcedure
DataSection
a:
Data.i 1, 2, 5, 13, 57, 72, 89, 104 ; magic numbers
b:
Data.i -1, 15, 25, 35, 72, 21, 58, 7
elements:
Data.i 1, 2, 29, 42, 57, 58, 59, 71, 72, 89, 90, 103, 113
EndDataSection
If OpenConsole()
Restore a
For i = 0 To 7
Read.i A(i)
Next
Restore b
For i = 0 To 7
Read.i B(i)
Next
Dim Element.i(12)
Restore elements
For i = 0 To 12
Read.i Element(i)
Next
For N = 0 To ArraySize(Element())
MostarPos(Element(N))
Next
PrintN(#CRLF$ + "Press ENTER to exit"): Input()
CloseConsole()
EndIf

View file

@ -1,3 +1,20 @@
DECLARE SUB MostarPos (N)
DIM Element(0 TO 12)
RESTORE elements
elements:
DATA 1,2,29,42,57,58,59,71,72,89,90,103,113
FOR x = 0 TO 12: READ Element(x): NEXT x
FOR I = 0 TO UBOUND(Element)
MostarPos (Element(I))
NEXT I
a:
DATA 1,2,5,13,57,72,89,104
b:
DATA -1,15,25,35,72,21,58,7
SUB MostarPos (N)
DIM a(7)
RESTORE a:
@ -8,25 +25,10 @@ SUB MostarPos (N)
I = 7
WHILE a(I) > N
I = I - 1
I = I - 1
WEND
M = N + b(I)
R = (M \ 18) + 1
C = (M MOD 18) + 1
PRINT USING "Atomic number ### -> #_, ##"; N; R; C
END SUB
DIM Element(0 TO 12)
RESTORE elements
elements:
DATA 1, 2, 29, 42, 57, 58, 59, 71, 72, 89, 90, 103, 113
FOR x = 0 TO 12: READ Element(x): NEXT x
FOR I = 0 TO UBOUND(Element)
MostarPos (Element(I))
NEXT I
a:
DATA 1, 2, 5, 13, 57, 72, 89, 104
b:
DATA -1, 15, 25, 35, 72, 21, 58, 7