高一必修3算法初步[下学期]

文档属性

名称 高一必修3算法初步[下学期]
格式 rar
文件大小 3.0MB
资源类型 教案
版本资源 苏教版
科目 数学
更新时间 2008-04-12 21:07:00

内容文字预览

基本算法语句复习
教学目标
(1)进一步巩固基本算法语句:赋值语句、输入输出语句、条件语句、循环语句的概念,并掌握其结构;
(2)会灵活应用基本算法语句编写程序.
教学重点
各种算法语句的表示方法、结构和用法.
教学难点
灵活应用各种算法语句编写程序.
教学过程
一、例题分析:
1.例题:
例1.编写函数的算法,根据输入的的值,计算的值.
分析:这是分段函数,计算前,先对的值进行判断,再确定计算法则.
解:其算法步骤如下: 用算法语句可表示如下:
S1 输入;
S2 若,则,
否则,则;
S3 输出.
例2.试用算法语句表示:使成立的最小正整数的算法过程.
解:本例需要用到循环结构,且循环的次数不定,因此可用“While循环”语句,
具体描述:
例3.读入80个自然数,统计出其中奇数的个数,用伪代码表示解决这个问题的算法过程.
解:本题算法的伪代码如下:
For I From 1 To 80
Read
If Then
(Print )
End If
End For
Print
End
变式:若本例中还要将所有奇数输出呢?以上伪代码该作何修改?(见题中括号)
例4.《中华人民共和国个人所得税法》第十四条有下表(部分)
个人所得税税率表—(工资、薪金所得使用)
级数 全月应纳税所得额 税率(%)
1 不超过500元部分 5
2 超过500元至2000元部分 10
3 超过2000元至5000元部分 15
4 超过5000元至20000元部分 20
……
目前,上表中“全月应纳税所得额”是从月工资、薪金收入中减去800元后的余额.若工资、薪金的月收入不超过800元,则不需纳税.
某人月工资、薪金收入不超过20800元,试给出一个计算其月工资、薪金收入为元时应缴纳税款额的算法并用伪代码表示这个算法.
解:设月工资、薪金收入为元时应缴纳税款额为元,伪代码如下:
Read
If Then
y←0
Else If Then
y←(x-800)*0.05
Else If Then
y←500*0.05+(x-1300)*0.1
Else If Then
y←500*0.05+1500*0.1+(x-2800)*0.15
Else If Then
y←500*0.05+1500*0.1+3000*0.15+(x-5800)*0.2
End If
Print y
End
2.练习:
(1)下面的程序段中,语句Print I*J执行的次数是 15 次.
For I From 1 To 3
For J From 5 To 1 Step -1
Ptint I*J
End For
End For
End
提示:对于每个I,内循环都执行5次,而I有3个取值,所以,共执行15次.
二、回顾小结:
1.各种算法语句的表示方法、结构和用法;
2.灵活应用各种算法语句编写程序.
三、课外作业:补充:
1.用秦九韶算法计算多项式,当时的值时,需要做乘法和加法的次数分别是 , .
2.下面的程序运行的结果是 .
N←0
I←0
While I<30
I←(I+1)*(I+1)
N←N+1
End While
Print N
End
4.下面这个算法的效果是 ( )
X←23.4
Print Int(x+0.5)
A.将X加0.5后输出 B. 将X加0.5后四舍五入 C.求绝对值 D.对X四舍五入
5.已知函数,实数,,,试设计求的算法,画出流程图,并用伪代码表示该算法.
6.用循环语句设计一个算法,在有限个实数中找出最大的一个数.
7.发动机的推力与温度的关系是,试编写根据温度计算发动机的推力的伪代码.
3.右面的伪代码输出的结果是( ).
A 3 B 5 C 9 D 13
Read
If Then
Else
End If
Print
End
S←0
For I from 1 to 11 step 2
S←2S+3
If S>20 then
S←S-20
End If
End For
Print S
While S≤2006
End While
Print
End
第五章 算法初步——第8课时:基本算法语句复习§1.4 算法案例(1)
教学目标
(1)介绍中国古代算法的案例-韩信点兵-孙子问题;
(2)用三种方法熟练的表示一个算法;
(3)让学生感受算法的意义和价值.
教学重点、难点:不定方程解法的算法.
教学过程
一、问题情境(韩信点兵-孙子问题):
韩信是秦末汉初的著名军事家。据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数。
韩信先令士兵排成3列纵队,结果有2个人多余;接着立即下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这次又剩下2人无法成整行。
在场的人都哈哈大笑,以为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2333人。众人听了一愣,不知道韩信用什么方法这么快就能得出正确的结果的。同学们,你知道吗?
背景说明:
1.类似的问题最早出现在我国的《算经十书》之一的《孙子算经》中原文是:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:「二十三」”
2.孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之後,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理。中国剩余定理(Chinese Remainder Theorem)在近代抽象代数学中占有一席非常重要的地位;
3.该问题的完整的表述,后来经过宋朝数学家秦九韶的推广,又发现了一种算法,叫做“大衍求一术”。在中国还流传着这么一首歌诀:
三人同行七十稀,
五树梅花廿一枝,
七子团圆月正半,
除百零五便得知。
  它的意思是说:将某数(正整数)除以3所得的余数乘以70,除以5所得的余数乘以21,除以7所得的余数乘以15,再将所得的三个积相加,并逐次减去105,减到差小于105为止。 所得结果就是某数的最小正整数值。
