技术教育社区
www.teccses.org

Scratch编程从入门到精通

封面

作者:谢声涛

页数:234

出版社:清华大学出版社

出版日期:2017

ISBN:9787302508373

电子书格式:pdf/epub/txt

内容简介

本书是全面讲解图形化编程语言Scratch的编程指南,分为基础编程篇、图形编程篇和进阶编程篇3个部分,系统讲解Scratch基础编程知识和运动、外观、侦测等各功能模块的技术应用,以及常用的数据结构和算法知识,并提供丰富有趣的教学案例和练习题,为青少年提供一本从入门到精通的Scratch编程参考教材。
本书假设读者从未接触过编程,从零基础开始帮助读者逐步建立起Scratch编程的知识体系。本书适合对编程有兴趣的青少年阅读,也适合希望辅导孩子进行编程训练的家长和少儿编程培训机构的教师使用。

作者简介

谢声涛,小海豚科学馆创始人,致力于线下和线上推广青少年科普教育和编程教育。曾在多家互联网公司工作,历任程序员、研发经理、架构师、技术总监等职,熟悉大规模网站架构设计,擅长复杂应用系统开发,在海量数据管理、搜索引擎技术等应用方面有丰富经验。

本书特色

本书融合数学、游戏和算法,从零开始讲授编程概念,帮助初学者掌握编程思想和建立Scratch编程知识体系,为青少年提供一本从入门到精通的Scratch编程参考教材。
(1)数学编程
韩信点兵、鸡兔同笼、冰雹猜想、辗转相除法、卡普雷卡尔黑洞、逻辑推理、成语接龙、约瑟夫环……
(2)游戏编程
海底探险、电子相册、街舞表演、巡线甲虫、反弹球、手势抓蝴蝶、吹生日蜡烛、种蘑菇、乐器演奏……
(3)算法和数据结构
冒泡排序、选择排序、插入排序、快速排序、顺序查找、二分查找、回溯走迷宫、二维数组、队列和栈……

目录

〖1〗Scratch编程从入门到精通第1部分基础编程篇第1章编程起步3

1.1Scratch编程概述3

1.1.1为什么用Scratch编程

3

1.1.2从Scratch到Python5

1.1.3Scratch的主要版本7

1.1.4Scratch项目概述9

1.2准备Scratch开发环境10

1.2.1使用Scratch在线

编辑器10

1.2.2安装Scratch离线

编辑器12

1.2.3设置Scratch编辑器

14

1.3Scratch编辑器界面16

1.3.1舞台区17

1.3.2背景和角色列表区17

1.3.3脚本编辑区18

1.3.4造型和背景编辑区18

1.3.5声音编辑区19

1.3.6菜单栏和工具栏20

1.4Scratch指令系统概述20

1.4.1积木的形状特点20

1.4.2积木的操作方法22

1.4.3积木的功能类别24

1.4.4快速查看积木说明25

1.5临摹案例26

1.5.1数学编程: 韩信点兵

26

1.5.2游戏编程: 星际飞行

30

第2章变量和运算36

2.1说和思考指令36

2.1.1跟我做: 小猫背唐诗

37

2.1.2让角色说话和思考38

2.1.3动手练: 小猫的哲学

思考39

2.2问答指令40

2.2.1跟我做: 简单的人机

对话40

2.2.2询问与回答40

2.2.3动手练: 说出字母数

41

2.3变量42

2.3.1跟我做: 小猫变大

变小42

2.3.2变量显示器43

2.3.3变量的数据类型和操作

43

2.3.4变量的命名和作用域

45

2.3.5动手练: 求两数之和

45

2.4数学运算46

2.4.1跟我做: 鸡兔同笼46

2.4.2算术运算和运算优先级

48

2.4.3数学函数48

2.4.4动手练: 计算大桥长度

49

2.5随机数50

2.5.1跟我做: 小鱼逍遥游

50

2.5.2生成随机数51

2.5.3动手练: 随机投点

画圆52

2.6字符串函数53

2.6.1跟我做: 成语接龙

53

2.6.2字符串处理54

2.6.3动手练: 回文诗55

〖1〗Scratch编程从入门到精通〖1〗目录第3章程序控制57

3.1顺序结构57

3.1.1跟我做: 海伦公式

57

3.1.2流程图59

3.1.3顺序结构的程序设计

59

3.1.4动手练: 计算圆锥体积

60

3.2选择结构61

3.2.1跟我做: 求绝对值

61

3.2.2关系运算和逻辑运算

62

3.2.3选择结构的程序设计

64

3.2.4动手练: 判断三角形

构成65

3.3循环结构66

3.3.1跟我做: 冰雹猜想

67

