查看“︁BASIC”︁的源代码
←
BASIC
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
BASIC 有三代 * Dartmouth * Structed * Object-oriented = 解释器 = Dartmouth: [https://github.com/nigelperks/LegacyBasic Legacy Basic] = 编译器 = Dartmouth: [https://github.com/cpp-tutor/dbasic dbasic] 使用 <pre>dbasic 1 < hello.bas > hello.ll clang -O3 -o hello hello.ll runtime/basic_lib.c -lm ./hello</pre> = 基础 = 开头一般写行号×10,因为可以补救 * <code>REM</code> 注释 * <code>PRINT</code> 输出: <code>""</code> 里包含字符串 <code>,</code> 或者 <code>;</code> 负责分割数值和字符串 * <code>END</code> 结束 <span id="解释器-1"></span> == 解释器 == 前面不加行号 * <code>RUN</code> 解释器运行 * <code>STOP</code> 解释器停止运行 * <code>LIST</code> 显示代码,后面可以跟行号 = 赋值 = == 单个 == * <code>LET</code> 赋值 声明变量 == 多个 == * <code>READ</code> 批量未赋值声明 * <code>DATA</code> 批量赋值,多出来的不处理,这里的 8 9 10 <pre>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</pre> = 流程控制 = <span id="if"></span> == IF == * <code>IF</code> 行号 <pre>310 IF S < 0 THEN 350</pre> <span id="goto"></span> == GOTO == * <code>GOTO</code> 行号 <span id="for-next"></span> == FOR & NEXT == * <code>FOR</code> 循环范围,步数 * <code>NEXT</code> 结束循环 <pre>250 LET S = 0 260 FOR N = 1 TO 3 STEP 2 270 LET S = S + N 280 NEXT N</pre> <span id="gosub-return"></span> == GOSUB & RETURN == * <code>GOSUB</code> 去 * <code>RETURN</code> 回到 GOSUB 位置 <pre>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</pre> = 计算 = == 函数 == * <code>SIN()</code> P/6=30度 P/3=60度 P/2=90度 * <code>COS()</code> * <code>TAN()</code> * <code>ATN()</code> tan 的倒数 * <code>EXP()</code> e^<code>()</code> * <code>LOG()</code> * <code>SQR()</code> 平方根 * <code>ABS()</code> 绝对值 * <code>RND</code>随机数 ## 表达式 * <code>></code> * <code><</code> * <code>=</code> * <code><></code> 不等于 * <code>>=</code> * <code><=</code> = 矩阵 = <code>DIM</code> 数组/矩阵 <pre>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</pre> = 示例 = <pre>10 REM INTRO TO BASIC PROGRAMMING: REM & PRINT 20 PRINT "HELLO, THIS IS BASED ON FIRST BASIC INSTUCTION MANUAL (1964)" 30 REM INTERGRES AND FLOAT: LET & EXPO & LOG & SQR & ABS 40 LET X=2 50 PRINT "X IS ", X 60 LET Y=(7+8)/3 70 PRINT "Y=(7+8)/3 IS ", Y 80 LET Z=2/3 90 PRINT "Z=2/3 IS ", Z 100 LET A = Y ^ X * 5 110 PRINT "A=Y^X IS ", A 120 LET B = 2* ( (P/6) + COS(P/3) ) 130 PRINT "2(SIN30+COS60) IS ", B 140 LET C = EXP(0) 150 PRINT "EXPO(0) IS ", C, " WHICH MEANS E^0" 160 LET D = LOG(1) 170 PRINT "LOG(0) IS ", D 180 LET E = SQR(4) 190 PRINT "SQR(4) IS ", E 200 LET F = ABS(-12) 210 PRINT "ABS(-12) IS ", F 220 PRINT "THE CALCULATION RESULTS AVOBE ARE ", A, B, C, D, E, F 230 REM FOR: FOR & NEXT 240 PRINT "FOR IS STARTING NOW" 250 LET S = 0 260 FOR N = 1 TO 3 STEP 2 270 LET S = S + N 280 NEXT N 290 PRINT S 300 REM GOTO, IF THEN. = > < (<> not equal) ALL ARE ALLOWED: GOO & IF & THEN 310 IF S < 0 THEN 350 320 LET S = S - 1 330 PRINT "NOW S IS ", S 340 GOTO 310 350 PRINT "IF IS END. S is "; S 360 REM DEF: DEF 370 DEF FNC(G) = G^3 + 2.7*G 380 LET H = FNC(Y) 390 PRINT H 400 REM READ, DATA. LET BY BATCH: READ & DATA 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 470 END</pre> [[分类:Software]]
返回
BASIC
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息