课件22张PPT。第一章 算法初步
1.1.1 算法的概念算筹算盘计算器计算机1、分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程 探究:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善? 算法的概念 算法通常指按照一定规则解决某一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的.一般来说,“用算法解决问题” 可以利用计算机帮助完成.算法的特点:有限性、确定性、顺序性和正确性、不唯一性、普遍性新课讲授1.下列对算法描述正确的一项是( )
A. 某一个具体问题的一系列解决步骤
B. 数学问题的解题过程
C. 某一类问题的一系列解决步骤
D. 计算机程序
C试一试2.算法具有精确性,指的是( )
A. 算法的步骤是有限的
B. 算法一定包含输出
C. 算法的每个步骤是具体的、可操作
D. 以上说法都不正确C试一试3.算法具有有穷性,指的是( )
A.算法的每个步骤都是可执行的
B.算法的步骤是有限的
C.算法一定包含输出
D. 以上说法都不正确B试一试4.下列对算法描述正确的一项是( )
A. 算法只能用自然语言来描述
B. 算法只能用图形方式来表示
C. 同一问题可以有不同的算法
D. 同一问题的算法不同,结果必然不同C试一试5.下面关于算法的说法,正确的是( )
(1)求解某一类问题的算法是唯一的
(2)算法必须在有限步操作之后停止
(3)算法的每一步操作必须是明确的,不能有歧义或模糊
(4)算法执行后一定产生确定的结果(2) (3) (4) 试一试例1:(1)设计一个算法,判断7是否为质数
(2)设计一个算法,判断35是否是质数分析:根据质数的定义,依次用2-6除7,如果它们中的一个能整除7,则7不是质数,否则7是质数第一步:用2除7得到余数1,因为余数1不为0,所以不能被2整除第二步:用3除7得到余数1,因为余数1不为0,所以不能被3整除第三步:用4除7得到余数3,因为余数3不为0,所以不能被4整除第四步:用5除7得到余数2,因为余数2不为0,所以不能被5整除第五步:用6除7得到余数1,因为余数1不为0,所以不能被6整除第六步:得到7是质数.(2)类似地,可以写出“35是否是质数”的算法:第一步:用2除35得到余数1,因为余数1不为0,所以不能被2整除第二步:用3除35得到余数2,因为余数2不为0,所以不能被3整除第三步:用4除35得到余数3,因为余数3不为0,所以不能被4整除第四步:用5除35得到余数0,因为余数0为0,所以能被5整除,则35不是质数.已知直角三角形两直角边长为a、b,求
斜边c的一个算法可分下列三步:
① 计算
② 输入直角三角形两直角边长a、b的值
③ 输出斜边c的值
正确的顺序是_________
② ① ③例2:设计一个算法,判断1997是否为质数 第一步:用2除1997得到余数不是0,所以不能被2整除第二步:用3除1997得到余数不是0,所以不能被3整除第三步:用4除1997得到余数不是0,所以不能被4整除……第一九九五步:用1996除1997得到余数不是0,所以不能被1996整除以上是算法么?例2:设计一个算法,判断1997是否为质数 第一步:令i=2第二步:用i除1997得余数r第三步:判断“r=0”是否成立,若是则1997不是质数,结束算法,否则将i的值增加1,仍用i表示第四步:判断“i>1996”是否成立,若是则1997是质数,结束算法,否则返回第二步例3:任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判断 第二步:判断“n=2”是否成立,若n=2,则n是质数;若n>2,则执行第三步第三步:令i=2第五步:判断“i>(n-1)”是否成立,若是,则n是质数,结束算法,否则返回第四步第一步:给定正整数n第四步:用i除n,得到余数r.判断“r=0”是否成立,若是则n不是质数,结束算法,否则将i的值增加1,仍用i表示解有人对歌德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤:第一步:检验6=3+3第二步:检验8=3+5...利用计算机无穷地进行下去!请问,利用这种程序能够证明猜想的正确性吗?第三步:检验10=5+5这是一种算法吗?练习1:有蓝和黑两个墨水,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题分析:由于两个墨水瓶中的墨水不能直接交换,故可以考虑通过引入第三个空墨水瓶的办法进行交换第二步:将黑墨水瓶中的蓝墨水倒入白瓶中第三步:将蓝墨水瓶中的黑墨水倒入黑瓶中第五步:交换结束第一步:取一只空墨水瓶,设其为白色第四步:将白瓶中的蓝墨水倒入蓝瓶中练习2:任意给定一个正实数,试设计一个算法求以这个数为半径的圆的面积.解练习3:任意给定一个大于1的正整数n,试
设计一个算法求出n的所有因数.第一步:给定一个大于1的正整数 n
第二步:令 i=1
第三步:用 i 除 n 得余数 r
第四步:判断“ r=0 ”是否成立:若是,则 i 是 n 的因数;
否则,i 不是 n 的因数
第五步:使 i 的值增加1,仍用 i 表示
第六步:判断“ i>n-1 ” 是否成立:若是,则结束算法;
否则,返回第三步小结:算法的特征是什么?明确性有效性有限性算法的概念:算法通常指可以用来解决的某
一类问题的步骤或程序,这些步骤或程序必须是明
确的和有效的,而且能够在有限步之内完成的.