由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版]编程导论——以Python为舟(第2版)[美]沙行勉 清华大学出版社 计算机 程序设计
¥ ×1
书名: | 编程导论——以Python为舟(第2版) |
出版社: | 清华大学出版社 |
出版日期 | 2022 |
ISBN号: | 9787302594581 |
本书以大量的编程实例与作者多年编程实践的体会来揭示编程的本质,系统性地指导读者如何编程。书中所有代码都用Python语言编写,通过编程实例讲解Python语言的所有知识点,使读者在掌握编程思维和技巧(逻辑思维能力、计划构建能力、循环计算能力、递归求解能力等)的同时,自然而然地熟练掌握Python语言。 本书既适合作为“程序设计基础”“编程导论”“Python语言程序设计”等课程的教材,也适合作为参加编程竞赛的、自学Python编程的中学生、大中专学生、程序员及普通读者的参考用书。 |
沙行勉 (Edwin Sha),博士生导师,2000年起作为终身职正教授任教于美国得克萨斯州大学达拉斯分校(UTD)计算机科学系。任上海交通大学、山东大学、北京航空航天大学等客座、兼任教授或博导。2008年被评为海外杰出青年学者,2010年起任教育部长江学者讲座教授。2011年起任中国千人计划特聘专家,2012—2017年任重庆大学计算机学院院长。现任华东师范大学终身特聘教授。 |
|
1. 生动有趣。以坦克大战、五子棋、24点等经典游戏为例来讲解编程。 2. 精心引导。所有示例都给出解题思路的详细分析,并穿插师生对话,引导读者理解。 3. 拓展思路。尽可能对同一示例给出多个解法,启发读者进行多方面思考。 4. 深厚积淀。融汇作者在中美两国高校三十年的教学和研究心得。 |
|
第1章初探编程之境
1.1计算机编程的基本概念
1.1.1编程如何解决问题
1.1.2解决鸡兔同笼问题的编程思维
1.1.3解决排序与合并问题的编程思维
1.1.4解决过河问题的编程思维
1.1.5程序的基本要素
1.2乘Python之舟进入计算机语言的世界
1.2.1什么是Python
1.2.2如何在Windows中使用Python
1.3解释a=a+3
1.3.1介绍变量
1.3.2关于a=a+3
1.3.3常用算术运算符
1.4介绍数据类型
1.4.1布尔类型
1.4.2列表
1.4.3字符串
1.5学习Python的控制语句
1.5.1条件控制语句——if语句
1.5.2循环控制语句——for循环
1.5.3循环控制语句——while循环
习题
第2章巩固编程基础
2.1再谈Python的循环控制语句
2.1.1遍历加积累的循环结构
2.1.2以不同编程方式解决相同问题
2.1.3for与while循环的比较
2.1.4中国余数定理的循环实现
2.2函数的简介
2.2.1什么是函数
2.2.2函数的创建与调用
2.2.3几种常用的内置函数
2.3探讨编程思路
2.3.1以多项式运算为例
2.3.2编程思路的总结
2.4讨论循环中的一些技巧
2.4.1讨论“for i in range(): ”结构
2.4.2讨论“for e in L: ”结构
2.5活学活用——运行Python解决问题
2.5.1几种简单的排序算法及衍生问题
2.5.2二进制、十进制等进制之间的转换问题
2.5.3扑克牌游戏——21点
2.5.4老虎机游戏
习题
第3章深谈Python函数、变量、数据类型与输入输出
3.1深入了解函数的各种性质
3.1.1编写完美函数
3.1.2参数与返回值
3.1.3局部变量与全局变量
3.1.4嵌套函数
3.1.5参数类型
3.2再谈序列与字典数据类型
3.2.1列表与元组
3.2.2字符串
3.2.3字典
3.3关于Python数据类型的注意事项
3.3.1可变与不可变类型的讨论
3.3.2参数的传递问题
3.3.3默认参数的传递问题(可选)
3.4深入探讨列表的常用操作与开销
3.4.1添加列表元素的讨论
3.4.2删除列表元素的讨论
3.4.3生成列表的一些技巧
3.5输入输出、文件操作与异常处理
3.5.1输入
3.5.2输出
3.5.3文件操作
3.5.4异常处理
习题
第4章探究递归求解的思维方式
4.1理解递归求解的思维方式
4.1.1递归的基本思路
4.1.2递归求解的例子
4.2用递归方式重温例题
4.2.1递归实现数列求和
4.2.2递归实现归并
4.2.3递归求解因数分解
4.3list、string内置函数的非递归与递归实现
4.3.1列表内置函数的实现
4.3.2字符串内置函数的实现
4.4通过四种不同的递归方式解决排序问题
4.4.1选择排序
4.4.2插入排序
4.4.3快速排序
4.4.4归并排序
4.4.5四种排序方式的比较
习题
第5章熟练递归编程
5.1二分法求解问题
5.1.1什么是二分法
5.1.2在有序序列中使用二分法查找元素位置
5.1.3求解算术平方根
5.1.4二分答案问题——木料加工
5.2求两个数的最大公因数
5.2.1因数分解法求最大公因数
5.2.2欧几里得算法求最大公因数
5.2.3讨论因数分解法与欧几里得算法的优劣
5.3中国余数定理问题
5.3.1相关的基础知识
5.3.2中国余数定理问题的求解
5.4关于递归函数开销的讨论
5.4.1函数调用的开销
5.4.2参数传递过程中的开销
5.4.3重复计算的开销
5.5用递归思维解决线性方程组问题
5.6用各种编程方式解决排列问题
5.6.1全排列问题
5.6.2通用排列问题
5.7用各种编程方式解决组合问题
5.7.1在排列问题的解法上解决组合问题(解法一)
5.7.2非递归方式解决组合问题(解法二)
5.7.3特殊二分方式解决组合问题(解法三)
5.7.4循环递归方式解决组合问题(解法四)
习题
第6章智能是计算出来的
6.1老鼠走迷宫问题
6.2菜鸡狼过河问题
6.3AB猜数字游戏
6.424点游戏
6.5最后拿牌就输
习题
第7章面向对象编程与小乌龟画图
7.1初识面向对象编程
7.1.1什么是对象
7.1.2体会面向对象编程的优势
7.2面向对象中的概念
7.2.1类与对象
7.2.2Python中的__init__()方法
7.2.3self变量和pass关键字
7.2.4Python中“公有”和“私有”类型的定义方式
7.3了解面向对象的三大特性
7.3.1封装
7.3.2继承
7.3.3多态
7.4初识小乌龟
7.4.1小乌龟的属性
7.4.2基本图形的绘制
7.4.3递归图形的绘制
7.5多个小乌龟的动图绘制
7.5.1过河游戏
7.5.2小老鼠走迷宫
习题
第8章掌握编程的精华——算法
8.1深入浅出之算法
8.1.1算法时间复杂度分析
8.1.2图的基本介绍
8.2深度优先搜索
8.2.1何为深搜
8.2.2图的深搜
8.2.3拓扑排序问题
8.2.4一个有趣的迷宫例子
8.3最短路径问题
8.3.1有向无环图的最短路径问题
8.3.2权值非负的有环图的最短路径问题
8.4动态规划算法
8.4.1拦截导弹问题
8.4.2背包问题
8.4.3最短路径问题
习题
第9章设计有趣的游戏
9.1开发环境介绍
9.2坦克大战游戏的设计
9.2.1界面的创建
9.2.2类的实现
9.2.3图像的显示
9.2.4事件的处理
9.2.5文字的绘制
9.3五子棋游戏的设计
9.3.1五子棋游戏简介
9.3.2绘制棋盘界面
9.3.3人人对弈模式
9.3.4人机对弈模式
9.3.5AlphaBeta剪枝搜索算法
习题
参考文献 |
本书主要教授学生编程原理、编程技术、Python语言和基础算法,并辅以大量的练习和有趣的示例,内容生动,深入浅出,循序渐进,既可以作为一本体系完整的教科书(提供完整的PPT、程序代码供授课使用),也可以作为一般读者的编程伴侣和参考资料,供读者自学使用。本书第1版出版后获得了热烈的反响,读者普遍认为该书带来了很大的帮助。为了精益求精,比第1版更加完善,本书第2版主要扩充了如下内容。 对二分法算法进行更广泛和深入的讨论。二分法是一种基础算法,二分法的计算中每步去掉一半的可能解集合,至于要去除哪一半的解集合,则是取决于一个“答案函数”的结果,第5章增加了这种算法的讲解和范例。 讨论了Python互动游戏是如何设计和完成的,非常有趣。第9章“设计有趣的游戏”是全新的一章,讲述如何设计互动类型的Python游戏,详细介绍Pygame工具库的使用方法,并利用Pygame设计、实现了一个简单的“坦克大战”游戏,希望读者能从玩游戏的兴致中激发出设计游戏的兴趣,进而大幅提升编程能力和编程热情; 另外讲解了如何设计“五子棋”游戏,如何让机器借由有效的搜寻而知道如何下棋。从五子棋的原型代码中,读者可以精益求精,完善程序,提高程序智能,对读者编程能力的提升将有很大的助益。 作者有多年的教学经验,教授过多个年级的学生,包括本科生、研究生和博士生。这些年级中作者认为大一的计算机编程基础课对学生的专业发展至关重要。而要“学好”计算机专业,不仅仅要学会书本字面上所表达的知识,更要提升自己整体的素质。 现在的学生从小接受应试教育,所有问题都必须在短时间内完成,要符合标准答案,不能互相合作,不能犯错,遵循“制式”思想。这种学习习惯到了大学就变成了进步的阻碍。其实学生们都很优秀,潜力无穷,身为老师,应该引导学生。在大一的时候,借由导论课程,提升同学们的学习热情,在编程学习中改变他们的学习态度。建议学生在课程中多做练习,多花时间设计一个较大的程序,从编程项目设计中进行团队合作,做分组报告。要知道一个良好的编程教育不是用传统“应试”方式来稳固的。编程语言的学习在于练习,在于模拟,在于仿效。程序的良好构建在于先制订计划,多做尝试,不惧怕错误,敢于找寻错误,进而弥补缺失和订正错误。希望读者们不要用“标准答案”的方式来学习编程,而应该要借此培养出正确的学习态度和良好的素质。 作者多次讲授大一学生的第一门计算机基础课,深获好评,虽然学生的课业负担是沉重的,但是学生们都甘之如饴、充满热情。课程有多达10次的大型作业,每次作业都包含不少编程练习,学生们都需要花很多时间来完成,大部分学生都需要在宿舍 “开夜车”来完成。我也鼓励学生之间互相讨论,合作进步。随堂还有许多次小考,其目的是适时检查,以免有学生掉队,并在期末要求学生自行分组设计一个游戏。作者很惊喜,学生们经过短短一个学期的学习,从完全不知如何编程,到能够自行设计出一些有趣的Python游戏,这多么令人惊讶啊!本书第2版新增的第9章即由此而生。学生们真的很优秀,也证实这本书确实是有用的。 本书第2版和第1版的信念是一致的,那就是写出一本最好的“编程导论”的书,为中国的编程教育做一点实质性的贡献。本书第2版的完成要特别感谢杨燕、戚潘杰、郝杉、宋玉红、许瑞、林靖智等人的协助。 本书的配套PPT课件、程序代码等资源可以从清华大学出版社官方公众号“书圈”(见封底)下载。关于本书及资源使用中的问题,请联系404905510@qq.com。 作者2022年2月 |
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格