nbhkdz.com冰点文库

必修3A第一章算法初步教案


第一章算法初步 一、课标要求: 1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读 中国古代教学中的算法案例,体会中国古代数学世界数学发展的贡献。 2、算法就是解决问题的步骤,算法也是数学及其应用的重要组成部分,是 计算机科学的基础, 利用计算机解决问需要算法,在日常生活中做任何事情也都 有算法, 当然我们更关心的是计算机的算法, 计算机可以解决多类信息处理问题,

但人们必须事先用计算机熟悉的语言,也就是计算能够理解的语言(即程序设计 语言)来详细描述解决问题的步骤,即首先设计程序,对稍复杂一些的问题,直 接写出解决该问题的程序是困难的,因此,我们要首先研究解决问题的算法,再 把算法转化为程序, 所以算法设计是使用计算机解决具体问题的一个极为重要的 环节。 3、通过对解决具体问题的过程与步骤的分析(如二元一次方程组的求解等 问题) ,体会算法的思想,了解算法的含义。理解程序框图的三种基本逻辑结构: 顺序结构、 条件结构、 循环结构。 理解并掌握几种基本的算法语句——输入语句、 输出语句、赋值语句、条件语句、循环语句。进一步体会算法的基本思想。 4、本章的重点是体会算法的思想,了解算法的含义,通过模仿、操作、探 索,经过通过设计程序框图解决问题的过程。点是在具体问题的解决过程中,理 解三种基本逻辑结构, 经历将具体问题的程序框图转化为程序语句的过程,理解 几种基本的算法语句。 二、编写意图与特色: 算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信 息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益 融入社会生活的许多方面, 算法思想已经成为现代人应具备的一种数学素养。需 要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。在本模块中,学生将 在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验 程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达 解决问题的过程; 体会算法的基本思想以及算法的重要性和有效性,发展有条理 的思考与表达的能力,提高逻辑思维能力。 1、结合熟悉的算法,把握算法的基本思想,学会用自然语言来描述算法。 2、通过模仿、操作和探索,经历设计程序流程图表达解决问题的过程。在 具体问题的解决过程中理解程序流程图的三种基本逻辑结构:顺序结构、条件结 构、循环结构。 3、通过实际问题的学习,了解构造算法的基本程序。 4、经历将具体问题的程序流程图转化为程序语句的过程,理解几种基本算 法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的 基本思想。 5、需要注意的问题 1) 从熟知的问题出发, 体会算法的程序化思想,而不是简单呈现一些算法。 2) 变量和赋值是算法学习的重点之一,因为设置恰当的变量,学习给变量 赋值,是构造算法的关键,应作为学习的重点。 3) 不必刻意追求最优的算法,把握算法的基本结构和程序化思想才是我们 的重点。 4) 本章所指的算法基本上是能在计算机上实现的算法。

三、教学内容及课时安排: 1.1 算法与程序框图 1.2 基本算法语句 1.3 算法案例 复习与小结

(约 2 课时) (约 3 课时) (约 5 课时) (约 2 课时)

四、评价建议 1.重视对学生数学学习过程的评价 关注学生在数学语言的学习过程中, 是否对用集合语言描述数学和现实生活 中的问题充满兴趣;在学习过程中,能否体会集合语言准确、简洁的特征;是否 能积极、主动地发展自己运用数学语言进行交流的能力。 2.正确评价学生的数学基础知识和基本技能 关注学生在本章(节)及今后学习中,让学生集中学习算法的初步知识,主 要包括算法的基本结构、基本语句、基本思想等。算法思想将贯穿高中数学课程 的相关部分,在其他相关部分还将进一步学习算法

