nbhkdz.com冰点文库

1.1.1算法的概念

时间:2010-09-26


第一章算法初步

1.1.1 算法的概念
一、教学目标: 教学目标: 知识与技能: (2)能够用自然语言叙述算法。 1、知识与技能: 知识与技能 (1)了解算法的含义,体会算法的思想。 (3)掌握正确的算法应满足的要求。 (4)会写出解线性方程(组)的算法。 (5)会写出一 个求有限整数序列中的最大值的算法。 (6)会应用 Scilab 求解方程组。

过程与方法: 2、过程与方法:通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二 过程与方法 元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度 不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限 整数序列中的最大值的算法。 情感态度与价值观: 3、情感态度与价值观:通过本节的学习,使我们对计算机的算法语言有一个基本的了解, 情感态度与价值观 明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世 界的能力。 重点与难点: 二、重点与难点: 重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。 难点:把自然语言转化为算法语言。 三、学法与教学用具: 学法与教学用具: 学法: 学法:1、写出的算法,必须能解决一类问题(如:判断一个整数 n(n>1)是否为质数; 求任意一个方程的近似解;……),并且能够重复使用。 2、要使算法尽量简单、步骤尽量少。 3、要保证算法正确,且计算机能够执行,如:让计算机计算 1×2×3×4×5 是可以做 到的,但让计算机去执行“倒一杯水” “替我理发”等则是做不到的。 教学用具:电脑,计算器,图形计算器 教学用具 教学设想: 四、教学设想: 创设情境: 1、 创设情境: 算法作为一个名词, 在中学教科书中并没有出现过, 我们在基础教育阶段还没有接触算 法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘 除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具 体体现。我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法, 解线性方程组的算法, 求两个数的最大公因数的算法等。 因此, 算法其实是重要的数学对象。 2、 探索研究 算法(algorithm)一词源于算术(algorism), 即算术方法, 是指一个由已知推求未知的 运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。 广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说 明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算 法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函 数求值的算法、作图的算法,等等。

例题分析: 3、 例题分析:

例 1 任意给定一个大于 1 的整数 n, 试设计一个程序或步骤对 n 是否为质数 做出判定。 算法分析:根据质数的定义,很容易设计出下面的步骤: 第一步:判断 n 是否等于 2,若 n=2,则 n 是质数;若 n>2,则执行第二步。 第二步:依次从 2 至(n-1)检验是不是 n 的因数,即整除 n 的数,若有这样的数,则 n 不是质数;若没有这样的数,则 n 是质数。 这是判断一个大于 1 的整数 n 是否为质数的最基本算法。 2 例 2 用二分法设计一个求议程 x –2=0 的近似根的算法。 算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超 过 0.005,则不难设计出以下步骤: 2 第一步:令 f(x)=x –2。因为 f(1)<0,f(2)>0,所以设 x1=1,x2=2。 第二步:令 m=(x1+x2)/2,判断 f(m)是否为 0,若则,则 m 为所长;若否,则继续判断 f(x1)f(m)大于 0 还是小于 0。 第三步:若 f(x1)f(m)>0,则令 x1=m;否则,令 x2=m。 第四步:判断|x1–x2|<0.005 是否成立?若是,则 x1、x2 之间的任意取值均为满足条件的近 似根;若否,则返回第二步。 小结:算法具有以下特性:(1)有穷性;(2)确定性;(3)顺序性;(4)不惟一性;(5)普 遍性 典例剖析: 典例剖析: 1、基本概念题 x-2y=-1,① 例3 写出解二元一次方程组 2x+y=1② 解:第一步,②-①×2 得 5y=3;③ 第二步,解③得 y=3/5; 第三步,将 y=3/5 代入①,得 x=1/5 学生做一做:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善? 老师评一评:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方 程组的解法。下面写出求方程组 第二步:解③,得 y = 的算法

1

此时我们得到了二元一次方程组的求解公式,利用此公司可得到倒 2 的另一个算法: 第一步:取 A1=1,B1=-2,C1=1,A2=2,B2=1,C2=-1; 第二步:计算 x =

A2C1 A2C2 ; A2C1 A12B22 A2 B1 AC B2C1 + B1C2 第三步:将 y = 代入①,得 x = 。 A1B2 A2 B1 A1B2 A2 B1 B2C1 + B1C2 A C A2C2 与y= 2 1 A1B2 A2 B1 A1B2 A2 B1

