Presentation is loading. Please wait.

Presentation is loading. Please wait.

程序设计思想与方法入门篇 庄天红.

Similar presentations


Presentation on theme: "程序设计思想与方法入门篇 庄天红."— Presentation transcript:

1 程序设计思想与方法入门篇 庄天红

2 课程主要内容 解决可计算问题需要教会计算机如何解决问题 我们如何教会计算机解决问题 了解计算机有哪些基本功能 熟悉一门与计算机进行交流的语言
掌握设计思路与方法

3 对本课程的定位 学习计算机科学解决问题的思想方法, 应用于各个专业领域 不仅仅是一门程序设计语言课程!
本课程需要编程,以加深对计算思维的理解 坏消息:学习编程语言需要掌握非常繁琐的细节 好消息:Python语言非常简单,易学易用 3

4 计算机与程序 计算机组成 程序设计语言 初识Python

5 计算机的组成 计算机,也被称之为“电脑”,是一种能够按照事先存储的程序自动、高效地对数据进行输入、处理、存储和输出的系统。
硬件:计算机的躯壳 软件:计算机的灵魂

6 计算机硬件 存储器 输入设备 输出设备 控制器 运算器 CPU

7 存储器 保存正在运行的程序代码和数据 内存的最小单元是bit,一个bit存储一个二进制位。一般8个bit组成一个byte,若干个byte组成一个word 在一般的机器中,内存按字节编址,内存大小也是按字节计量 关机后,内存的数据全部丢失

8 CPU CPU (Central Processing Unit) 有两个部件组成:
ALU – Arithmetic-Logic Unit(运算器) Control unit (控制器)

9 控制器 控制器控制计算机的其余部分如何完成程序的指令 指挥内存和其它部件之间的信息的传送(包括信息和指令)
指挥CPU和输入输出设备之间的控制信息的传送

10 控制器中的信息存储 控制器中有两个寄存器: 指令寄存器( IR ):保存当前正在执行的指令
程序计数器 ( PC ):保存下一条要执行的指令地址

11 控制器的工作 取下一条指令:按PC指定的地址到内存中取出下一条指令,存入IR。 解码指令:将指令解码成一系列的控制信号
执行指令:将控制信号发送给相关部件,执行相应的运算

12 运算器的组成 逻辑电路:执行控制器发出的控制信号 一组存放正在运算的数据的寄存器

13 输入输出设备 输入设备将人能理解的符号转换成计算机能处理的符号。常用的输入设备有:键盘、鼠标、光笔等
输出设备将计算机的输出转换成人能理解的输出。常用的输出设备有:显示器、打印机、音响设备等

14 计算机的组成 计算机,也被称之为“电脑”,是一种能够按照事先存储的程序自动、高效地对数据进行输入、处理、存储和输出的系统 硬件:计算机的躯壳
软件:计算机的灵魂

15 计算机软件 软件决定了计算机能做什么.没有软件,计算机只是一堆废铁. 软件可以分为系统软件和应用软件。
系统软件居于计算机系统中最靠硬件的部分,它将计算机的用户与硬件隔离。系统软件与具体的应用无关,但其他的软件要通过系统软件才能发挥作用。常用的系统软件有操作系统、编译器、网络软件等。 应用软件是为了支持某一应用而开发的软件。如字处理软件、财务软件等。

16 计算机与程序 计算机组成 程序设计语言 初识Python

17 程序设计语言 人与计算机进行交流的一种语言 为什么不用自然语言与计算机交互? 有不同层次的程序设计语言 精确的语法和语义 无二义性 17
Lu Chaojun, SJTU

18 不同层次的程序设计语言 机器语言 汇编语言 高级语言

19 机器语言 是机器的母语。每种计算机都有自己的机器语言。与计算机硬件设计有关。 每个语句用一组二进制数表示
用机器语言写程序是非常困难的,读机器语言写的程序也是非常困难的 机器语言提供的功能非常简单

20 汇编语言 用缩写和助记符代替机器语言的0和1的比特串 和机器语言一样,不同类的机器有不同的汇编语言
汇编程序:将汇编语言写的程序翻译成机器语言的程序 解决了机器语言的可读性问题,但没有解决功能简单的问题以及可移植型问题

21 高级语言 类似于英语的语言,适合于人理解 功能比机器语言强,解决问题更加容易
编译器:将过程化语言写的程序(源代码)翻译成机器语言的程序(目标代码) 解释器:逐句解释源程序并执行,不保存目标代码。

22 编译执行 将程序全部翻译成机器语言的程序,然后再执行。 01100010 11101001 C compiler
main() {int i, s; i=1; s=0; C compiler Source program Object program

23 解释执行 源程序 解释系统 (逐句解释、执行) 原始数据 结果

24 高级语言的特点 具备了一定的机器独立性,使用户可以专注于解决问题的方法。但某些方面还是受到机器的限制
为了解决移植性问题,ANSI制订了一系列的标准

25 高级语言 本课程采用Python语言 高级程序设计语言有很多种,据说2008年网上被引用最多的10个语言是(按字母顺序): C,C++,C#,Java,JavaScript,Perl, PHP,Python,Ruby,SQL C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言,成为.NET开发的首选语言。.NET 就是 Microsoft® 的 XML Web 服务平台。不论操作系统或编程语言有何差别,XML Web 服务能使应用程序在 Internet 上传输和共享数据。 Perl 是一种 无类型语言(untyped),换句话说,在语言层面上,Perl 和大多数编程语言不同,不把变量分成整数、字符、浮点数等等,而只有一种能接受各种类型数据的“无类型”变量。 PHP(Hypertext Preprocessor)是一种嵌入HTML页面中的脚本语言,是现在比较流行的web开发语言之一. Ruby 的特点 完全面向对象 在Ruby语言中,任何东西都是对象,包括其他语言中的基本数据类型,比如整数 25

26 计算机与程序 计算机组成 程序设计语言 初识Python

27 Python Python采用编译/解释混合方式:先编译成字节码,再解释执行
Python 系统软件 ftp://ftp.cs.sjtu.edu.cn:990/zhuang-th/ 安装\启动Python 字节码是CPU构架的具有可移植性的机器语言 27

28 初识Python >>> 提示符,提示你可以输入命令 语句:一条命令,如print “hello”
>>> 提示符,提示你可以输入命令 语句:一条命令,如print “hello” 串:“hello world” 数:3、10、0.5 表达式:3 + 5 赋值:x = 5 28

29 函数 函数:将完成某一功能的语句组合起来 函数定义 >>> def area( ): … x = 5 … y = 6
函数调用: >>> def area( ): … x = 5 … y = 6 … print x * y >>> >>> area( ) 30 >>>

30 带参数的函数 函数定义 >>> def area(x, y): … print x * y … >>>
函数的调用 >>> def area(x, y): … print x * y >>> >>> area(3, 4) 12 >>>area(2, 4) 8

31 模块 如果一段程序需要反复执行,可以把它以文件形式保存在外存储器中。 保存在外存储器中的程序称为一个模块,也称为脚本文件或源文件。
PYTHON的源文件的后缀名为py 程序模拟物理现象:chaos程序

32 # File: chaos.py # A simple program illustrating chaotic behavior. def main(): print "This program illustrates a chaotic function" x = input("Enter a number between 0 and 1: ") for i in range(10): x = 3.9 * x * (1 - x) print x input('Enter 0 to quit ') main()

33 main函数:标志程序的开始,也可以省略
注释 变量与赋值 程序的执行:一个个语句顺序执行,但也可以重复执行某个语句

34 for循环 将一段语句重复执行多次 语法 for <var> in <sequence>: <body>
<sequence>是一个值的序列,如[1,3,5,7,9]或range(10)(即[0,1,…,9]). <body>可以是任何语句序列,用左缩进标识. 34

35 程序的控制流 程序的诸语句通常是顺序执行的,但循环语句改变了控制流,表示一种控制结构. 控制流可以用流程图直观表达 无 有
<body> <var>取<seq> 的下一个值 程序的诸语句通常是顺序执行的,但循环语句改变了控制流,表示一种控制结构. 控制流可以用流程图直观表达 35

36 模块的执行 在IDLE中执行程序 Cmd界面中执行程序 打开文件:在file菜单下选open或直接用右键点击文件,并选择用IDLE打开
执行:在run菜单下选run module或直接按f5 Cmd界面中执行程序 import文件

37 Cmd界面中执行chaos.py程序 C:\Documents and Settings\Administrator>cd\python27 C:\Python27>cd test C:\Python27\test>chaos.py This program illustrates a chaotic function Enter a number between 0 and 1: 0.5 0.975

38 添加python的路径 Import时,系统必须知道到哪里去找那个文件 这是通过PYTHONPATH指定的
安装PYTHON时,系统会指定缺省path。缺省的路径是:\Python26\Lib\site-packages 添加搜索路径 右键单击我的电脑,然后单击属性。 单击高级选项卡。 单击环境变量。 单击新建添加一个新变量名和值。

39 END


Download ppt "程序设计思想与方法入门篇 庄天红."

Similar presentations


Ads by Google