软件技术专题-课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件技术专题-课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 专题 课件
- 资源描述:
-
1、软件技术基础软件技术基础1 概述概述2 算法算法3 程序设计程序设计4 软件工程软件工程1 1 概概 述述什么是计算机软件什么是计算机软件?操作系统、操作系统、QQQQ、360360计算机系统计算机系统=硬件硬件+软件软件l程序以及相关的文档的集合。程 序文档1文档2文档3可执行部分不可执行部分什么是文档?什么是文档?l文档:记录软件开发活动和阶段性成果,理解软件所必需的阐述性资料。需求分析文档 软件设计文挡等l编写文档目的 促进对软件的开发、管理和维护;便于各种人员(用户、开发人员)的交流什么是程序?什么是程序?程序一词源于生活。做任何一件事情,都是有程序的。例如,颁奖大会的程序;做菜的程序
2、等等。把做菜的步骤用大家看得懂的方式记录下来,其他人可以按这些步骤顺序实施就完成了该事情。用计算机完成某事情,就把事先设计好的计算机处理信息的步骤,用计算机能够识别的指令编写出来,送入计算机。计算机按照指令执行,就能完成指定的工作。算法程序设计语言程序就是用计算机语言表述的算法。为解决一个问题而采取的方法和步骤,就称为算法算法。什么是算法?什么是算法?什么是计算机语言?什么是计算机语言?人们想和计算机交流,用符号来表达。怎样维护交通秩序?音乐是怎样表示的?用来表达这种关系的符号系统符号系统就是计计算机语言算机语言,也叫“程序设计语言程序设计语言”。人与计算机交流使用的是“程序设计语言”。同人类
3、语言一样,程序设计语言也是程序设计语言也是由字、词和语法规则构成的一个系统由字、词和语法规则构成的一个系统。2 2 算算 法法主要内容主要内容l算法的表示l算法的要素l算法的特点l算法的复杂度l常用算法算法的表示算法的表示 算法一般可以使用下面几种类型的工具描述:例:求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,返回重新执行步骤S
4、3以及其后的S4和S5;否则,算法结束。常用的有流程图、PAD图和N-S图等。流程图描述流程图描述伪代码伪代码 为了便于转换成某种编程语言,一般采用准程序设计语言作算法描述语言。伪代码描述:伪代码描述:BEGIN(算法开始算法开始)1=t 2=i while i t i+1=i print tEND(算法结束算法结束)算法两要素算法两要素l算法的两要素算法由操作操作与控制结构控制结构两要素组成。1.1.操作操作(1)逻辑运算:“与”、“或”、“非”;(2)算术运算:加、减、乘、除;(3)数据比较:大于、小于、等于、不等于;(4)数据传送:输入、输出、赋值。2.2.控制结构控制结构 1 1)算法
5、的控制结构,决定了各操作的)算法的控制结构,决定了各操作的执行次序。用执行次序。用流程图流程图可以形象地表示出算法可以形象地表示出算法的控制结构。的控制结构。2 2)任何复杂的算法都可以用)任何复杂的算法都可以用顺序、选顺序、选择、循环择、循环三种控制结构组合而成。三种控制结构组合而成。FT 我们在构造一个算法的时候,也只能以这三种基本结构作为“建筑单元”,遵守三种基本结构的规范。基本结构之间可以并列、可以相互包含,但不允许交叉。正因为整个算法都由这三种基本结构构成,所以结构清晰,易于验证,易于纠错。这种方法就是结构化方法结构化方法。算法的算法的特征特征l有穷性有穷性 一个算法必须总是在执行有
6、穷步后结束,且每一步都可在有穷时间内完成;l确定性确定性 算法中的每一个指令必须有明确的含义,不能有二义性;例:武松打死老虎 手举过头顶 单手?双手?举多高?l可行性可行性(有效性有效性)算法中描述的操作都是可通过已经实现的基本运算、执行有限次实现的;例:a/b 若b=0则无效l输入输入 一个算法应有0个或多个输入;l输出输出 一个算法应有1个或多个输出。算法的复杂度算法的复杂度评价算法的标准:执行算法所耗费的时间,即时间复杂时间复杂度度;执行算法所耗费的存贮空间,主要是辅助空间,即空间复杂度空间复杂度。思考:给出一组数思考:给出一组数1212、1313、2626、2727、3838、4949
7、、5555、6060、6767、8686,查找某一个数,查找某一个数x x是否在是否在这组数中的算法?这组数中的算法?算法1:顺序查找算法2:二分法查找比较:的时间复杂度?算法的设计要求算法的设计要求l正确性 满足需求l可读性 有助于算法的理解、调试和修改l健壮性 容错l高效率与低存储量常常 用用 算算 法法 先依据题目的部分条件确定答案的大致范围,在此范围内对所有可能的情况逐一验证逐一验证,直到全部情况验证完。若某个情况使验证符合题目的条件,则为本题的一个答案;若全部情况验证完后均不符合题目的条件,则问题无解。1.1.枚举法枚举法 例:公鸡每只五元,母鸡每只三元,小鸡三只一元,问一百元钱买一
8、百只鸡有几种买法?假设公鸡数为x,母鸡数为y,则小鸡数是z,也就有了下面的方程式:x+y+z=1005x+3x+z/3=100算法:算法:2.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.3.递归法递归法 如果一个
9、过程直接或间接地调用它自身,则称该过程是递归的。例:求阶乘。n!=n!=1 n=11 n=1n(n-1)!n0n(n-1)!n0算法:Function 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=m0 then y=1elseif x=0 then y=0 else y=-1endif Print x,yl常用高级程序语言常用高级程序语言 目前,使用较广泛的高级语言有C、C+、Visual Basic、Vis
展开阅读全文