第一步:②×A1-①×A2,得(A1B2-A2B1)y+A1C2-A2C1=0;③

A1 x + B1 y + C1 = 0 ( A1B2 B1 A2 ≠ 0) 的解的算法: A2 x + B2 y + C2 = 0

第三步:输出运算结果。

可见利用上述算法,更加有利于上机执行与操作。

基础知识应用题 例 4 写出一个求有限整数列中的最大值的算法。 解:算法如下。 S1 先假定序列中的第一个整数为“最大值” 。 S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值” ,这时你 就假定“最大值”是这个整数。 S3 如果序列中还有其他整数,重复 S2。 S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的 最大值。 学生做一做 老师评一评 本题的算法。 S1 S2 S3 S4 max=a 如果 b>max, 则 max=b. 如果 C>max, 则 max=c. max 就是 a,b,c 中的最大值。 写出对任意 3 个整数 a,b,c 求出最大值的算法。 在例 2 中我们是用自然语言来描述算法的,下面我们用数学语言来描述

综合应用题 例 5 写出求 1+2+3+4+5+6 的一个算法。 分析:可以按逐一相加的程序进行,也可以利用公式 1+2+…+n= 根据加法运算律简化运算过程。 解:算法 1: S1:计算 1+2 得到 3; S2:将第一步中的运算结果 3 与 3 相加得到 6; S3:将第二步中的运算结果 6 与 4 相加得到 10; S4:将第三步中的运算结果 10 与 5 相加得到 15; S5:将第四步中的运算结果 15 与 6 相加得到 21。 算法 2: S1:取 n=6; S2:计算

n(n + 1) 进行,也可以 2

S3:输出运算结果。 算法 3: S1:将原式变形为(1+6)+(2+5)+(3+4)=3×7; S2:计算 3×7; S3:输出运算结果。

n(n + 1) ; 2

小结:算法 1 是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如 1+2+3+… 小结 +10000,再用这种方法是行不通的;算法 2 与算法 3 都是比较简单的算法,但比较而言,算 法 2 最为简单,且易于在计算机上执行操作。 学生做一做 求 1×3×5×7×9×11 的值,写出其算法。 老师评一评 算法 1;第一步,先求 1×3,得到结果 3; 第二步,将第一步所得结果 3 再乘以 5,得到结果 15; 第三步,再将 15 乘以 7,得到结果 105; 第四步,再将 105 乘以 9,得到 945; 第五步,再将 945 乘以 11,得到 10395,即是最后结果。 算法 2:用 P 表示被乘数,i 表示乘数。 S1 使 P=1。 S2 使 i=3 S3 使 P=P×i S4 使 i=i+2 S5 若 i≤11,则返回到 S3 继续执行;否则算法结束。 小结 由于计算机动是高速计算的自动机器,实现循环的语句。因此,上述算法 2 不仅 是正确的,而且是在计算机上能够实现的较好的算法。在上面的算法中,S3,S4,S5 构成 一个完整的循环,这里需要说明的是,每经过一次循环之后,变量 P、i 的值都发生了变化, 并且生循环一次之后都要在步骤 S5 对 i 的值进行检验, 一旦发现 i 的值大于 11 时, 立即停 止循环, 同时输出最后一个 P 的值, 对于循环结构的详细情况, 我们将在以后的学习中介绍。 4、课堂小结 本节课主要讲了算法的概念, 算法就是解决问题的步骤, 平时列论我们做什么事都离不 开算法,算法的描述可以用自然语言,也可以用数学语言。 例如,某同学要在下午到体育馆参加比赛,比赛下午 2 时开始,请写出该同学从家里发 到比赛地的算法。 若用自然语言来描述可写为 (1)1:00 从家出发到公共汽车站 (2)1:10 上公共汽车 (3)1:40 到达体育馆 (4)1:45 做准备活动。 (5)2:00 比赛开始。 若用数学语言来描述可写为: S1 S2 1:00 从家出发到公共汽车站 1:10 上公共汽车

S3 S4 S5

1:40 到达体育馆 1:45 做准备活动 2:00 比赛开始

