[日] 平山尚《我的第一本编程书》

[日] 平山尚《我的第一本编程书》

作者:[日] 平山尚

出版社:人民邮电出版社

出版年:2016-7

评分:7.3

ISBN:9787115426871

所属分类:网络科技

书刊介绍

内容简介

写这本书之前,作者一直在摸索一种最有利于入门者学编程的方法,并应用到教学当中。经过两年的教学实践,他确信他的方法是有效的,于是便有了这本书。这本书面向的是完全没有接触过编程的读者。作者将门槛设置得非常低,读者不需要懂得变量、函数这些名词(这些名词在书中也不会出现),不需要会英语,完全不需要查阅其他书籍,只需要小学算术水平即可。这本书给初学者非常平缓的学习曲线,有利于为之后的进阶学习打下坚实的基础。

作品目录

第1章 编写程序之前1

1.1 想要做出“那个游戏”应该怎么办2

1.1.1 做那个游戏时需要什么编程技术2

1.1.2 那个游戏到底是什么3

1.1.3 程序是什么8

1.1.4 这个奇妙的文章到底是什么9

1.1.5 你的目标有多高10

1.2 从哪儿开始着手14

1.2.1 编程语言的学习方法15

1.2.2 从哪里开始编程15

1.2.3 找出易于着手的要素16

1.3 本章想传达的内容16

第2章 接触存储区~绘制方块~17

2.1 运行写下的程序17

2.2 绘制方块21

2.2.1 绘制方块的最基本规则21

2.2.2 这一行代码究竟是什么意思22

2.2.3 存储区是什么24

2.2.4 操纵存储区后为什么会出现白点27

2.2.5 计算机是怎样的设备27

2.2.6 画面中的点和几号存储区相关联29

2.2.7 存储区中保存的数值与颜色的关系33

2.3 在指定位置绘制方块35

2.3.1 在画面正中央画红色方块35

2.3.2 加1减1真是麻烦39

2.3.3 为何从0开始41

2.3.4 这样就可以绘制那个游戏的画面了吗45

2.4 本章想传达的内容46

第3章 循环~让程序变短~49

3.1 减少行数50

3.1.1 在1行中操纵多个存储区51

3.1.2 为什么是循环52

3.2 循环的使用方法53

3.2.1 循环的语法53

3.2.2 什么可以用于绘制方块54

3.2.3 不固定数字55

3.2.4 运行1次后就结束57

3.2.5 运行2次后就结束58

3.2.6 想让程序运行16次后结束应该怎么做61

3.2.7 循环任意次数的方法62

3.2.8 怎么实现每次循环时对不同像素进行涂色62

3.3 使用循环绘制方块66

3.3.1 然而事情并没有那么简单67

3.3.2 怎么对循环使用循环69

3.3.3 这个程序的问题在哪里71

3.3.4 在脑中运行72

3.3.5 从结果出发进行思考74

3.3.6 程序不按预期运行时应该怎么办79

3.3.7 使用循环的价值在哪里80

3.3.8 要在画面中央绘制方块该怎么办81

3.4 本章想传达的内容83

第4章 程序的变形~绘制大量的方块~85

4.1 使用循环绘制墙壁86

4.1.1 循环绘制方块86

4.1.2 绘制20个88

4.1.3 照此绘制出右侧和下方的墙壁91

4.1.4 注释95

4.2 还想继续缩短97

4.2.1 将循环合并98

4.2.2 已经到头了吗102

4.2.3 能不能把底部也合并进来103

4.2.4 这就是容易理解的程序吗108

4.3 本章想传达的内容109

第5章 将程序分离~更轻松地绘制大量的方块~111

5.1 除循环以外,能重复使用同一行的方法112

5.1.1 使用引用会怎么样112

5.1.2 引用的易理解性115

5.2 Sunaba中的“引用”117

5.2.1 关于运行119

5.2.2 如何有效利用局部程序120

5.2.3 每次引用时对不同的点进行涂色120

5.3 使用局部程序绘制墙壁和底部121

