If statement 我们为什么要使用;“如果”结束;陈述
为什么我们要在这个程序中编写If statement 我们为什么要使用;“如果”结束;陈述,if-statement,basic,qbasic,If Statement,Basic,Qbasic,为什么我们要在这个程序中编写END IF语句?不写它,我们很容易得到结果。有没有什么例子可以解释一下END IF语句的用法 我试过这个: INPUT X IF X>10 THEN PRINT "X IS GREATER THAN 10" ELSE PRINT "X IS NOT GREATER THAN 10" END 然后我也得到了预期的结果 真正的代码是: INPUT X IF X>10 THEN PRINT "X IS GREATER THAN 10" ELSE
END IF
语句?不写它,我们很容易得到结果。有没有什么例子可以解释一下END IF
语句的用法
我试过这个:
INPUT X
IF X>10 THEN PRINT "X IS GREATER THAN 10" ELSE PRINT "X IS NOT GREATER THAN 10"
END
然后我也得到了预期的结果
真正的代码是:
INPUT X
IF X>10 THEN
PRINT "X IS GREATER THAN 10"
ELSE
PRINT "X IS NOT GREATER THAN 10"
END IF
END
预期和期望的例如:
当
X=5
时,输出将为“X不大于10
”
END IF
用于指示多行写入的IF、ELSE IF、ELSE
结构的结尾。如果没有END If
(缺少该项将导致错误),则If、ELSE If、ELSE
结构下的语句将被视为If、ELSE If、ELSE
结构的一部分,直到出现END If
为止。如果没有END If
,则If、ELSE If、ELSE
结构的使用将仅限于在程序结束时使用
考虑这样一种情况:如果条件为真,则需要运行100行特定代码,如果条件为假,则需要运行100行其他代码,并且必须在if-ELSE
结构之后再运行100行。现在很明显,您不能在一行中编写所有这200个IF-ELSE
相关行。如果没有END if
,那么就没有办法运行接下来的100行
END IF
对于一行中写入的IF、ELSE IF、ELSE
语句无效。下一行中的任何语句都将被视为超出IF,ELSE IF,ELSE
结构。并非总是可以在一行中对所有必需的功能进行编码。因此,仅当根据某些条件触发可写入一行的小功能时,才可以使用它。因此,这是这种单行方法的缺点。多个缩进if/then/else语句可以组合成比单行语句更简单的结构,例如:
INPUT X
IF X > 10 THEN
PRINT "X is greater than 10."
ELSE
IF X < 10 THEN
PRINT "X is less than 10."
ELSE
PRINT "X is equal to 10."
END IF
END IF
INPUT X, Y, Z
IF X = 0 AND Y = 0 AND Z = 0 THEN PRINT "All zero." ELSE IF X = 0 AND Y <> 0 AND Z = 0 THEN PRINT "X and Z zero." ELSE IF X <> 0 AND Y = 0 AND Z = 0 THEN PRINT "Y and Z zero." ELSE IF X = 0 AND Y = 0 AND Z <> 0 THEN PRINT "X and Y zero." ELSE IF X <> 0 AND Y <> 0 AND Z = 0 THEN PRINT "X and Y non-zero." ELSE IF X <> 0 AND Y = 0 AND Z <> 0 THEN PRINT "X and Z non-zero." ELSE IF X = 0 AND Y <> 0 AND Z <> 0 THEN PRINT "Y and Z non-zero." ELSE PRINT "All non-zero."
输入X
如果X>10,则
打印“X大于10”
其他的
如果X<10,则
打印“X小于10”
其他的
打印“X等于10。”
如果结束
如果结束
这与:
INPUT X
IF X > 10 THEN PRINT "X is greater than 10." ELSE IF X < 10 THEN PRINT "X is less than 10." ELSE PRINT "X is equal to 10."
输入X
如果X>10,则打印“X大于10”。如果X<10,则打印“X小于10”。否则打印“X等于10。”
非常困难的是在一行中测试3个数字的值,例如:
INPUT X
IF X > 10 THEN
PRINT "X is greater than 10."
ELSE
IF X < 10 THEN
PRINT "X is less than 10."
ELSE
PRINT "X is equal to 10."
END IF
END IF
INPUT X, Y, Z
IF X = 0 AND Y = 0 AND Z = 0 THEN PRINT "All zero." ELSE IF X = 0 AND Y <> 0 AND Z = 0 THEN PRINT "X and Z zero." ELSE IF X <> 0 AND Y = 0 AND Z = 0 THEN PRINT "Y and Z zero." ELSE IF X = 0 AND Y = 0 AND Z <> 0 THEN PRINT "X and Y zero." ELSE IF X <> 0 AND Y <> 0 AND Z = 0 THEN PRINT "X and Y non-zero." ELSE IF X <> 0 AND Y = 0 AND Z <> 0 THEN PRINT "X and Z non-zero." ELSE IF X = 0 AND Y <> 0 AND Z <> 0 THEN PRINT "Y and Z non-zero." ELSE PRINT "All non-zero."
输入X,Y,Z
如果X=0,Y=0,Z=0,则打印“全部零”。如果X=0,Y=0,则打印“X和Z零”。如果X=0,Y=0,则打印“Y和Z零”。如果X=0,Y=0,则打印“X和Y零”。如果X=0,Y=0,则打印“X和Y非零”。如果X=0,Y=0,则打印“X和Y非零”。如果X=0,则打印“X和Y非零”“X和Z非零。”否则,如果X=0,Y 0和Z 0,则打印“Y和Z非零”。否则打印“所有非零”
另一种选择是使用选择案例:
INPUT X
SELECT CASE X
CASE IS > 10
PRINT "X is greater than 10."
CASE IS < 10
PRINT "X is less than 10."
CASE ELSE
PRINT "X is equal to 10."
END SELECT
输入X
选择案例X
病例>10例
打印“X大于10”
病例<10例
打印“X小于10”
其他情况
打印“X等于10。”
结束选择
确定3个输入值的另一个示例:
COLOR 15
DO
PRINT "Enter values(y/n)";: INPUT x$
IF LCASE$(x$) = "n" THEN END
PRINT "Enter X,Y,Z";: INPUT X, Y, Z
GOSUB Calculate
LOOP
END
Calculate:
SELECT CASE X
CASE IS > 0
SELECT CASE Y
CASE IS > 0
SELECT CASE Z
CASE IS > 0
PRINT "X is positive, Y is positive, Z is positive."
CASE IS < 0
PRINT "X is positive, Y is positive, Z is negative."
CASE ELSE
PRINT "X is positive, Y is positive, Z is zero."
END SELECT
CASE IS < 0
SELECT CASE Z
CASE IS > 0
PRINT "X is positive, Y is negative, Z is positive."
CASE IS < 0
PRINT "X is positive, Y is negative, Z is negative."
CASE ELSE
PRINT "X is positive, Y is negative, Z is zero."
END SELECT
CASE ELSE
SELECT CASE Z
CASE IS > 0
PRINT "X is positive, Y is zero, Z is positive."
CASE IS < 0
PRINT "X is positive, Y is zero, Z is negative."
CASE ELSE
PRINT "X is positive, Y is zero, Z is zero."
END SELECT
END SELECT
CASE IS < 0
SELECT CASE Y
CASE IS > 0
SELECT CASE Z
CASE IS > 0
PRINT "X is negative, Y is positive, Z is positive."
CASE IS < 0
PRINT "X is negative, Y is positive, Z is negative."
CASE ELSE
PRINT "X is negative, Y is positive, Z is zero."
END SELECT
CASE IS < 0
SELECT CASE Z
CASE IS > 0
PRINT "X is negative, Y is negative, Z is positive."
CASE IS < 0
PRINT "X is negative, Y is negative, Z is negative."
CASE ELSE
PRINT "X is negative, Y is negative, Z is zero."
END SELECT
CASE ELSE
SELECT CASE Z
CASE IS > 0
PRINT "X is negative, Y is zero, Z is positive."
CASE IS < 0
PRINT "X is negative, Y is zero, Z is negative."
CASE ELSE
PRINT "X is negative, Y is zero, Z is zero."
END SELECT
END SELECT
CASE ELSE
SELECT CASE Y
CASE IS > 0
SELECT CASE Z
CASE IS > 0
PRINT "X is zero, Y is positive, Z is positive."
CASE IS < 0
PRINT "X is zero, Y is positive, Z is negative."
CASE ELSE
PRINT "X is zero, Y is positive, Z is zero."
END SELECT
CASE IS < 0
SELECT CASE Z
CASE IS > 0
PRINT "X is zero, Y is negative, Z is positive."
CASE IS < 0
PRINT "X is zero, Y is negative, Z is negative."
CASE ELSE
PRINT "X is zero, Y is negative, Z is zero."
END SELECT
CASE ELSE
SELECT CASE Z
CASE IS > 0
PRINT "X is zero, Y is zero, Z is positive."
CASE IS < 0
PRINT "X is zero, Y is zero, Z is negative."
CASE ELSE
PRINT "X is zero, Y is zero, Z is zero."
END SELECT
END SELECT
END SELECT
RETURN
color15
做
打印“输入值(y/n)”;:输入x$
如果LCASE$(x$)=n,则结束
打印“输入X,Y,Z”;:输入X,Y,Z
GOSUB计算
环
结束
计算:
选择案例X
大小写>0
选择案例Y
大小写>0
选择案例Z
大小写>0
打印“X为正,Y为正,Z为正。”
病例<0
打印“X为正,Y为正,Z为负。”
其他情况
打印“X为正,Y为正,Z为零。”
结束选择
病例<0
选择案例Z
大小写>0
打印“X为正,Y为负,Z为正。”
病例<0
打印“X为正,Y为负,Z为负。”
其他情况
打印“X为正,Y为负,Z为零。”
结束选择
其他情况
选择案例Z
大小写>0
打印“X为正,Y为零,Z为正。”
病例<0
打印“X为正,Y为零,Z为负。”
其他情况
打印“X为正,Y为零,Z为零。”
结束选择
结束选择
病例<0
选择案例Y
大小写>0
选择案例Z
大小写>0
打印“X为负,Y为正,Z为正。”
病例<0
打印“X为负,Y为正,Z为负。”
其他情况
打印“X为负,Y为正,Z为零。”
结束选择
病例<0
选择案例Z
大小写>0
打印“X为负片,Y为负片,Z为正片。”
病例<0
打印“X为负片,Y为负片,Z为负片。”
其他情况
打印“X为负片,Y为负片,Z为零。”
结束选择
其他情况
选择案例Z
大小写>0
打印“X为负,Y为零,Z为正。”
病例<0
打印“X为负片,Y为零,Z为负片。”
其他情况
打印“X为负片,Y为零,Z为零。”