算法的概念
计算机与算法: 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、画卡通画、处理数据…计算机几乎可以是一个全能的助手,你可以用它来做你想做的任何事情.那么,计算机是怎样工作呢?要想弄清楚这个问题,就需要学习算法. 什么是算法?
木门的制作过程: 第一步:准备木材; 第二步:将木材加工成木板; 第三步:将加工好的木板放到木板烘干机上进行烘干; 第四步:将烘干的木板进行加工,制作成木门。
解方程 第一步, 由(1)得 第二步, 将(3)代入(2)得 第三步, 解(4)得 第四步, 将(5)代入(3)得 第五步, 得到方程组的解得
解方程 第一步, 第二步, 第三步, 第四步, 第五步, 得到方程组的解得
写出一般二元一次方程组的解法步骤. 第一步, 第二步,解(3)得
写出一般二元一次方程组的解法步骤. 第三步, 第四步,解(4)得 第五步,得到方程组的解为
一、算法的概念 算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。
广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,
在数学中算法通常指按照一定规则 解决某一类问题的明确和有限的步骤. 算法的概念 × 算法: 在数学中算法通常指按照一定规则 解决某一类问题的明确和有限的步骤. 现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
思考: 2.算法的特点: 明确性:算法中的每一个步骤都是确切的,能有效的执行且得到确定的结果,不能模棱两可。 有限性:算法应由有限步组成,必须在有限操作之后停止,并给出计算结果。 思考: 有人对歌德巴赫猜想“任何大于4的偶数都能写成两个奇质数之和”设计了如下操作步骤: 第一步:检验6=3+3 第二步:检验8=3+5 第三步:检验10=5+5 . . . . . . 利用计算机无穷地进行下去! 请问,利用这种程序能够证明猜想的正确性吗? 这是一种算法吗?
2.算法的特点: 明确性:算法中的每一个步骤都是确切的,能有效的执行且得到确定的结果,不能模棱两可。 有限性:算法应由有限步组成,必须在有限操作之后停止,并给出计算结果。 有序性:算法从初始步骤开始,分为若干明确的步骤,每一步都只能有一个确定的继任者,只有执行完前一步才能进入到后一步,并且每一步都确定无误后,才能解决问题。 不唯一性:求解某一个问题的解法不一定是唯一的,对于同一个问题可以有不同的解法,但算法有优劣之分,好的算法是我们追求的目标. 普适性:写出的算法必须能解决一类问题,并且能重复使用,这是设计算法的一条基本原则,这样才能使算法更有价值.
写出交换两个大小相同的杯子中 的液体 (A 水、 B 酒) 的一个算法. 第一步,找一个大小与A相同的空杯子C. 巩固概念 × 写出交换两个大小相同的杯子中 的液体 (A 水、 B 酒) 的一个算法. 第一步,找一个大小与A相同的空杯子C. 第二步,将A 中的水倒入C中. 第三步,将B中的酒精倒入A中. 第四步,将C中的水倒入B中,结束.
例1.(1)设计一个算法判断7是否为质数. 第一步, 用2除7,得到余数1.因为余数不为0, 所以2不能整除7. 应用举例 × 例1.(1)设计一个算法判断7是否为质数. 第一步, 用2除7,得到余数1.因为余数不为0, 所以2不能整除7. 第二步, 用3除7,得到余数1.因为余数不为0, 所以3不能整除7. 第三步, 用4除7,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除7,得到余数2.因为余数不为0, 所以5不能整除7. 第五步, 用6除7,得到余数1.因为余数不为0, 所以6不能整除7.因此,7是质数.
例1.(2)设计一个算法判断35是否为质数. 第一步, 用2除35,得到余数1.因为余数不为0, 所以2不能整除35. 应用举例 × 例1.(2)设计一个算法判断35是否为质数. 第一步, 用2除35,得到余数1.因为余数不为0, 所以2不能整除35. 第二步, 用3除35,得到余数2.因为余数不为0, 所以3不能整除35. 第三步, 用4除35,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
设计一个算法,判断整数n(n>2)是否为质数? 第二步,令i=2 第三步,用i除n,得到余数r。 第四步,判断“r=0”是否成立。 若是,则n不是质数,结束算法; 否则,将i的值增加1,仍用i表示。 第五步,判断“i>(n-1)”是否成立。 若是,则n不是质数,结束算法; 否则,返回第三步
做一做 任意给定一个正整数 ,试设计一个算法对 是否为质数做出判断。 第一步: 任意给定一个正整数 ,试设计一个算法对 是否为质数做出判断。 第一步: 判断 是否等于1。若是,则 既不是质数,也不是合数。若 >1,则执行第二步。 第二步: 判断是 否等于2。若 =2,则 是质数;若 >2,则执行第三步。 依次检验 的结果是否 为整数。若有,则 不是质数;若没有,则 是质数。 第三步:
练习 1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积. 第一步:输入任意一个正实数r; 第二步:计算圆的面积: S=πr2;
2.任意给定一个大于1 的正整数n,设计一个算法求出n的所有因数. 答案1:第一步:依次以2~(n-1)为除数去除n,检查余数是否为0,若是,则是n的因数;若不是,则不是n的因数. 第二步:在n的因数中加入1和n. 第三步:输出n的所有因数. 答案2:第一步:给定大于1的整数n 第二步:令i=1 第三步:用i除n,得余数r 第四步:判断“ r=0” 是否成立,若是,则i是n的因数,输出i, 第五步:将i的值增加1,仍用i表示. 第六步:判断“i>n结束算法,否则返回第三步.
3、写出求一元二次方程 ax2+bx+c=0 的根的算法. 第一步,计算Δ=b2-4ac. 巩固概念 × 3、写出求一元二次方程 ax2+bx+c=0 的根的算法. 第一步,计算Δ=b2-4ac. 第二步,如果Δ<0,则原方程无实数解 ;否则(Δ≥0)时, 第三步:输出x1, x2或无实数解的信息.
练习题 4.下面的四种叙述不能称为算法的是( ) (A)广播的广播操图解 (B)歌曲的歌谱 (C)做饭用米 (D)做米饭需要刷锅、淘米、添水、加热这些步骤 C
5.下列关于算法的说法正确的是( ) (A)某算法可以无止境地运算下去 (B)一个问题的算法步骤可以是可逆的 (C)完成一件事情的算法有且只有一种 (D)设计算法要本着简单、方便、可操作的原则 D
6.下列关于算法的说法中,正确的是( ). A. 算法就是某个问题的解题过程 B. 算法执行后可以不产生确定的结果 C. 解决某类问题的算法不是惟一的 D. 算法可以无限地操作下去不停止 C
7.下列运算中不属于我们所讨论算法范畴的是( ). A. 已知圆的半径求圆的面积 B. 从一副扑克牌随意抽取3张扑克牌抽到24点的可能性 C. 已知坐标平面内的两点求直线的方程 D. 加减乘除运算法则 B
8.下列语句表达中是算法的有( ). ① 从济南到巴黎可以先乘火车到北京再坐飞机抵达; ②利用公式 S = ah÷2 计算底为1高为2的三角形的面积; ③ x>2x +4; ④求M(1,2)与N(3,5)两点连线的方程可先求MN的斜率再利用点斜式方程求得. A. 1 个 B. 2 个 C. 3 个 D. 4 个 C
9.写出求1+2+3+…+100的一个算法.可以运用公式1+2+3+…+n= 直接计算. 第一步 ① ; 第二步 ② ; 第三步 输出运算结果. ①取n=100 ②计算
1.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99,求他的总分和平均成绩的一个算法为: 第一步 取A=89,B=96,C=99; 第二步 ① ; 第三步 ② ; 第四步 输出D,E. ①计算总分D=A+B+C ②计算平均成绩E=