大学计算机基础教程第八章 程序设计基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大学计算机基础教程
12
8.2.2 面向对象程序设计
结构化程序设计方法是一种面向数据/过程的 设计方法。它把数据和处理数据的过程分离为相 互独立的实体;当数据结构改变时,所有相关的
处理过程都要进行相应的修改;每一种相对于老
问题的新方法都要带来额外的开销;并且,对于 图形用户界面的应用,很难用过程来描述和实现, 开发和维护都很困难。为了解决这些问题,人们 提出了面向对象的程序设计思想。
直到型循环结构
11
三种基本结构共同特点:
(1) 只有一个入口。如前图所示的a点为入口点。
(2) 只有一个出口。如前图所示的b点为出口点。请
注意区别:一个菱形的判断框有两个出口,而一
个顺序结构只有一个出口。
(3) 结构内的每一个部分都有机会被执行到。
(4) 结构内不存在“死循环”(无终止的循环)。
2017/7/18
(1) 输入:一个算法必须有0个或多个输入量。
(2) 输出:一个算法应有1个或多个输出量。
(3) 确定性:算法的描述必须无歧义,以保证算法的执行结 果是确定的。
(4) 有穷性:算法必须在有限步骤内实现。
(5) 有效性:又称可行性。算法中描述的操作都是可以通过 已经实现的基本运算执行有限次来实现。
2017/7/18 大学计算机基础教程 17
2017/7/18 大学计算机基础教程 8
2. 三种基本结构
(1) 顺序结构
a
特点:程序从入口点a开
始,按顺序执行所有操
A
作,直到出口点b处,所
以称为顺序结构。
b
B
顺序结构
2017/7/18
大学计算机基础教程
9
(2) 选择结构 又称分支结构,表示程序的处理步骤出现了 分支,它需要根据某一特定的条件选择其中的一 个分支执行。
行联系。
2017/7/18 大学计算机基础教程 15
3. 面向对象程序设计的步骤
(1) 面向对象分析
(2) 面向对象设计
(3) 面向对象编程
(4) 面向对象测试
(5) 面向对象维护
2017/7/18
大学计算机基础教程
16
8.3 算法
8.3.1 算法的概念 算法是对问题求解过程的一种描述,是为解决 一个或一类问题给出的一个确定的、有限长的操作 序列。一个算法应该具有以下5个重要特性:
8.3.2 算法的表示
1. 自然语言 不太严格,易产生歧义性;此外,用自然语 言很难清楚地表达算法的逻辑流程,尤其对描述 有选择、循环结构的算法,语句比较繁琐、冗长, 不太方便和直观。
2017/7/18
大学计算机基础教程
18
例8-1 求10!,用自然语言描述算法。 分析:i从1变化到10,每次计算product=product*i 的值,用product表示乘积结果,置初值为1。 算法描述如下:
2017/7/18 大学计算机基础教程 13
1. 面向对象程序设计的基本概念
对象
类 封装 继承 多态性
2017/7/18
大学计算机基础教程
14
2. 面向对象程序设计的思想
注重对象,抽象成类。
在程序系统中,将客观世界中的事物看成对
象,对象是由数据(对象的属性)以及对数据的操
作构成的一个不可分离的整体。对同类型的对象 抽象出其共性,形成类,类中大多数数据只能用 本类的方法进行处理。类通过一个简单的外部接 口与外界发生关系,对象与对象之间通过消息进
5
程序设计语言程序设计按照语言级别可以分为:
低级语言
机器语言 汇编语言
高级语言
面向过程的语言
面向问题的语言
面向对象的语言
2017/7/18
大学计算机基础教程
6
8.2 程序设计方法
20世纪60年代以前
面向计算机的程序设计,基本思想是注重机 器,逐一执行 20世纪60年代末
(1) 给product赋初值为1。
(2) 给i赋初值为1。
(3) 判断i是否小于等于10。若是,计算product*i的值,并将 结果赋给product;若不是,转(5)。
(4) 将i加1,并赋给i,转(3)。
(5) 输出product的值。 (6) 算法结束。
2017/7/18 大学计算机基础教程 19
2017/7/18
大学计算机基础教程
4
8.1.3 程序设计语言
程序设计语言,通常简称为编程语言,是一 组用来定义计算机程序的语法规则。它是一种被 标准化的交流技巧,用来向计算机发出指令,是
用于编写计算机程序的语言。
程序设计语言的发展趋势是模块化、简明化、
形式化、并行化和可视化。
2017/7/18
大学计算机基础教程
面向过程的程序设计,结构化设计思想 20世纪80年代后 wk.baidu.com向对象的程序设计
2017/7/18
大学计算机基础教程
7
8.2.1 结构化程序设计
1. 结构化程序设计方法
由E.W.dijkstra在1969年提出,是以模块化 设计为中心,将待开发的软件系统划分为若干个 相互独立的模块。
任何功能的程序模块都可以由三种基本的程 序结构——顺序结构、选择结构和循环结构的组 合来实现。 基本思想:采用“自顶向下,逐步求精”的 程序设计方法和“单入口单出口”的控制结构。
a a
成立
p
不成立
成立
p
不成立
A
B
A
b
b
双分支选择结构
单分支选择结构
2017/7/18
大学计算机基础教程
10
(3) 循环结构 又称为重复结构,即反复执行某一部分的操 作,可以分为当型循环结构和直到型循环结构。
a
a
不成立
p 成立 A
A 成立 p 不成立
b
b
当型循环结构
2017/7/18 大学计算机基础教程
第八章 程序设计基础
大学计算机基础教程
8.1 程序、程序设计和程序设计语言 8.2 程序设计方法 8.3 算法
2017/7/18
大学计算机基础教程
2
8.1 程序、程序设计和程序设计语言
8.1.1 程序的概念
程序就是指示计算机按解决问题的步骤,实 现预期目的而进行操作的一系列语句或指令。
解决问题的方法和步骤通常被称为“算法”。 程序就是解决问题算法的具体实现。 例如,植树的过程如下:
(1) 挖坑; (2) 栽树苗; (3) 填土;
(4) 浇水。
2017/7/18 大学计算机基础教程 3
8.1.2 程序设计
程序设计是用计算机语言实现求解问题的过 程,是求解某个问题的算法。 按照结构性质,程序设计可以分为结构化程
序设计与非结构化程序设计。
现在常用的程序设计方法有结构化程序设计
方法和面向对象程序设计方法。