《我的第一本编程书》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(日)平山尚著;张沈宇译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115426871
  • 页数:465 页
图书介绍:本书是编程的入门书,目的在于教会读者编程的基本思路和方法。书中使用专门的工具Sunaba,向读者展示如何从零开始一步步做出一个完整的程序。本书讲解详细、连贯,并采用了大量能与现实生活相结合的例子。特别是在对编程思路的介绍上,作者不惜笔墨,进行了详细的说明。

第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 再多玩一会儿Sunaba 453

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 推荐JavaScript 460

结语 463