RosettaCodeData/Task/Mayan-numerals/BASIC/mayan-numerals.basic

25 lines
674 B
Plaintext

10 DEFINT A-Z: DIM L$(5)
15 FOR I=0 TO 5: READ L$(I): NEXT I
20 LINE INPUT I$
30 M=LEN(I$): DIM D(M)
40 FOR I=1 TO M: D(I)=VAL(MID$(I$,I,1)): NEXT I
50 FOR J=M-1 TO 1 STEP -1
60 FOR I=1 TO J
70 D(I+1) = D(I+1) + 10*(D(I) AND 1)
80 D(I) = D(I)\2
90 NEXT I,J
100 S=1
110 IF D(S)=0 AND S<M THEN S=S+1: GOTO 110
120 FOR I=S TO M: PRINT "+----";: NEXT I: PRINT "+"
130 FOR L=3 TO 0 STEP -1
140 FOR I=S TO M
150 IF (D(I) OR L)=0 THEN PRINT "| @ ";: GOTO 180
160 N=D(I)-5*L: IF N>5 THEN N=5 ELSE IF N<0 THEN N=0
170 PRINT "|";L$(N);
180 NEXT I
190 PRINT "|"
200 NEXT L
210 FOR I=S TO M: PRINT "+----";: NEXT I: PRINT "+"
220 END
230 DATA " "," . "," .. ","... ","....","----"