程序设计概述.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编出的程序能在所有机器上通用。负责将高级语言源代码翻译成汇编语言或机器指令的 程序叫编译器。最早流行的高级语言是C语言。
高级语言分类
1. 命令式语言。这种语言的语义基础是模拟“数据存储/数据操作”的图 灵机可计算模型,十分符合现代计算机体系结构的自然实现方式。其 中产生操作的主要途径是依赖语句或命令产生的副作用。现代流行的 大多数语言都是这一类型,比如 Fortran、Pascal、Cobol、C、C++、 Basic、Ada、Java、C# 等,各种脚本语言也被看作是此种类型。
Java 程序设计概述
计算机与程序设计 程序设计语言 Java 语言介绍 第一个Java程序(编辑、编译与运行)
计算机与程序设计
——只有学会编程,才能真正理解计算机
现实世界其实是由一个名叫“母体”的计算机人工智能系统 控制,人们就像他们饲养的动物,没有自由和思想,……,到底 哪里才是真实的世界?……,这是黑客的帝国,程序和代码欢迎 大家的到来。
是一个虚构出来的计算机, 通过在实际的计算机上仿真 模拟各种计算机功能来实现 的。Java虚拟机有自己完善 的硬体架构,如处理器、堆 栈、寄存器等,还具有相应 的指令系统。JVM屏蔽了与 具体操作系统平台相关的信 息,使得Java程序只需生成 在Java虚拟机上运行的目标 代码(字节码),就可以在 多种平台上不加修改地运 行。
—— 《黑客帝国》
这是一个未来的世界,天下已经由机器人来操控。机器人想完 全占有这个世界,把人类赶尽杀绝,然而……,于是,终结者机 器人T-800(阿诺•施瓦辛格 Arnold Schwarzenegger饰)受 命……
—— 《终结者/未来战士》
世界上有两种人,一种是懂二进制的,一种不懂。 —— 中国网友
还是“博弈论之父”
冯·诺伊曼结构的设计概念
冯·诺伊曼结构与储存程式型电 脑是互相通用的名词,其用法 将于下述。而哈佛结构则是一 种将程式资料与普通资料分开 储存的设计概念。
储存程式型概念也可让程式执 行时自我修改程式的运算内容。 本概念的设计动机之一就是可 让程式自行增加内容或改变程 式指令的内存位置。
数据 数据可以被定义为被程序处理的信息。当我们考虑到整 个计算机系统时,有时程序和数据的区别就不是那么明 显了。中央处理器有时有一组微指令控制硬件,数据可 以是一个有待执行的程序(参见脚本编程语言),程序 可以编写成去编写其它的程序;所有这些例子都使程序 和数据的比较成为一种视角的选择。有人甚至断言程序 和数据没有区别。
Input 本题有多组数据。每组数据只有一个整数N,独占一行。 (1≤N≤50)
Output 对每组数据,输出一个整数(独占一行)表示第N年时母 牛的数量
Sample Input 1 4 5 20
Sample Output 1 2 3 872
程序设计语言
机器语言 指一台计算机全部的指令集合,一条机器语言成为一条二进制
2. 函数式语言。这种语言的语义基础是基于数学函数概念的值映射的λ 算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。 典型的函数式语言如 Lisp、Haskell、ML、Scheme 等。
3. 逻辑式语言。这种语言的语义基础是基于一组已知规则的形式逻辑系 统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog。
数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定 关系的数据元素的集合。通常情况下,精心 选择的数据结构可以带来更高的运行或者存 储效率的算法。数据结构往往同高效的检索 算法和索引技术有关。
编程过程
wk.baidu.com
问题建模 算法设计 编写代码 编译调试 运行
Problem 设有一头小母牛,从出生第四年起每年生一头小母牛,按 此规律,第N年时有几头母牛?
4. 面向对象语言。现代语言中的大多数都提供面向对象的支持,但有些 语言是直接建立在面向对象基本模型上的,语言的语法形式的语义就 是基本对象操作。主要的纯面向对象语言是 Smalltalk。
高级语言的处理过程
C 语言家族
Java 特点:跨平台
JVM - Java虚拟机 Java Virtual Machine
程序 数据 存储器
程序=算法+数据结构
算法指解决某个问题的严格方法,通常还需 辅以某种程度上的运行性能分析。算法可以 是纯理论的,也可以由一个计算机程序实现。 理论算法通常根据复杂性分为不同类别;实 现的算法通常经过颇析(Profiling)以测试其性 能。请注意虽然一个算法在理论上有效可行, 但是一个糟糕的实现仍会浪费宝贵的计算机 资源。(更详细信息,参见算法信息论, Algorithmic Information Theory) 。
计算机模型
计算机模型:冯诺依曼结构
计算机模型:现代版
冯·诺依曼
——“计算机之父”,最先提出“存储程序”与“二进制” 的概念
存储程序 是将根据特定问题编写的程序存放在 计算机存储器中,然后按存储器中的 存储程序的首地址执行程序的第一条 指令,以后就按照该程序的规定顺序 执行其他指令,直至程序结束执行。
指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统 往往各不相同。
汇编语言 用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,
用"ADD"代表加法。负责将这些符号翻译成二进制机器指令的程序被称为汇编器。
高级语言 接近于数学语言或人的自然语言(如if,+),同时又不依赖于计算机硬件,
存储器
程序 计算机程序或者软件程序(通常简称程序)是指一组指 示计算机每一步动作的指令,通常用某种程序设计语言 编写,运行于某种目标体系结构上。打个比方,一个程 序就像一个用汉语(程序设计语言)写下的红烧肉菜谱 (程序),用于指导懂汉语的人(体系结构)来做这个 菜。 通常,计算机程序要经过编译和链接而成为一种 人们不易理解而计算机理解的格式,然后运行。未经编 译就可运行的程序通常称之为脚本程序(script)。
Java 平台介绍
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允
高级语言分类
1. 命令式语言。这种语言的语义基础是模拟“数据存储/数据操作”的图 灵机可计算模型,十分符合现代计算机体系结构的自然实现方式。其 中产生操作的主要途径是依赖语句或命令产生的副作用。现代流行的 大多数语言都是这一类型,比如 Fortran、Pascal、Cobol、C、C++、 Basic、Ada、Java、C# 等,各种脚本语言也被看作是此种类型。
Java 程序设计概述
计算机与程序设计 程序设计语言 Java 语言介绍 第一个Java程序(编辑、编译与运行)
计算机与程序设计
——只有学会编程,才能真正理解计算机
现实世界其实是由一个名叫“母体”的计算机人工智能系统 控制,人们就像他们饲养的动物,没有自由和思想,……,到底 哪里才是真实的世界?……,这是黑客的帝国,程序和代码欢迎 大家的到来。
是一个虚构出来的计算机, 通过在实际的计算机上仿真 模拟各种计算机功能来实现 的。Java虚拟机有自己完善 的硬体架构,如处理器、堆 栈、寄存器等,还具有相应 的指令系统。JVM屏蔽了与 具体操作系统平台相关的信 息,使得Java程序只需生成 在Java虚拟机上运行的目标 代码(字节码),就可以在 多种平台上不加修改地运 行。
—— 《黑客帝国》
这是一个未来的世界,天下已经由机器人来操控。机器人想完 全占有这个世界,把人类赶尽杀绝,然而……,于是,终结者机 器人T-800(阿诺•施瓦辛格 Arnold Schwarzenegger饰)受 命……
—— 《终结者/未来战士》
世界上有两种人,一种是懂二进制的,一种不懂。 —— 中国网友
还是“博弈论之父”
冯·诺伊曼结构的设计概念
冯·诺伊曼结构与储存程式型电 脑是互相通用的名词,其用法 将于下述。而哈佛结构则是一 种将程式资料与普通资料分开 储存的设计概念。
储存程式型概念也可让程式执 行时自我修改程式的运算内容。 本概念的设计动机之一就是可 让程式自行增加内容或改变程 式指令的内存位置。
数据 数据可以被定义为被程序处理的信息。当我们考虑到整 个计算机系统时,有时程序和数据的区别就不是那么明 显了。中央处理器有时有一组微指令控制硬件,数据可 以是一个有待执行的程序(参见脚本编程语言),程序 可以编写成去编写其它的程序;所有这些例子都使程序 和数据的比较成为一种视角的选择。有人甚至断言程序 和数据没有区别。
Input 本题有多组数据。每组数据只有一个整数N,独占一行。 (1≤N≤50)
Output 对每组数据,输出一个整数(独占一行)表示第N年时母 牛的数量
Sample Input 1 4 5 20
Sample Output 1 2 3 872
程序设计语言
机器语言 指一台计算机全部的指令集合,一条机器语言成为一条二进制
2. 函数式语言。这种语言的语义基础是基于数学函数概念的值映射的λ 算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。 典型的函数式语言如 Lisp、Haskell、ML、Scheme 等。
3. 逻辑式语言。这种语言的语义基础是基于一组已知规则的形式逻辑系 统。这种语言主要用在专家系统的实现中。最著名的逻辑式语言是 Prolog。
数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定 关系的数据元素的集合。通常情况下,精心 选择的数据结构可以带来更高的运行或者存 储效率的算法。数据结构往往同高效的检索 算法和索引技术有关。
编程过程
wk.baidu.com
问题建模 算法设计 编写代码 编译调试 运行
Problem 设有一头小母牛,从出生第四年起每年生一头小母牛,按 此规律,第N年时有几头母牛?
4. 面向对象语言。现代语言中的大多数都提供面向对象的支持,但有些 语言是直接建立在面向对象基本模型上的,语言的语法形式的语义就 是基本对象操作。主要的纯面向对象语言是 Smalltalk。
高级语言的处理过程
C 语言家族
Java 特点:跨平台
JVM - Java虚拟机 Java Virtual Machine
程序 数据 存储器
程序=算法+数据结构
算法指解决某个问题的严格方法,通常还需 辅以某种程度上的运行性能分析。算法可以 是纯理论的,也可以由一个计算机程序实现。 理论算法通常根据复杂性分为不同类别;实 现的算法通常经过颇析(Profiling)以测试其性 能。请注意虽然一个算法在理论上有效可行, 但是一个糟糕的实现仍会浪费宝贵的计算机 资源。(更详细信息,参见算法信息论, Algorithmic Information Theory) 。
计算机模型
计算机模型:冯诺依曼结构
计算机模型:现代版
冯·诺依曼
——“计算机之父”,最先提出“存储程序”与“二进制” 的概念
存储程序 是将根据特定问题编写的程序存放在 计算机存储器中,然后按存储器中的 存储程序的首地址执行程序的第一条 指令,以后就按照该程序的规定顺序 执行其他指令,直至程序结束执行。
指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统 往往各不相同。
汇编语言 用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,
用"ADD"代表加法。负责将这些符号翻译成二进制机器指令的程序被称为汇编器。
高级语言 接近于数学语言或人的自然语言(如if,+),同时又不依赖于计算机硬件,
存储器
程序 计算机程序或者软件程序(通常简称程序)是指一组指 示计算机每一步动作的指令,通常用某种程序设计语言 编写,运行于某种目标体系结构上。打个比方,一个程 序就像一个用汉语(程序设计语言)写下的红烧肉菜谱 (程序),用于指导懂汉语的人(体系结构)来做这个 菜。 通常,计算机程序要经过编译和链接而成为一种 人们不易理解而计算机理解的格式,然后运行。未经编 译就可运行的程序通常称之为脚本程序(script)。
Java 平台介绍
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允