大家从中要以看出, 实际上两种写法无本质区别, 但我们在书写时应尽量用教学语言来 描述,它的优越性在以后的学习中我们会体会到。 5、自我评价 1、写出解一元二次方程 ax +bx+c=0(a≠0)的一个算法。 2、写出求 1 至 1000 的正数中的 3 倍数的一个算法(打印结果) 6、评价标准 1、解:算法如下 S1 S2 S3 计算△=b -4ac 如果△〈0,则方程无解;否则 x1= 输出计算结果 x1,x2 或无解信息。
2 2

2、解:算法如下: S1 S2 S3 S4 S5 使 i=1 i 被 3 除,得余数 r 如果 r=0,则打印 i,否则不打印 使 i=i+1 若 i≤1000,则返回到 S2 继续执行,否则算法结束。
2

7、作业:1、写出解不等式 x -2x-3<0 的一个算法。 作业: 解:第一步:x -2x-3=0 的两根是 x1=3,x2=-1。 第二步:由 x -2x-3<0 可知不等式的解集为{x | -1<x<3}。 评注:该题的解法具有一般性,下面给出形如 ax +bx+c>0 的不等式的解的步骤(为方 便,我们设 a>0)如下: 第一步:计算△= b 4ac ;
2
2
2 2

第二步:若△>0,示出方程两根 x1, 2 {x | x>x1 或 x<x2};

b ± b 2 4ac = (设 x1>x2) ,则不等式解集为 2a
b }; 2a

第三步:若△= 0,则不等式解集为{x | x∈R 且 x ≠ 第四步:若△<0,则不等式的解集为 R。 2、求过 P(a1,b1)、Q(a2,b2)两点的直线斜率有如下的算法: 第一步:取 x1= a1,y1= b1,x2= a2,y1= b2; 第二步:若 x1= x2; 第三步:输出斜率不存在; 第四步:若 x1≠x2;

第五步:计算 k =

第六步:输出结果。

y2 y1 ; x2 x1

3、写出求过两点 M(-2,-1)、N(2,3)的直线与坐标轴围成面积的一个算法。 解:算法:第一步:取 x1=-2,y1=-1,x2=2,y2=3; 第二步:计算

第三步:在第二步结果中令 x=0 得到 y 的值 m,得直线与 y 轴交点(0,m); 第四步:在第二步结果中令 y=0 得到 x 的值 n,得直线与 x 轴交点(n,0); 第五步:计算 S=

y y1 x x1 = ; y2 y1 x2 x1

第六步:输出运算结果

1 | m | | n |; 2


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 算法的概念教设计 【教学目标】1.了解算法的含义,体会算法的思想;2.能够用自然语言叙述算法;3.掌握正确的 算法应满足的要求;4.会写出解线性方程(组)的...

1.1.1算法的概念

课题 主备人 1.1.1 算法的概念 日期 课时 2015.06.03 1 知识与技能 1.正确理解算法的概念,掌握算法的基本特点; 2.通过例题教学, 使学生体会设计算法的基本...

1.1.1算法的概念

1.1.1算法的概念_理学_高等教育_教育专区。教案1.了解算法的含义,体会算法的思想。 2.能够用自然语言叙述算法。 3.掌握正确的算法应满足的要求。 4.会写出解...

高中数学必修3 1.1.1 算法的概念 习题及详解

1.1.1 算法的概念 1.下列关于算法的说法正确的 是( ) A.一个算法的步骤是可逆的 B.描述算法可以有不同的方式 C.算法可以看成是按照要求设计好的有限的...

1.1.1算法的概念导学案 (1)

1.1.1算法的概念导学案 (1)_高一数学_数学_高中教育_教育专区。适合高一 新郑二中分校 2015——2016 年度下学期必修三导学案 高一数学组 §1.1.1 算法的...

1.1.1算法的概念 导学案

高二数学必修 3 编号:SX--02--01 §1.1.1算法的概念》导学案撰稿:付阿丽 审核:陈天华 时间:2010.8.29 姓名: 班级: 组别: 组名: 【学习目标】 1﹑...

1.1.1算法概念试题教师版

1.1.1 算法的概念 一、选择题 1.下面四种叙述能称为算法的是( ) A.在家里一般是妈妈做饭 B.做米饭需要刷锅、淘米、添水、加热这些步骤 C.在野外做饭叫...