您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > Python电子教案1-1-程序设计基本方法
第1章程序设计基本方法计算机的概念•计算机是根据指令操作数据的设备•具备功能性和可编程性两个基本特性功能性指对数据的操作,表现为数据计算、输入输出处理和结果存储等。可编程性指它可以根据一系列指令自动地、可预测地、准确地完成操作者的意图计算机的概念•摩尔定律是计算机发展历史上最重要的预测法则•摩尔定律指出,单位面积集成电路上可容纳晶体管的数量约每两年翻一倍。由于计算机中几乎所有重要部件都由集成电路实现摩尔定律(Moore’sLaw)•第一阶段:1946年到1981年,“计算机系统结构阶段”•第二阶段:1982年到2007年,“计算机网络和视窗阶段”•第三阶段:2008年至今,“复杂信息系统阶段”。•第四阶段:约20年后未来的某个时期开始,“人工智能阶段”计算机技术发展水平的时代性•第一阶段:1946年到1981年,“计算机系统结构阶段”这个阶段开始于1946年,以全球首台数字计算机ENIAC诞生为标志。在这个阶段,计算机技术主要围绕计算机系统结构设计开展,服务于科学计算和商业数值类计算,产生了超级计算机、工作站、个人计算机等不同类型的计算机系统。计算机技术的第一个阶段持续了35年,随着IBMPC为代表的个人计算机的诞生(1981年),计算机技术进入了面向大众的新阶段。计算机技术发展水平的时代性•第二阶段:1982年到2007年,“计算机网络和视窗阶段”这个阶段开始于1982年,以面向全球子网间组网的网络协议TCP/IP的标准化为标志,互联网(Internet,最初含义是连接子网的网络)时代到来了。在这个阶段,计算机技术主要围绕网络技术、视窗技术、多媒体技术发展,以个人计算机和服务器为主要计算平台,计算机技术提供满足个人计算需求的视窗应用和网络服务。计算机技术发展水平的时代性•第三阶段:2008年至今,“复杂信息系统阶段”。这个阶段以安卓(Andriod)开源移动操作系统的发布为起点,一批新的计算概念和技术几乎同时提出并显著推动了计算技术的升级换代,这些概念包括移动互联网、多核众核、云计算、可信计算、大数据、可穿戴计算、物联网、互联网+等。Python语言(2008年3.0版本)已经成为这个阶段计算机系统的主流编程语言。计算机技术发展水平的时代性•第四阶段:约20年后未来的某个时期开始,“人工智能阶段”随着深度学习、开源硬件、智能机器人、在线搜索引擎、量子计算等技术的发展,未来某个时期将会出现人工智能主导计算的技术阶段,计算机技术将结合智能技术展示更加友好的交互方式和用户体验。此时,计算机或许已经没有了独立的载体,它将通过网络、数据和机器人整合一切可用自然资源,逐步接管人类所有非创造性工作,计算机技术将进入一个未知的新阶段。计算机技术发展水平的时代性程序设计语言机器语言是一种二进制语言,它直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言。例如:执行数字2和3的加法,16位计算机上的机器指令为:1101001000111011,不同计算机结构的机器指令不同程序设计语言概述汇编语言使用助记符与机器语言中的指令进行一一对应,在计算机发展早期帮助程序员提高编程效率例如:执行数字2和3的加法,汇编语言指令为:add2,3,result,运算结果写入result。程序设计语言概述•机器语言和汇编语言都直接操作计算机硬件并基于此设计,所以它们统称为低级语言。•高级语言区别于低级语言在于,高级语言是接近自然语言的一种计算机程序设计语言,更容易地描述计算问题并利用计算机解决计算问题。•例如:执行数字2和3加法的高级语言代码为:result=2+3程序设计语言概述•尽管许多计算机科学家为此做过很多努力,仍然无法在可预见的未来设计出能完全理解人类语言的计算机。•即使计算机能理解人类语言,人类语言也不适合描述复杂算法这是因为人类语言具有不严密和模糊的缺点。例如,“我看见一个人在公园,带着望远镜。”这句话,基于常识和经验,交谈双方大多数情况下能够理解彼此表达的意思,但深究一下,究竟是“我”带着望远镜,还是“一个人”带着望远镜呢?程序设计语言概述第一个广泛应用的高级语言是C语言,诞生于1972年。40年来先后诞生了600多种程序设计语言,大多数语言也随着应用领域的狭窄退出了历史舞台。下面一些是至今还经常使用的程序设计语言:C、C++、C#、Go、HTML、Java、JavaScript、PHP、Python、SQL、Verilog等。一般来说,通用编程语言比专用于某些领域的编程语言生命力更强。程序设计语言概述•通用编程语言指能够用于编写多种用途程序的编程语言,相对于专用编程语言。Python语言是一个通用编程语言,可以用于编写各类型应用该语言的语法中没有专门用于特定应用的程序元素。HTML语言则是一个专用编程语言,它利用超链接将文本、图像、音视频等资源组织起来行程Web页面。通用编程语言•常用编程语言中,C、C++、C#、Go、Java、Python是通用编程语言,HTML(Web页面超链接语言)、JavaScript(Web浏览器端动态脚本语言)、Matlab(基于矩阵运算的科学计算语言)、PHP(Web服务器端动态脚本语言)、SQL(数据库操作语言)、Verilog(硬件描述语言)是专用编程语言。通用编程语言•程序设计语言包括编译执行和解释执行两种方式程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按照特定规则组织计算机指令,使计算机能够自动进行各种运算处理。按照程序设计语言规则组织起来的一组计算机指令称为计算机程序。程序设计语言概述高级语言按照计算机执行方式的不同可分成两类•静态语言•脚本语言这里所说的执行方式指计算机执行一个程序的过程,静态语言采用编译执行,脚本语言采用解释执行。编译和解释•编译是将源代码转换成目标代码的过程,通常,源代码是高级语言代码,目标代码是机器语言代码,执行编译的计算机程序称为编译器编译和解释高级语言源代码编译器机器语言目标代码输入程序执行输出•解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程执行解释的计算机程序称为解释器。编译和解释高级语言源代码输入解释器输出编译是一次性地翻译,一旦程序被编译,不再需要编译程序或源代码。•对于相同源代码,编译所产生的目标代码执行速度更快。•目标代码不需要编译器就可以运行,在同类型操作系统上使用灵活•编译过程只进行一次,所以,编译过程的速度并不是关键,目标代码的运行速度是关键。因此,编译器一般都集成尽可能多的优化技术,使生成的目标代码具备更好的执行效率。编译和解释的区别解释则在每次程序运行时都需要解释器和源代码。•解释执行需要保留源代码,程序纠错和维护十分方便。•只要存在解释器,源代码可以在任何操作系统上运行,可移植性好•解释器不能集成太多优化技术,因为代码优化技术会消耗运行时间,使整个程序的执行速度受到影响。编译和解释•采用编译执行的编程语言是静态语言,如C语言、Java语言;采用解释执行的编程语言是脚本语言,如JavaScript语言、PHP语言。•Python语言是一种被广泛使用的高级通用脚本编程语言,采用解释执行方式,但它的解释器也保留了编译器的部分功能,随着程序运行,解释器也会生成一个完整的目标代码。这种将解释器和编译器结合的新解释器是现代脚本语言为了提升计算性能的一种有益演进。编译和解释——为什么要学习计算机编程?——因为“编程是件很有趣的事儿”!计算机编程•编程能够训练思维。编程体现了一种抽象交互关系、形式化方法执行的思维模式,称为“计算思维”。•计算思维是区别于以数学为代表的逻辑思维和以物理为代表的实证思维的第三种思维模式。计算机编程编程是一个求解问题的过程•首先需要分析问题,抽象内容之间的交互关系•设计利用计算机求解问题的确定性方法,•进而通过编写和调试代码解决问题这是从抽象问题到解决问题的完整过程。计算机编程编程能够增进认识。•编写程序不单纯是求解计算题,它要求作者不仅要思考解决问题的方法,更要思考如何让程序有更好的用户体验、更高的执行效率和更有趣的展示效果。不同群体、不同时代不同文化对程序使用有不同理解,编程需要对时代大环境和使用群体小环境有更多认识,从细微处给出更好的程序体验,这些思考和实践将帮助程序作者加深对用户行为以及社会和文化的的认识。计算机编程编程能够带来乐趣。•利用一台计算机,编程能够提供展示自身思想和能力的舞台,将所思所想变为现实。编程的开始有各种动机,或者去展示自己的青春风采,或者讽刺不文明的社会现象,或者向爱慕的对象表达情愫,所有这些想法都可以通过编写程序变成现实,并通过互联网零成本分发获得更大的影响力。这些努力会让世界增加新的颜色、让自己变得更酷、提升心理满足感和安全感。计算机编程编程能够提高效率。•计算机已经成为当今社会的普通工具,掌握一定编程技术有助于更好地利用计算机解决所面对的计算问题。例如,对于个人照片,可以通过程序读取照片元属性自动进行归类整理。对于工作数据,可以通过程序按照特定算法进行批处理并绘制统计图表。对于朋友圈的好文,可以通过程序实时关注随时点赞。掌握一些编程技术能够提高工作、生活和学习效率。计算机编程编程带来就业机会。•程序员是信息时代最重要的工作岗位之一,国内外对程序员的缺口都在百万及以上以上规模,就业前景广阔。往往程序员职业并不需要掌握多种编程语言,精通一种就能够获得就业机会。如果读者不喜欢自己的专业或现在的工作,那就认真学习程序设计,换个更有趣的工作吧!计算机编程•编程不是一件很难的事儿!计算机编程•编写程序有一定的框架和模式,只要理解了这些模式,稍加练习就会有很好的学习效果。•学习一门编程语言,首先要掌握该语言的语法,対它们既要系统掌握,又要灵活运用。•其次要学会结合计算问题设计程序结构,从程序块、功能块角度理解并设计整个程序框架。计算机编程•最后要掌握解决问题的设计和实践能力,即从理解计算问题开始,设计问题的解决方法,并通过编程语言来实现。•学习计算机编程的重点在于练习。不仅要多看代码,照着编写,调试运行,还要在参考代码思路基础上独立编写,学会举一反三。计算机编程Python语言概述•GuidovanRossum•Python语言创立者•2002年,Python2.x•2008年,Python3.xPython语言的诞生•Python语言诞生于1990年,由GuidovanRossum设计并领导开发。1989年12月,Guido大牛考虑启动一个开发项目打发圣诞节前后的时间,决定为当时正在构思的一个新的脚本语言写一个解释器•该语言以“Python”命名源于Guido对当时一部英剧MontyPython'sFlyingCircus的极大兴趣Python语言的诞生•Python语言是开源项目的优秀代表,其解释器的全部代码都是开源的,可在Python语言的主网站()自由下载•Python软件基金会(PSF,PythonSoftwareFoundation)作为一个非盈利组织,拥有Python2.1版本之后所有版本的版权,该组织致力于更好推进并保护Python语言的开放性。Python语言的发展•2008年12月,Python3.0正式发布,这个版本在语法层面和解释器内部做了很多重大改进,解释器内部采用完全面向对象的方式实现。这些重要修改所付出的代价是3.x系列版本代码无法向下兼容Python2.0系列的既有语法,因此,所有基于Python2.0系列版本编写的库函数都必须修改后才能被Python3.0系列解释器运行。Python语言的发展•Python语言经历了一个痛苦但令人期待的版本更迭过程,从2008年开始,用Python编写的几万个函数库开始了版本升级过程,至今,绝大部分Python函数库和Python程序员都采用Python3.0系列语法和解释器。•“Python2.x已经是遗产,Python3.x是这个语言的现在和未来”。Python语言的发展•开源软件(Open-SourceSoftware)是一类开
本文标题:Python电子教案1-1-程序设计基本方法
链接地址:https://www.777doc.com/doc-501982 .html