Skip to main content

教师工具箱图标 教师工具箱 - 介绍代码效率

现在,学生已经练习编写代码序列来完成特定任务,他们将被要求应用这些技能来阅读代码序列并对其进行评估。 在本活动中,学生将获得一张与“玩”部分类似的地图,并被要求查看 3 个代码序列以选择首选解决方案。 对于每个序列,学生将回答 3 个问题:

  • 这段代码能完成任务吗?

  • 如果可行,这段代码相对于其他代码有什么优势?

  • 与其他代码相比,此代码有哪些缺点?

然后,通过查看所有序列,将向学生介绍代码效率的概念,并询问他们基于效率和自己的偏好的首选解决方案是什么,并解释原因。 这可以成为全班讨论编码效率和准确性的跳板。

阅读代码序列以选择首选解决方案

当你的班级学习“游戏”部分时,你可能注意到对于所提出的同一问题有许多不同的解决方案。 这是编程世界中经常发生的事情。 虽然做某事可能有不同的方法,但每个人都会有一个首选的方法或解决方案,这可能基于多种因素。 在此活动中,您的小组将研究问题的 3 种可能的代码块解决方案,弄清楚它们是否以预期的方式工作,然后从小组中选择一个首选解决方案并解释您选择它的原因。

问题: 创建一个序列,当机器人从起点开始时,将进出所有 3 个教室(以任意顺序)并返回终点。 机器人必须绕楼梯导航,并且可以穿过地图图像上小矩形标记的门口。

  • 对于以下每个解决方案,请在工程笔记本中回答以下 3 个问题:

    • 这段代码能完成任务吗? 为什么或者为什么不?

    • 如果它确实有效,那么这段代码相对于其他代码有什么优势?

    • 与其他代码相比,此代码有哪些缺点?

  • 大多数时候,编程是根据其效率来评估的,首选的解决方案是以最有效的方式实现目标的解决方案。

单击下面的解决方案可查看更大的图像。

解决方案A(英寸)
溶液 A(英寸)

解决方案 B(英寸)
溶液 B(英寸)
解决方案 C(英寸)
溶液 C(英寸)
解决方案 A(公制)
溶液 A(公制)
解决方案 A(公制)
溶液 B(公制)
解决方案 C(公制)
溶液 C(公制)

什么是代码效率?

如果您需要从厨房拿 3 件东西,您可能会一次去拿所有 3 件东西,而不是分 3 次单独去拿。 为什么? 因为这样效率会更高。 高效意味着“以最少的浪费精力或费用实现最大的生产力”。 那么这与编程有何联系呢?

代码效率意味着编写的程序可以运行良好且快速,使用最少的工作量或步骤,正确地完成其工作。 它很重要,因为它降低了程序无法正常运行的风险,进而导致围绕该程序运行的程序的其他部分出现问题。 代码的效率可以作为质量的衡量标准,当我们在 VEXcode IQ 块中编写项目时,我们经常寻找最“高效”的项目作为首选解决方案。

基本上,代码效率是一个原则,意味着您希望编写能够使用尽可能少的命令或块来实现目标的代码。

在您的工程笔记本中,回答以下问题:

  • 考虑到代码效率,您首选哪种解决方案?为什么?

  • 您认为这是最好的解决方案吗?为什么或为什么不是?

教师工具箱图标 教师工具箱 - 答案

答案可能会有所不同,因为上面没有给出创建围绕三个房间导航的序列的具体尺寸。
单击此处  查看可能的示例解决方案。

激发讨论图标 激发讨论

虽然效率很有用,但我们经常对如何或为何以某种方式做事有其他考虑。 让学生在他们的工程笔记本中分享他们的答案,和/或使用这个问题来讨论效率和行动的平衡。
Q: 在编程中,效率通常是首选方法;你能想到为什么会出现这种情况吗?
A: 答案会有所不同,但其中一些包括:

  • 编辑项目以提高效率可以帮助那些将来可能处理同一项目的人。 例如,如果您正在开发一个项目,然后几天后,请您的朋友更新该项目并添加更多项目以增加功能,如果该项目是,您的朋友将更容易阅读和使用写得高效。

  • 项目总是容易出错。 项目编写得越高效,出错的可能性就越小。

  • 使用编程来操纵工业机器人的个人依靠这些项目的高效来节省公司的时间、精力和资源。