1.1.1 算法的概念 一、教学目标: 1、知识与技能: (1)了解算法的含义,体会算法的思想。 (2)能够用自然语言 叙述算法。 (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 是否为质 1 数 做出判定。 算法分析:根据质数的定义,很容易设计出下面的步骤: 第一步:判断 n 是否等于 2,若 n=2,则 n 是质数;若 n>2,则执行第二步。 第二步:依次从 2 至(n-1)检验是不是 n 的因数,即整除 n 的数,若有这 样的数,则 n 不是质数;若没有这样的数,则 n 是质数。 这是判断一个大于 1 的整数 n 是否为质数的最基本算法。 例 2 用二分法设计一个求议程 x2–2=0 的近似根的算法。 算法分析: 回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝 对值不超过 0.005,则不难设计出以下步骤: 第一步:令 f(x)=x2–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、基本概念题 例3 写出解二元一次方程组 ?
? x ? 2 y ? ? 1① ? 2 x ? y ? 1②

的算法

解:第一步,②-①×2 得 5y=3;③ 第二步,解③得 y=3/5; 第三步,将 y=3/5 代入①,得 x=1/5 学生做一做: 对于一般的二元一次方程组来说,上述步骤应该怎样进一步完 善? 老师评一评: 本题的算法是由加减消元法求解的,这个算法也适合一般的二 元一次方程组的解法。下面写出求方程组 ?
? A1 x ? B 1 y ? C 1 ? 0 ? A2 x ? B 2 y ? C 2 ? 0 ( A1 B 2 ? B 1 A 2 ? 0 )



解的算法: 第一步:②×A1-①×A2,得(A1B2-A2B1)y+A1C2-A2C1=0;③ 第二步:解③,得 y
? A2C 1 ? A2C 2 A1 B 2 ? A 2 B 1


? B 2 C 1 ? B 1C 2 A1 B 2 ? A 2 B 1

第三步:将 y

?

A2C 1 ? A2C 2 A1 B 2 ? A 2 B 1

代入①,得 x

?



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

与y

?

A2C 1 ? A2C 2 A1 B 2 ? A 2 B 1

第三步:输出运算结果。 可见利用上述算法,更加有利于上机执行与操作。 基础知识应用题 例 4 写出一个求有限整数列中的最大值的算法。 解:算法如下。 S1 先假定序列中的第一个整数为“最大值” 。 S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大 值” ,这时你就假定“最大值”是这个整数。 S3 如果序列中还有其他整数,重复 S2。 S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这 个序列中的最大值。 学生做一做 写出对任意 3 个整数 a,b,c 求出最大值的算法。 老师评一评 在例 2 中我们是用自然语言来描述算法的,下面我们用数学 语言来描述本题的算法。 S1 max=a S2 如果 b>max, 则 max=b. S3 如果 C>max, 则 max=c. S4 max 就是 a,b,c 中的最大值。 综合应用题 例 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 n ( n ? 1) 2





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

S3:输出运算结果。 小结:算法 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 1:00 从家出发到公共汽车站 S2 1:10 上公共汽车 S3 1:40 到达体育馆 S4 1:45 做准备活动 S5 2:00 比赛开始 大家从中要以看出, 实际上两种写法无本质区别,但我们在书写时应尽量用 教学语言来描述,它的优越性在以后的学习中我们会体会到。 5、自我评价 1、写出解一元二次方程 ax2+bx+c=0(a≠0)的一个算法。 2、写出求 1 至 1000 的正数中的 3 倍数的一个算法(打印结果)

6、评价标准 1、解:算法如下 S1 计算△=b2-4ac S2 如果△〈0,则方程无解;否则 x1= S3 输出计算结果 x1,x2 或无解信息。 2、解:算法如下: S1 使 i=1 S2 i 被 3 除,得余数 r S3 如果 r=0,则打印 i,否则不打印 S4 使 i=i+1 S5 若 i≤1000,则返回到 S2 继续执行,否则算法结束。 7、作业:1、写出解不等式 x2-2x-3<0 的一个算法。 2 解:第一步:x -2x-3=0 的两根是 x1=3,x2=-1。 第二步:由 x2-2x-3<0 可知不等式的解集为{x | -1<x<3}。 评注:该题的解法具有一般性,下面给出形如 ax2+bx+c>0 的不等式的解的 步骤(为方便,我们设 a>0)如下: 第一步:计算△=
b ? 4 ac
2


? ?b? b ? 4 ac
2

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

(设 x1>x2) ,则不等式

2a

第三步:若△= 0,则不等式解集为{x | x∈R 且 x ?

?

b 2a

};

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



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



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

第六步:输出运算结果

1.1.2 程序框图(第二、三课时) 一、教学目标: 1、知识与技能:掌握程序框图的概念;会用通用的图形符号表示算法,掌握算 法的三个基本逻辑结构;掌握画程序框图的基本规则,能正确画出程序框图。 2、过程与方法:通过模仿、操作、探索,经历通过设计程序框图表达解决问题 的过程;学会灵活、正确地画程序框图。 3、情感态度与价值观:通过本节的学习,使我们对程序框图有一个基本的了解; 掌握算法语言的三种基本逻辑结构,明确程序框图的基本要求;认识到学习程序 框图是我们学习计算机的一个基本步骤,也是我们学习计算机语言的必经之路。 二、重点与难点:重点是程序框图的基本概念、基本图形符号和 3 种基本逻辑结 构,难点是能综合运用这些知识正确地画出程序框图。 三、学法与教学用具: 1、通过上节学习我们知道,算法就是解决问题的步骤,在我们利用计算机 解决问题的时候, 首先我们要设计计算机程序,在设计计算机程序时我们首先要 画出程序运行的流程图, 使整个程序的执行过程直观化,使抽象的问题就得十分 清晰和具体。有了这个流程图,再去设计程序就有了依据,从而就可以把整个程 序用机器语言表述出来,因此程序框图是我们设计程序的基本和开端。 2、我们在学习这部分内容时,首先要弄清各种图形符号的意义,明确每个 图形符号的使用环境,图形符号间的联结方式。例如“起止框”只能出现在整个 流程图的首尾,它表示程序的开始或结束,其他图形符号也是如此,它们都有各 自的使用环境和作用, 这是我们在学习这部分知识时必须要注意的一个方面。另 外,在我们描述算法或画程序框图时,必须遵循一定的逻辑结构,事实证明,无 论如何复杂的问题,我们在设计它们的算法时,只需用顺序结构、条件结构和循 环结构这三种基本逻辑就可以了, 因此我们必须掌握并正确地运用这三种基本逻 辑结构。 3、教学用具:电脑,计算器,图形计算器 四、教学设想: 1、创设情境: 算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观, 我们更经常地用图形方式来表示它。

基本概念: (1)起止框图: 起止框是任何流程图都不可缺少的,它表明程序的 开始和结束,所以一个完整的流程图的首末两端必须是起止框。 (2)输入、输出框: 表示数据的输入或结果的输出,它可用在算法 中的任何需要输入、输出的位置。图 1-1 中有三个输入、输出框。第一个出现在 开始后的第一步,它的作用是输入未知数的系数 a11,a12,a21,a22 和常数项 b1,b2,通过这一步, 就可以把给定的数值写在输入框内,它实际上是把未知数的 系数和常数项的值通知给了计算机,另外两个是输出框,它们分别位于由判断分 出的两个分支中, 它们表示最后给出的运算结果,左边分支中的输出分框负责输 出 D≠0 时未知数 x1,x2 的值,右边分支中的输出框负责输出 D=0 时的结果,即 输出无法求解信息。 (3)处理框: 它是采用来赋值、执行计算语句、传送运算结果的图 形 符 号 。 图 1-1 中 出 现 了 两 个 处 理 框 。 第 一 个 处 理 框 的 作 用 是 计 算 D=a11a22-a21a12 的 值 , 第 二 个 处 理 框 的 作 用 是 计 算 x1=(b1a22-b2a12)/D,x2=(b2a11-b1a21)/D 的值。 (4)判断框: 判断框一般有一个入口和两个出口,有时也有多个出 口,它是惟一的具有两个或两个以上出口的符号,在只有两个出口的情形中,通 常都分成“是”与“否” (也可用“Y”与“N” )两个分支,在图 1-1 中,通过判 断框对 D 的值进行判断,若判断框中的式子是 D=0,则说明 D=0 时由标有“是” 的分支处理数据;若 D≠0,则由标有“否”的分支处理数据。例如,我们要打 印 x 的绝对值,可以设计如下框图。 开始

输入 x



x≥0?



打印 x

-打印 x

结束 从图中可以看到由判断框分出两个分支,构成一个选择性结构,其中选择的 标准是“x≥0” ,若符合这个条件,则按照“是”分支继续往下执行;若不符合 这个条件,则按照“否”分支继续往下执行,这样的话,打印出的结果总是 x 的 绝对值。 在学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程 序框图的规则如下: (1)使用标准的图形符号。 (2)框图一般按从上到下、从左到右的方向画。 (3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断 框具有超过一个退出点的惟一符号。

(4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有 且仅有两个结果;另一类是多分支判断,有几种不同的结果。 (5)在图形符号内描述的语言要非常简练清楚。 2、典例剖析: 例 1:已知 x=4,y=2,画出计算 w=3x+4y 的值的程序框图。 解:程序框如下图所示: 开始

输入 4,2 的值

4 和 2 分别是 x 和 y

w=3×4+4×2

输出 w

结束 小结:此图的输入框旁边加了一个注释框 ,它的作用是对框中的数据或 内容进行说明,它可以出现在任何位置。 基础知识应用题 1)顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与 框之间是按从上到下的顺序进行的。 例 2:已知一个三角形的三边分别为 2、3、4,利用海伦公式设计一个算法,求 出它的面积,并画出算法的程序框图。 算法分析:这是一个简单的问题,只需先算出 p 的值,再将它代入公式,最 后输出结果,只用顺序结构就能够表达出算法。 程序框图: 开始

p=(2+3+4)/2

s=√p(p-2)(p-3)(p-4)

输出 s

结束

2)条件结构:一些简单的算法可以用顺序结构来表示,但是这种结构无法对描 述对象进行逻辑判断,并根据判断结果进行不同的处理。因此,需要有另一种 逻辑结构来处理这类问题,这种结构叫做条件结构。它是根据指定打件选择执 行不同指令的控制结构。 例 3:任意给定 3 个正实数,设计一个算法,判断分别以这 3 个数为三边边 长的三角形是否存在,画出这个算法的程序框图。 算法分析: 判断分别以这 3 个数为三边边长的三角形是否存在,只需要验收 这 3 个数当中任意两个数的和是否大于第 3 个数,这就需要用到条件结构。 程序框图: 开始

输入 a,b,c

a+b>c , a+c>b, b+c>a 是 否同时成立? 是 存在这样的三角形



不存在这样的三角形

结束 3)循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执 行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显 然,循环结构中一定包含条件结构。 循环结构又称重复结构,循环结构可细分为两类: (1)一类是当型循环结构,如图 1-5(1)所示,它的功能是当给定的条件 P1 成立时,执行 A 框,A 框执行完毕后,再判断条件 P1 是否成立,如果仍然成 立,再执行 A 框,如此反复执行 A 框,直到某一次条件 P1 不成立为止,此时不 再执行 A 框,从 b 离开循环结构。 (2)另一类是直到型循环结构,如下图所示,它的功能是先执行,然后判 断给定的条件 P2 是否成立,如果 P2 仍然不成立,则继续执行 A 框,直到某一次 给定的条件 P2 成立为止,此时不再执行 A 框,从 b 点离开循环结构。

