RosettaCodeData/Task/Mayan-numerals/Nascom-BASIC/mayan-numerals.basic
2026-04-30 12:34:36 -04:00

34 lines
756 B
Text

10 REM Mayan numerals
20 DIM L$(5)
30 FOR I=0 TO 5:READ L$(I):NEXT I
40 INPUT "Number";I$
50 M=LEN(I$):DIM D(M)
60 FOR I=1 TO M:D(I)=VAL(MID$(I$,I,1)):NEXT I
70 FOR J=M-1 TO 1 STEP -1
80 FOR I=1 TO J
90 DIDIV2=INT(D(I)/2)
100 D(I+1)=D(I+1)+10*(D(I)-DIDIV2*2)
110 D(I)=DIDIV2
120 NEXT I
130 NEXT J
140 S=1
150 IF (D(S)=0) AND (S<M) THEN S=S+1:GOTO 150
160 FOR I=S TO M:PRINT "+----";:NEXT I
170 PRINT "+"
180 FOR L=3 TO 0 STEP -1
190 FOR I=S TO M
200 IF (D(I)<>0) OR (L<>0) THEN 230
210 PRINT "| @ ";
220 GOTO 270
230 N=D(I)-5*L
240 IF N>5 THEN N=5:GOTO 260
250 IF N<0 THEN N=0
260 PRINT "|";L$(N);
270 NEXT I
280 PRINT "|"
290 NEXT L
300 FOR I=S TO M:PRINT "+----";:NEXT I
310 PRINT "+"
320 END
330 DATA " "," . "," .. ","... ","...."
340 DATA "----"