第1節 気体の体積の変化
http://www.keirinkan.com/kori/kori_chemistry/kori_chemistry_2_kaitei/contents/ch-2/1-bu/1-3-1.htm
basicのプログラムがある
10 CLS 3:SCREEN 3,0:CONSOLE 0,25,0,0
20 Input "Dater number";N
30 DIM X(N), Y(N)
40 FOR I=1 TO N
50 PRINT "No.";I;:INPUT " Temparature";X(I)
60 PRINT "No.";I;:INPUT " mass";Y(I)
70 NEXT I
80 FOR I=1 TO N
90 WX=Wy+X(I): WY=WY+Y(I):SX=SX+X(I)*X()):Q=Q+X(I)*Y(I)
100 NEXT I
110 A=(N*Q -WX*WY)/(N*SX-WY*Wx):B=WY/N - A*WX/N
120 GOSUB *GRAPH
130 CLS
140 PRINT "Y=";:PRINT USING "#.###";A;
150 PRINT "X+";:PRINT USING "###";B
160 PRINT " 0 degree ";:PRINT USING "####"; -B/A: PRINT "*C"
170 LOCATE 51,0: PRINT"cm3":LOCATE 51,4:PRINT "300"
LOCATE 51,8: PRINT "200":LOCATE 51,12:PRINT "100"
180 LOCATE 10,18:PRINT
"-300 -2-- -100 0 100 *c"
190 LOCATE 0,20
200 PRINT " temparature *C"
210 FOR I=1 TO N
220 PRINT USING "###.# ";X(I);
230 NEXT I
240 PRINT
250 PRINT " mass cm3"
260 FOR I=1 TO N
270 PRINT USING "###.# ";Y(I);
280 NEXT I
290 GOTO 290
300 *GRAPH
310 CLS 1:WINDOW(0,0)-(630,290)
320 LINE(10,206) - (639,299),6
330 LINE(400,0) - (400, 207),6
340 FOR I=0 to 12 :PSET(I*50, 207): NEXT I
350 FOR I=0 to 12 STEP 2:PSET(I*50, 208): NEXT I
360 FOR I=0 to 12 STEP 2:PSET(I*50, 209): NEXT I
370 FOR I=0 to 7 :PSET(401,(I+1)*25-10+16): NEXT I
380 FOR I=2 to 7 STEP 2:PSET(402, I*25-10): NEXT I
390 FOR I=2 to 7 STEP 2:PSET(403, I*25, 209): NEXT I
400 FOR I=1 TO N
410 CIRCLE(400+X(I), 190 - Y(I)/2+16),2,5
420 NEXT I
430 LINE(480,206-(A*80+B)/2)-(400,206-B/2),2
440 LINE(400, 206-B/2)-(400-B/A,206),2
450 RETURN
これが動く環境はいずこ。
dockerでBASIC:docker(116)
https://qiita.com/kaizen_nagoya/items/b08215976bf07c85ca45
まずyabasicをいれてみた。
bash
# yabasic chem1.bas
---Error in chem1.bas, line 1: syntax error
10 CLS 3:SCREEN 3,0:CONSOLE 0,25,0,0
^
---Error: Program not executed
3を削った。
# yabasic chem1.bas
---Error in chem1.bas, line 1: syntax error
10 CLS :SCREEN 3,0:CONSOLE 0,25,0,0
^
---Error: Program not executed
:は区切りじゃ使えないらしい。