nbhkdz.com冰点文库

1.1.1 算法的概念


第一章 算法初步
1.1 算法与程序框图
1.1.1 算法的概念

1.了解算法的含义,体会算法的思想; 2.能够用自然语言叙述算法; 3.掌握正确的算法应满足的要求; 4.会写出解线性方程(组)的算法.

在中央电视台“幸运52”节目中,有一个猜商品价格的
环节,竟猜者如在规定时间内大体猜出某种商品的价格

,就 可获得该件商品.现有一商品,价格在0-8000元之间,采取怎 样的策略才能在最短的时间内说出正确(大体上)的答案呢?

第一步:报“4000”; 第二步 : 若主持人说高了 ( 说明答案在 0~4000 之间 ), 就报 “2000”,否则(答案在4000~8000之间)报“6000”;

第三步:重复第二步的报数方法取中间数,
直至得到正确结果.

算法的概念

1. 6+5×(4-2)
先去括号 再乘除 后加减

2. 两个大人和两名儿童一起渡河,渡口只有一条小船,

一次只能渡过一个大人或两名儿童,他们四人都会划船,
但都不会游泳.请你帮他们设计一个最快捷的渡河方案. 第一步:两个小孩同船渡过河去; 第二步:一个小孩划船回来; 第三步:一个大人独自划船渡过河去;

第四步:对岸的小孩划船回来;

第五步:两个小孩再同船渡过河去;

第六步:一个小孩划船回来;
第七步:余下的一个大人独自划船渡过河去; 第八步:对岸的小孩划船回来; 第九步:两个小孩再同船渡过河去. 简单地说,算法就是解决问题的程序或步骤.

到底什么是算法呢?

一般地, 按照一定规则解决某一类问题的明确和有
限的步骤称为算法(algorithm). 它是解决某一类问题的程序或步骤. 所谓 “算法”就是解题方法的精确描述.从更广义 的角度来看,并不是只有“计算”类的问题才有算法,日

常生活中处处都有.如乐谱是乐队演奏的算法,菜谱是做
菜肴的算法,珠算口诀是使用算盘的算法. 按照这样的理解,我们可以设计出很多解具体数学问 题的算法.下面看几个例子:

?3x-2y=3 写出解方程组 ? ?2x+y=4
第一步:(消元) ①+②×2,得 7x=11

① ②


的步骤

第二步:(解一元一次方程)
解③得
x= 11 7

第三步:(代入求解)
将 x= 11 代入①,得 y= 6 7 7

?3x-2y=3 ? ?2x+y=4

?a1x+b1y=c1 ? ?a 2 x+b2 y=c2
得 ③

① ②

(a1b2 -a 2b1 ? 0)

写出解第二个方程组的算法: 第一步:①×a2- ②×a1 (a2b1-a1b2)y=a2c1-a1c2

变一变

a 2c1 -a1c2 第二步:解③,得 y= a 2 b1 -a1b2
第三步:将④带入①得 x=



b1c2 -b2c1 a 2 b1 -a1b2

问题1:这两个解方程组算法的适用范围有何不同?
---------------------------------------------------

?3x-2y=3 ? ?2x+y=4
第一步:

① ②

?a1x+b1 y=c1 ① ? ?a 2 x+b 2 y=c2 ②

(a1b2 -a 2 b1 ? 0)

第一步: ①×a2- ②×a1得 (a2b1-a1b2)y=a2c1-a1c2 ③


①+②×2,得7x=11 ③ 第二步:解③得 x= 11
7

第三步:
6 将 x= 11 代入①,得 y= 7 7

a 2c1 -a1c2 第二步:解③,得 y= a 2 b1 -a1b 2

第三步:将④代入①得 x= b1c2 -b2c1 a 2 b1 -a1b2

?3x-2y=3 ① 解方程组 ? ? 2x+y=4 ②
第一步: 取 a1=3,b1=-2,c1=3 a2=2,b2=1,c2=4

b1c2 -b2c1 x= a 2 b1 -a1b2

a 2c1 -a1c2 y= a 2 b1 -a1b2

第二步:计算

b1c2 -b2c1 x= a 2 b1 -a1b2

a 2c1 -a1c2 y= a 2 b1 -a1b2

第三步:给出运算结果.

问题2:下面的步骤表述明确吗? 一:两腿并拢,挺胸抬头

二:左手托起女方右手,右手放在女方腰部
三:先迈前腿 四:再迈后腿 ??

