当前位置:文档之家› 大学计算机程序设计c 自学教案

大学计算机程序设计c 自学教案


高效性
*
占用计算机资源量(主要是运行时间和存储 空间)越少效率越高。
27
3、算法的评价
通常把对算法效率的度量,称为算法
的复杂性分析。它是算法运行所需要的计算
机资源的量,是依赖于算法要解决的问题的
规模、算法的输入和算法本身的函数。 其中,需要的时间资源的量称为时间 复杂性,需要的存储空间资源的量称为空间 复杂性。
2.传统流程图表示算法
流程图是用一些图框表示各种类型的操作 用图形表示算法, 直观形象, 易于理解 美国国家标准化协会 ANSI ( American National Standard Institute ) 规定了一些常用的 流程图符号
起止框
输入输出框
判断框
处理框
↓或→
流程线 联结点
]
注释框
[例 ] 计 算 5!
步 骤 1: 先 求 1×2, 得 到 结 果 2 步 骤 2: 步 骤 1 的 结 果 2 乘 以 3, 得 到 结 果 6 步 骤 3: 步 骤 2 的 结 果 6 乘 以 4, 得 到 结 果 24 步 骤 4: 步 骤 3 的 结 果 24 乘 以 5, 得 最 终 结 果 120
[例] 计算n!
设 T 为被乘数, I 为乘数 S1 :输入 n 值 S2: 将 1 T ?2I S3 :将 1 I S4 :将 T × I T S5 :将 I+1 I S6 :若 I ≤ n 成立,返回重新执行 S4 ,以及 其后的步骤 S5 、 S6 ;否则执行 S7 S7 :输出 T ,算法结束
教学用书
西南交通大学出版社 《计算机程序设计基础(C++)》 2017年
* 1
考核方式
实验项目:20% 半期考试:20% 期末考试:60% 课堂表现:考勤三次缺勤,可取消 期末考试资格
* 2
计算机程序设计基础与Visual C++
第一章
引论
*
3
教学内容
1.软件开发和编制的概念; 2.计算机算法;
3.程序设计语言和开发工具
4. C++基本程序框架 5. 程序设计的简单示例
*
4Hale Waihona Puke 软件开发和编制一、什么是程序?
程序就是让计算机完成某项任务的 一系列命令的集合。 人们编写程序的过程称为程序设计 (程序开发)。
*
5
二、程序设计基本步骤 :
1.分析问题 通过原始资料,取得对问题的一个
清晰的理解,进而确定解决问题的目标
这些符号已为世界各国程序设计者普遍采用
*
16
[例]将求n!的算法用传统流程图表示
设 T 为被乘数,I 为乘数 S1:输入 n 值 S2: 将 1T S3:将 1I S4:将 T×IT S5:将 I+1I S6:若 I≤n 成立,返回重新执行 S4,以及 其后的步骤 S5、S6;否则执行 S7 S7:输出 T,算法结束
⑴ 顺序结构
A B
⑵ 选择结构
⑶ 循环结构
[例] 用N-S流程图表示求n!的算法
二、算法要素与效率:
1、算法的特征
有效性:
算法中的每一步骤都能够被计算机理解和 执行,不是抽象和模糊的
有穷性:
算法应该在执行有限的步骤后结束,不能 是无限的
确定性:
组成算法的每一步骤应该有确定的语义,不 能有任何歧义
计算机算法规定了利用计算机解决某 个(或某类)问题的一系列运算(或称操 作序列),它是对计算机解题方案 的准确 与完整描述。
*
10
一、算法的表示方法
1.自然语言
2.传统流程图
3.结构化流程图
(1)三种基本结构的流程图
(2)N-S流程图
1.自然语言表示算法
自然语言是人们日常使用的语言,用自然语 言 表 示 算 法 通 俗 易 懂 ;但 文 字 冗 长 ,含 义 往 往 不 太 严 格 ,容 易 出 现 “ 歧 义 性 ”,要 根 据 上 下 文 才 能 判 断其正确含义。 而且用自然语言来描述包含分支和 循 环 的 算 法 ,很 不 方 便 。因 此 ,除 了 一 些 简 单 的 问 题外,一般不用自然语言描述算法。
5.调试和测试程序 “调试”就是查找和排除程序错误, 直到能够得到正确的运行结果为止。“测 试”是在计算机上用样本数据运行程序, 测试代码的正确性。 程序中的错误可能是语法错误,也可 能是逻辑错误。大多数语法错误容易找到 和改正,但逻辑错误就较难找到,因为导 致逻辑错误的原因很多
计算机算法
什么是计算机算法?
*
20
传 统 流 程 图 的 弊 端
对 流 程 线 的 使 用
没 有 严 格 限 制 , 流 程 图 变 得 毫 无 规 律 , 使 人 难 以 理 解 算 法 的 逻 辑 。 这 种 情 况 如 下 图
算 法 的 可 靠 性 和 可 维 护 性 难 以 保 证
*
21
(2)N-S流程图
1971 年 由 两 位 美 国 学 者 提 出 了 一 种 新 的 流程图形式,这种流程图完全去掉了带箭头 的 流 程 线 , 称 为 N-S 流 程 图 。 N-S 流 程 图 符 号如下:
有零个或多个输入:
部分数据在操作之前需要通过外界赋值,称 为输入
有一个或多个输出:
算法的运算结果即是算法的输出
2、算法的性能:
正确性
对于任意的一组输入,包括合理和不合理的 输入,总能得到预期的结果。
可读性
清晰易读的算法有助于对算法的理解,易于 调试和修改。
健壮性
对于非法的输入,能够做出适当的反应或异 常情况处理。
*
17
3.结构化流程图表示算法
(1)三种基本结构的流程图 1966年,Bohra和Jacopini提出了 三种基本结构作为表示算法的基本单 元
A、顺序结构
A
B
B、选择结构(又称选取结构)
C、循环结构(又称重复结构)
当 型 循 环 结 构
直 到 型 循 环 结 构
当 型 循 环 和 直 到 型 循 环 结 构 条 件 互 逆
(称为输出)以及实现该目标所需要的
条件(称为输入)
2.规划数据结构与设计算法 数据结构指数据的表示及相关操作; 算法描述了求解问题的步骤或规则。 设计合理的数据结构可以简化算法,
好的算法使程序具有更高的效率
3.验证算法 使用多组样本数据,通过手工计算, 对方案的正确性进行证明和验证 4.编码实现 选用一种程序设计语言(如C++语 言)将算法转换成计算机能够理解的程 序(称为编程)
*
28
[例] 欲在按非降次序排列的n个元素 a1,a2,…,an(ai≤ai+1)中查找是 否有与b相同的元素。
相关主题