vexiq程序都是c语言吗,VEX IQ机器人编程之循环结构

在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。

在Graphical中,

循环结构包括repeat次数循环、repeat(forever)无限循环、repeatUntil条件循环以及while循环。在C语言中,循环结构可以分为两类循环结构,分别是当型循环结构和直到循环结构。当型循环结构在每次执行循环前,都会对条件进行判断,当条件满足时,执行循环内容,否则终止循环。直到循环结构在执行了一次循环内容后,对循环条件进行判断,如果条件不满足,就继续执行循环内容,直到循环条件满足终止循环。

循环结构的几种流程图如下图所示。

abce6ea61c57109af602dcb63ac56fb1.png

3f33f5360621839b8f434490fd29edcb.png

4a8fc6677e66aa2b10536923ba04c5e0.png

repeat循环

在Graphical ROBOTC语言中,repeat循环体是一种按照次数重复的当型循环结构,流程图如下图所示。

abce6ea61c57109af602dcb63ac56fb1.png

使用时,需要在repeat的括号内填写需要循环的次数值,例如设置repeat(6),表示程序循环六次后终止循环。使用方式为在函数窗口中的Program

Flow列表下找到repeat,拖拽至文件编辑窗口,然后拖拽需要循环的内容模块放置在repeat后的{}中。

示例程序:

机器人向前运动一段距离再左转一个角度,重复动作3次后程序结束。

要求重复动作3次,要用到repeat模块,在Program

Flow列表中找到repeat模块,拖拽至文件编辑窗口。在方框中填写数字3,表示循环3次。在Simple

Behaviors列表中找到forward模块,拖拽至repeat模块内,再拖拽turnLeft模块至repeat模块内,完成前进程序及左转程序。完整程序如下图所示:

60d9918dc368b3721fee5b4fc7f6fee3.png

repeat(forever)无限循环

在Graphical

ROBOTC语言中,repeat(forever)循环体类似于repeat循环体,是一种无限重复的当型循环结构,其循环条件永远为真,因此repeat(forever)循环体无法自主终止循环。

repeat(forever)循环体主要用在三个方面:1、正常程序里,用来执行重复循环的内容,用来重复检测传感器数值的变化,例如第三章中超声波的示例程序;2、在总程序的后面加上repeat(forever)可以防止程序跑飞,出现程序可能的混乱;3、调试程序时,手工让程序停在一个地方不往下执行,以便于观察机器人数据情况或直观看到程序运行的结果,在调试程序时repeat(forever)非常有用。

repeat(forever)的使用在之前的章节示例中反复被用到,本节不做示例讲解。repeat(forever)模块如下图所示:

b7c418d0a16263cee0d23f094cedfdcb.png

repeatUntil条件循环

在Graphical

ROBOTC语言中,repeatUntil循环体是一种按照判断条件结果进行重复的当型循环结构,repeatUntil循环体重复循环,不断地执行其括号内的代码,当指定的循环条件为真终止循环。流程图如下图所示。

425d7fb9f0ea8e39ad5df8fbcefbea3b.png

使用时,需要在repeatUntil的括号内填写循环终止的条件,表示当条件满足时终止循环。使用方式为在函数窗口中的Program

Flow列表下找到repeatUntil,拖拽至文件编辑窗口,然后拖拽需要循环的内容模块放置在repeatUntil后的{}中。

示例程序:

使用repeatUntil 模块重复控制机器人前行一段距离停止等待1秒的动作,直到碰撞传感器撞到障碍物程序结束。

完整的程序如图所示:

5a4a64995c3b9bc89a79652f1dbff05c.png

while循环

在Graphical

ROBOTC语言中,while循环体是一种按照判断条件结果进行重复的当型循环结构,与repeatUntil正好相反,while循环体重复循环,不断地执行其括号内的代码,当指定的循环条件为假时终止循环。流程图如下图所示。

897886c58d1aec3b1b58fae4818e57b6.png

使用时,while与repeatUntil用法相同,区别在于while循环需要在括号内填写循环的条件,表示当条件满足时继续循环,不满足时循环终止。

while的使用方式为在函数窗口中的Program

Flow列表下找到while,拖拽至文件编辑窗口,然后拖拽需要循环的内容模块放置在while后的{}中。

示例程序:

使用while模块重复控制机器人前行一段距离停止等待1秒的动作,直到碰撞传感器撞到障碍物程序结束。

完整的程序如图所示:

91d6e4e9b3357be66770c9f0dcc24dd0.png

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值