- 4
- 0
- 约7.5千字
- 约 48页
- 2017-06-02 发布于四川
- 举报
2.2、 简单算法举例 例1 求1×2×3×4×5。 可先写出这样的算法: (1)先求1×2,得到结果2; (2)将步骤1得到的结果再乘以3,得到结果6; (3)将6再乘以4,得到24; (4)将24再乘以5,得到120。 求1×2×3×4×5 上述算法太繁琐,我们找一种通用的表示方法。 S1:设变量p,被乘数,p=1; s2:设变量i,代表乘数,i=2; s3:使p×i,乘积放在被乘数变量p中,可表示为:p× i p; s4:使i的值加1,即i+1 i; s5:如果i不大于5,返回重新执行步骤s3以及其后的s4、s5;否则,算法结束。最后得到的p就是5!的值。 例2.求1×3×5×7×9 ×11 如果题目改为求1×3×5×7×9 ×11。 上述算法稍作改动: s1: 1 ? p; s2: 3 ?i; s3: p ×i ?p; s4: i+2 ?i s5: 若i?11,返回s3;否则,结束。 求1×3×5×7×9 ×11 可以看出,用这种方法表示的算法具有通用性、灵活性。S3到s5 组成一个循环,在实现算法时,要反复多次执行s3、s4、s5等步骤,直到某一时刻,执行s5步骤时经过判断,乘数i已超过规定的数值而不返回s3步骤为止。 计算机实现循环是轻而易举。 求1×3×5×7×9 ×11 请同学们仔细分析循环结束的条件,即s5步骤,如果在求1×3×5×7×9 ×11时,将s5步骤写成: s5:若I11,返回s3。 这样会有什么问题?会得到什么结果? 例3 有50个学生,要求将他们之中成绩在80分以上者打印出来。 解:用n表示学生学号,n1代表第一个学生学号,ni 代表第i 个学生学号。用g代表学生成绩,gi代表第i个学生成绩,算法表示如下: S1: 1 ?i; S2: 如果gi?80,则打印ni和gi,否则不打印。 S3: i+1 ?i; S4: 如果i?50,返回s2,继续执行,否则算法结束。 本例中,变量i作为下标,用它来控制序号(第几个学生,第几个成绩)。当 i超过50时,表示已对50个学生的成绩处理完毕,算法结束。 例 4 判断2000年---2500年中的每一年是否闰年,将结果输出。 解:闰年的条件是:(1)能被4整除,但不能被100整除的年份是闰年;如1996,2004年(2)能被100整除,又能被400整除的年份是闰年。如1600,2000年。不符合这两个条件的年份不是闰年。 算法如下:设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的值(即所求之总和)。 2.3. 算法的特性 1、有穷性:一个算法应当包含有限的步骤,而不能是无限的步骤;同时一个算法应当在执行一定数量的步骤后,算法结束,不能死循环。 事实上“有穷性”往往指“在合理的范围之内”的有限步骤。如果让计算机执行一个历时1000年才结束的算法,算法尽管有穷,但超过了合理的限度,人们也不认为此算法是有用的。 ?2、确定性:算法中的每一个步骤都应当是确定的,而不是含糊的、摸棱两可的。也就是说不应当产生歧义。特别是算法用自然语言描述时应当注意这点。 例如:“将成绩优秀的同学名单打印输出”就是有歧义的。“成绩优秀”是要求每门课程都90分以上,还是平均成绩在90分以上?不明确,有歧义,不适合描述算法步骤。 3、有0个或多个输入(即:可以没有输入,也可以有输入) 所谓输入是指算法执行时从外界获取必要信息。(外界是相对算法本身的,输入可以是人工键盘输入的数据,也可以是程序其它部分传递给算法的数据) 例如:不需要输入任何信息,就可以计算出5!;(0个输入) 例如:如果要计算两个整数的最大公约数,则需要输入2个整数m,n。(2个输入) ?4、有1个或多个输出(即算法必须得到结果) 算法的输出:算法得到的结果。算法必须有结果,没有结果的算法没有意义。(结果可以是显示在屏幕上的,也可以是将结果数据传递给程序的其它部分) 5、有效性 算法的每个步骤都应当能有
您可能关注的文档
最近下载
- DB11_T 2478-2025 碘-131核素治疗病房辐射安全与防护要求.pdf VIP
- NB-T-47018.1~47018.5-2017-承压设备用焊接材料订货技术条件+编制说明_.pdf VIP
- DBJ51_T 233-2023 四川省光伏建筑一体化应用技术标准(CTP).pdf VIP
- DB11_T 2492-2025 消防通信指挥系统应用规范 (1).pdf VIP
- 大众电影封面全集1950-1991170p.doc VIP
- DB11_T 136-2025 汽车维护竣工出厂技术条件.pdf VIP
- DB11_T 783-2025 建设用地土壤修复与风险管控效果评估技术规范.pdf VIP
- DB11_T 1312-2025 预制混凝土构件质量控制标准.pdf VIP
- DB11_T 1322.81-2025 安全生产等级评定技术规范 第81部分:歌舞娱乐场所.pdf VIP
- DB11_T 1322.82-2025 安全生产等级评定技术规范 第82部分:营业性演出场所.pdf VIP
原创力文档

文档评论(0)