- 1
- 0
- 约3.66千字
- 约 42页
- 2021-11-14 发布于江苏
- 举报
第二章 程序的灵魂-算法;程序设计概述;算法:是指解决一个具体问题的意义明确的步骤的集合。是有限的
概括地说,算法是指解题方案的准确而完整的描述。从程序来说,也可以说算法是一个有限条指令的集合,这些指令确定了解决某一特定类型问题的运算序列。
对于同一个问题可以有不同的解题方法和步骤,也就是有不同的算法。算法有优劣,一般而言,应当选择简单的、运算步骤少的,既运算快、内存开销小的算法(算法的时空效率)。;买电视机的步骤:; 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. 怎样表示一个算法?;用自然语言表示算法;例如:描述计算并输出z=y/x的流程,可以用自然语言描述如下:
(1)输入x,y。
(2)判断x是否为0:
若X=0,则输出错误信息;
否则计算 y/x ? z,且输出z。;◆算法描述语言:是为了说明程序的流程而专门规定的某种语言。它一般介于自然语言与程序设计语言之间,它具有自然语言灵活的特点,同时又接近于程序设计语言的描述。
◆注意:算法描述语言所描述的流程,一般不能直接作为程序来使用,最后还需转换成用某种程序设计语言所描述的程序。
◆与程序设计语言的区别:
前者比较自由,不象后者那样受语法的约束,只要描述得人们能理解就行,而不必考虑计算机处理时所要遵循的规定或其它一些细节。;在程序设计过程中,一般不可能在一开始就用某种程序设计语言编制计算机程序,而是先用某种简单、直观、灵活的描述工具来描述处理问题的流程。当方案确定以后,再将这样的流程转换成计算机程序,这种转换往往是机械的,已经不涉及功能的重新设计或控制流程的变化,而只需考虑程序设计语言所规定的语法要求以及一细节问题。;流程图:用一些约定的几何图形来描述算法。用某种图框表示某种操作,用箭头表示算法流程;l起止框:表示算法的开始和结束。一般内部只写“开始”或“结束”。
l 处理框:表示算法的某个
您可能关注的文档
- 二手房销售技巧培训佳一家.pptx
- 二手房销售流程技巧.pptx
- 二手车手续的检查与交易咨询概述.pptx
- 二手车置换业务基础培训教材.pptx
- 二支付结算法律制度.pptx
- 二政府预算收支分类.pptx
- 二数控机床的机械结构.pptx
- 二新闻媒介定位与新闻产品设计.pptx
- 二旅游管理信息系统开发与应用基础.pptx
- 二日常业务处理会计凭证填制.pptx
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
原创力文档

文档评论(0)