计算机软件技术基础 徐士良 1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件技术基础 徐士良 1.ppt

An Introduction to Database Systems 软件技术基础 青海大学计算机系 1.1 算法的基本概念 1.1.1 算法的基本特征 算法: 是指解题方案的准确而完整的描述。 程序:可以作为算法的一种描述 说明:程序需考虑与方法和分析无关的细节问题, 因为编写程序受到计算机系统运行环境的限 制。 【例】寻找给定3个整数a,b,c的中数m 1.1 算法的基本概念 1.1 算法的基本概念 1.1.1 算法的基本特征 1.能行性(effectiveness) ① 算法中的每一个步骤必须能够实现。 ② 算法执行的结果要能够达到预期的目的。 A=1012,B=1,C=-1012 A+B+C=1012+1+(-1012)=0 A+C+B=1012+(-1012)+1=1 1.1 算法的基本概念 1.1.1 算法的基本特征 算法是指解题方案的准确而完整的描述。 2.确定性(Definiteness) 指算法中的每一个步骤都必须是有明确定义的,不允 许出现多义性。例如:a+++a 3.有穷性(Finiteness) 指算法必须能在有限的时间内做完,即算法必须能 在执行有限个步骤之后终止。 4.拥有足够的情报 1.1 算法的基本概念 算法是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。 1.1.2 算法的基本要素 1.算法中对数据的运算和操作 ① 算术运算 ② 逻辑运算 ③ 关系运算 ④ 数据传输 2.算法的控制结构:算法中各操作数之间的执行顺序 1.2 算法描述语言 1.符号与表达式 loop:i=i+1 “设x是A中的最大项”(其中A是一个数组) “将x插入到L之中”(其中L是某个表) 关系运算符用=、≠、<、>、≤、≥ 逻辑运算符用and(与)、or(或)、not(非) 1.2 算法描述语言 2.赋值语句 a=e a=b=e 3.控制转移语句 无条件转移语句 GOTO 标号 条件转移语句 IF C THEN S 或 IF C THEN S1 ELSE S2 1.2 算法描述语言 4.循环语句 1) WHILE语句 WHILE C DO S 功能等价于如下的IF语句: 1.2 算法描述语言 2)FOR语句 FOR i=init TO limit BY step DO S 当step=1时 FOR i=init TO limit DO S 1.2 算法描述语言 1.3 算法设计基本方法 1. 列举法 根据提出的问题,列举所有可能的情况,并用问题中给 定的条件检验哪些是需要的,哪些是不需要的。 因此,列举法常用于解决“是否存在”或“有多少种可 能”等类型的问题,例如求解不定方程的问题。 【例】设每只母鸡值3元,每只公鸡值2元,两只小鸡值1 元。现要用100元钱买100只鸡,设计买鸡方案。 1.3 算法设计基本方法 【解题】假设买母鸡I只,公鸡J只,小鸡K只。 FOR I=0 TO 100 DO FOR J=0 TO 100 DO FOR K=0 TO 100 DO { M=I+J+K N=3I+2J+0.5K IF ((M=100)and(N=100)) THEN OUTPUT I,J,K } RETURN 1.3 算法设计基本方法 FOR I=0 TO 33 DO FOR J=0 TO 50-1.5I DO { K=100-I-J IF (3I+2J+0.5K=100) THEN OUTPUT I,J,K } RETURN 1.3 算法设计基本方法 #include stdio.h main() { int i,j,k; for (i=0; i<=33; i++) for (j=0; j<=50-1.5*i; j++) { k=100-i-j; if (3*i+2*j+0.5*k==100.0) printf(“%5d,%5d,%5d\n,i,j,k); } } 1.3 算法设计基本方法 2. 归纳法 通过列举少量的特殊情况,经过分析,最后找出一般的关系。 3. 递推 从

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档