问题3:你对以下的“算法”如何理解?
问: 要把大象装进冰箱,分几步? 答:分三步: 第一步:打开冰箱门 第二步:把大象装进冰箱

第三步:关上冰箱门

问题4:一位商人有9枚金币,其中有一枚略轻的假币,你 能用天平(无砝码)将假币找出来吗?写出解决这一问 题的算法.

第一步:把9枚金币平均分成三组,每组三枚.
第二步:先将其中的两组放在天平的两边,如果天平不 平衡,那么假金币就在轻的那一组;如果天平左右平衡, 则假金币就在未称量的那一组里. 第三步:取出含假币的那一组,从中任取两枚金币放在

天平两边进行称量,如果天平不平衡,则假金币在轻的
那一边;若平衡,则未称的那一枚就是假币.

问题5:有人对歌德巴赫猜想“任何大于4的偶数都能写 成两个奇质数之和”设计了如下操作步骤: 第一步:检验6=3+3

第二步:检验8=3+5
第三步:检验10=5+5 ?? 利用计算机无穷地进行下去! 请问,利用这种程序能够证明猜想的正确性吗?

这是一种算法吗?

1.算法定义的理解 在数学中,现代意义上的 “算法”通常是指可以用计算机 来解决的某一类问题的程序或步骤,这些程序或步骤必须

是明确和有效的,而且能够在有限步之内完成.
2.算法的要求 (1)写出的算法,必须能解决一类问题(例如解任意一个二元 一次方程组),并且能重复使用; (2)算法过程要能一步一步执行,每一步执行的操作,必须确

切,不能含混不清,而且在有限步之内完成后能得出结果.

3.算法的基本特征:

?明确性 : 算法的每一个步骤都是确切的 , 能有效执行且
得到确定结果,不能模棱两可. ?有限性:算法应由有限步组成,至少对某些输入,算法应 在有限多步内结束,并给出计算结果. ?有效性:算法从初始步骤开始,分为若干明确的步骤 ,每

一步都只能有一个确定的继任者,只有执行完前一步才能
进入到后一步,并且每一步都确定无误后,才能解决问题. ?不唯一性 : 求解某一个问题的算法不一定是唯一的 , 对 于同一个问题可以有不同的算法.

例1.(1)设计一个算法,判断7是否为质数.
(2)设计一个算法,判断35是否为质数. 算法分析: (1)根据质数的定义,可以这样判断:依次用2~6除7, 如果它们中有一个能整除7,则7不是质数,否则7是质数.

根据以上分析,可写出如下算法: 第一步:用2除7,得到余数1,所以2不能整除7.

第二步:用3除7,得到余数1,所以3不能整除7.
第三步:用4除7,得到余数3,所以4不能整除7. 第四步:用5除7,得到余数2,所以5不能整除7. 第五步:用6除7,得到余数1,所以6不能整除7. 因此,7是质数.

(2) 类似的,可写出“判断35是否为质数”的算法: 第一步:用2除35,得到余数1,所以2不能整除35. 第二步:用3除35,得到余数2,所以3不能整除35.

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

探究:你能写出“判断整数n(n>2)是否为质数”的算法吗?
第一步:给定一个大于2的整数n; 第二步:令i=2; 第三步:用i除n,得到余数r; 第四步:判断“r=0”是否成立.若是,则n不是质数,结束

算法;否则,将i的值增加1,仍用i表示.
第五步:判断“i>(n-1)”是否成立.若是,则n是质数,结束 算法;否则,返回第三步.

想一想:什么是二分法?

对于区间[a,b ]上连续不断、且f(a)f(b)<0的函数y=f(x),
通过不断地把函数f(x)的零点所在的区间一分为二,使区 间的两个端点逐步逼近零点,进而得到零点近似值的方法 叫做二分法. y=x2-2(x>0) x

例2.写出用二分法求方程 x2-2=0(x>0)的近似解的算法. 第一步:令f(x)=x2-2,给定精确度d. 第二步:确定区间[a,b],满足f(a)·f(b)<0. 第三步:取区间中点 m= a+b . 2 第四步:若f(a)·f(m)<0,则含零点的区间为[a,m];否则, 含零点的区间为[m,b].将新得到的含零点的区间仍记为 [a,b]. 第五步:判断|a-b|<d是否成立或f(m)是否等于0.若是,

则m是方程的近似解;否则,返回第三步.