用上面的歌诀来算《孙子算经》中的问题,便得到算式:
2×70+3×21+2×15=233,
233-105×2=23,
即所求物品最少是23件。
二.算法设计思想:
“孙子问题”相当于求关于的不定方程组的的正整数解;
设所求的数为,根据题意应该同时满足下列三个条件:
①被3除后余2,即;
②被5除后余3,即;
③被7除后余2,即;
用自然语言可以将算法写为:
如果且且则执行,否则执行;
输出
三.流程图和伪代码:
伪代码:
DO
Loop Until且且
Print
注:这里的解题的过程中运用的DO循环语句和课本上的解题略有区别请注意辨别!
四、回顾小结:
1.中国数学在世界数学史上的巨大贡献;
2.实际问题的分析和解决问题过程;
3.算法的表示及语句的运用;
五、课外作业:
课本第31页第3题.
结束
开始
输出


必修三 第1章 算法初步——算法案例(1)§1.4 算法案例(3)
教学目标
(1)二分法主要是采用了循环结构处理问题要会分析类似的问题;
(2)GoTo语句的认识及其他语句的进一步熟悉;
(3)能由流程图分析出期所含有的结构并用为代码表示出相应的算法.
教学重点
二分法的算法思想和算法表示.
教学过程
一、问题情境
必修1中我们学习了二分法求方程的近似解,大家还能想起二分法的求解步骤吗?
二、案例讲解:
案例:写出用区间二分法求解方程在区间内的一个近似解(误差不超过0.001)的一个算法.
(1)算法设计思想:
如图,如果估计出方程在某区间内有一个根,就能用二分法搜索求得符合误差限制的近似解.
(2)算法步骤可以表示为:
  取的中点,间区间一分为二;
  若,则就是方程的根,否则判断根在的左侧还是后侧;
若,则,以代替;
若,则,以代替;
  若,计算终止,此时,否则转.
(3)流程图:
(4)伪代码1:
Read a,b,c
While And
If <0 Then
Else
End If
End While
Print
伪代码2:
10 Read
20
30
40
50 If Then GoTo 120
60 If Then
70
80 Else
90
100 End If
110 If Then GoTo 20
120 Print
二分搜索的过程是一个多次重复的过程,故可以用循环结构来处理(代码1),课本解法是采用语句实现的(代码2)。
三、回顾小结:
1.二分法的算法和用伪代码表示该算法;
2.语句的使用;
3.解决实际问题的过程:分析-画流程图-写伪代码。
四、课外作业:课本复习题的第1题,课本复习题的第10题
补充.一个三位数的十位和个位的数字互换,得到的一个新的三位数,新、旧两个三位数都能被4整除;设计一个算法,求满足条件的三位数的个数,并写出伪代码。
开始
结束
第一章 算法初步——算法案例(3)§1.2 第4课时 循环结构
教学目标:1.了解循环结构的概念,能运用流程图表示循环结构;
2.能识别简单的流程图所描述的算法;
3.发展学生有条理的思考与表达能力,培养学生的逻辑思维能力.
教学重点:运用流程图表示循环结构的算法.
教学难点:规范流程图的表示以及循环结构算法的流程图.
教学过程:
一.问题情境
1.情境:北京获得了2008年第29届奥运会的主办权。你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?
对遴选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个
城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都
不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一
个申办城市为止。
2.问题:怎样用算法结构表述上面的操作过程?
二.学生活动
学生讨论,教师引导学生进行算法表达,然后画出流程图.
解:算法为:
投票;
统计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权,转,否则淘汰得票数最少的城市,转;
宣布主办城市.
上述算法可以用
流程图表示为:
教师边讲解边画
出第11页
图.
三.建构数学
1.循环结构的概念:
需要重复执行同一
操作的结构称为
循环结构.
如图:虚线框内
是一个循环结构,先
执行框,再判断给
定的条件是否为假;
若为假,则再执行
,再判断给定的条件是否为假……,如此反复,直到为真,该循环过程结束。
2.说明:(1)循环结构主要用在反复做某项工作的问题中;
(2)循环结构是通过选择结构来实现。
3.思考:教材第7页图所示的算法中,哪些步骤构成了循环结构?
四.数学运用
1.循环结构举例
例1.(教材第12页例4)写出求值的一个算法,并画出流程图.
解:算法1:逐一相加(见教材第12页);
算法2: ; {使}
; {使}
; {求,乘积结果仍放在变量中}
; {使的值增加1}
如果,转,否则输出。
说明:1.算法2中各种符号的意义;
2.算法2不仅形式简练,而且具有通用性、
灵活性。其中,,组成一个循环,
在实现算法时要反复多次执行,,
步骤,直到执行时,经过判断,乘数已
超过规定的数为止。
算法流程图如右.
练习1:写出求值的一个算法,
并画出流程图.
例2.设计一个计算10个数平均数的算法,并画出流程图.
分析:由于需要依次输入10个数,并计算它们的和,因此,需要用一个循环结构,并用一个变量存放数的累加和。在求出10个数的总和后,再除以10,就得到10个数的平均数。
解: ; {使}
; {使}
输入; {输入一个数}
; {求,其和仍放在变量中}
; {使的值增加1}
如果,转, {如果,退出循环}
; {将平均数存放到中}
输出。 {输出平均数}
说明:1.本题中的第一步将赋值于,是为这些数的和建立
存放空间;
2.在循环结构中都有一个计数变量(本题中的)和累
加变量(本题中的),计数变量用于记录循环次数
(本题实质是为了记录输入的数的个数),累加变量
用于输出结果。计数变量与累加变量一般是同步进行
的,累加一次,计数一次。
算法流程图如右.
2.练习:课本第14页练习第1、2 题.
练习1答案: ;



