内容正文:
程序设计和Python语言
《Python程序设计》
同步精品课堂
高教版
1
● 了解程序设计概述
● 熟悉Python简介
一 教学目标
二 教学重难点
机器语言、汇编语言、高级语言
高级语言的翻译方式
算法数据结构设计
Python的历史和特性
Python的版本
据著名的编程语言流行指数PYPL 在谷歌上对程序设计语言教程的搜索频繁程度得到的统 计结果,Python始终位于PYPL 统计的最佳关注前列,由此可以看出,Python 越来越受到人们的关注。为什么 Python 如此大受青睐呢?
三 导入新课
四 新知讲授
计算机是人类20世纪发明创造的最先进的计算工具,迄今为止的绝大多数计算机都是基于“存储程序与程序控制”原理工作的。计算机中的程序是指按特定的算法用某种计算机语言描述完成指定任务的处理过程。
程序设计概述
四 新知讲授
从对计算机的依赖性级别以及接近数学语言与自然语言的程度来看,最早出现的程序设计语言是机器语言, 一台计算机的 CPU 能理解且能直接执行的指令 集合即是该计算机的机器语言。
程序设计概述
四 新知讲授
用机器语言编写的程序(见图(a)) 计算机能直接执行,占 用存储空间小,执行速度快;但是机器语言程序依赖于具体计算机,难记忆,易出错,阅读理解困难,编程人员必须了解特定计算机的硬件及其指令系统。
程序设计概述
四 新知讲授
因此,在机器语言的基础上逐渐发展 出了汇编语言。汇编语言是一种符号化的机器语言,即用某种助记符号代替指令中的操作码和操作数。用汇编语言编写的程序是符号化的指令序列(见图(b)), 比机器语言程序直观,但 需要使用“汇编程序”将其翻译成等价的指令序列后才能由计算机执行。
程序设计概述
四 新知讲授
高级语言是接近自然语言和数学语言,在一定程度上与具体计算机无关的符号化语 言。用高级语言编写的程序是一种符号化的语句序列(见图(c)), 也称为源代码。
程序设计概述
四 新知讲授
高级语言的翻译方式分编译与解释两种。
编译方式用相应语言的编译程序(compiler, 或称 编译器)对高级语言描述的源代码进行若干次扫描(如语法分析、语义分析、生成各种对照表、生 成中间代码、优化等)后生成目标代码。
程序设计概述
编译方式的程序处理过程
四 新知讲授
但目标代码并不能直接执行,还需要经过连接、装配成可执行指令序列后才能运行,进而获得结果。虽然编译方式实现复杂,但相对而言能产生较高 效率的目标代码,只要源代码不被修改,对源代码仅需编译一次,适合于结构复杂、要求运行效 率高的程序设计语言。
程序设计概述
编译方式的程序处理过程
四 新知讲授
解释方式用解释程序(interpreter, 或称解释器)对源代码逐句扫描、翻译, 执行后直接获得结果。解释方式实现简单但效率低,同一代码每次运行都要再次解释, 一般用于交互式程序设计语言的翻译。
程序设计概述
解释方式的程序处理过程
四 新知讲授
如果用文学翻译作类比,编译方式相当于笔译,译成一篇完整 的译文;解释方式相当于口译,边听边译。无论编译方式还是解释方式,通常高级语言的一条语 句要对应多条机器指令,运行效率低于低级语言代码。
程序设计概述
解释方式的程序处理过程
四 新知讲授
就程序本质而言, 一个程序刻画了计算(数值计算和非数值计算)过程的处理对象(数据)与处理规则(算法),瑞士计算机科学家 Niklaus Wirth 认为:
程序=算法+数据结构
程序设计概述
四 新知讲授
算法(algorithm) 是解决问题的步骤和方法,是指令的有限序列;数据结构则是数据的组织形式, 涉及操作对象以及它们之间的关系和操作。
例如,若要计算1+2+…+100的值,则算法和相应的 数据结构可设计和定义如下:
程序设计概述
四 新知讲授
传统程序设计的本质是功能设计, 一般采用结构化程序设计方法(structured programming), 它最早由 E.W.Dijikstra 在1965年提出。结构化程序设计方法的基本原则是自顶向下(top- down), 逐步细化(stepwise refinement),由抽象到具体的功能分解过程,使用三种控制结构(顺序、选择和循环)控制构造程序。
程序设计概述
四 新知讲授
面向对象程序设计(object-oriented programming)是另一种程序 设计方法,是目前软件开发中使用的主流方法,它是一种对现实世界理解并抽象的方法,将对象 作为程序的基本单元,并将程序和数据封装在内,以提高软件的重用性、灵活性和扩展性。
程序设计概述
四 新知讲授
Python 语言的设计哲学是简单、明确和优雅。它既拥有简单脚本语言和解释型(有机制保证 Python 源代码不修改不需要重