if语句中我看见了一种如下模式不知如何去理解
if  condition then 
  if codition then 
  语句
  end  if
else
  if codition then 
  语句
  end if
end if 
这是嵌套吗?和下面有什么不同
if condition then 
  语句
  else
  if codition then 
    语句
  end if
end if 
先感谢啦,

解决方案 »

  1.   

    前面是IF块和ELSE里都嵌了,后面是只嵌在ELSE块里,当然不同了。
      

  2.   

    我觉得,应该说是“一样的”。
    VB中,If语句的格式,一般来说就是这下面四种:
    ① If 条件 Then 语句
    ② If 条件 Then
        语句
      End If
    ③ If 条件 Then
        语句
      Else
        语句
      End If
    ④ If 条件 Then
        语句
      ElseIf 条件 Then
        语句
      。
      。
      。
      。
      。
      (注: 这里的 代表任意组 “ ElseIf 条件 Then ∧ 语句 ”)
      End If这里的“语句”可以是任意的“词句块”,包括完整的“If语句”在内。
    所以,楼主说的那两段,都是属于 ③ 那种格式的 If语句。
    如果 If语句 的“语句”包含如上所说的 If语句 之一(或更多),就是“If语句的嵌套”了。
      

  3.   

    你那幅图,就是:
     y = f(x)
    函数 f(x) 的返回值是:
      如果 x为正数 ≡ 1
      如果 x为0  ≡ 0
      如果 x为负数 ≡ -1从流程图,语句就是这样写:
    if (x<0) then
      y = -1
    else
      if (x=0) then
       y = 0
      else
       y = 1
      end if
    end if
      

  4.   

    你是刚学编程的呀。第一种情况,是有“4种结果”的情况。
    如果要弄一个使用那种流程的示例,我就增加一种函数结果吧(假设 x 的取值是整数):
      对于正数,判断是否为5的倍数,如果是返回2,不是就返回1。
    if (x>0) then
      if (m mod 5 = 0) then
        y = 2
      else
        y = 1
      end if
    else
      if (x=0) then
        y = 0
      else
        y = -1
      end if
    end if
    对应的流程图如下:
      

  5.   

    更正一下:
    7F 中 if (m mod 5 = 0) then
    应为:if (x mod 5 = 0) then