当前位置:首页 >> 数学 >>

111算法的概念93610_图文

假设家中生火泡茶有以下几个步骤:

a.生火 b.将水倒入锅中 c.找茶叶

d.洗茶壶茶碗

e.用开水冲茶

请选出一个最优算法( )

A.abcde B.bacde C.cadbe D.dcabe

算法的定义: 通常指可以用计算机来解决的某一类问题的程序或步骤,
这些程序或步骤必须是明确和有效的,而且能够在有限步之 内完成。
算法的要求: 1.可执行性 2.确定性 3.有穷性 4.有输入信息的说明 5.有输出结果的说明

例1 任意给定一个大于1的整数n,试设计一
个程序或步骤对n是否为质数作出判定。 解:算法如下:
S1 输入n。
S2 判断n是否等于2。若n=2,则n是质数; 若n>2,则执行 S3。
S3 依次从2-(n-1)检验是不是n的因数, 即整除n的数。若有这样的数,则n不是质数; 若没有这样的数,则n是质数。

例2‘ 写出一个求有限整数序列中的最大值的
算法。 解:算法如下:
S1 先假定序列中的第一个整数为“最大值”。
S2 将序列中的下一个整数值与“最大值” 比较,如果它大于此“最大值”,这时你就假 定“最大值”是这个整数。
S3 如果序列中还有其他整数,重复S2。
S4 在序列中一直到没有可比的数为止,这 时假定的“最大值”就是这个序列中的最大值。

例3‘ 写出求1?2?3? ?9?10的值的算法。
解法1:算法如下: S1 先求1?2,得到结果2; S2 将第一步所得结果2再乘以3,得到结果6。 S3 将6再乘以4,得到24; S4 将24再乘以5,得到120;
S9 将362880再乘以10,得到3628800,即是 最后的结果。

小结:
1.注意算法的要求; 2.理解循环算法。怎样用数学语言表
示循环?

练习
1.写出解一元二次方程的一个算法。 2.写出求1至1000的正整数中3的倍
数的一个算法。

作业
设计一个计算1? 2 ? 3? ?100 的值 的算法。(用数学语言)