A

A

P1? P2? 不成立 成立 b b 当型循环结构 直到型循环结构 (1) (2) 例 4:设计一个计算 1+2+?+100 的值的算法,并画出程序框图。 算法分析: 只需要一个累加变量和一个计数变量, 将累加变量的初始值为 0, 计数变量的值可以从 1 到 100。 不成立

程序框图: 开始

i=1

Sum=0

i=i+1

Sum=sum+i i≤100? 否 输出 sum



结束 3、课堂小结: 本节课主要讲述了程序框图的基本知识,包括常用的图形符号、算法的基本 逻辑结构,算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构。其 中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构, 所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论 怎样复杂的逻辑结构,都可以通过这三种结构来表达

4、自我评价: 1)设 x 为为一个正整数,规定如下运算:若 x 为奇数,则求 3x+2;若 x 为偶数,则 为 5x,写出算法,并画出程序框图。 2)画出求 21+22+23+?2100 的值的程序框图。 5、评价标准: 1.解:算法如下。 S1 输入 x S2 若 x 为奇数,则输出 A=3x+2;否则输出 A=5x S3 算法结束。 程序框图如下图: 开始

i=1

p=0

p=pxi

i=i+1

i≤30? 否



输出 p

结束 2、 解:序框图如下图: 开始

i=1

p=0

p=p+2i

i=i+1

i≥100? 是



输出 p

结束

6、作业:课本 P20 习题 1.1 A 组 2、3

1.2.1 输入、输出语句和赋值语句(第一课时) 教学目标: 知识与技能 (1)正确理解输入语句、输出语句、赋值语句的结构。 (2)会写一些简单的程序。 (3)掌握赋值语句中的“=”的作用。 过程与方法 (1)让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、 模仿。 (2)通过对现实生活情境的探究,尝试设计出解决问题的程序,理解逻辑推理 的数学方法。 情感态度与价值观 通过本节内容的学习, 使我们认识到计算机与人们生活密切相关,增强计算 机应用意识,提高学生学习新知识的兴趣。 重点与难点 重点:正确理解输入语句、输出语句、赋值语句的作用。 难点:准确写出输入语句、输出语句、赋值语句。 学法与教学用具 计算机、图形计算器 教学设想 【创设情境】 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:

听 MP3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机 是怎样工作的呢? 计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描 述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能 够理解的程序设计语言(programming language)翻译成计算机程序。 程序设计语言有很多种。如 BASIC,Foxbase,C 语言,C++,J++,VB 等。 为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种 程序设计语言中都包含下列基本的算法语句:
输入语句 输出语句 赋值语句 条件语句 循环语句

这就是这一节所要研究的主要内容——基本算法语句。今天,我们先一起来 学习输入、输出语句和赋值语句。 (板出课题) 【探究新知】 我们知道,顺序结构是任何一个算法都离不开的基 语句 n 本结构。输入、输出语句和赋值语句基本上对应于算法 中的顺序结构。 (如右图)计算机从上而下按照语句排 列的顺序执行这些语句。 语句 n+1 输入语句和输出语句分别用来实现算法的输入信 息,输出结果的功能。如下面的例子: 用描点法作函数 y
? x ? 3 x ? 24 x ? 30
3 2

的图象时, 需

要求出自变量与函数的一组对应值。编写程序,分别计算当
x ? ? 5, ? 4, ? 3, ? 2, ? 1, 0,1, 2, 3, 4, 5

时的函数值。

程序:(教师可在课前准备好该程序,教学中直接调用运行)
INPUT “x=”;x y=x^3+3*x^2-24*x+30 PRINT x PRINT y END

(学生先不必深究该程序如何得来,只要求懂得上机操作,模仿编写程序,通过 运行自己编写的程序发现问题所在,进一步提高学生的模仿能力。 ) 〖提问〗 :在这个程序中,你们觉得哪些是输入语句、输出语句和赋值语句呢? (同学们互相交流、 议论、 猜想、 概括出结论。 提示: “input” “print” 和 的中文意思等) (一)输入语句 在该程序中的第 1 行中的 INPUT 语句就是输入语句。 这个语句的一般格 式是:
INPUT “提示内容” ;变量

其中, “提示内容”一般是提示用户输入什么样的信息。如每次运行上述程 序时,依次输入-5,-4,-3,-2,-1,0,1,2,3,4,5,计算机每次都把新输 入的值赋给变量“x”,并按“x”新获得的值执行下面的语句。 INPUT 语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式 为:
INPUT “提示内容 1,提示内容 2,提示内容 3,?” ;变量 1,变量 2,变量 3,?

例如,输入一个学生数学,语文,英语三门课的成绩,可以写成: INPUT “数学,语文,英语” ;a,b,c 注:①“提示内容”与变量之间必须用分号“; ”隔开。 ②各“提示内容”之间以及各变量之间必须用逗号“, ”隔开。但最后的变量的 后面不需要。 (二)输出语句 在该程序中, 3 行和第 4 行中的 PRINT 语句是输出语句。它的一般格 第 式是:
PRINT “提示内容” ;表达式

同输入语句一样,表达式前也可以有“提示内容” 。例如下面的语句可以输 出斐波那契数列:
PRINT “The Fibonacci Progression is:; ” 1 1 2 3 5 8 13 21 34 55 “?”

此时屏幕上显示: The Fibonacci Progression is:1 55 ?

1

2

3

5

8

13

21

34

输出语句的用途: (1)输出常量,变量的值和系统信息。 (2)输出数值计算的结果。 〖思考〗 :在 1.1.2 中程序框图中的输入框,输出框的内容怎样用输入语句、输 出语句来表达?(学生讨论、交流想法,然后请学生作答) 参考答案: 输入框:INPUT “请输入需判断的整数 n=”;n 输出框:PRINT n; “是质数。 ” PRINT n; “不是质数。 ” (三)赋值语句 用来表明赋给某一个变量一个具体的确定值的语句。 除了输入语句, 在该程序中第 2 行的赋值语句也可以给变量提供初值。它的 一般格式是:
变量=表达式

赋值语句中的“=”叫做赋值号。 赋值语句的作用: 先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左

边的变量,使该变量的值等于表达式的值。 注:①赋值号左边只能是变量名字,而不能是表达式。如:2=X 是错误 的。 ②赋值号左右不能对换。如“A=B” “B=A”的含义运行结果是不同 的。 ③不能利用赋值语句进行代数式的演算。 (如化简、因式分解、解 方程等) ④赋值号“=”与数学中的等号意义不同。 〖思考〗 :在 1.1.2 中程序框图中的输入框,哪些语句可以用赋值语句表达?并 写出相应的赋值语句。 (学生思考讨论、交流想法。 ) 【例题精析】 〖例 1〗 :编写程序,计算一个学生数学、语文、英语三门课的平均成绩。 分析:先写出算法,画出程序框图,再进行编程。 算法: 程序:
开始

输入 a,b,c

y ?

a?b?c 3

INPUT “数学=”;a INPUT “语文=”;b INPUT “英语=”;c y=(a+b+c)/3 PRINT “The average=”;y END

输出 y

结束

〖例 2〗 :给一个变量重复赋值。 程序:
A=10 A=A+10 PRINT A END

[变式引申]:在此程序的基础上,设计一个程序,要求最后 A 的输出值是 30。 (该变式的设计意图是学生加深对重复赋值的理解) 程序:
A=10 A=A+15 PRINT A A=A+5 PRINT A END

〖例 3〗 :交换两个变量 A 和 B 的值,并输出交换前后的值。 分析:引入一个中间变量 X,将 A 的值赋予 X,又将 B 的值赋予 A,再将 X 的值赋 予 B,从而达到交换 A,B 的值。 (比如交换装满水的两个水桶里的水需要再 找一个空桶) 程序:
INPUT INPUT PRINT X=A A=B B=X PRINT END A B A,B

A,B

〖补例〗 :编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积。 ( ? 取 3.14) 分析:设圆的半径为 R,则圆的周长为 C
? 2? R

,面积为 S

??R

2

,可以利用顺

序结构中的 INPUT 语句,PRINT 语句和赋值语句设计程序。 程序:
INPUT “半径为 R=” ;R C=2*3.14*R S=3.14*R^2 PRINT “该圆的周长为:”;C PRINT “该圆的面积为:”;S END

INPUT “请输入华氏温度:;x ” y=(x-32)*5/9 PRINT “华氏温度:;x ” PRINT “摄氏温度:;y ” END 〖提问〗 :如果要求输入一个摄氏温度,输出其相应的华氏温度,又该如何设计 程序?(学生课后思考,讨论完成) 2. 程序: INPUT “请输入 a(a ? 0)=” ;a INPUT “请输入 b(b ? 0)=” ;b

【课堂精练】 P24 练习 1. 参考答案: 1.程序:

2.

3

X=a+b Y=a-b Z=a*b Q=a/b PRINT a,b PRINT X,Y,Z,Q END 3. 程序: p=(2+3+4)/2 t=p*(p-2)*(p-3)*(p-4) s=SQR(t) PRINT “该三角形的面积为:;s ” END 注:SQR()是函数名,用来求某个数的平方根。 【课堂小结】 本节课介绍了输入语句、 输出语句和赋值语句的结构特点及联系。掌握并应 用输入语句,输出语句,赋值语句编写一些简单的程序解决数学问题,特别是掌 握赋值语句中“=”的作用及应用。编程一般的步骤:先写出算法,再进行编程。 我们要养成良好的习惯,也有助于数学逻辑思维的形成。 【评价设计】 1.P33 习题 1.2 A 组 1(2) 、2 2.试对生活中某个简单问题或是常见数学问题,利用所学基本算法语句等知识 来解决自己所提出的问题。要求写出算法,画程序框图,并写出程序设计。

1.2.2-1.2.3 条件语句和循环语句(第二、三课时) 教学目标: 知识与技能 (1) 正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促 进发展学生逻辑思维能力 情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深 刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通 过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能

力。 重点与难点 重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具 计算机、图形计算器 教学设想 【创设情境】 试求自然数 1+2+3+??+99+100 的和。 显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给 计算机来完成呢?而要编程, 以我们前面所学的输入、输出语句和赋值语句还不 能满足“我们日益增长的物质需要” ,因此,还需要进一步学习基本算法语句中 的另外两种:条件语句和循环语句(板出课题) 【探究新知】 (一)条件语句 算法中的条件结构是由条件语句来表达的, 是处理条件分支逻辑结构的算法 语句。它的一般格式是: (IF-THEN-ELSE 格式)

IF 条件 THEN 语句 1 ELSE 语句 2 END IF

满足条件? 是 语句 1



语句 2

当计算机执行上述语句时,首先对 IF 后的条件进行判断,如果条件符合, 就执行 THEN 后的语句 1,否则执行 ELSE 后的语句 2。其对应的程序框图为: (如 上右图)

在某些情况下,也可以只使用 IF-THEN 语句: (即 IF-THEN 格式)

是 IF 条件 THEN 语句 END IF 满足条件? 否 语句

计算机执行这种形式的条件语句时,也是首先对 IF 后的条件进行判断,如

果条件符合,就执行 THEN 后的语句,如果条件不符合,则直接结束该条件语句, 转而执行其他语句。其对应的程序框图为: (如上右图) 条件语句的作用: 在程序执行过程中,根据判断是否满足约定的条件而决定 是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后 的不同情况进行不同的处理。 【例题精析】 〖例 1〗 :编写程序,输入一元二次方程 a x 2
? b x ? c ? 0 的系数,输出它的实

数根。 分析: 先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算 法步骤,逐步把算法用对应的程序语句表达出来。 算法分析:我们知道,若判别 式?
? b ? 4 a c ? 0 ,原方程有
2

两 个 不 相 等 的 实 数 根
x1 ? ?b ? 2a
? 0

?

、 x2

?

?b ? 2a

?



若?

,原方程有两个相等
? x2 ? ? b 2a

的实数根 x1
? ? 0

; 若

,原方程没有实数根。 也就是说,在求解方程之前, 需要首先判断判别式的符号。 因此, 这个过程可以用算法中 的条件结构来实现。 又因为方程的两个根有 相同的部分, 为了避免重复计 算,可以在计算 x1 和 x 2 之前, 先计算 p
? ? b 2a

INPUT “Please input a,b,c =”;a,b,c d=b*b-4*a*c p=-b/(2*a) q=SQR(ABS(d))/(2*a) IF d>=0 THEN x1=p+q x2=p-q IF x1=x2 THEN PRINT “One real root:”;x1 ELSE PRINT “Two real roots:x1”;x1, and x2” “ ;x2 END IF ELSE PRINT “No real root!” END IF END

,q

?

? 2a



程序框图: (参照课本 P1 7 ) 程序:(如右图所示) 注:SQR()和 ABS()是两个函数,分别用来求某个数的平方根和绝 对值。 即
SQR ( x) ? x

, ABS( x ) ?

? -xx( (xx??00) ).

〖例 2〗 :编写程序,使得任意输入的 3 个整数按从大到小的顺序输出。

算法分析:用 a,b,c 表示输入的 3 个整 数;为了节约变量,把它们重新排列后, 仍用 a,b,c 表示,并使 a≥b≥c.具体操 作步骤如下。 第一步:输入 3 个整数 a,b,c. 第二步:将 a 与 b 比较,并把小者赋给 b, 大者赋给 a. 第三步: a 与 c 比较. 并把小者赋给 c, 将 大者赋给 a,此时 a 已是三者中最大 的。 第四步:将 b 与 c 比较,并把小者赋给 c, 大者赋给 b,此时 a,b,c 已按从大到 小的顺序排列好。 第五步:按顺序输出 a,b,c. 程序框图: (参照课本 P1 9 ) 程序:(如右框图所示)

INPUT “a,b,c =”;a,b,c IF b>a THEN t=a a=b b=t END IF IF c>a THEN t=a a=c c=t END IF IF c>b THEN t=b b=c c=t END IF PRINT a,b,c END

〖补例〗 :铁路部门托运行李的收费方法 如下: y 是收费额(单位:元) 是行李重量(单位:kg),当 0<x≤20 时,按 ,x 0.35 元/kg 收费,当 x>20kg 时,20kg 的部分按 0.35 元/kg,超出 20kg 的部分, 则按 0.65 元/kg 收费,请根据上述收费方法编写程序。 分析: 首先由题意得:y

?

?

0 .3 5 x ,

0 ? x ? 20 ,

0 .3 5 ? 2 0 ? 0 .6 5 ( x ? 2 0 ), x ? 2 0 .

该函数是个分段函数。

需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实 现。 程序: INPUT “请输入旅客行李的重量(kg)x=”;x IF x>0 AND x<=20 THEN y=0.35*x ELSE y=0.35*20+0.65*(x-20) END IF PRINT “该旅客行李托运费为:;y ” END 【课堂精练】 1. P2 9 起来。 2. P2 9 练习 1.(题略) 练习 2.(题略)

分析:如果有两个或是两个以上的并列条件时,用“AND”把它们连接

参考答案:

INPUT “请输入三个正数 a,b,c=”; a,b,c IF a+b>c AND a+c>b AND b+c>a THEN PRINT “以下列三个数:”;a,b,c, “可以构成三 ELSE PRINT “以下列三个数:”;a,b,c, “不可以构成

角形。 ”

三角形! ” END IF END (二)循环语句 算法中的循环结构是由循环语句来实现的。 对应于程序框图中的两种循环结 构,一般程序设计语言中也有当型(WHILE 型)和直到型(UNTIL 型)两种语句 结构。即 WHILE 语句和 UNTIL 语句。 (1)WHILE 语句的一般格式是:
循环体 满足条件? 否

WHILE 条件 循环体 WEND



其中循环体是由计算机反复执行的一组语句构成的。WHLIE 后面的“条件” 是用于控制计算机执行循环体或跳出循环体的。 当计算机遇到 WHILE 语句时,先判断条件的真假,如果条件符合,就执行 WHILE 与 WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执 行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不 执行循环体,直接跳到 WEND 语句后,接着执行 WEND 之后的语句。因此,当型循 环有时也称为“前测试型”循环。其对应的程序结构框图为: (如上右图) (2)UNTIL 语句的一般格式是:
循环体 否 满足条件? 是

DO 循环体 LOOP UNTIL 条件

其对应的程序结构框图为: (如上右图) 〖思考〗直到型循环又称为“后测试型”循环,参照其直到型循环结构对应的程 序框图, 说说计算机是按怎样的顺序执行 UNTIL 语句的? (让学生模仿执行 WHILE 语句的表述) 从 UNTIL 型循环结构分析,计算机执行该语句时,先执行一次循环体,然后 进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判 断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到 LOOP UNTIL 语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。

〖提问〗 :通过对照,大家觉得 WHILE 型语句与 UNTIL 型语句之间有什么区 别呢?(让学生表达自己的感受) 区别:在 WHILE 语句中,是当条件满足时执行循环体,而在 UNTIL 语句中,是当 条件不满足时执行循环体。 【例题精析】 〖例 3〗 :编写程序,计算自然数 1+2+3+??+99+100 的和。 分析:这是一个累加问题。我们可以用 WHILE 型语句,也可以用 UNTIL 型语句。 由此看来,解决问题的方法不是惟一的,当然程序的设计也是有多种的,只 是程序简单与复杂的问题。 程 序 : i=1 i=1 WHILE 型 : sum=0 sum=0 UNTIL 型:
WHLIE i<=100 sum=sum+i i=i+1 WEND DO sum=sum+i i=i+1 LOOP UNTIL i>100 PRINT sum END

PRINT
END

sum

〖例 4〗 :根据 1.1.2 中的图 1.1-2,将程序框图转化为程序语 句。 分析:仔细观察,该程序框 图中既有条件结构,又有循环结 构。 程序: 〖思考〗 :上述判定质数的算 法是否还能有所改进?(让学生课 后思考。 ) 〖补例〗 :某纺织厂 1997 年的生产 总值为 300 万元,如果年 生产增产率为 5﹪,计算 最 早 在 哪 一年 生 产总值 超过 400 万元。 分析:从 1997 年底开始,经过 x 年后生产总值为 300×(1+5 x ﹪),可将 1997 年生产总值赋 给变量 a, 然后对其进行累乘, 用 n 作为计数变量进行循环, 直到 a 的值超过 400 万元为止。

INPUT “n=”;n flag=1 IF n>2 THEN d=2 WHILE d<=n-1 AND flag=1 IF n MOD d=0 THEN flag=0 ELSE d=d+1 END IF WEND ELSE IF flag=1 THEN PRINT n; “是质数。 ” ELSE PRINT n; “不是质数。 ” END IF END IF END

解:程序框图为:
开始

程序:
a=300 p=1.05 n=1997 DO a=a*p n=n+1 LOOP UNTIL a>400 PRINT n END

a=300,p=1.05,n=1997

a>400?




输出 n

a=a*p 结束

n=n+1

【课堂精练】1. P3 2

练习 2. 3(题略)

参考答案:2.解:程序: X=1 WHILE X<=20 Y=X^2-3*X+5 X=X+1 PRINT “Y=”;Y WEND END 3.解:程序: INPUT “请输入正整数 n=”;n a=1 i=1 WHILE i<=n a=a*i i=i+1 WEND PRINT “n!=” ;a END 【课堂小结】本节课主要学习了条件语句和循环语句的结构、特点、作用以及 用法,并懂得利用解决一些简单问题。条件语句使程序执行产生的分支,根据不 同的条件执行不同的路线, 使复杂问题简单化。有些复杂问题可用两层甚至多层 循环解决。注意内外层的衔接,可以从循环体内转到循环体外,但不允许从循环 体外转入循环体内。 条件语句一般用在需要对条件进行判断的算法设计中,如判 断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往 要用条件语句, 有时甚至要用到条件语句的嵌套。循环语句主要用来实现算法中 的循环结构,在处理一些需要反复执行的运算任务。如累加求和,累乘求积等问 题中常用到。 【评价设计】1. P33 习题 1.2 A 组 3、4 P33 习题 1.2 B 组 2. 2.试设计一个生活中某个简单问题或是常见数学问题,并利用所学基本算法语

句等知识编程。 (要求所设计问题利用条件语句或循环语句) 1.3 算法案例 第一、二课时 辗转相除法与更相减损术 (1)教学目标 (a)知识与技能 1.理解辗转相除法与更相减损术中蕴含的数学原理, 并能根据这些原理进行 算法分析。 2.基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法 程序。 (b)过程与方法 在辗转相除法与更相减损术求最大公约数的学习过程中对比我们常见的约 分求公因式的方法, 比较它们在算法上的区别,并从程序的学习中体会数学的严 谨, 领会数学算法计算机处理的结合方式,初步掌握把数学算法转化成计算机语 言的一般步骤。 (c)情态与价值 1.通过阅读中国古代数学中的算法案例, 体会中国古代数学对世界数学发展 的贡献。 2.在学习古代数学家解决数学问题的方法的过程中培养严谨的逻辑思维能 力,在利用算法解决数学问题的过程中培养理性的精神和动手实践的能力。 (2)教学重难点 重点:理解辗转相除法与更相减损术求最大公约数的方法。 难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言。 (3)学法与教学用具 学法: 在理解最大公约数的基础上去发现辗转相除法与更相减损术中的数学 规律, 并能模仿已经学过的程序框图与算法语句设计出辗转相除法与更相减损术 的程序框图与算法程序。 教学用具:电脑,计算器,图形计算器 (4)教学设想 (一)创设情景,揭示课题 1.教师首先提出问题:在初中,我们已经学过求最大公约数的知识,你能求 出 18 与 30 的公约数吗? 2.接着教师进一步提出问题,我们都是利用找公约数的方法来求最大公约 数, 如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该 怎样求它们的最大公约数?比如求 8251 与 6105 的最大公约数?这就是我们这一 堂课所要探讨的内容。 (二)研探新知 1.辗转相除法 例 1 求两个正数 8251 和 6105 的最大公约数。 (分析:8251 与 6105 两数都比较大,而且没有明显的公约数,如能把它们 都变小一点,根据已有的知识即可求出最大公约数) 解:8251=6105×1+2146 显然 8251 的最大公约数也必是 2146 的约数, 同样 6105 与 2146 的公约数也 必是 8251 的约数,所以 8251 与 6105 的最大公约数也是 6105 与 2146 的最大公 约数。

