在 Scratch 中编写你的第一个算法

在本系列关于教孩子学习编程的文章中,了解如何开始使用 Scratch。
93 位读者喜欢这篇文章。
A introduction to creating documents in LaTeX

Opensource.com

今年有更多的孩子在家学习,让他们参与独特的学习机会非常重要。课堂看起来与以前大不相同,而且将继续发展。因此,我们教授的课程也应该如此。

在本系列的第一篇文章中,我分享了我的学生是如何教我编程的。在接下来的几周里,我将探讨教育工作者和家长如何利用编程的力量来教给孩子们各种技能。

“但是我对编程一窍不通!”你可能会对着你的电脑大喊。这就是开源代码的魅力之一:每个人都是学习者,每个人都是老师。无论你是编程新手还是已经从事编程一生,这个过程的一部分就是犯错。这一切都是关于解决问题和学习如何查找信息。教育工作者在编程课堂上拥有的最伟大的工具是这句话:“我不知道;让我们一起找出答案!”

那么,让我们开始吧!

什么是代码?

代码是你让计算机执行你想要它执行的操作的方式。笔记本电脑、智能手机、视频游戏机,甚至洗衣机都使用代码来工作。尽管机器学习和人工智能取得了进步,但仍然需要有人编写代码。

程序员(也称为编码员)是编写代码的人。但是,代码究竟是什么?程序员在创建软件或微调硬件时究竟在编写什么?

代码由算法组成:高度结构化和有序的指令列表,很像食谱。由于计算机实际上并不聪明,因此这些指令以代码编写,必须对其进行解析和编译并转换为机器语言。只有这样,计算机才能执行程序员指示的操作。关键是学习代码的语法,以便你可以按要求的顺序编写单词,以便计算机可以破译和处理它们。

什么是 Scratch?

Scratch 是孩子们学习编程的绝佳平台。它是一种专为 8 岁及以上儿童设计的可视化编程语言。它使用拖放模块,这些模块可以拼接在一起以创建动画、测验和视频游戏。传统的编码需要大量的输入,并且不能出现任何拼写错误,而 Scratch 的可视化特性使年轻的作家可以轻松地学习编码,而不会因拼写错误而陷入困境。

然而,Scratch 不仅仅是关于编码。它还通过授权用户共享和混音项目来鼓励开放的在线社区。还有一个离线版本,可用于互联网连接有限的教室和家庭。

学习术语

即使孩子以前使用过 Scratch,本课程对于确保他们理解编码术语和逻辑也很重要。

使用 Scratch,你可以使用拼接在一起形成脚本的代码块来创建视频游戏。脚本是指令的有序列表,就像食谱一样。“脚本”的另一个词是算法

角色是游戏中的角色或对象。舞台是游戏的背景。脚本可用于控制角色和舞台。

每个脚本都以一个特殊的代码块开始,称为事件帽子。这些模块具有圆形的顶部。事件帽子等待某些事情发生,然后再运行其下的所有代码块。

Scratch 完全按照脚本执行,因此你在告诉它做什么时必须具体。

开始编码

尝试以下挑战,开始你的编码之旅。

挑战 #1:创建一个简单的算法,当你按下向右箭头键时,角色向右移动。

你的算法是否按预期工作?当按下向右箭头时,你的角色是否向右移动?你是怎么做到的?

在编码时,通常有多种解决问题的方法。以下是你可能使用过的两种最常见的方法,用于在按下向右箭头时移动角色

Possibility One: When right arrow pressed, move 10 steps . Possibility Two: When right arrow pressed, change x by 10.

opensource.com

让我们进行实验。

  • 如果你更改数字会发生什么?
  • 当你的角色到达屏幕边缘时会发生什么?
  • 哪个运动代码块可以防止角色在到达边缘时消失?

现在会发生什么?你如何解决它?

要阻止角色在撞到边缘后上下翻转:选择角色并单击方向。选择左右图标或不旋转图标。

代码中的错误,例如此错误,称为 bug。Bug 是编码的正常组成部分。

修复代码称为 debugging(调试)。

再次测试你的游戏。你是否注意到更多 bug?

  • 如果你的角色从屏幕右侧弹回,则你已准备好迎接下一个挑战。
  • 如果当你的角色碰到屏幕右侧时,它在你按下向右箭头时开始向左移动,请向算法添加一个代码块。

挑战 #2:使角色在你按下向左箭头时向左移动。

你拥有完成此挑战所需的所有技能和知识!你将如何完成它?

单击此处查看我的解决方案.

如果你正在使用屏幕阅读器,或者你更喜欢文本,请选择此剧透文本以显示答案

可能性一: 当按下向右箭头时,指向方向 90,移动 15 步,如果碰到边缘,则反弹

当按下向左箭头时,指向方向 -90,移动 15 步,如果碰到边缘,则反弹

可能性二: 当按下向右箭头时,将 x 更改 15,如果碰到边缘,则反弹

当按下向左箭头时,将 x 更改 -15,如果碰到边缘,则反弹

当你对所制作的内容感到满意时,请命名并保存你的项目。不要选择“另存为”或“保存副本”,因为这将创建重复的项目。只需单击保存立即保存

恭喜你,你已经创建了你的前两个算法!

不要止步于此

编码就是不断尝试和迭代,直到获得所需的结果。这是我喜欢将其作为教学工具的众多原因之一。不要仅仅停留在本入门课程上。

提出一个问题,并尝试使用 Scratch 解决它。例如,你能制作一个游戏,让 Scratch 猫找到一个物体并“吃掉”它吗?浏览可用的模块并制定计划,然后构建脚本。

最重要的是,不要放弃,记住,没有错误的答案!这一切都是关于创造力、创新和乐趣。

接下来阅读什么
User profile image.
Jess Weichler 是一位数字艺术家,使用开源软件和硬件在 CyanideCupcake.com 上创作数字和物理世界的作品。

8 条评论

真的,Scratch 是在这个科技时代教孩子们学习编程的理想工具。所有材料都是免费的,并且有许多资源可以帮助教师将编码与他们的课程相结合。我喜欢它。

对于绝对的初学者来说,这是一个很棒的介绍 - 介绍基本术语,深入研究问题解决和实验。我的女儿小时候很喜欢 Scratch。查看他人项目的代码并制作自己的变体(混音)的能力非常酷。

很高兴听到这个消息。你的女儿还在编程吗?如果是,她现在用什么编程?

回复 作者 Buurmas (未验证)

很棒的文章,我会和我的女儿分享这篇文章。谢谢!

想象一下,如果我的小儿子多年前坐在 Apple IIgs 的键盘前拥有这个工具,今天会在哪里。;-) 认真地说,这是我见过的最好的入门介绍,在几年前,这还是一个非常令人生畏的话题。让我鼓励你将这些适合研讨会的文章作为你写作的常规特色。

啊,][gs,我也有一个 ][c ... 美好时光!
那些日子没有 scratch。我很幸运我的学校碰巧有一本 6502 汇编器书,我可以用它来使我的 ][c 从 basic 中崩溃,并手动输入汇编操作码以获得一些真正的乐趣。

那时确实有一个合理的 Logo,也很有趣。

回复 作者 edkenlon

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© 2025 open-source.net.cn. All rights reserved.