BASIC疑难详解 谢宁 1994-04-15 一、编写循环程序时应注意的问题: 1、循环体内有些变量往往需要选初始值,如求S=20n=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语句都是放在程序的开头部分。