BASIC疑难详解
1、循环体内有些变量往往需要选初始值,如求S=20n=1n!的程序为:
10 LET S=0
20 LET T=1
30 FOR N=1 TO 20
40 LET T=T*N
50 LET S=S+T
60 NEXT N
70 PRINT S
80 END
变量S、T都需事先赋予初值,即10,20两语句。选初始值的语句应放在循环体之外、即在FOR语句之前。如果是多重循环,则内循环体中的变量取初值的语句应在内循环外,即在内循环的FOR语句前。外循环体中的变量取初值的语句应在循环外,即在外循环的FOR语句前。
2.循环体中的赋值语句形式的选择,应根据题目要求,找出各项间的关系,就不难确定循环体中该用什么语句不求出这些项,如上例中的S=S+T,T=T*N。有些初学者不善于根据题目特点来选择循环体中的语句,常常造成错误。
3.循环变量的值每经过一次循环,都应按步长增值一次,执行完规定的循环次数并脱离循环后,它的值应该是超过“终值”的。这点常在实际问题中被忽略,如下面程序:
10 FOX X=1 TO 10
20 LET Y=X↑2
30 NEXT X
40 PRINT "X=";X,"Y=";Y
有的学员认为在执行40语句时会显示出x=10,y=100事实上正确的显示结果为:x=11,y=100。
二、数组的应用:
1.数组说明语句为DIM,当在程序中设有该语句时,数组的下标只能用0~10之间的数,超过10则被认为是非法的,在同一程序中,可对同一数组的大小重新说明,但后面的说明,不得超过前面所说明的值。
2.数组的说明应根据实际情况设置,不能越大越好,因为一旦进行了数组说明,计算机就留出相应的存贮单元给数组,不管程序中是否使用数组元素,这样,程序所能使用的空间就相对减小,如果程序较大,使用的数组说明又多,就可能造成内存不够的情况。
3.DIM语句必须放在数组元素使用之前才有效,因此,一般DIM语句都是放在程序的开头部分。