Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 我们为什么要使用;“如果”结束;陈述_If Statement_Basic_Qbasic - Fatal编程技术网

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为零。”