5.3.1 使用局部程序绘制左右两侧的墙壁123

5.3.2 局部程序的价值在哪里128

5.4 改得更易懂些130

5.4.1 注释的必要性131

5.4.2 注意“特殊的数字”132

5.5 本章想传达的内容138

第6章 会动的程序~让方块下落~141

6.1 接下来该做什么142

6.2 使方块下落143

6.2.1 试着让点下落144

6.2.2 让方块下落146

6.2.3 修正错误150

6.2.4 修正问题155

6.3 绘制得更快158

6.3.1 如何关闭调控功能159

6.3.2 调控是什么160

6.3.3 寄信162

6.4 将目前的成果组合在一起164

6.4.1 首先是简单地拼在一起164

6.4.2 绘制墙壁和底部167

6.4.3 关闭调控168

6.4.4 将下落的方块移到中间169

6.5 本章想传达的内容170

第7章 为存储区起名~更多中文~173

7.1 现在的程序有什么问题174

7.1.1 需要什么样的工具176

7.1.2 不用自己编号178

7.2 在Sunaba中为存储区取名181

7.2.1 先试用一下182

7.2.2 不需要考虑存储区编号183

7.3 命名存储区的规则185

7.3.1 什么时候生成的命名存储区185

7.3.2 命名存储区只作用于其所在的局部程序186

7.3.3 从循环的外部无法看到189

7.4 本章想传达的内容190

第8章 可以操作的程序~操作方块~191

8.1 操作是怎么一回事192

8.1.1 对键盘做出响应192

8.1.2 程序是这样了解到外部的内容的193

8.2 实现可以操作196

8.2.1 来不及按按键,就算按下也看不出来196

8.2.2 在程序运行中按下按键198

8.2.3 移动点200

8.2.4 关闭调控201

8.2.5 向其他方向移动201

8.2.6 移动方块203

8.3 避免过快地移动205

8.3.1 先从小处着眼205

8.3.2 “不能持续移动”代表什么意思206

8.3.3 怎么知道“上次没有按下”207

8.3.4 查看完白板后决定做什么209

8.3.5 想到式子211

8.3.6 上下左右移动214

8.3.7 回到方块216

8.4 移动下落中的方块217

8.4.1 绘制两壁和底部,完成现在可以进行的改造218

8.4.2 使方块下落220

8.5 本章想传达的内容220

第9章 “计算”本来的意思~缓慢下落~223

9.1 什么是缓慢下落224

9.1.1 不会每次都发生移动的程序225

9.1.2 之前移动了的话这次不移动226

9.1.3 使用除法228

9.1.4 另一个方法230

9.2 有条件运行231

9.2.1 有选择地运行某一行231

9.2.2 仅循环1次就停止233

9.2.3 有条件运行是否有用235

9.3 Sunaba中的有条件运行237

9.3.1 之前的例子会变成什么样237

9.3.2 缓慢画线238

9.3.3 将目前的成果组合起来240

9.3.4 整理针对持续按下的对策242

9.4 计算的本质245

9.4.1 什么是条件表达式成立245

9.4.2 “<”到底是什么?247

9.4.3 Sunaba 的计算符号248

9.4.4 那么使用一下249

9.4.5 尝试使用251

9.5 本章想传达的内容254

第10章 批量使用存储区~堆积方块~257

10.1 碰撞是什么意思258

10.1.1 碰撞到底部是什么意思258

10.1.2 试着碰撞墙壁263

10.1.3 思考接下来会发生的事情266

10.2 批量使用存储区267

10.2.1 将问题转换268

10.2.2 按照堆积顺序记忆269

10.2.3 记住所有格子的状态272

10.2.4 比较两种方法275

10.3 堆积277

10.3.1 整理一下具体做法277

10.3.2 出发点278

10.3.3 碰撞到底部后,就堆积到那里279

10.3.4 让新的方块出现280

10.3.5 在底部以外也堆积起来283

10.3.6 想要改得更短286