如果,转,
否则输出。
练习2答案:
将50个学生中成绩不低于80分的学生的
学号和成绩打印出来。
五.回顾小结
1.循环结构的概念:
需要重复执行同一操作的结构称为循环结构.它主要用在反复做某项工作的问题中。
2.用循环结构画流程图:确定算法中反复执行的部分,确定循环的转向位置和终止条件。
3.选择结构与循环结构的区别与联系:
区别:选择结构通过判断执行分支,只是执行一次;循环结构通过条件判断可以反复执行;
联系:循环结构是通过选择结构来实现的,循环结构中一定包含选择结构。
4.在循环结构中都有一个计数变量(本题中的)和累加变量(本题中的),计数变量用于记录循环次数(本题实质是为了记录输入的数的个数),累加变量用于输出结果。计数变量与累加变量一般是同步进行的,累加一次,计数一次。
六.课外作业:
课本第14页习题第7题.
7.写出求(共有6个2)的值的一个算法,并画出流程图。
补充:
1.某高中男子体育小组的50米跑成绩为(单位:):
,,,,,,,,。设计一个算法,从这些成绩中找出
所有小于的成绩,并画出流程图。
2.高一某班一共有50名学生,设计一个算法,统计班上数学成绩优秀(分数大于80)的学生人数,并画出流程图。
输出
必修三 第1章 算法初步——第4课时 循环结构§1.3 基本算法语句——循环语句
教学目标
(1)正确理解循环语句的概念,并掌握其结构;
(2)会应用循环语句编写程序.
教学重点
两种循环语句的表示方法、结构和用法,用循环语句表示算法.
教学难点
理解循环语句的表示方法、结构和用法,会编写程序中的循环语句.
教学过程
一、问题情境
1.问题1:设计计算的一个算法,并画出流程图.
二、学生活动
解决问题1的算法是:
对于以上算法过程,我们可以用循环语句来实现.
三、建构数学
1.循环语句:循环语句一般有种:“For循环”、“While循环”和“Do循环”(由于该种循环变化较多,教材中暂不介绍).
(1)“For循环”是在循环次数已知时使用的循环,
其一般形式为:
例如:问题1中算法可用“For循环”语句表示为:
Print
End
说明:①上面“For”和“End For”之间缩进的步骤称为循环体;
②如果省略“Step 2”,默认的“步长”为1,即循环时,的值每次增加1(步长也可以为负,例如,以上“For循环”第1行可写成:For I From 99 To 1 Step -2);
③“For循环”是直到型循环结构,即先执行后判断.
(2)“While循环”的一般形式为:
其中A为判断执行循环的条件.
例如:问题1中的算法可“While循环”语句表示为:
Print
End
说明:①上面“While”和“End While”之间缩进的步骤称为循环体;
②“While循环”是当型循环结构,其特点是“前测试”,即先判断,后执行.若初始条件不成立,则一次也不执行循环体中的内容;
③任何一种需要重复处理的问题都可以用这种前测试循环来实现.
四、数学运用
1.例题:
例1.编写程序,计算自然数1+2+3+……+99+100的和。
解:用“For循环”表示如下: 用“While循环”表示如下:
例2.试用算法语句表示:寻找满足的最小整数的算法.
解:本例中循环的次数不定,因此可用“While循环”语句,具体描述如下:
例3.抛掷一枚硬币时,既可能出现正面,也可能出现反面,预先作出确定的判断是不可能的,但是假如硬币质量均匀,那么当抛掷次数很多时,出现正面的频率应接近50%.试设计一个循环语句模拟抛掷硬币的过程,并计算抛掷中出现正面的频率.
分析:抛掷硬币的过程实际上是一个不断重复地做同一件事情的过程,利用循环语句,我们很容易在计算机上模拟这一过程.
在程序设计中,有一个随机函数“Rnd”,它能产生0与1之间的随机数.这样,我们可用大于的随机数表示出现正面,不大于的随机数表示出现反面.
解:本题算法的伪代码如下:
Read
For I From 1 To
If Rnd> Then
End For
Print 出现正面的频率为.
End
2.练习:课本第23页 练习 第1题.
五、回顾小结:
1.循环语句的概念,并掌握其结构;
2.“For循环”、“While循环”在用法上的区别与联系.
六、课外作业:
课本第23页 练习 第2、3、4题;
课本第24页 习题 第4、6、7题.
S1 S←1
S2 I←3
S3 S←S×I
S4 I←I+2
S5 若I≤99,则返回S3
S6 输出S
结束
流程图:
开始
While A

End while
For I from“初值”to“终值”step“步长”

End for
For I From 1 To 99 Step 2
End For
While I≤99
End While
For I From 1 To 100 Step 1
End For
Print
End
While I≤100
End While
Print
End
While S≤10000
End While
Print
End
必修三 第1章 算法初步——第8课时:基本算法语句(3)§1.2 第2课时 流程图与顺序结构
教学目标:1.了解流程图的概念,了解常用流程图符号(输入输出框、处理框、判断框、起止框、流程线等)的意义;
2.能用程序图表示顺序结构的算法;
3.发展学生有条理的思考与表达能力,培养学生的逻辑思维能力.
教学重点:运用流程图表示顺序结构的算法.
教学难点:规范流程图的表示.
教学过程:
一.问题情境
1.情境:回答下面的问题:
(1) ;
(2) ;
2.问题:已知,求的最小值,试设计算法.
二.学生活动
学生讨论,教师引导学生进行表达.
解: 取;
计算;
若,则输出;否则,使,转.
上述算法可以用框图直观地描述出来:
教师边讲解边画出第7页图.
这样的框图我们称之为流程图.
三.建构数学
1.流程图的概念:
流程图是用一些规定的图形、指向线及简单的文字说明来表示算法几程序结构的一种图形程序.它直观、清晰,便于检查和修改.
其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,带箭头的流程线(指向线)表示操作的先后次序.
2.构成流程图的图形符号及其作用(课本第7页),结合图形讲解.
3.规范流程图的表示:
①使用标准的框图符号;
②框图一般按从上到下、从左到右的方向画,流程线要规范;
③除判断框外,大多数框图符号只有一个进入点和一个退出点.
④在图形符号内描述的语言要非常简练、清楚.
4.从流程图可以看出,该算法步骤中,有些是按顺序执行,有些需要选择执行,而另外一些需要循环执行.事实上,算法都可以由顺序结构、选择结构、循环结构这三块“积木”通过组合和嵌套表达出来.
5.顺序结构的概念:
依次进行多个处理的结构称为顺序结构.
四.数学运用
1.顺序结构举例
例1.写出作的外接圆的一个算法.
解: 作的垂直平分线;
作的垂直平分线;
以与的交点为圆心,为半径作圆,圆即为的外接圆.
说明:1.以上过程通过依次执行到这三个步骤,完成了作外接圆这一问题,这种依次进行多个处理的结构就是顺序结构.
2.上述算法的流程图如下图1所示,它是
一个顺序结构.
图1 图2
例2.已知两个单元分别存放了变量和的值,试交换这两个变量值.
说明:1.在计算机中,每个变量都分配了一个存储单元,它们都有各自的地址.
2.为了表达方便,我们用符号“”表示“把赋给”(见教材第1页)
解:为了达到交换的目的,需要一个单元存放中间变量.
算法是:
; 先将的值赋给变量,这时存放变量的单元可作它用
; 再将的值赋给,这时存放变量的单元可作它用
. 最后将的值赋给,两个变量和的值便完成了交换
说明:上述算法的流程图如上图2所示,它是一个顺序结构.
例3.半径为的圆的面积计算公式为,当时,写出计算圆面积的算法,画出流程图.
解:算法如下:


输出.
说明:上述算法的流程图如右图所示,它是一个顺序结构.
2.练习:课本第9页练习第1、2题.
五.回顾小结
1.流程图的概念:
流程图是用一些规定的图形、指向线及简单的文字说明来表示算法几程序结构的一种图形程序.它直观、清晰,便于检查和修改.
2.画流程图的步骤:
首先用自然语言描述解决问题的一个算法,再把自然语言转化为流程图;
3.顺序结构的概念:
依次进行多个处理的结构称为顺序结构.
六.课外作业:
课本第14页习题第1,3题.
补充:
已知华氏温度与摄氏温度的转换公式是:,写出一个算法,并画出流程图,使得输入一个华氏温度,输出其相应的摄氏温度.
以与的交点为圆心,为半径作圆
作的垂直平分线
作的垂直平分线
输出
必修三 第1章 算法初步——第2课时 流程图与顺序结构§1.3 基本算法语句——赋值、输入、输出语句
教学目标
(1)正确理解赋值语句、输入语句、输出语句的结构;
(2)让学生充分地感知、体验应用计算机解决数学问题的方法;
(3)通过实例,使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想.
教学重点
正确理解输入语句、输出语句、赋值语句的作用.
教学难点
准确写出输入语句、输出语句、赋值语句.
教学过程
一、问题情境
1.问题1:已知我班某学生上学期期末考试语文、数学和英语学科成绩分别为80、100、89,试设计适当的算法求出这名学生三科的平均分.
二、学生活动
1.学生讨论,教师引导学生写出算法并画出流程图.
2.怎样将以上算法转换成计算机能理解的语言呢?
下面我们将通过伪代码学习基本的算法语句.
三、建构数学
1.伪代码:
伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法.为了今后能学好计算机语言,我们在伪代码中将使用一种计算机语言“BASIC语言”的关键词.
2.赋值语句:
赋值语句是将表达式所代表的值赋给变量的语句.例如:“”表示将的值赋给,其中是一个变量,是一个与同类型的变量或表达式.
说明:
①赋值语句中的赋值号“”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;
②赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;
③对于一个变量可以多次赋值.
例1.写出求时多项式的值的算法.
算法1
算法2
说明:①以上两种算法,算法1要做6次乘法,算法2只要做3次乘法,由此可见,算法的好坏会影响运算速度;
②算法2称为“秦九韶算法”,其算法特点是:通过一次式的反复计算,逐步得出高次多项式的值;对于一个次多项式,只要做次乘法和次加法.
附:秦九韶(1202—1261年),字道古,普州安岳(今四川安岳)人.他是我国古代最有成就的数学家之一.著有数学名著《数书九章》(又名数学九章》).该书共十八卷,分为大衍、天时、田域、测望、赋役、钱谷、营建、军旅、市易等九大类,每类用九个例题全书共八十一题)来阐明各种算法.这部中世纪的数学杰作,许多方面都有创造,而书中最突出的成就是“大衍求一术”和高次方程的数值解法“正负开方术”,是具有世界意义的成就.
3.输入、输出语句:
输入、输出语句分别用“Input”(或者“Read”)和“Print”来描述数据的输入和输出.
(1)输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量.
(2)输出语句的主要作用是:①输出常量、变量的值和系统信息;②输出数值计算的结果.
例如:可以将问题1中的算法改进为求任意三门功课的平均值的算法.
流程图:
说明:输入语句“Read a,b”表示输入的数据依次送给a,b;“Print A”表示输出运算结果A.
四、数学运用
1.例题:
例2.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
请你先列出解决这个问题的方程组,并设计一个解二元一次方程组的通用算法,并画出流程图,写出伪代码.
解:设有只鸡,只兔子,则.
设二元一次方程组为用消元法解得,
因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可输出的值.
2.练习:课本第17页 练习1题.
五、回顾小结:
1.赋值语句、输入语句、输出语句的结构和作用.
六、课外作业:
课本第17页 练习2、3题;课本第24页习题1.2 第1题.
补充:
1.将五进制数化为十进制数的方法是“按权展开”,如将化为十进制数为.试用输入输出语句、赋值语句表示将五进制数化为十进制数的算法.
2.请用伪代码编写程序,实现三个变量的值按顺序互换,即之间的交换.
流程图:
结束
开始
输出A
A←(a+b+c)/3
c←89
b←100
a←80
算法:
S1 a←80
S2 b←100
S3 c←89
S4 A←(a+b+c)/3
S5 输出A
伪代码:
Read a,b,c
A←(a+b+c)/3
Print A
开始
结束
输入a,b,c
A←(a+b+c)/3
开始
输出A
结束
必修三 第1章 算法初步——第6课时:基本算法语句(1)§1.1 第1课时 算法的含义
教学目标:1.通过实例体会算法思想,了解算法的含义与主要特点;
2.能按步骤用自然语言写出简单问题的算法过程学;
3.培养学生逻辑思维能力与表达能力.
教学重点:将问题的解决过程用自然语言表示为算法过程.
教学难点:用自然语言描述算法.
教学过程
一.序言
算法不仅是数学及其应用的重要组成部分,也是计算机理论和技术的核心.在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域.那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.
在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.
阅读教材第4页.
二.问题情境
1.情境:介绍猜数游戏(见教材第5页).
2.问题:解决这一问题有哪些策略,哪一种较好?
三.学生活动
学生容易说出“二分法策略”,教师要引导学生进行算法化(按步骤)的表达.
说明:以上过程实际上是按一种机械的程序进行的一系列操作.
四.建构数学
在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法.
1.广义的算法——某一工作的方法和步骤,例如:歌谱是一首歌曲的算法,空调说明书是空调使用的算法.
在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序.
2.本章主要讨论的算法(计算机能够实现的算法)——对一类问题的机械的、统一的求解方法.例如:解方程(组)的算法,函数求值的算法,作图问题的算法等.
3.本节采用自然语言来描述算法.
五.数学运用
1.算法描述举例
例1.给出求1+2+3+4+5的一个算法.
解: 算法1 按照逐一相加的程序进行.
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
第四步:将第三步中的运算结果10与5相加,得到15.
算法2 运用公式直接计算.
第一步:取=5;
第二步:计算;
第三步:输出运算结果.
算法3 用循环方法求和.
第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:如果,则返回第三步,否则输出.
说明:①一个问题的算法可能不唯一.
②若将本例改为“给出求的一个算法”,则上述算法2和算法3表达较为方便.
例2.给出求解方程组的一个算法.
分析:解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,在通过回代过程求出方程组的解)解线性方程组.
解:用消元法解这个方程组,步骤是:
第一步:方程①不动,将方程②中的系数除以方程①中的系数,得到乘数;
第二步:方程②减去乘以方程①,消去方程②中的项,得到

