网站大量收购闲置独家精品文档,联系QQ:2885784924

用Alice学编程第4节课.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 第4讲: 程序中的控制语句、Alice内建的函数和表达式 组成程序的代码 一个程序由各种类型的代码片段组成,如前面所学的顺序执行和同步执行语句,简单的指令(如向前移动1米)等等。 设计一个程序就是学习如何组织这些代码 组成一个程序的代码片段有4种 一般指令 控制语句 函数 表达式 一般指令 在Alice中,一般指令就是一个物体的方法(method). 如: snowman turn to face snowwoman spiderRobot move up 0.5 meters 控制语句 控制语句的作用是告诉计算机一般指令应该如何被执行,如顺序执行和同步执行。 如: Do in order Do together 函数 一个函数用来计算得到一个结果(或者一个数值) 在Alice中, 我们用函数来询问想得到的问题答案 如:询问物体的属性信息 雪人的脸是红色的吗? 如:询问两个物体之间的关系 机器人距离岩石的距离有几米? 如:询问一个状态值 键盘上哪个键被按下了? 函数举例 在上一讲的例子中,我们用眼睛观察并不能知道机器人距离岩石的详细距离 Alice中内建的函数 内建函数的类型 关于和一个物体接近度的函数 关于物体尺寸的函数 关于物体之间空间关系的函数 关于物体位置方位的函数 其它函数 This example illustrates some built-in proximity functions. 函数的返回值 使用函数是为了得到一个问题的答案,这个答案我们称之为函数的返回值。 返回值的类型和函数有关: 如问题是:机器人距离岩石有多远?该问题的答案是一个数值; 如问题是:机器人的名字是什么?该问题的答案则是一个字符串。 示例 FirstEncounterDistanceFunction 该例子中演示的概念: Alice中内建的 distance to 函数的作用是:得到两个物体之间的距离,这个距离是以连接两个中心点的线段长度来衡量的。 函数不是一个独立的指令,它总是嵌套在指令中来使用的。 其它例子:mummyDistanceFunction 值的类型 除了数值可以作为函数的返回值外,还有以下值的类型: Boolean true, false String Oh, Yeah!“ Object snowman, helicopter Position in the world (10, 5, 2) – 物体在3D场景中的位置 碰撞问题 在刚才的例子中,机器人会和岩石碰撞. 原因:移动的距离太大(因为这个距离是以两者的中心连线来衡量的). 一个解决的办法是将这个距离适当缩短,即再减去一个数值。 表达式 表达式是一个数学或者逻辑操作的短语,如x+5-7,ab 等 Alice 提供了基本的加减乘除数学操作 : addition : + subtraction : ? multiplication: * division: / 示例 FirstEncounterExpression_V1 该例子中说明的概念: 数学表达式也是嵌套在指令中的。 Alice目前提供的数学表达式有 +, -, *, / 其它例子: mummyExpression_V1 示例 FirstEncounterExpression_V2 上一步中减去2米是一个我们任意给的数值。 更精确的做法是减去岩石宽度的一半。 该步骤的结果是一个比较复杂的表达式:两个函数的返回值之差。 其它例子: mummyExpression_V2 控制语句 除了 Do in order 和 Do together 控制语句之外,还有以下两种控制语句: 条件执行语句(conditional execution) 循环语句(repetition) 条件执行语句 当某个条件满足时,执行一个代码块,否则执行另外一个代码块。 如:当木乃伊比法老高 时,木乃伊向左转一圈, 否则法老向左转一圈。 If/Else 语句 在 Alice中用 If/Else 控制语句来检查一个条件是否满足。 示例 mummyIfElse 该例子说明的概念: 条件是由一个布尔( Boolean )函数完成的,布尔函数返回一个布尔值( true 或者false )。 Do nothing意思是什么都不做,继续执行下一条语句。 关系操作表达式 一个物体内建的布尔函数很有限,如没有一个函数用来表达木乃伊的身高是否大于2米。这可以用world节点中的关系操作表达式来实现。如下图所示: 示例 mummyRelationalOps 该例子中说明的概念: 关系操作表达

文档评论(0)

advs728 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档