Halcon 第一章『Halcon语言』◆第4节:控制流语句

        一、if条件语句

        if语句根据判断表达式的值来确定具体执行哪一个分支。

1、if(表达式)

        满足if条件后执行的语句

   endif

2、if(表达式)

      满足if条件后执行的语句

        else

      不满足if条件后执行的语句

   endif

3、if(表达式)

      满足if条件后执行的语句

      elseif

      不满足if条件后执行的语句

      else

      不满足以上条件后执行的语句

    endif
*案例:
a:=3
if(a>3)
    b:=1
elseif(a==3)
    b:=2
else
    b:=3
endif

        二、for...endfor循环语句

        for循环语句是另一种循环语句,通过控制变量的开始值和结束值来实现循环。

for(index:=StartNumber to EndNumber by step)

循环体

endfor
*index是循环的变量,每次循环结束都会加上step的值;StartNumber是开始的数值;EndNumber是结束的数值;当index大于EndNumber时,循环就结束了。
*案例1:
sum1:=0
for i:=1 to 100 by 1
    sum1:=sum1+i
endfor
*-------------------------------------
*案例2:
array1:=[]
EndNumber:=10
for i:=0 to EndNumber-1 by 2
    array1:=[array1,i]
endfor

        三、while...endwhile循环语句

        while语句是循环语句,当while语句的条件满足时,执行while循环,当条件错误时推出循环。

while(条件)
    循环语句
endwhile
*案例1
a:=1
Sum:=0
while(a<=100)
    Sum:=Sum+a
    a:=a+1
endwhile

*案例2
Flag:=0
Array:=[]
Number:=5
i:=0
while(Flag=0)
    if(i=Number)
        Flag:=1
    endif
    Array:=[Array,i]
    i:=i+1
endwhile

        四、switch...endswitch分支条件语句

        switch分支条件语句与if条件语句类似,当存在多个分支时,可以用switch代替if语句。即if多层嵌套时候,可以用switch来代替,使得结构简单。

switch(条件)
    case 常量表达式1:
        执行语句1
    break

    case 常量表达式2:
        直行语句2
    break

    case 常量表达式n:
        直行语句n
    break

    default:
        直行语句
    endswitch
    使用的方法就是将条件与常量表达式一一对比,当条件的值与switch的某一个常量表达式的值相等时,就执行这个常量表达式对应的主体语句。每个case只是入口,不代表执行完当前case主体语句就结束整个switch语句。如果需要在执行玩case的主体语句之后结束switch,可以使用break;当没有case与条件匹配时,可以通过default来执行默认的主体语句。
*案例1:
a:=7
switch(a)
    case 2:
    b:=1
    break

    case 3:
    b:=3
    break

    case 0:
    b:=5
    break
    
    default:
    b:=99
endswitch

        五、repeat...until

repeat
    程序主体
until(条件)

         repeat...until类似于C语言中的do...while,不同的是while条件未正确的时候,继续执行,而repeat...until语句是当until语句为正确的时候就跳出循环。和while相比,repeat...until是先执行repeat语句,然后再进行条件判断,而while是直接进行判断。

f:=1
arr1:=[]
i:=0
repeat
    arr1:=[arr1,i]
    i:=i+1
until (f=1)

arr2:=[]
j:=0
while(f=0)
    arr2:=[arr2,j]
    j:=j+1
endwhile

        六、中断语句

         continue:可以用来结束本次循环、即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判断。

        break:该算子可以用来从循环体内跳出循环,即提前结束循环。

        continue和break可以用在for、while和switch循环中,起到控制程序运行的作用。

arr:=[]
for i:=1 to 20 by 1
    if(i=3)
        continue
    endif
    if(i=7)
        break
    endif
    arr:=[arr,i]
endfor

        七、其他控制程序流的语句

        stop():执行后暂时停止程序。

        exit():终止程序。

        return():返回上一级程序。

猜你喜欢

转载自blog.csdn.net/qq_45336030/article/details/125725866