6105=2146×2+1813 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 则 37 为 8251 与 6105 的最大公约数。 以上我们求最大公约数的方法就是辗转相除法。也叫欧几里德算法,它是由 欧几里德在公元前 300 年左右首先提出的。 利用辗转相除法求最大公约数的步骤 如下: 第一步:用较大的数 m 除以较小的数 n 得到一个商 q0 和一个余数 r0; 第二步:若 r0=0,则 n 为 m,n 的最大公约数;若 r0≠0,则用除数 n 除以 余数 r0 得到一个商 q1 和一个余数 r1; 第三步:若 r1=0,则 r1 为 m,n 的最大公约数;若 r1≠0,则用除数 r0 除以 余数 r1 得到一个商 q2 和一个余数 r2; ?? 依次计算直至 rn=0,此时所得到的 rn-1 即为所求的最大公约数。 练习:利用辗转相除法求两数 4081 与 20723 的最大公约数(答案:53) 2.更相减损术 我国早期也有解决求最大公约数问题的算法,就是更相减损术。 更相减损术求最大公约数的步骤如下: 可半者半之, 不可半者, 副置分母· 子 之数,以少减多,更相减损,求其等也,以等数约之。 翻译出来为: 第一步:任意给出两个正数;判断它们是否都是偶数。若是,用 2 约简;若 不是,执行第二步。 第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以 大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所 求的最大公约数。 例 2 用更相减损术求 98 与 63 的最大公约数. 解:由于 63 不是偶数,把 98 和 63 以大数减小数,并辗转相减,即:98- 63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98 与 63 的最大公约数是 7。 练习:用更相减损术求两个正数 84 与 72 的最大公约数。 (答案:12) 3.比较辗转相除法与更相减损术的区别 (1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损 术以减法为主, 计算次数上辗转相除法计算次数相对较少,特别当两个数字大小 区别较大时计算次数的区别较明显。 (2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到, 而更相减损术则以减数与差相等而得到 4. 辗转相除法与更相减损术计算的程序框图及程序

利用辗转相除法与更相减损术的计算算法,我们可以设计出程序框图以及 BSAIC 程序来在计算机上实现辗转相除法与更相减损术求最大公约数,下面由同 学们设计相应框图并相互之间检查框图与程序的正确性, 并在计算机上验证自己 的结果。 (1)辗转相除法的程序框图及程序 程序框图:

程序: INPUT “m=”;m INPUT “n=”;n IF m<n THEN x=m m=n n=x END IF r=m MOD n WHILE r<>0 r=m MOD n m=n n=r WEND PRINT m END 5.课堂练习 一.P45 1、用辗转相除法求下列各组 数的最大公约数, 并在自己编写的 BASIC 程 序中验证。 225; (1) 135 (2) 196 (3) 98; 72;168 (4)153;119 二.思考:用求质因数的方法可否求上 述 4 组数的最大公约数?可否利用求质因数 的算法设计出程序框图及程序?若能, 在电 脑上测试自己的程序; 若不能说明无法实现 的理由。 三。思考:利用辗转相除法是否可以求 两数的最大公倍数?试设计程序框图并转 换成程序在 BASIC 中实现。 6.小结: 辗转相除法与更相减损术求最大公约 数的计算方法及完整算法程序的编写。 (5)评价设计 作业:P48 A 1 B 2 补充:设计更相减损术求最大公约数的程序框图

第三、四课时

秦九韶算法

(1)教学目标 (a)知识与技能 1.了解秦九韶算法的计算过程, 并理解利用秦九韶算法可以减少计算次数提 高计算效率的实质。 2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序, 进 而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理 解计算机对数学的辅助作用。 (b)过程与方法 模仿秦九韶计算方法,体会古人计算构思的巧妙。能根据排序法中的直接插 入排序法与冒泡排序法的步骤, 了解数学计算转换为计算机计算的途径,从而探 究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。 (c)情态与价值 通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到 我国文化历史的悠久。 通过对排序法的学习, 领会数学计算与计算机计算的区别, 充分认识信息技术对数学的促进。 (2)教学重难点 重点:1.秦九韶算法的特点 2.两种排序法的排序步骤及计算机程序设计 难点:1.秦九韶算法的先进性理解 2.排序法的计算机程序设计 (3)学法与教学用具 学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的 计算。 2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计 算在计算机上实施的要求。 教学用具:电脑,计算器,图形计算器 (4)教学设想 (一)创设情景,揭示课题 我们已经学过了多项式的计算,下面我们计算一下多项式
f (x) ? x ? x
5 4

? x ? x
3

2

? x ?1当x ? 5

时的值,并统计所做的计算的种类及

计算次数。 根据我们的计算统计可以得出我们共需要 10 次乘法运算,5 次加法运算。 我们把多项式变形为:
f ( x ) ? x (1 ? x (1 ? x (1 ? x ))) ? x ? 1 再统计一下计算当
2

4 次乘法和 5 次加法运算即可得 出结果。显然少了 6 次乘法运算。这种算法就叫秦九韶算法。 (二)研探新知 1.秦九韶计算多项式的方法
f ( x ) ? a n x ? a n ?1 x
n n ?1

x ? 5 时的值时需要的计算次数,可以得出仅需

? an?2 x

n?2

? ? ? a1 x ? a 0
n?3

? (an x
? (( a n x ? ??
n?2

n ?1

? a n ?1 x
n?3

n?2

? an?2 x

? ? ? a1 ) x ? a 0

? a n ?1 x

? ? ? a 2 ) x ? a1 ) x ? a 0

? (? (( a n x ? a n ? 1 ) x ? a n ? 2 ) x ? ? ? a 1 ) ? a 0

例 1 已知一个 5 次多项式为

f (x) ? 5 x ? 2 x
5

4

? 3 .5 x ? 2 .6 x
3

2

? 1 .7 x ? 0 .8

用秦九韶算法求这个多项式当 x ? 5 时的值。 解:略 思考: (1)例 1 计算时需要多少次乘法计算?多少次加法计算? (2)在利用秦九韶算法计算 n 次多项式当 x 多少次加法计算? 练习:利用秦九韶算法计算
f ( x ) ? 0 . 83 x ? 0 . 41 x
5 4

? x0

时需要多少次乘法计算和

? 0 . 16 x ? 0 . 33 x
3

2

? 0 .5 x ? 1

当 x ? 5 时的值,并统计需要多少次乘法计算和多少次加法计算? 例 2 设计利用秦九韶算法计算 5 次多项式
f (x) ? a5 x ? a4 x
5 4

? a3 x ? a2 x
3

2

? a1 x ? a 0

当x

? x0

时的值的程序框图。

解:程序框图如下: 练习:利用程序框图试编写 BASIC 程序并 在计算机上测试自己的程序。 P45 2 3.小结: (1)秦九韶算法计算多项式的值及程 序设计 (5)评价设计 作业:P48 A 2 4

第五课时

进位制

(1)教学目标 (a)知识与技能 了解各种进位制与十进制之间转换的规律, 会利用各种进位制与十进制之间 的联系进行各种进位制之间的转换。 (b)过程与方法 学习各种进位制转换成十进制的计算方法, 研究十进制转换为各种进位制的 除 k 去余法,并理解其中的数学规律。 (c)情态与价值 领悟十进制,二进制的特点,了解计算机的电路与二进制的联系,进一步认 识到计算机与数学的联系。 (2)教学重难点 重点:各进位制表示数的方法及各进位制之间的转换 难点:除 k 去余法的理解以及各进位制之间转换的程序框图的设计 (3)学法与教学用具 学法: 在学习各种进位制特点的同时探讨进位制表示数与十进制表示数的区 别与联系, 熟悉各种进位制表示数的方法,从而理解十进制转换为各种进位制的 除 k 去余法。 教学用具:电脑,计算器,图形计算器 (4)教学设想 (一)创设情景,揭示课题 我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制 的.比如时间和角度的单位用六十进位制,电子计算机用的是二进制.那么什么是 进位制?不同的进位制之间又又什么联系呢? (二)研探新知 进位制是一种记数方式, 用有限的数字在不同的位置表示不同的数值。可使 用数字符号的个数称为基数,基数为 n,即可称 n 进位制,简称 n 进制。现在最

常用的是十进制,通常使用 10 个阿拉伯数字 0-9 进行记数。 对于任何一个数,我们可以用不同的进位制来表示。比如:十进数 57,可 以用二进制表示为 111001,也可以用八进制表示为 71、用十六进制表示为 39, 它们所代表的数值都是一样的。 表示各种进位制数一般在数字右下脚加注来表示,如 111001(2)表示二进制 数,34(5)表示 5 进制数. 电子计算机一般都使用二进制,下面我们来进行二进制与十进制之间的转化 例 1 把二进制数 110011(2)化为十进制数. 解:110011=1*25+1*24+0*23+1*24+0*22+1*21+1*20 =32+16+2+1 =51 例 2 把 89 化为二进制数. 解:根据二进制数满二进一的原则,可以用 2 连续去除 89 或所得商,然后去余数. 具体的计算方法如下: 89=2*44+1 44=2*22+0 22=2*11+0 11=2*5+1 5=2*2+1 所以:89=2*(2*(2*(2*(2*2+1)+1)+0)+0)+1 =1*26+0*25+1*24+1*23+0*22+0*21+1*20 =1011001(2) 这种算法叫做除 2 取余法,还可以用下面的除法算式表示:

2 2 2 2 2

89 44 22 11 5 2 2 2 1 0

余数 1 0 0 1 1 0 1

把上式中的各步所得的余数从下到上排列即可得到 89=1011001(2) 上述方法也可以推广为把十进制化为 k 进制数的算法,这种算法成为除 k 取余法. 当数字较小时,也可直接利用各进位制表示数的特点,都是以幂的形式来表示各

位数字,比如 2*103 表示千位数字是 2,所以可以直接求出各位数字.即把 89 转换 为二进制数时,直接观察得出 89 与 64 最接近故 89=64*1+25 同理:25=16*1+9 9=8*!+1 即 89=64*1+16*1+8*!+1=1*26+1*24+1*23+1*20 位 6 5 4 3 2 1 0 数 数 1 0 1 1 0 0 1 字 即 89=1011001(2) 练习:(1)把 73 转换为二进制数 (2)利用除 k 取余法把 89 转换为 5 进制数 把 k 进制数 a(共有 n 位)转换为十进制数 b 的过程可以利用计算机程序来实现, 语句为: INPUT a,k,n i=1 b=0 WHILE i<=n t=GET a[i] b=b+t*k^(i-1) i=i+1 WEND PRINT b END 练习:(1)请根据上述程序画出程序框图. 参考程序框图:

(2)设计一个算法,实现把 k 进制数 a(共有 n 位)转换为十进制数 b 的过程的程序中的 GET 函数的功能,输入一个正 5 位数,取出 它的各位数字,并输出.

小结: (1)进位制的概念及表示方法 (2)十进制与二进制之间转换的方法及计 算机程序 (5)评价设计 作业:P48 A 3, 补充:设计程序框图把一个八进制数 23456 转换成十进制数.

算法初步 复习课 (1)教学目标 (a)知识与技能 1.明确算法的含义,熟悉算法的三种基本结构:顺序、条件和循环,以及基 本的算法语句。 2.能熟练运用辗转相除法与更相减损术、秦九韶算法、排序、进位制等典型 的算法知识解决同类问题。 (b)过程与方法 在复习旧知识的过程中把知识系统化,通过模仿、操作、探索,经历设计程 序框图表达解决问题的过程。 在具体问题的解决过程中进一步理解程序框图的三 种基本逻辑结构:顺序、条件分支、循环。 (c)情态与价值 算法内容反映了时代的特点,同时也是中国数学课程内容的新特色。中国古 代数学以算法为主要特征, 取得了举世公认的伟大成就。现代信息技术的发展使 算法重新焕发了前所未有的生机和活力,算法进入中学数学课程,既反映了时代 的要求, 也是中国古代数学思想在一个新的层次上的复兴,也就成为了中国数学 课程的一个新的特色。 (2)教学重难点 重点:算法的基本知识与算法对应的程序框图的设计 难点:与算法对应的程序框图的设计及算法程序的编写 (3)学法与教学用具 学法:利用实例让学生体会基本的算法思想,提高逻辑思维能力,对比信息 技术课程中的程序语言的学习和程序设计,了解数学算法与信息技术上的区别。

通过案例的运用, 引导学生体会算法的核心是一般意义上的解决问题策略的具体 化。面临一个问题时,在分析、思考后获得了解决它的基本思路(解题策略) , 将这种思路具体化、条理化,用适当的方式表达出来(画出程序框图,转化为程 序语句) 。 教学用具:电脑,计算器,图形计算器 (4)教学设想 一.本章的知识结构
程 序 框 图 算法 算 法 语 句 排序 进位制 辗转相除法与更相减损术

秦九韶算法

二.知识梳理 (1)四种基本的程序框

(2)三种基本逻辑结构

顺序结构 (3)基本算法语句 (一)输入语句 单个变量

条件结构

循环结构

INPUT “提示内容” ;变量

多个变量
INPUT “提示内容 1,提示内容 2,提示内容 3,?” ;变量 1,变量 2,变量 3,?

(二)输出语句
PRINT “提示内容” ;表达式

(三)赋值语句
变量=表达式

(四)条件语句 IF-THEN-ELSE 格式

IF 条件 THEN 语句 1 ELSE 语句 2 END IF

满足条件? 是 语句 1



语句 2

当计算机执行上述语句时,首先对 IF 后的条件进行判断,如果条件符合, 就执行 THEN 后的语句 1,否则执行 ELSE 后的语句 2。其对应的程序框图为: (如 上右图) IF-THEN 格式

是 IF 条件 THEN 语句 END IF 满足条件? 否 语句

计算机执行这种形式的条件语句时,也是首先对 IF 后的条件进行判断,如 果条件符合,就执行 THEN 后的语句,如果条件不符合,则直接结束该条件语句, 转而执行其他语句。其对应的程序框图为: (如上右图) (五)循环语句 (1)WHILE 语句

WHILE 条件 循环体 WEND

循环体 满足条件? 否



其中循环体是由计算机反复执行的一组语句构成的。WHLIE 后面的“条件” 是用于控制计算机执行循环体或跳出循环体的。 当计算机遇到 WHILE 语句时, 先判断条件的真假, 如果条件符合, 就执行 WHILE 与 WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环 体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循 环体,直接跳到 WEND 语句后,接着执行 WEND 之后的语句。因此,当型循环有时 也称为“前测试型”循环。其对应的程序结构框图为: (如上右图) (2)UNTIL 语句
循环体 否 满足条件? 是

DO 循环体 LOOP UNTIL 条件

其对应的程序结构框图 为: (如上右图) (4)算法案例 案例 1 辗转相除法与更相减损术 案例 2 秦九韶算法 案例 3 进位制 三.典型例题 例 1 写一个算法程序,计算 1+2+3+? +n 的值(要求可以输入任意大于 1 的 正自然数) 解:INPUT “n=”;n i=1 sum=0

WHILE i<=n sum=sum+i i=i+1 WEND PRINT sum END 思考:在上述程序语句中我们使用了 WHILE 格式的循环语句,能不能使用 UNTIL 循环? 例 2 设计一个程序框图对数字 3,1,6,9,8 进行排序(利用冒泡排序法) 思考:上述程序框图中哪些是顺序结构?哪些是条件结构?哪些是循环结构? 例 3 把十进制数 53 转化为二进制数. 解:53=1×25+1×24+0×23+1×22+0×21+1×20 =110101(2) 例 4 利用辗转相除法求 3869 与 6497 的最大公约数与最小公倍数。 解:6497=3869×1+2628 3869=2628×1+1241 2628=1241*2+146 1241=146×8+73 146=73×2+0 所以 3869 与 6497 的最大公约数为 73 最小公倍数为 3869×6497/73=344341 思考:上述计算方法能否设计为程序框图? 练习:P50 A 3 4 (5)评价设计 作业:P40 A 1 5 B 1


必修3A第一章算法初步教案

必修3A第一章算法初步教案_数学_高中教育_教育专区。第一章算法初步 一、课标要求: 1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读 中国古代...

高中数学(人教版必修3)《第一章+算法初步》教学设计(共12课时)

高中数学(人教版必修3)《第一章+算法初步教学设计(共12课时)_高三数学_数学...第一步:②×A1-①×A2,得(A1B2-A2B1)y+A1C2-A2C1=0;③ ? A1 x ?...

必修3第一章算法初步1.2基本算法语句

必修3第一章算法初步1.2基本算法语句_高一数学_数学_高中教育_教育专区。人教 A 版 数学教案 必修 3 第一章 1.2.1 第一课时 第一章算法初步 1.2 基本...

人教版高中数学A版必修三优秀教案(第一章 算法初步)

人教版高中数学A版必修三优秀教案(第一章 算法初步)_高一数学_数学_高中教育_教育专区。本教案详细介绍了教学目标、重点、难点、教学方法及导入新课引用方法,是值得...

输入语句、输出语句与赋值语句第一课时教案-数学高一必修3第一章算法初步1.2基本算法语句1.2.1人教A版

输入语句、输出语句与赋值语句第一课时教案-数学高一必修3第一章算法初步1.2基本算法语句1.2.1人教A版_数学_高中教育_教育专区。人教 A 版 数学教案 必修 3 ...

条件语句第一课时教案-数学高一必修3第一章算法初步1.2.2人教A版

人教A 版 数学教案 必修 3 第一章 1.2.2 第一课时 第一章 1.2.2 一、学习目标 1、结果性目标: 算法初步 条件语句 通过实例,理解条件语句和条件结构之间...

人教版高中数学A版必修三第一章算法初步导学案

人教版高中数学A版必修三第一章算法初步导学案_数学_高中教育_教育专区。高中数学同步导学案,适合新课使用。数学必修 3 第一章 算法初步 第一章 算法初步 § 1...

高中数学 第一章 算法初步教案 (教师用) 新人教A版必修3

新人教 A 版数学必修 3 全套教案第一章 算法初步一、课标要求: 课标要求: 1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读中国古代教学中的...

必修3知识点总结:第一章_算法初步

必修3知识点总结:第一章_算法初步_从业资格考试_资格考试/认证_教育专区。高中...A B 当型循环结构 A P 成立 直到型循环结构 A P 成立 不成立 不成立 ...