2017-2018学年人教A版必修3 1.1.1算法的概念 教案2
2017-2018学年人教A版必修3  1.1.1算法的概念  教案2第3页

是要从一百万个年龄序列表中找出年龄最大的一个,要是没有算法,可就是一件很困难的事了。可计算机利用软件瞬间就可以找出最大值,计算机要靠软件(程序)支持,编写程序要依赖算法,因此我们要编写出合理的、高效的算法就非常必要了。

请大家思考:如何写出这个问题的一个算法呢?

算法1:

S1 先假定序列中的第一个数为"最大值"。

S2 将序列的第二个整数值与"最大值"比较,如果第二个整数大于"最 大值",这时就假定这个数为"最大值"。

S3 将序列的第三个整数值与"最大值"比较,如果第三个整数大于"最 大值",这时就假定这个数为"最大值"。

S4 将序列的第四个整数值与"最大值"比较,如果第四个整数大于"最 大值",这时就假定这个数为"最大值" 依此类推

Sn 将序列的第n个整数值与"最大值"比较,如果第n个整数大于"最 大值",这时就假定这这个数为"最大值"。

Sn+1 直到序列中没有可比的数为止,"最大值"就是序列的最大值。

算法2

S1 先假定序列中的第一个数为"最大值"。

S2 将序列中的下一个整数值与"最大值"比较,如果 大于"最大值",这时就假定这个数为"最大值"。

S3 如果序列中还有其它整数,重复S2。

S4 直到序列中没有可比的数为止,这时假定的"最 大值"就是序列的最大值。

  例3举例:写出一个求整数a、b、c最大值的算法

  解:S1 max=a。

  S2 如果b>max,则max=b。

  S3 如果c>max,则max=c。

  S4 max就是a、b、c的最大值。

三、知识小结: