机器人教程 .pdf
《机器人教程 .pdf》由会员分享,可在线阅读,更多相关《机器人教程 .pdf(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、流程控制模块 If 模块If语句与 if-else语句 if“如果,假如”; else “否则”。在 C语言中, if语句测试一个特定的条件。如果该条件为真(即条件成立),一条或一组指令将被执行;否则,这一条或一组指令将不被执行。 if-else语句测试一个特定的条件。如果该条件为真(即条件成立),执行if所指向的某一条或一组指令;否则,将执行else 语句指向的某一条或一组指令。If模块的使用在 RoboEXP中,我们使用If模块来实现C语言中的if和 if-else语句。 If模块图标由If图标和 Endif图标组成。只要把 If模块拖动到编程区,编程区中就会自动出现If图标和 EndIf
2、图标。使用 If模块实现C语言中的if语句,只需通过若干线和模块图标把If图标的右边与EndIf图标的左边连接起来就行了。举一个简单的例子:如果测试的条件为真(即条件成立),执行 Calculate模块对应的指令;否则不执行Calculate模块对应的指令。编程区如下图:使用 If模块实现C语言中的if-else语句,只需在上述基础上把If图标与 EndIf图标名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 47 页 - - - - - - - - - 的下边连接起来就行
3、了。举一个简单的例子: 如果测试的条件为真 (即条件成立) , 执行 Calculate模块对应累加1 的指令;否则执行Calculate模块对应累加2 指令。编程区如下图:与 C 语言的 if和 if-else语句相似, If模块所测试的特定条件是一个逻辑运算或比较运算的表达式(条件表达式),其运算结果只有真和假两种。与C 语言一样,在RoboEXP中用 1 表示真,0 表示假。If模块的运算符: If模块中用到的运算符有比较运算符和逻辑运算符。在 RoboEXP中,用到的算术运算符有五种:+、- 、*、/ 、% ,用到的比较运算符有六种:、=、=、!= ,用到的逻辑运算符有两种:逻辑与&、
4、逻辑或 | 。这些运算符的使用与C语言相同,详情如下表:运算结果X + Y计算 X和 Y的和X -Y计算 X和 Y的差X * Y计算 X和 Y的积X / Y计算 X和 Y的商名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 47 页 - - - - - - - - - X % Y计算 X除以 Y的余数X Y如果 X小于 Y,则为真,否则为假X = Y如果 X大于或等于Y,则为真,否则为假X Y如果 X大于 Y,则为真,否则为假X = Y如果 X等于 Y,则为真,否则为假X
5、!= Y如果 X不等于 Y,则为真,否则为假X & Y如果 X和 Y均为真,则为真,否则为假X | Y如果 X或 Y为真,则为真,否则为假注:如果两个数都是整数,那么“/ ”表示的是整除的意思,即只保留运算结果的整数部分而舍弃小数部分。例如21/6 的结果不是3.5 而是 3。取模运算符“% ”用于计算两个数相除后得到的余数,它只适用于两个整数之间的计算。例如 21%6的结果是3,21 7 的结果是0。If模块的设置当 If模块的条件表达式为空时,默认测试的条件是1(即默认为真)即必定执行if后模块。要修改 If模块的测试条件,双击 If图标, 在属性对话框中显示if模块属性, 或点击 “视图
6、”“属性窗口”,进入如下对话框:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 47 页 - - - - - - - - - 条件表达式编辑框条件表达式由运算符和变量组成,它们可以直接输入,也可以点击窗口中的运算符、选择变量进行输入,检验表达式的语法正误。条件表达式编辑框中输入表达式的同时,在图形窗口区域内直接出现该表达式。变量选择窗口该窗口下拉菜单的变量为已经定义过的局部变量或全局变量,表达式中的变量必须是已经定义过的变量。提示窗口提示窗口中输入的信息,并不会在If图标
7、中直接显示出来,而是当鼠标移动到If图标时,显示该提示信息。注意: 当在条件表达式编辑框中输入未被定义过的变量时,用检验表达式的语法正误不会检查出错误,但编译时无法编译成功,因为该变量没有定义过。If模块应用实例用 If模块编辑一个实际的例子程序。该程序是判断一变量j 值是否等于0,如果 i 增加名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 47 页 - - - - - - - - - 10,否则 i 减少 10。程序的编辑步骤如下:1) 新建图形化应用程序;2) 各拖
8、动一个If模块、两个calculate模块到编程区,然后按下图连线:3) 参阅定义变量的章节,定义一个unsigned char 类型的变量i 、 j 并设置 calculate模块信息 ,详参照 calculate模块设置;4) 设置 If模块。双击 If图标,在右侧属性栏设置属性。在条件表达式窗口中直接输入j 0,提示窗口中输入相关提示信息,便于程序理解;5) 这样,程序就完成了;如图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 47 页 - - - - -
9、- - - - 6) 参阅编译的章节,编译该程序,并保存。流程控制模块 While 模块在某些情况下,我们可能需要反复处理一组事件。为了反复处理这一组事件,我们可能需要重复地编写一组相同的代码。但是, 这样的工作既烦琐又辛苦,而且编写的代码难以维护和修改。 为了减少这种重复性的操作,程序设计语言提供了循环语句,它允许程序重复执行某一组指令。While 语句 while“当 , 的时候”。 C 语言提供while语句来重复执行某一组指令。在 C语言中, while语句测试某个特定条件,若特定条件为真(条件成立),程序就重复执行while循环体内的指令,直到特定条件为假(条件不成立)时才退出循环。
10、在执行循环体内指令的过程中,如果无法导致特定条件变为假,那么程序将无法从循环中退出。这就是通常所说的“死循环”。巧妙地利用“死循环”,能够达到一些特殊的效果。While 模块的使用在 RoboEXP中,我们使用While 模块来实现C语言中 while语句。 While 模块的图标是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 47 页 - - - - - - - - - 由 While 图标和 EndWhile图标组成。只要把 While 模块拖动到编程区,编程区中就
11、会自动出现While 图标和 EndWhile 图标。使用 While 模块实现C语言中的while语句,只需通过若干线和模块图标把While 图标的右边与EndWhile 图标的左边连接起来就行了。举一个简单的例子:如果测试的条件为真(即条件成立),默认情况下,while条件衡为真,循环执行test test+1 ,直到条件变为假(即条件不成立)才退出循环,该程序为死循环。编程区如下图:与 C语言的 while语句相似, While 模块所测试的特定条件是一个逻辑运算或比较运算的表达式(条件表达式),其运算结果只有真和假两种。与C语言一样,在RoboEXP中用 1 表示真, 0 表示假。Wh
12、ile 模块的运算符 While模块中用到的运算符有比较运算符和逻辑运算符。具体说明请参阅If模块。While 模块的设置当 While 模块的条件表达式为空时,默认测试的条件是1(即默认为真)。要修改 While模块的测试条件时,您只需双击While 图标,然后在弹出的对话框中编辑条件表达式。 While模块的设置与If模块的设置相似。While 模块的应用示例在这里,我们将会用While 模块编辑一个实际的应用函数。该程序是一变量test ,初始值为 0,每次加5 递增,如果test的值大于100 则退出。程序的编辑步骤如下:名师资料总结 - - -精品资料欢迎下载 - - - - - -
13、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 47 页 - - - - - - - - - 1) 新建一个图形化应用程序。2) 拖动一个While 模块、一个Calculate模块图标到编程区,然后按下图连线:3) 参阅定义变量的章节,定义一个unsigned char类型的变量test 。4) 对 Calculate模块图标设置,与If模块的设置相似,如下图:5) 设置 While 模块。双击 While 图标,载右侧出现属性对话框。先在变量选择框选中变量test ,然后在比较选择框选中运算符=,接着在操作数输入框中输入100 并
14、按回车键( Enter ),如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 47 页 - - - - - - - - - 6) 参阅编译的章节,编译该程序,并保存。流程控制模块 For 模块For 语句 c 语言中的for 语句使用与while语句相似,都表示循环,它不仅可以用于循环次数已经确定的情况,而且还可以用于循环次数不确定而只给出循环结束条件的情况。但是在RoboEXP中, for语句只用于循环次数已经确定的情况,这点与c 语言稍有不同。当给定循环次数时,
15、每执行一次for语句所包含的指令,循环次数减少一次,直到循环次数为 0 为止。For 模块的使用在 RobotEXP 中,使用For 模块来实现c 语言中的for语句 ,For 模块的图标由和图标组成。只要把 For 模块拖动到编程区,编程区中就会自动出现For 模块图标。使用For 模块实名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 47 页 - - - - - - - - - 现 c 语言中 For 语句,只需通过若干线和模块图标把For 图标和其他图标连接起来。F
16、or 模块的设置单击 For 模块图标, for模块的属性出现在属性对话框中。“提示”可输入对该for循环的提示信息,点击最右侧图标,进入如图对话框设置提示信息,例:当鼠标移到for模块图标上时,自动显示该提示信息;“循环次数”输入该循环的循环次数,输入一个正整数。For 模块应用实例对变量 var0 累加 10 次,循环满10 次时退出。步骤如下:1)新建一个图形化应用程序;2)拖动一for模块、 Calculate模块到编程区,并如图连接起来;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -
17、- - 第 10 页,共 47 页 - - - - - - - - - 3)定义一个int类型的局部变量var0, 并赋初值1;4)设置 For 模块,输入提示信息和循环次数10;5)设置 Calculate模块,参考Calculate模块设置;6)编译该程序,并保存。流程控制模块 Calculate模块 calculate“计算”。算术表达式与赋值表达式由参与运算的数据和算术运算符按一定语法形式组成的符号序列,就是算术表达式。用圆括号括住的算术表达式仍是算术表达式。两个或两个以上的表达式可以通过算术运算符和圆括号连接, 组成新的更复杂的算术表达式。算术表达式跟数学上的四则运算十分相似,其求值
18、次序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 47 页 - - - - - - - - - 也相同: 先计算括号内的表达式,再计算括号外的表达式;先乘除、 后加减; 从左到右进行计算。例如:variable 45 a*(b+11)都是合法的算术表达式。程序执行过程中,算术表达式的运算结果有时会是错误的或没有定义的数值。这种特殊情况叫运算异常。这种异常的产生,可能是因为算术运算本身(如除零),也可能是因为计算机的结构(如数据溢出)。将算术表达式的运算结果赋值给某个变
19、量,这样就成了一个赋值表达式。变量的值主要通过赋值运算改变。与数学算式不同,在赋值表达式中,被赋值的变量放在赋值运算符(在C语言中,赋值运算符是“=”)左边,算术表达式放在赋值运算符右边。例如:variable=45 variable= a*(b+11)都是合法的赋值表达式。其中variable= a*(b+11)就是将算术表达式a*(b+11) 的运算结果赋值给变量 variable。Calculate模块的应用在机器人快车中,我们使用Calculate模块来给变量赋值。把 Calculate模块从流程控制库拖动到编程区,然后用线把Calculate图标的左右两边跟其它图标连接起来,如下图:
20、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 47 页 - - - - - - - - - Calculate模块的设置在设置 Calculate模块之前, Calculate模块的算术表达式是空的,它对程序没有任何影响。 只需双击Calculate图标, 在编程区右侧会出现该模块的属性窗口,然后就能在弹出的属性对话框中编辑算术表达式。如下图: Calculate模块的属性对话框与If模块的属性对话框相似。所用的变量必须是已经定义过的变量。Calculate模块的应用
21、示例我们将会用Calculate模块编辑一个实际的例子程序。该程序是:一个变量var0 ,初始值为 0,现在要把var0 变量的值加5。程序的编辑步骤如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 47 页 - - - - - - - - - 1) 新建一个图形化应用程序;2) 拖动一个Calculate模块模块图标到编程区,然后按下图连线:3) 参阅定义变量的章节,定义一个int类型且初始值为0 的整型局部变量var0 ;4) 设置 Calculate模块。双击
22、Calculate图标,编程区右侧出现该模块的属性窗口。在返回变量选择框选中变量var0 。在表达式编辑窗口中输入var0=var0+5 ;5) 编译该程序,并保存。流程控制模块 Continue 模块与 Break 模块Continue语句与 Break 语句跳转语句能够使程序无条件地改变控制权,即在程序间进行控制转移。C语言所提供的跳转语句有continue 、break 和 goto 语句。 这里我们只介绍continue语句和 break 语句, goto语句的使用请参考其它书籍。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
23、- - 名师精心整理 - - - - - - - 第 14 页,共 47 页 - - - - - - - - - continue在中文中是“继续”的意思,break 在中文中是“中断”的意思。 continue语句与 break 语句一般只出现在程序的循环体内,主要出现在循环体内的判断语句中, 用来改变或中止循环体的执行。循环体的知识请参阅While 模块的应用, 判断语句的知识请参阅If模块的应用。如果有多层循环体互相嵌套时,continue语句和 break 语句只影响相对其所在位置最内层的循环体。 continue语句使循环体终止当前进行的这次循环,并将控制权转至对测试条件的计算。co
24、ntinue语句并不终止整个循环的执行,而仅仅终止当前这一次循环的运行。 break语句用于终止循环体的的执行,使程序执行紧接在循环体后面的语句。与 continue语句不同, break 语句将终止整个循环体的执行。Continue模块的使用在机器人快车中,我们使用Continue模块来实现 C语言中的continue语句。 Continue模块一般出现在循环体中,它的使用比较简单,无需做任何的设置就可以直接使用。只需把 Continue模块拖动到编程区,然后用线将Continue图标的左右两边连上其它图标就行了。双击 Continue模块图标,在右侧属性栏就可以看到该模块属性如图:名师资料
25、总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 47 页 - - - - - - - - - 点击最右侧图标,输入该Continue语句的提示信息,当在编程区中鼠标移动到Continue模块是就会出现该信息。举一个 Continue模块的简单例子,编程区如下图:在该例中,第二个Calculate模块将不会被执行,而第一个Calculate模块将与While模块的循环次数相同。在实际应用中,Continue模块一般会被放在循环体中判断语句后面,由判断语句决定是否执行 Contin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人教程 2022 机器人 教程
限制150内