标题: 高中数学Basic语言参考
作者: 老虎会游泳 @Ta
时间: 2012-02-18
论坛搜索关键字:Basic VB 高中 数学 算法 程序 编程
这贴是高中数学中的Basic语言的参考,数学中的Basic是很简单的,它仅仅只能用来表达算法。如果你想用它写出可执行的程序,请学习ANSI Basic或VB的语法。
『一:运算符』
* 乘
/ 除
+ 加
- 减
MOD 求余数(相当于PHP和C的%符号)
> 大于
>= 大于或等于
< 小于
<= 小于或等于
<> 不等于
= 赋值/相等(在IF或其他条件执行的语句中是判断相等,否则是赋值)
AND 逻辑与、且
OR 逻辑或、或者
NOT 逻辑非(否定)
『二:基本语法』
1、一条语句占一行,在Basic中不可把多条语句写在同一行
2、语句结尾不要加分号,请PHP和C程序员注意。在Basic中,分号用来分隔不同类型的参数
例:
INPUT "输入3个数:" ; a,b,c
PRINT "你输入的是:" ; a,b,c
d=a+b+c
PRINT "a+b+c=" ; d
『三、关键字』
1.变量
变量名以字母开头,后接字母或数字,这与C相同。变量名不建议使用下划线。不要在变量名前面加美元符$(PHP程序员注意)
变量有时是不区分大小写的,有时又区分大小写(混乱的情况),所以自己写时不要出现大小写混用;当出现大小写混乱时,也不要疑惑。
2.输入输出语句
PRINT 输出表达式的值
PRINT支持多参数,用逗号分隔,如
PRINT 1,3,5,a,9,b
也可以输出字符串
PRINT "你好"
注意:不要输出奇怪的内容,否则可能被人工判断为语法错误
如果要同时输出字符串和数字,那么必须用分号(;)分开它们:
PRINT "x,y,z=" ; x,y,z
不建议更复杂的写法(如PRINT "x=" ; x ; "y=" ; y ; "z=" ; z),可能被人工误判。
如果你要输出
x= 5
y= 6
z= 7
这样的效果,建设你用三条PRINT语句,而不是把它们写在一条语句里。
用于分隔多个值的分号会产生一个空格,而逗号会直接被输出(所以字符串和数之间要加分号而不是逗号)。每条PRINT语句结尾都会自动加上一个换行(不建议使用任何转义字符,比如"\n"什么的)。以下语句:
PRINT 5,6,7
PRINT "x,y=" ; 8,9
将得到以下输出
5,6,7
x,y= 8,9
建议不要太在意输出排版,只要正确输出就行了
特别说明:不建议把字符串赋给变量。
text="如此如此这般这般"
PRINT text
虽然对我们来说太正常了,但是别人也许很难理解。所以大家可以认为变量永远都是实数型的,只能存放数值(整数和小数都可以,而且假定不会因为数值过大而溢出)。
另外,变量的初始值是不确定的(不一定是0),所以在对变量进行大小比较或输出之前,请确保你曾经给它赋过值。
INPUT 从用户输入中取得所需的值。例:
INPUT x
执行到此处后,程序等待用户输入(只支持数字,输入完后回车),并把数字赋给x。如果用户输入错误,也许将出现不可预料的情况(我们不必考虑这些)。
不建议对用户输入是否正确做过多的判断,因为我们只是在描述算法,而不是真的写程序,所以就当用户的输入都是正确的,直接往下走就行了。
如果要同时取得多个值,也是可以的:
PRINT x,y,z
此时用户必须输入类似“3,5,9”这样的字符串才能使程序正常进行。但是我们依然不必关心错误处理。
你也可以先显示一段提示语给用户,再要求用户输入:
INPUT "x=" ; x
INPUT "y,z=" ; y,z
更复杂的语法(如INPUT "a=" ; a ; "b=" ; b)虽然可用,但为了保持“兼容性”而不建议使用。
与标准C的对照:
INPUT "请输入a,b,c的值:" ; a,b,c
PRINT "你好" ; a,b,c
对应C语言中的
double a,b,c; //a,b,c不是整型而是双精度小数型
printf("请输入a,b,c的值:");
scanf("%f,%f,%f\n",&a,&b,&c);
printf("你好 %f,%f,%f\n",a,b,c);
//%f:用十进制小数格式输出实数
3、条件语句
IF …… THEN
……
ELSE
……
END IF
如果 …… 就执行
…这里…
否则执行
…这里…
如果结束
可以不要ELSE部分,直接这样:
IF a>5 THEN
b=a/2
a=0
END IF
如果IF或ELSE后紧跟的只有一条语句,可以不要折行,并且不要END IF:
IF a<5 THEN b=a*2
ELSE b=a/2
提示:
(1) ELSE IF语句是可用的,但不要写成ELSEIF。同样的END IF也要有明确的空格。
(2) 不要漏写IF条件后面的THEN,不要漏写END IF,新手很容易出现该问题,特别是忘了THEN。
(3) 不同于C,Basic可以不给条件加括号(因为有了空格和THEN);也不使用大括号括起代码块(取而代之的是用THEN、ELSE、END IF做为代码块的分界线)。
与C对照:
INPUT x
IF x>5 AND x<70 THEN
PRINT "5<x<70"
ELSE IF x<=5 THEN
PRINT "x<=5"
ELSE
PRINT "x>=70"
END
用C实现:
『好吧,补充一点,不要把END IF写成END了。我就不小心写错了。』
C源码(仅演示):
double x;
scanf("%f\n",&x);
if(x>5 && x<70)
{
printf("5<x<70\n");
}
else if(x<=5)
{
printf("x<=5");
}
else
{
printf("x>=70");
}
『睡眠优先,zzzZZ』
[隐藏样式|查看源码]