对于方程x2-2=0(x>0),给定d=0.005. a 1 1 1.25 1.375 1.375 1.406 25 1.406 25 1.414 062 5 1.414 062 5 b 2 1.5 1.5 1.5 1.437 5 1.437 5 1.421 875 1.421 875 1.417 968 75 |a-b| 1 0.5 0.25 0.125 0.062 5 0.031 25 0.015 625 0.007 812 5 0.003 906 25

此步骤也是求 2 的近似值的一个算法.

1.任意给定一个正实数,设计一个算法求以这个数为半径 的圆的面积. 第一步:输入任意一个正实数r; 第二步:计算圆的面积: S=πr2; 第三步:输出圆的面积S.

2.你要乘火车去外地办一件急事 ,请你写出从自己房间
出发到坐在车厢内的三步主要算法.

第一步:去车站;
第二步:买车票;

第三步:凭票上车对号入座.

3. 任意给定一个大于 1 的正整数 n, 设计一个算法求出 n 的

所有因数.
第一步:依次以2~(n-1)为除数去除n,检查余数是否为0,

若是,则是n的因数;若不是,则不是n的因数.
第二步:在n的因数中加入1和n. 第三步:输出n的所有因数.

1.知识结构 算法的概念 算法 算法的步骤 算法的特点

2.算法的特点 : 思路简单清晰 , 叙述复杂 , 步骤繁琐 , 计算
量大 , 完全依靠人力难以完成 .而这些恰恰就是计算机的 特长,它能不厌其烦地完成枯燥的、重复的、繁琐的工作. 正因为这些,现代算法的作用之一就是让计算机代替人完 成某些工作,这也是我们学习算法的重要原因之一.

3.设计算法的注意事项: (1)认真分析问题,联系解决此问题的一般数学方法; (2)综合考虑此类问题中可能涉及的各种情况;

(3)借助有关的变量或参数对算法加以表达;
(4)将解决问题的过程划分为若干个步骤; (5)用简练的语言将各个步骤表示出来.

成功和失败本是同一片旷野,它是会令你
溺水的深潭,也是能为你解渴的甘泉。


1.1.1算法概念教案

(人教A版•必修3)§1.1.1 算法的概念(人教A版•必修3)§1.1.1 算法的概念隐藏>> 1 §1.1.1 算法的概念(人教 A 版·必修 3) .1.1 ...

1.1.1 算法的概念知识点练习及答案

1.1.1 算法的概念知识点练习及答案_数学_高中教育_教育专区。一、知识要点及方法算法是指完成一个任务所需要的具体步骤和方法。也就是说给定初始状态或输入数据,...

1.1.1《算法的概念》教学设计

1.1.1算法的概念》教学设计_数学_高中教育_教育专区。人教 A 版高中数学必修 3 1.1.1算法的概念》教学设计纳雍县第一中学一、教材背景分析 1.教材的地...

1.1.1算法的概念(练习题)

1.1.1算法的概念(练习题)_数学_高中教育_教育专区。数学 练习题1.1.1 算法的概念一、选择题 1.下列说法正确的是( ) A.算法就是某个问题的解题过程 B.算...

高二数学:1.1.1《算法的概念》教案(1)(新人教A版必修3)

高二数学:1.1.1算法的概念》教案(1)(新人教A版必修3)_高二数学_数学_高中教育_教育专区。李牛牛今日推荐 78份文档 笑翻神图 ...

1.1.1 算法的概念

必修三 1.1.1 算法的概念 一、学习目标:了解算法的含义,体会算法的思想;能够用自然语言叙述算法;掌握正确的算法应满足的要求;会写出解线性方程(组)的算法、判断...

1.1.1算法的概念

1.1.1算法的概念_数学_高中教育_教育专区。第一章 1.1 算法初步 算法与程序框图 算法的概念 1.1.1 教学目标 1、知识与技能 要求学生了解算法的含义,掌握...

1.1.1算法的概念

1.1.1算法的概念_其它_工作范文_实用文档。高一数学导学案 马文娟 §1.1.1 班级: 算法的概念姓名: 小组: 学习目标 1、了解算法的含义,体会算法的思想, 2、...

1-1算法的概念练习题及答案

1-1算法的概念练习题及答案_高一数学_数学_高中教育_教育专区。[当堂达标] 1.我们已学过的算法有一元二次方程的求根公式、加减消元法 求二元一次方程组的解...

1.示范教案(1.1.1 算法的概念)

1.示范教案(1.1.1 算法的概念)_数学_高中教育_教育专区 暂无评价|0人阅读|0次下载|举报文档 1.示范教案(1.1.1 算法的概念)_数学_高中教育_教育专区。第...