10.3.7 重新引入墙壁和左右移动的内容289

10.3.8 对程序进行整理292

10.3.9 “使之堆积”的局部程序295

10.3.10 下落速度和长按时的对策297

10.4 本章想传达的内容300

第11章 为存储区起名进阶版~消除横行~303

11.1 首先单单考虑消除304

11.1.1 大致顺序304

11.1.2 消除程序305

11.1.3 进行组合310

11.1.4 更轻松地进行确认312

11.1.5 确认是否无法下落314

11.2 对程序加以改良315

11.2.1 指定编号的存储区不能起名315

11.2.2 在局部程序中使用局部程序时318

11.2.3 为局部程序传递信息的新方法320

11.2.4 使用“输入”323

11.2.5 引入“输入”后问题是否得以解决325

11.2.6 在整个程序中使用输入327

11.3 落下330

11.3.1 最简单的例子330

11.3.2 写成程序332

11.3.3 上方堆积有大量方块时的情况335

11.3.4 让上方堆积着的方块全部下落337

11.3.5 另一种做法340

11.3.6 哪一个更好些342

11.4 本章想传达的内容343

第12章 将所有内容组合起来~旋转方块~345

12.1 增加为2个347

12.1.1 降落中的方块是怎样表示出来的呢347

12.1.2 绘制出2个红色方块的单纯方法348

12.2 旋转是怎么回事352

12.2.1 忘掉旋转以外的内容352

12.2.2 从结果开始思考354

12.2.3 旋转共分4种356

12.2.4 更聪明的写法359

12.3 添加旋转之前362

12.3.1 回想起2个方块并排排列的程序362

12.3.2 将程序整理得小一些364

12.3.3 重新考虑查看能否正常运行的方法367

12.3.4 其他做法369

12.3.5 停止保存2个格子的位置375

12.3.6 充分利用局部程序377

12.3.7 局部程序的输出379

12.3.8 已经整理得差不多了吧380

12.4 添加旋转功能382

12.4.1 添加旋转后会发生的变化382

12.4.2 大致写出来384

12.4.3 追加输入的局部程序386

12.4.4 计算格子的位置388

12.4.5 真正进行旋转389

12.5 可以正常运行吗392

12.5.1 果然有问题392

12.5.2 应该是怎样的问题394

12.5.3 修正395

12.6 本章想传达的内容400

第13章 “表格”这个思考方式~完成游戏~403

13.1 3 个3个下落403

13.1.1 在程序中,2和3的不同之处404

13.1.2 3个格子的连接方式并非只有1种406

13.1.3 编写程序408

13.1.4 绘制出2 种形状409

13.1.5 加入旋转413

13.1.6 “表格”这个思考方式415

13.1.7 事先做出表格420

13.2 4 个4个下落422

13.2.1 3格与4格有什么不同422

13.2.2 变成4格后会有多少种类425

13.2.3 确定基准格子和旋转前的形状427

13.2.4 编写程序428

13.2.5 到此为止合适吗431

13.2.6 为了省事432

13.2.7 那个表格中记录着怎样的内容433

13.2.8 缩减有关旋转的表格434

13.2.9 进一步缩减有关旋转的表格438

13.3 本章想传达的内容445

第14章 走出沙地~一个开端的结束~447

14.1 目前为止使用过的思考方式447

14.1.1 从结果出发进行思考448

14.1.2 提问的方法448

14.1.3 目标和手段450

14.1.4 准备多个选项451

14.1.5 总结452

14.2 为了更进一步452

14.2.1 再多玩一会儿Sunaba453

14.2.2 转向实用语言454

14.3 实用语言的难点455

14.3.1 想要进入能够使用的状态很麻烦455

14.3.2 运行的工序455

14.3.3 语法复杂456

14.3.4 要绘制图形或发出声音并不容易456

14.3.5 面向对象程序设计457

14.3.6 需要英语能力458

14.3.7 看不到存储区459

14.3.8 推荐JavaScript460

结语463

相关推荐

微信二维码