- 3
- 0
- 约4.05千字
- 约 42页
- 2021-07-02 发布于河北
- 举报
第二章 程序的灵魂-算法;程序设计概述;算法:是指解决一个具体问题的意义明确的步骤的集合。是有限的
概括地说,算法是指解题方案的准确而完整的描述。从程序来说,也可以说算法是一个有限条指令的集合,这些指令确定了解决某一特定类型问题的运算序列。
对于同一个问题可以有不同的解题方法和步骤,也就是有不同的算法。算法有优劣,一般而言,应当选择简单的、运算步骤少的,既运算快、内存开销小的算法(算法的时空效率)。;买电视机的步骤:; 2.2、 简单算法举例;求1×2×3×4×5;例2.求1×3×5×7×9 ×11;求1×3×5×7×9 ×11;求1×3×5×7×9 ×11;例3;S1: 1 ?i;
S2: 如果gi?80,则打印ni和gi,否则不打印。
S3: i+1 ?i;
S4: 如果i?50,返回s2,继续执行,否则算法结束。
本例中,变量i作为下标,用它来控制序号(第几个学生,第几个成绩)。当 i超过50时,表示已对50个学生的成绩处理完毕,算法结束。;例 4;算法如下:设y为被检测的年份,可采取以下步骤:
s1: 2000 ?y;
s2: 若y不能被4整除,则输出y “不是闰年”。然后转到s6.
S3: 若y能被100整除,又能被400整除,输出y “是闰年”,否则输出“不是闰年”。然后转到s6。
S4: 若y 能被100整除,又能被400整除,输出y “是闰年”,然后转到s6。
S5: 输出 y “不是闰年”。
S6: y+1 ?y;
s7: 当y?2500时,转s2继续执行,如y2500,算法停止。;(1)使S=0(S作为累加变量);
(2)使N=1(N代表分母);
(3)S+1/N ? S (执行迭代,S为迭代变量);
(4)N+1 ? N;
(5)若N≤100,转去执行(3)以及其后的各步骤;否则执行(6);
(6)打印S的值(即所求之总和)。;1、有穷性:一个算法应当包含有限的步骤,而不能是无限的步骤;同时一个算法应当在执行一定数量的步骤后,算法结束,不能死循环。
事实上“有穷性”往往指“在合理的范围之内”的有限步骤。如果让计算机执行一个历时1000年才结束的算法,算法尽管有穷,但超过了合理的限度,人们也不认为此算法是有用的。
?2、确定性:算法中的每一个步骤都应当是确定的,而不是含糊的、摸棱两可的。也就是说不应当产生歧义。特别是算法用自然语言描述时应当注意这点。
例如:“将成绩优秀的同学名单打印输出”就是有歧义的。“成绩优秀”是要求每门课程都90分以上,还是平均成绩在90分以上?不明确,有歧义,不适合描述算法步骤。;3、有0个或多个输入(即:可以没有输入,也可以有输入)
所谓输入是指算法执行时从外界获取必要信息。(外界是相对算法本身的,输入可以是人工键盘输入的数据,也可以是程序其它部分传递给算法的数据)
例如:不需要输入任何信息,就可以计算出5!;(0个输入)
例如:如果要计算两个整数的最大公约数,则需要输入2个整数m,n。(2个输入)
?4、有1个或多个输出(即算法必须得到结果)
算法的输出:算法得到的结果。算法必须有结果,没有结果的算法没有意义。(结果可以是显示在屏幕上的,也可以是将结果数据传递给程序的其它部分)
5、有效性
算法的每个步骤都应当能有效执行,并能得到确定的结果。例如:b=0,则执行a/b是不能有效执行的。
;2.4. 怎样表示一个算法?;2.4.1 用自然语言表示算法;例如:描述计算并输出z=y/x的流程,可以用自然语言描述如下:
(1)输入x,y。
(2)判断x是否为0:
若X=0,则输出错误信息;
否则计算 y/x ? z,且输出z。;◆算法描述语言:是为了说明程序的流程而专门规定的某种语言。它一般介于自然语言与程序设计语言之间,它具有自然语言灵活的特点,同时又接近于程序设计语言的描述。
◆注意:算法描述语言所描述的流程,一般不能直接作为程序来使用,最后还需转换成用某种程序设计语言所描述的程序。
◆与程序设计语言的区别:
前者比较自由,不象后者那样受语法的约束,只要描述得人们能理解就行,而不必考虑计算机处理时所要遵循的规定或其它一些细节。;在程序设计过程中,一般不可能在一开始就用某种程序设计语言编制计算机程序,而是先用某种简单、直观、灵活的描述工具来描述处理问题的流程。当方案确定以后,再将这样的流程转换成计算机程序,这种转换往往是机械的,已经不涉及功能的重新设计或控制流程的变化,而只需考虑程序设计语言所规定的语法要求以及一细节问题。;流程图:用一些约定的几何图形来描述算法。用某种图框表示某种操作,用箭头表示算法流程;l起止框:表示算法的开始和结束。一般内部只写“开始”或“结束”。
l 处理框:表
您可能关注的文档
最近下载
- 提高市政雨水管道接口施工一次验收合格率.docx VIP
- 食品企业管理体系建立与认证吴亨覃海元61课件.pptx
- 新智能制造产业领域的智能仓储与物流解决方案.pptx VIP
- 电子科技大学860软件工程学科基础综合2020年考研专业课初试大纲.pdf VIP
- 2026人教版小学英语四年级上册期末综合试卷(3套含答案解析 打印版).docx
- 复杂底座的三维造型及数控加工工艺设计.docx VIP
- 2024北京昌平一中高三11月月考英语试题及答案.pdf VIP
- “建筑制图基础实训作业”及“建筑制图与识图实训小作业1-4部分参考答案”.pdf VIP
- 《食品企业管理体系建立与认证》课程标准.docx VIP
- 2025年房地产经纪人养老地产风险管理与应急预案专题试卷及解析.pdf VIP
原创力文档

文档评论(0)