写这本书之前,作者一直在摸索一种最有利于入门者学编程的方法,并应用到教学当中。经过两年的教学实践,他确信他的方法是有效的,于是便有了这本书。这本书面向的是完全没有接触过编程的读者。作者将门槛设置得非常低,读者不需要懂得变量、函数这些名词(这些名词在书中也不会出现),不需要会英语,完全不需要查阅其他书籍,只需要小学算术水平即可。这本书给初学者非常平缓的学习曲线,有利于为之后的进阶学习打下坚实的基础。
第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
深度学习中的图像分类与对抗技术 本书特色 本书以深度学习中的图像分类和对抗技术为切入点,通过介绍深度学习的基本知识、神经网络模型、图像分类对抗环境和对抗样本评价...
黑客的战争:下一个战争地带 本书特色 美国军事专家和广播电台分析家詹姆斯·F·邓尼根对“网络珍珠港事件”发出了预警信号。尽管与加强我们网络软肋有关的警告不断地发...
《寻找鱼王(经典名作口碑版本)》内容简介:本书是作家张炜具有代表性的一部儿童文学作品,于2015年出版。这部小说贯穿始终的是正
《C++程序设计(第2版)》内容简介:本书是为已有C语言程序设计基础、想进一步学习C++面向对象程序设计的读者编写的。书中用通俗易
《奔跑吧Linux内核(入门篇)》内容简介:本书是一本介绍Linux内核实践的入门书,基于Linux4.0内核,重点讲解Linux内核的理论和实验
现在是IT的时代,工作与生活都离不开IT。许多人都想了解软件原理,甚至编写一些简单的软件。通过《编程ING:人人都能学会程序设计
《张晋张谦集校笺》内容简介:本书为“清代诗人别集丛刊”中的一种,着眼于深度整理清初甘肃著名诗人张晋和张谦的诗集。书稿整理了
《西南联大历史通识课》内容简介:★西南联大博物馆官方认证版 ★1937—2022,西南联大建校85周年纪念 ★大师摇篮,世界教育史上的
《中国之读:“中国文学”的理论和方法》内容简介:本书是作者近些年来从事文学研究所作论文的选编。着眼于文学理论和评论的“中国
可用性设计是Web设计中最重要也是最困难的一项任务。《点石成金》的作者根据自己多年从业的经验,剖析用户的心理,在用户使用的模
构造系统在软件开发过程中处于核心地位,它的正确性和性能,在一定程度上决定了软件开发成果的质量和软件开发过程的效率。本书作
《3ds Max/VRay材质、灯光与渲染实战从入门到精通》内容简介:本书基于3ds Max和VRay,全面介绍在室内效果图制作中遇到的各种常用材
《名院名医孕产育儿全程指导方案:40周幸福怀孕》内容简介:在40周的孕期生活中,孕妈妈的身体会发生怎样的变化?胎宝宝会按照怎样
《持久内存架构与工程实践》内容简介:《持久内存架构与工程实践》以工程实践为导向,详细阐述了持久内存的整体技术节。对硬件和固
《纳兰词集》内容简介:清代词坛中兴,名家辈出,其中以纳兰性德最引人注目,国学大师王国维赞其“北宋以来,一人而已”。纳兰词以
《物像:观看的意义之旅》内容简介:观看,让我们抵达艺术的意义,解开物像之迷,看见记忆与失忆。最新张晓刚研究论著✖近50幅画作
本书为专业和非专业用户、程序员、数据处理方面的专业人士和希望理解sQL在今天计算机产业中的影响的经理们提供了关于SQL语言的全
《区块链安全实战》内容简介:本书从当今社会的网络安全威胁谈起,深入浅出地剖析了区块链的底层及应用架构,并辅以众多优秀的区块
本书是根据国家教育委员会1995年颁布的高等工业学校《信号与系统课程教学基本要求》,在《信号与线性系统分析》(1986年高教版)一
EPLAN Electric P8教育版使用教程 本书特色 本书按照电气项目的设计流程和特点,讲述了eplan electric p8电气cae绘图及管理软件的...