BASIC

Malacology留言 | 贡献2023年10月19日 (四) 08:57的版本 (init)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

BASIC 有三代

  • Dartmouth
  • Structed
  • Object-oriented

解释器

Dartmouth: Legacy Basic

基础

开头一般写行号×10,因为可以补救

  • REM 注释
  • PRINT 输出: "" 里包含字符串 , 或者 ; 负责分割数值和字符串
  • END 结束

解释器

前面不加行号

  • RUN 解释器运行
  • STOP 解释器停止运行
  • LIST 显示代码,后面可以跟行号

赋值

单个

  • LET 赋值 声明变量

多个

  • READ 批量未赋值声明
  • DATA 批量赋值,多出来的不处理,这里的 8 9 10
410 READ A1, A2, A3
420 READ B1, B2, B3, B4
430 DATA 1, 2, 3, 4, 5
440 DATA 6, 7, 8, 9, 10
450 PRINT A1, A2, A3,
460 PRINT B1, B2, B3, B4

流程控制

IF

  • IF 行号
310 IF S < 0 THEN 350

GOTO

  • GOTO 行号

FOR & NEXT

  • FOR 循环范围,步数
  • NEXT 结束循环
250 LET S = 0
260 FOR N = 1 TO 3 STEP 2
270 LET S = S + N
280 NEXT N

GOSUB & RETURN

  • GOSUB
  • RETURN 回到 GOSUB 位置
10 LET X = 2
20 IF X<0 THEN 60
30 X = X - 1
40 PRINT "X (BEFORE) IS ", X
50 GOSUB 20
60 PRINT "X (AFTER) IS ", X
70 IF X<0 THEN 90
80 RETURN
90 PRINT "END"
100 END

计算

函数

  • SIN() P/6=30度 P/3=60度 P/2=90度
  • COS()
  • TAN()
  • ATN() tan 的倒数
  • EXP() e^()
  • LOG()
  • SQR() 平方根
  • ABS() 绝对值
  • RND随机数 ## 表达式
  • >
  • <
  • =
  • <> 不等于
  • >=
  • <=

矩阵

DIM 数组/矩阵

10 DIM A(10) 
20 FOR I = 0 TO 10
30   A(I) = I * 2  
40 NEXT I
50 FOR I = 0 TO 10
60   PRINT "A("; I; ") = "; A(I)
70 NEXT I
80 END