1.1.1高一数学算法的概念

更新时间:2023-07-23 13:38:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

算法的概念

计算机与算法: 在现代社会里,计算机已经成为人 们日常生活和工作不可缺少的工具. 听音乐、看电影、玩游戏、画卡通画 、处理数据…计算机几乎可以是一个 全能的助手,你可以用它来做你想做 的任何事情.那么,计算机是怎样工 作呢?要想弄清楚这个问题,就需要 学习算法.

什么是算法?

问题情境:一个农夫带着一条狼、一头 山羊和一篮蔬菜要过河,但只有一 条小船.乘船时,农夫只能带一样东 西.当农夫在场的时候,这三样东西 相安无事.一旦农夫不在,狼会吃羊, 羊会吃菜.请设计一个方案,使农夫 能安全地将这三样东西带过河.

“鸡兔同笼”是我国隋朝 时期的数学著作《孙子算经》 中的一个有趣而具有深远影响 的问题,从学生熟悉的鸡兔同 笼问题解决引出数学中的算法 问题: 问题1:一个笼子里有一些 鸡和兔,现在知道里面一共35 有个头,94只脚,问鸡和兔各有 多少只?

x y 35 解方程 2 x 4 y 94

(1) (2)(3) (4)

第一步, (1) 2 (2)得: -2 y 24 第二步, 解(3)得: y 12 第三步, (1) 4 (2)得: 第四步, 解(4)得: x 23

2 x 46

x 23 第五步, 得到方程组的解得 y 12

写出一般二元一次方程组的解法步骤. (1) a1 x b1 y c1 a1b2 a2b1 0 (2) a2 x b2 y c2第一步, (1) b2 (2) b 得: 1

a1b2 a2b1 x c1b2 c2b1c1b2 c2b1 第二步,解(3)得 x a1b2 a2b1

(3)

写出一般二元一次方程组的解法步骤. (1) a1 x b1 y c1 a1b2 a2b1 0 (2) a2 x b2 y c2第三步,

a2b1 a1b2 y a2c1 a1c2第四步,解(4)得

(1) a2 (2) a1 得:

(4)

a2c1 a1c2 y a2b1 a1b2

c1b2 c2b1 x a b a b 1 2 2 1 第五步,得到方程组的解为 y a2 c1 a1c2 a2b1 a1b2

广义地说,算法就是做某 一件事的步骤或程序。菜 谱是做菜肴的算法,洗衣 机的使用说明书是操作洗 衣机的算法,

在数学中算法通常指按照一 算法: 定规则 解决某一类问题的明确 和有限的步骤. 现在,算法通常可以编成计算 机程序,让计算机执行并解决问题 .

写出交换两个大小相同的杯子中 的液体 (A 水、 B 酒) 的一个算法. 第一步,找一个大小与A相同的空杯子C. 第二步,将A 中的水倒入C中. 第三步,将B中的酒精倒入A中. 第四步,将C中的水倒入B中,结束.

例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. 第二步, 用3除35,得到余数2.因为余数不为0, 所以3不能整除35.

第三步, 用4除35,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.

设计一个算法,判断整数n(n>2)是否为质数? 第一步,给定大于2的整数n。

第二步,令i=2第三步,用i除n,得到余数r。

遍历 法

第四步,判断“r=0”是否成立。 若是,则n不是质 数,结束算法; 否则,将i的值增加1,仍用i表示。

第五步,判断“i>(n-1)”是否成立。 若是,则n不是 质数,结束算法; 否则,返回第三步

例2 用二分法设计一个求方程 x2 – 2 = 0 的近似根的算法。 旧知识回顾 用二分法求函数的零点 :a b ︱a-b︱1 1 1 1.25 1.375 …… 2 1.5 1.5 1.5 …… + 2 + 2 + 2

0.50.25 0.125

……

1

y x2 2

1

+ 1.5

1

1.25

+ 1.5 + 1.3751.5

1.375

1 1.25

1.5

2

1

1.25

-

+ 2

第一步, 令 f ( x) x 2 .给定精确度d. 第二步, 给定区间[a,b],满足f(a) · f(b)<0.2

第三步, 取中间点 m

a b 2

.

第四步, 若f(a) · f(m) < 0,则含零点的区间为[ a,m]; 否则,含零点的区间为[m, b]. 将新得到的含零点的仍然记为[a,b] .第五步, 判断[a,b]的长度是否小于d或者 f(m)是否等于0. 若是,则m是方程的近似 解;否则,返回第三步.

例3:读下列算法,回答问题: 第一步,令s=0 第二步,令i=1。 第三步,求出s+i,仍用s表示。 第四步,判断i>100是否成立?若是,输出s;若不 是,将i的值增加1,仍用i表示返回第三步。 (1)该算法是解决什么问题的? (2)最终输出的结果是什么?

练习1.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.

第一步:输入任意一个正实数r; 第二步:计算圆的面积: S=πr2;

第三步:输出圆的面积S.

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. 第二步,如

果Δ<0,则原方程无实数解 b , ;否则(Δ≥0)时, x1 2a

b . x2 2a 第三步:输出x1, x2或无实数解的信息.

本文来源:https://www.bwwdw.com/article/r0sm.html

Top