软件技术专题 ppt课件.ppt
《软件技术专题 ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件技术专题 ppt课件.ppt(75页珍藏版)》请在三一办公上搜索。
1、软件技术基础,1 概述2 算法3 程序设计4 软件工程,1 概 述,什么是计算机软件?,操作系统、QQ、360,计算机系统=硬件+软件,程序以及相关的文档的集合。,什么是文档?,文档:记录软件开发活动和阶段性成果,理解软件所必需的阐述性资料。 需求分析文档 软件设计文挡等编写文档目的 促进对软件的开发、管理和维护; 便于各种人员(用户、开发人员)的交流,什么是程序?,程序一词源于生活。做任何一件事情,都是有程序的。 例如,颁奖大会的程序;做菜的程序等等。 把做菜的步骤用大家看得懂的方式记录下来,其他人可以按这些步骤顺序实施就完成了该事情。,用计算机完成某事情,就把事先设计好的计算机处理信息的步
2、骤,用计算机能够识别的指令编写出来,送入计算机。计算机按照指令执行,就能完成指定的工作。,算法,程序设计语言,程序就是用计算机语言表述的算法。,为解决一个问题而采取的方法和步骤,就称为算法。,什么是算法?,什么是计算机语言?,人们想和计算机交流,用符号来表达。,怎样维护交通秩序?音乐是怎样表示的?,用来表达这种关系的符号系统就是计算机语言,也叫“程序设计语言”。人与计算机交流使用的是“程序设计语言”。 同人类语言一样,程序设计语言也是由字、词和语法规则构成的一个系统。,2 算 法,主要内容,算法的表示算法的要素算法的特点算法的复杂度常用算法,算法的表示,算法一般可以使用下面几种类型的工具描述:
3、 1.自然语言 例:求12345。,最原始方法: 步骤1:先求12,得到结果2。 步骤2:将步骤1得到的乘积2乘以3,得到结果6。 步骤3:将6再乘以4,得24。 步骤4:将24再乘以5,得120。,改进的算法: S1: 使t=1 S2: 使i=2 S3: 使ti, 乘积仍然放在在变量t中,可表示为tit S4: 使i的值+1,即i+1i S5: 如果i5, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。,2.专用图形工具常用的有流程图、PAD图和N-S图等。,流程图描述,3.伪代码 为了便于转换成某种编程语言,一般采用准程序设计语言作算法描述语言。,伪代码描述:,BEGIN(算法
4、开始) 1=t 2=i while i t i+1=i print tEND(算法结束),算法两要素,算法的两要素算法由操作与控制结构两要素组成。1.操作(1)逻辑运算:“与”、“或”、“非”;(2)算术运算:加、减、乘、除;(3)数据比较:大于、小于、等于、不等于;(4)数据传送:输入、输出、赋值。,2.控制结构,1)算法的控制结构,决定了各操作的执行次序。用流程图可以形象地表示出算法的控制结构。 2)任何复杂的算法都可以用顺序、选择、循环三种控制结构组合而成。,F,T,我们在构造一个算法的时候,也只能以这三种基本结构作为“建筑单元”,遵守三种基本结构的规范。 基本结构之间可以并列、可以相互
5、包含,但不允许交叉。 正因为整个算法都由这三种基本结构构成,所以结构清晰,易于验证,易于纠错。这种方法就是结构化方法。,算法的特征,有穷性 一个算法必须总是在执行有穷步后结束,且每一步都可在有穷时间内完成;确定性 算法中的每一个指令必须有明确的含义,不能有二义性; 例:武松打死老虎 手举过头顶 单手?双手?举多高?,可行性(有效性) 算法中描述的操作都是可通过已经实现的基本运算、执行有限次实现的; 例:a/b 若b=0则无效输入 一个算法应有0个或多个输入;输出 一个算法应有1个或多个输出。,算法的复杂度,评价算法的标准: 执行算法所耗费的时间,即时间复杂度; 执行算法所耗费的存贮空间,主要是
6、辅助空间,即空间复杂度。,思考:给出一组数12、13、26、27、38、49、55、60、67、86,查找某一个数x是否在这组数中的算法?,的时间复杂度?,算法的设计要求,正确性 满足需求可读性 有助于算法的理解、调试和修改健壮性 容错高效率与低存储量,常 用 算 法,先依据题目的部分条件确定答案的大致范围,在此范围内对所有可能的情况逐一验证,直到全部情况验证完。 若某个情况使验证符合题目的条件,则为本题的一个答案;若全部情况验证完后均不符合题目的条件,则问题无解。,1.枚举法,例:公鸡每只五元,母鸡每只三元,小鸡三只一元,问一百元钱买一百只鸡有几种买法?,假设公鸡数为x,母鸡数为y,则小鸡数
7、是z,也就有了下面的方程式:,x+y+z=1005x+3x+z/3=100,算法:,2.递推法,顺推法和倒推法,例:猴子分食桃子 一天,一只猴子采得一堆桃子,当天它吃掉一半多一个,第二天又吃了一半多一个一直到第七天,它就剩一个桃子了。那么那天它共采了多少个桃子呢?,算法: S1: 使s=1 S2: 使t=7 S3: 使(s+1)2, 结果仍然放在变量s中,可表示为(s+1)2 s S4: 使t的值-1,即t-1t S5: 如果t=1, 返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。,3.递归法,如果一个过程直接或间接地调用它自身,则称该过程是递归的。,例:求阶乘。,算法:,Func
8、tion Factorial(n As Long) As Long If n = 1 Then Factorial = 1 Else Factorial = n * Factorial(n - 1) End Function,例:有一个nm的棋盘(2=n=50,2=m=50),在棋盘上有一个马,马走的规则为:马走日字且只能向右走。当n,m给出之后,同时给出马起始的位置和终点的位置,找出从起点到终点的所有路径的数目。,4.回溯法,回溯算法:从一条路往前走,能进则进,不能进则退回来,换一条路再试。,3 程序设计基础,程序设计的一般步骤:,解决问题的核心: 算法及算法的处理对象。,一个程序应包括:对
9、操作的描述。 即操作步骤,也就是算法(algorithm)。对数据的描述。 在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure)。 Nikiklaus Wirth提出的公式: 数据结构+算法=程序,程序设计语言,1.发展的过程 程序设计语言分类:机器语言、汇编语言、高级语言,机器语言 机器语言是一种CPU指令系统,是该CPU可以识别的一组组由0和1序列组成的指令码。 最初的语言是机器语言,二进制编码,机器可直接执行,执行速度快。,00000001000000001000 数据装入寄存器000000001000100001010 数据装入寄存器1000001010
10、00000000001 寄存器0与1的数据乘00000001000100001001 数据装入寄存器100000100000000000001 寄存器0与1的数据加00000010000000001110 保存寄存器0里的数 编程困难、可读性差、容易出错、可移植性差,汇编语言 用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“ADD”代表加法,“MOV”代表数据传递等等。 例:load 0,a 将单元a的数据装入寄存器0 load 1,b 将单元b的数据装入寄存器1 mult 0,1 寄存器0与1的数据乘 load 1,c 将单元c的数据装入寄存器1 add 0,1 寄存器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术专题 ppt课件 软件技术 专题 ppt 课件
链接地址:https://www.31ppt.com/p-1786860.html