第三步:将上面的方程组自下而上回代求解,得到,.
所以原方程组的解为.
说明:(1).从例1、例2可以看出,算法具有两个主要特点:
①有限性:一个算法在执行有限个步骤后必须结束.
“有限性”往往指在合理的范围之内,如果让计算机执行一个历时1000年才结束的算法,这虽然是有限的,但超过了合理的限度,人们也不把它视作有效算法.“合理限度”一般由人们的常识和需要以及计算机的性能而定.
②确定性:算法的每一个步骤和次序应当是确定的.
例如,一个健身操中一个动作“手举过头顶”,这个步骤就是不确定的、含糊的.是双手都举过头,还是左手或右手?举过头顶多少厘米不同的人可以有不同的理解.算法中的每一个步骤不应产生歧义,而应当是明确无误的.
(2).一般来说,算法应有一个或多个输出,算法的目的是为了求解,没有输出的算法是没有意义的.
2.练习:课本第6页练习第1、2、3题.
练习1答案:第一步 移项得;
第二步 两边同除以2得.
练习2答案:第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:如果,则返回第三步,否则输出.
练习3答案:第一步 计算斜率;
第二步 用点斜式写出直线方程.
补充:
1.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.
解:算法或步骤如下:
S1 人带两只狼过河;
S2 人自己返回;
S3 人带一只羚羊过河;
S4 人带两只狼返回;
S5 人带两只羚羊过河;
S6 人自己返回;
S7 人带两只狼过河;
S8 人自己返回;
S9 人带一只狼过河.
2.写出求的一个算法.
解:第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:使;
第六步:如果,则返回第三步,否则输出.
六.回顾小结
1.算法的概念:对一类问题的机械的、统一的求解方法.算法是由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题.
2.算法的重要特征:
(1)有限性:一个算法在执行有限步后必须结束;
(2)确切性:算法的每一个步骤和次序必须是确定的;
(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是指算法本身定出了初始条件.
(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的
算法是毫无意义的.
七、课外作业:
课本第6页第4题,
补充:
1. 有A、B、C三个相同规格的玻璃瓶,A装着酒精,B装着醋,C为空瓶,请设计一个算法,把A、B瓶中的酒精与醋互换.
2.写出解方程的一个算法.
3.已知,,写出求直线AB斜率的一个算法.
4.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:
“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”
请你先列出解决这个问题的方程组,并设计一个解该方程组的算法.
必修三第1章 算法初步——第1课时 算法的含义§1.4 算法案例(2)
教学目标:
(1)理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;
(2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;
教学重点:理解辗转相除法与更相减损术求最大公约数的方法
教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言.
教学过程
一、问题情境
在初中,我们已经学过求最大公约数的知识,你能求出18与30的公约数吗?
我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数?这就是我们这一堂课所要探讨的内容.
二、算法设计思想:
1.辗转相除法:
例1.求两个正数8251和6105的最大公约数.
(分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)
解:8251=6105×1+2146
显然8251和的2146最大公约数也必是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年左右首先提出的.利用辗转相除法求最大公约数的步骤如下:
第一步:用较大的数除以较小的数得到一个商和一个余数;
第二步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;
第三步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;
……
依次计算直至,此时所得到的即为所求的最大公约数.
练习:利用辗转相除法求两数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则得到,而更相减损术则以减数与差相等而得到.
三. 辗转相除法的流程图及伪代码
利用辗转相除法与更相减损术的计算算法,我们可以设计出程序框图以及BSAIC程序来在计算机上实现辗转相除法与更相减损术求最大公约数,下面由同学们设计相应框图并相互之间检查框图与程序的正确性,并在计算机上验证自己的结果.
(1)辗转相除法的程序框图及程序
程序框图:
伪代码:
用较大的数除以较小的数,得到除式,直到.
四、回顾小结:
1.辗转相除法与更相减损术中蕴含的数学原理及算法语言的表示;
2.函数的含义.
五、课外作业:
课本第31页第2 ;课本第35页第13.
结束
开始
输出b
输入a,b
必修三 第1章 算法初步——算法案例(2)§1.2 第5课时 流程图复习课
教学目标:1.能运用流程图表示顺序、选择、循环这三种基本结构;能识别简单的流程图所描述的算法;
2.训练有条理的思考与准确表达自己想法的能力,提高逻辑思维能力.
教学重点:运用流程图表示顺序、选择、循环这三种基本结构.
教学难点:循环结构算法的流程图.
教学过程:
一.学法指导:
流程图结构的选择方法:
若不需判断,依次进行多个处理,只要用顺序结构;
若需要先根据条件作出判断,再决定执行哪个后继步骤,必须运用选择结构;
若问题的解决需要执行许多重复的步骤,且有相同的规律,就需要引入循环变量,应
用循环结构.
二.数学运用
例1.已知,写出求的一个算法,并画出流程图.
解: ;




若,转,否则输出.
练习1.已知一列数,,,…,,…且
,,(),
这个数列叫做斐波那契数列.写出求该数列
第10个数的一个算法,并画出流程图.
解:算法如下:






若,转,否则输出.
例2.高一某班一共有50名学生,设计
一个算法,统计班上数学成绩良好
(分数大于80且小于90)和优秀
(分数大或等于90)的学生人数,
并画出流程图.
解:算法如下:
,,;
输入成绩;
若,则,转;
若,则;

若,转,
否则,输出和;
例3.(第1课补充练习)写出求
的一个算法,
并画出流程图.
练习2.教材第14页习题第4,8,9题.
三.课外作业:
补充:
1.设计一个计算的值的一个算法,并画出流程图.
2.写出求的值的一个算法,并画出流程图.
2.我国的国民生产总值近几年来一直以不低于的年增长率增长,照此速度,最多只需经过几年我国的国民生产总值就可以翻一番?写出一个算法,并画出流程图.
3.设是三位正整数中所有既是12的倍数,又是15的倍数的数之和.写出一个求的算法,并画出流程图.
开始
结束
输入成绩
, ,
结束
开始
输出、
输出
必修三 第1章 算法初步——第5课时 流程图复习课§1.3 基本算法语句——条件语句
教学目标
(1)正确理解条件语句的步骤、结构及功能,并掌握其结构;
(2)能正确地使用条件语句表示选择结构.
教学重点
条件语句的步骤、结构及功能.
教学难点
使用条件语句表示选择结构.
教学过程
一、问题情境
1.问题1:某居民区的物业管理部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.试设计算法,根据输入的人数计算应收取的卫生费?
二、学生活动
学生思考后得出:
若用(单位:元)表示应收取的费用,表示住户的人口数,则.
具体算法步骤如下:
S1 输入;
S2 若,则,否则;
S2 输出.
流程图如右图所示.从流程图可以看出这是一个选择结构,
我们可以用条件语句来实现该过程.
三、建构数学
1.条件语句:
条件语句的一般形式为:If—then—Else(如图1所示),对应的程序框图为图2。
“条件A”表示判断的条件,“语句1”表示满足条件A时执行的操作内容;“语句2”表示不满足条件A时执行的操作内容;End if表示条件语句的结束。计算机在执行时,首先对If后的条件进行判断,如果符合条件A,则执行Then后面的语句1;若不符合条件A,则执行Else后面的语句2。
问题1中的选择过程用条件语句可以表示为:
Read
Print
我们把步骤“”称为“Then”分支,步骤“”称为“Else”分支.为了醒目和便于阅读这些分支一般缩进书写.
四、数学运用
1.例题:
例1.写出输入两个数a和b,将较大的数打印出来的算法,写出伪代码,并画出流程图.
解:
算法:
S1 输入a,b;
S2 若a>b,则输出a,否则输出b.
例2.儿童乘坐火车时,若身高不超过1.1 m,则无需购票;若身高超过1.1 m到不超过1.4 m,可买半票;若超过1.4 m,应买全票.试设计一个购票的算法,写出伪代码,并画出流程图.
解:算法步骤为:
S1 测量儿童身高;
S2 如果,那么免费乘车;否则,如果,那么购买半票乘车;否则,购买全票乘车.
伪代码: 流程图:
Read
If Then
Print 免费乘车
Else If Then
Print 半票乘车
Else
Print 全票乘车
End If
说明:从本例可以看出,条件语句“If—then—Else”可以嵌套.
思考:写出“输入一个正整数,如果大于100,就将其输出”的算法的伪代码.
解:Read n
If n>100 Then Print n
End If
End
说明:本题中的条件语句是“行If语句”,前面的是“块If语句”.
例3.已知函数,试写出计算值的一个算法.
解:可以用条件语句表示这类分段函数的算法:
Read x 流程图:
If x>0 Then
y←1
Else If x=0 Then
y←0
Else
y←
End If
Print y
2.练习:
补充:用算法语句表示:输入一个数,如果不为0,则输出,否则,重新输入.
解:10 Read x
20 If x=0 Then Goto 10
30 Else
40 Print 1/x
50 End If
60 End
五、回顾小结:
1.条件语句的步骤、结构及功能.
六、课外作业:
课本第20页 练习第2、3题.
课本第24页 习题1.2第2、3、5题.


满足条件?
语句1
语句2
(图2)
If 条件A then 语句1
Else 语句2
End if
(图1)
If Then
Else
End If
伪代码:
Read a,b
If a>b Then
Print a
Else
Print b
End If
End
开始
输入a,b
a>b
结束
Y
N
输出a
输出b
开始
开始
结束
必修三 第1章 算法初步——第7课时:基本算法语句(2)§1.2 第3课时 选择结构
教学目标:1. 进一步理解流程图的概念,了解选择结构的概念,能运用流程图表达选择结构;
2.能识别简单的流程图所描述的算法;
3.发展学生有条理的思考与表达能力,培养学生的逻辑思维能力.
教学重点:运用流程图表示选择结构的算法.
教学难点:规范流程图的表示以及选择结构算法的流程图.
教学过程:
一.问题情境
1.情境:
某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为
其中(单位:)为行李的重量.
试给出计算费用(单位:元)的一个算法,并画出流程图.
二.学生活动
学生讨论,教师引导学生进行表达.
解:算法为:
输入行李的重量;
如果,那么,
否则;
输出行李的重量和运费.
上述算法可以用流程图表示为:
教师边讲解边画出第9页图.
在上述计费过程中,第二步进行了判断.
三.建构数学
1.选择结构的概念:
先根据条件作出判断,再决定执行哪一种
操作的结构称为选择结构.
如图:虚线框内是一个选择结构,
它包含一个判断框,当条件成立
(或称条件为“真”)时执行,
否则执行.
2.说明:(1)有些问题需要按给定的条件进行分析、比较和判断,并按判断的不同情况进行不同的操作,这类问题的实现就要用到选择结构的设计;
(2)选择结构也称为分支结构或选取结构,它要先根据指定的条件进行判断,再由判断的结果决定执行两条分支路径中的某一条;
(3)在上图的选择结构中,只能执行和之一,不可能既执行,又执行,但或两个框中可以有一个是空的,即不执行任何操作;
(4)规范流程图图框的形状要规范,判断框必须画成菱形,它有一个进入点和两个退出点.
3.思考:教材第7页图所示的算法中,哪一步进行了判断?
四.数学运用
1.选择结构举例
例1.(教材第10页例3)设计求解一元二次方程的一个算法,并画出流程图.
分析:由于一元二次方程未必总有实数根,因此,求解时,要先计算判别式,然后比较与的大小,再决定能否用求根公式求解.所以,在算法中应含有选择结构.解:算法如下:
输入;

如果,则输出“方程无实数根”,否则
,,
并输出,.
算法流程图如右.
思考:如果要输出根的详细信息(区分是两个
相等的实数根还是不等的实数根),如何
修改上述算法和流程图?
例2.设计一个求任意数的绝对值的算法,并画出流程图.
解: 输入任意实数;
若,则;否则;
输出.
算法流程图如右.
2.练习:课本第11页练习第1、2、3题.
五.回顾小结
1.选择结构的概念:
先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构.
2.理解选择结构的逻辑以及框图的规范画法,选择结构主要用在判断、分类或分情况的问题解决中.
说明:表示不大于的最大整数(或称的整数部分),如:.作业中可以使用此符号.
六.课外作业:
课本第14页习题第2,5题.
补充:
1.已知函数,写出当为整数时求的算法,并画出流程图.
2.任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,并画出这个算法的流程图.
输出
输入
必修三 第1章 算法初步——第2课时 选择结构