文档介绍:§ 算法的概念
问题的提出
说起算法,大家可能都有点陌生,但是事实上,我们几乎每天都会和它打交道。例如,,,如果我们用计算器计算应该付多少钱,我们的做法是:
方法和过)歌曲的歌谱
(C)做饭用米
(D)做米饭需要刷锅、淘米、添水、加热这些步骤
4.下列关于算法的说法正确的是( D )
(A)某算法可以无止境地运算下去
(B)一个问题的算法步骤可以是可逆的
(C)完成一件事情的算法有且只有一种
(D)设计算法要本着简单、方便、可操作的原则
5.下列关于算法的说法中,正确的是( C ).
A. 算法就是某个问题的解题过程
B. 算法执行后可以不产生确定的结果
C. 解决某类问题的算法不是惟一的
D. 算法可以无限地操作下去不停止
6.下列运算中不属于我们所讨论算法范畴的是( B ).
A. 已知圆的半径求圆的面积
B. 从一副***牌随意抽取3张***牌抽到24点的可能性
C. 已知坐标平面内的两点求直线的方程
D. 加减乘除运算法则
思考:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,,,,狼会吃羊,,使农夫能安全地将这三样东西带过河.
第二步:农夫独自回来;
第三步:农夫带狼过河;
第四步:农夫带羊回来;
第六步:农夫独自回来;
第七步:农夫带羊过河.
第一步:农夫带羊过河;
第一步:
第二步:
第三步:
(消元)
(解一元一次方程)
①+②×2,得 ③
解③得
(带入求解)
将 代入①,得
写一写
解方程组
①
②
写出
的步骤
写出解第二个方程组的算法
第一步:
第二步:
第三步:
③
解③,得 ④
将④带入①得
①×
-
②×
得
变一变
①
②
在数学中,现代意义上的 “算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;
(2) 算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且在有限步之内完成后能得出结果.
:
概括性
:
逻辑性:算法从初始步骤开始,分为若干明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,而且每一步都是正确无误的,从而组成了一个有着很多逻辑性的步骤序列。
说明:对每一个步骤都有确切的,能有效执行且得到确定结果的,不能模棱两可。
问题: 有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤:
第一步:检验6=3+3
第二步:检验8=3+5
第三步:检验10=5+5
利用计算机无穷地进行下去!
请问: 这是一种算法吗?
有穷性:算法有一个清晰的起始步、终止步时 表示问题得到解答或指出问题没有解答,所有序列必须在有限个步骤之内完成,不能无停止地执行下去。
说明:算法应由有限步组成,至少对某些输入,算法应在有限多步内结束,并给出计算结果.
概括性:写出的算法必须能解决某一类问题,并且能够重复使用。
不唯一性:求解某一个问题的解法不一定是唯一的,;当然这些算法有简繁之分、优劣之分。
普遍性:很多具体问题,都可以设计合理的算法去解决。例如手算、心算或用算盘、计算器去计算都要经过有限的、事先设计好的步骤加以解决,同样的一个工作计划、生产流程等都可以视为“算法”。
练****设计一个算法,判断7是否为质数?
第四步:用5除7,得到余数为2,因为余数不为0,所以5不能整除7;
第二步:用3除7,得到余数为1,因为余数不为0,所以3不能整除7;
第五步:用6除7,得到余数为1,因为余数不为0,所以6不能整除7,因此,7是质数
第三步:用4除7,得到余数为3,因为余数不为0,所以4不能整除7;
第一步:用2除7,得到余数为1,因为余数不为0,所以2 不能整除7;
练****设计一个算法,判断35是否为质数?
第四步:用5除35,因为余数等于0,所以5能