3.3.2循环结构的程序设计

69

3.3.3动手练: 肖像在哪里

71

第4章列表74

4.1列表显示器74

4.1.1跟我做: 求平均气温

74

4.1.2列表显示器的使用

76

4.1.3动手练: 评委打分

77

4.2列表的操作78

4.2.1跟我做: 银行叫号系统

78

4.2.2列表操作积木79

4.2.3动手练: 约瑟夫环

83

第5章过程85

5.1自定义过程85

5.1.1跟我做: 计算圆的面积

86

5.1.2使用自定义过程87

5.1.3动手练: 判断质数

88

5.2递归的使用89

5.2.1跟我做: 辗转相除法

89

5.2.2递归调用的分析91

5.2.3动手做: 斐波那契数列

93

5.3面向过程编程94

5.3.1跟我做: 卡普雷卡尔

黑洞94

5.3.2模块化程序设计96

5.3.3动手练: 数字黑洞

1和496

第6章调试程序98

6.1程序错误概述98

6.1.1产生程序错误的

原因98

6.1.2减少程序错误的方法

99

6.2程序调试方法100

6.2.1使用数据显示器100

6.2.2输出日志100

6.2.3降低程序运行速度

101

6.2.4设置断点102第2部分图形编程篇第7章舞台107

7.1海底探险1: 游戏场景107

7.1.1游戏情节介绍107

7.1.2制作游戏场景108

7.2舞台布局和管理110

7.2.1舞台布局和显示模式

110

7.2.2舞台背景管理113

7.3动手练: 电子相册117

第8章角色外观和运动119

8.1创建角色119

8.1.1海底探险2: 创建角色

119

8.1.2创建角色的方式122

8.1.3角色列表区122

8.2角色造型123

8.2.1海底探险3: 角色动画

123

8.2.2造型控制124

8.2.3动手练: 街舞表演

125

8.3角色运动126

8.3.1海底探险4: 角色运动

126

8.3.2运动控制130

8.3.3动手练: 飞行猫134

8.4角色特效135

8.4.1海底探险5: 角色特效

135

8.4.2设置角色特效136

8.4.3动手练: 魔术师137

第9章侦测139

9.1距离侦测139

9.1.1海底探险6: 距离侦测

139

9.1.2距离侦测积木140

9.1.3动手练: Pico和小狗

散步140

9.2碰撞侦测142

9.2.1海底探险7: 碰撞侦测

142

9.2.2碰撞侦测积木144

9.2.3动手练: 巡线甲虫

147

9.3键盘和鼠标侦测148

9.3.1海底探险8: 扔炸弹

148

9.3.2键盘和鼠标侦测积木

149

9.3.3动手练: 反弹球150

9.4时间侦测151

9.4.1海底探险9: 游戏

倒计时151

9.4.2时间侦测积木151

9.4.3动手练: 时钟153

9.5视频侦测154

9.5.1跟我做: 人体感应开灯

154

9.5.2视频侦测积木155

9.5.3动手练: 手势抓蝴蝶

157

9.6响度侦测158

9.6.1跟我做: 声控开灯

158

9.6.2响度侦测积木158

9.6.3动手练: 吹生日蜡烛

159

第10章绘图161

10.1海底探险10: 游戏计分

和血条161

10.2画笔164

10.2.1跟我做: 彩虹画板

164

10.2.2画笔积木165

10.2.3动手练: 颜色图谱

167

10.3图章167

10.3.1跟我做: 种蘑菇

167

10.3.2图章积木168

10.3.3动手练: 彩色风车

169

第11章声音171

11.1海底探险11: 游戏音效

171

11.1.1为游戏增加音效

171

11.1.2复制更多角色173

11.2播放声音174

11.3乐器演奏175

11.3.1跟我做: 模拟乐器

175

11.3.2乐器演奏积木177

11.3.3弹奏鼓声积木179

11.3.4动手练: 演奏

《小毛驴》180第3部分进阶编程篇第12章克隆183

12.1海底探险12: 克隆角色

183

12.1.1克隆功能的使用

183

12.1.2用克隆技术改造

游戏185

12.2面向对象编程187

12.2.1用角色模式编程

187

12.2.2用克隆模式编程

188

12.3动手练: 飞扬的小鸟190

第13章消息和事件192

13.1海底探险13: 消息机制

192

13.1.1广播和接收消息

192

13.1.2用消息机制改造

游戏193

13.2消息机制197

13.2.1消息的异步和同步

197

13.2.2消息队列的应用

197

13.3事件驱动编程199

13.3.1事件的并发执行

199

13.3.2避免事件的并发

200

13.4动手练:小熊打车201

第14章英汉词典202

14.1搭建项目框架202

14.2词典排序功能204

14.2.1冒泡排序204

14.2.2选择排序206

14.2.3插入排序207

14.2.4快速排序209

14.2.5词典排序211

14.3词典查询功能212

14.3.1顺序查找213

14.3.2二分查找214

14.3.3词典查询216

14.4新增词条功能216

第15章企鹅走迷宫218

15.1迷宫简介218

15.2迷宫界面219

15.2.1二维数组220

15.2.2迷宫数据结构221

15.2.3加载迷宫地图221

15.2.4构建迷宫外形224

15.3迷宫寻路226

15.3.1算法策略简介226

15.3.2迷宫算法分析228

15.3.3迷宫算法实现230

节选

Scratch是由MIT媒体实验室为青少年开发的图形化编程工具,已被翻译成70 种以上的语言,在超过 150 个国家和地区被广泛使用。就像玩乐高积木一样,使用Scratch编程简单而有趣。只要用鼠标从140多个不同功能的指令积木中选择和拖曳,把不同的指令积木按照某种逻辑关系拼搭在一起,就能得到一个可运行的程序,从而创建出各种交互式故事、动画、游戏、音乐和美术作品等。
Scratch能够与数学、物理、语文等众多学科融合在一起,对青少年的学习有着非常大的帮助。例如,在Scratch中,不仅能接触到基本的算术运算、关系运算和逻辑运算,还能接触到平面直角坐标系、绝对值、平方根、三角函数等初等数学知识。毋庸置疑,游戏总是能够吸引青少年的注意力。用Scratch编写不同类型、不同复杂度的游戏时,需要适当地运用不同的数学知识来设计游戏的算法。例如,通过圆的参数方程来控制角色作圆周运动,通过抛物线方程来模拟炮弹的运动轨迹,等等。在游戏的驱动下,这些数学知识将不再枯燥乏味,将会驱使青少年主动探究这些在游戏程序中发挥关键作用的“秘笈”。通过“玩中学”,能够激发青少年主动学习和运用各个学科的知识。
学习Scratch编程最大的益处就是能够激发青少年的创造力。Scratch简单易用且功能强大,能快速地将青少年的创意落地,变成一个个交互感极强的作品。在动手创作的过程中,根据项目的不同,需要融合Science(科学)、Technology(技术)、Engineering(工程)、Arts(艺术)、Mathematics(数学)等多个领域的知识。例如,对于一个稍复杂的游戏项目,就需要策划、美工、编程等不同角色的人员参与组成一个开发小组,以团队协作方式共同创作项目。可以说,Scratch编程是近年来流行的STEAM教育理念的一个极佳实践方式。
本书分为基础编程篇、图形编程篇和进阶编程篇3个部分。
第1部分讲授Scratch基础编程知识,介绍如何使用Scratch编辑器开发项目,如何使用变量、运算符、列表和过程等进行编程,如何使用流程图描述算法和进行结构化程序设计,等等。该部分提供丰富多彩的趣味数学案例,有韩信点兵、鸡兔同笼、数字黑洞、约瑟夫环、逻辑推理……
第2部分讲授Scratch图形编程知识,介绍如何控制角色在舞台上运动和进行碰撞侦测,如何更改角色的外观和创建各种特效,如何播放声音和模拟乐器演奏,如何使用画笔和图章在舞台上绘制图形和图案,等等。本部分以一个汇集诸多图形编程技术的“海底探险”趣味游戏贯穿各章,还引导读者创作电子相册、巡线甲虫、手势抓蝴蝶、种蘑菇、模拟乐器等趣味小游戏。第3部分讲授Scratch进阶编程知识,介绍如何使用克隆功能和消息机制简化程序开发,如何编写和组织规模较大或功能复杂的应用程序项目,以及面向对象程序设计和事件驱动编程思想等。此外,还通过“英汉词典”和“走迷宫”项目介绍常用算法和数据结构的应用。
本书中的程序基于Scratch 2.0(版本号为v458.0.1)编写,所有范例程序均已调试通过。读者可以关注微信公众号“小海豚科学馆”获取本书的范例程序文件和素材,还可以加入本书的官方QQ群126170677获取学习资源,并可与本书编著者和网友进行在线交流。
本书假设读者从未接触过编程,从零基础开始介绍Scratch编程知识,帮助读者逐步建立起Scratch编程的知识体系,适合对编程有兴趣的青少年阅读,也适合希望辅导孩子进行编程训练的家长和少儿编程培训机构的教师使用。
由于水平所限,本书难免有疏漏或不妥之处,还请读者朋友不吝赐教。

谢声涛
2018年3月

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Scratch编程从入门到精通》
Article link:https://www.teccses.org/937916.html