§2.2
算法的基本结构及设计
第五课时
2.2.3循环结构(一)
一、课程标准:通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件、循环.
二、教学目标:1.进一步理解程序框图的概念;2.掌握运用程序框图表达循环结构的算法;3.培养学生逻辑思维能力与表达能力.
三、教学重点:运用程序框图表达循环结构的算法。教学难点:循环体的确定,计数变量与累加变量的理解.
四、教学过程
(一)、回顾练习:引例:设计一个计算1+2+…+100的值的算法.
解:算法1
按照逐一相加的程序进行
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
……
第九十九步:将第九十八步中的运算结果4950与100相加,得到5050.
简化描述:
进一步简化:
第一步:sum=0;
第一步:sum=0,i=1;
第二步:sum=sum+1;
第二步:依次i从1到100,反复做sum=sum+i;
第三步:sum=sum+2;
第三步:输出sum.
第四步:sum=sum+3;
……
第一百步:sum=sum+99;
第一百零一步:sum=sum+100
第一百零二步:输出sum.
在本题中如果我们仍然用顺序结构和选择结构来画流程图,就显得比较繁琐,为了使得算法简洁我们今天学习循环往复的逻辑结构――循环结构。
(二)、新课
循环结构:在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这种结构称为循环结构.
循环体:反复执行的处理步骤称为循环体.
计数变量:在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中.
例1、见.课本P95
例7;练习1:画出引例的循环的程序框图(这是一个典型的用循环结构解决求和的问题,可以体会三种结构在流程图中的作用,学会画流程图)
例2、
见课本P96
例8
点评:需要反复进行的相同操作,如果按照顺序结构来描述,算法显的十分烦琐,不利于阅读,如果采取循环结构来描述,算法就显得简洁,清楚。循环结构是一种简化算法叙述的结构。
例3见课本P96
例9
练习2:画出的程序框图.
小结:画循环结构程序框图前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.
(四)、课堂小结
1.
理解循环结构的逻辑,主要用在反复做某项工作的问题中;2.
画循环结构程序框图前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件。3.
条件结构与循环结构的区别与联系:区别:条件结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行.
联系:循环结构是通过条件结构来实现.
(五)、作业:1.
设计一个算法,计算两个非零实数的加、减、乘、除运算的结果(要求输入两个非0实数,输出运算结果),并画出程序框图.
2.
设计一个算法,判断一个数是偶数还是奇数(要求输入一个整数,输出该数的奇偶性),并画出程序框图.
3.课本第99页练习题1,2题
五、教后反思:
§2.2
算法的基本结构及设计
第六课时2.2.4循环结构(二)
一、课程标准:通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件、循环.
二、教学目标:1.进一步理解程序框图的概念;
2.掌握运用程序框图表达循环结构的算法;3.培养学生逻辑思维能力与表达能力.
三、教学重点:运用程序框图表达循环结构的算法
教学难点:循环体的确定,计数变量与循环变量的理解.
四、教学过程
(一)、
复习回顾
通过上节课的学习,我们了解了循环结构,知道了循环变量,循环体、以及循环的基本框架图,这节课我们学习多变量的循环结构的程序图的设计。(学生以小组为单位,相互提问,复习上节课的基本概念)
(二)、新课讲解
例1
见课本P99例10。点拨:例10是输出菲波拉契数列的前50项.这个问题分了两个层次,第一个层次是设置了50个变量,分别表示要输出的50项.然后经过分析,我们发现,这些变量在完成输出操作后,没有保留的必要,因此可以释放掉.所以解法2最终只要设置3个变量,通过反复赋值,就可以输出数列中的各项.
存储空间是计算机的重要资源.在设计算法时,尽量减少变量的个数,也是算法设计的重要原则之一.
例2
见课本P101例11。点拨:例11用循环结构描述二分法求方程近似解的算法.这个算法和前面循环结构的算法相比,有以下几个特点:1.变量较多;2.循环变量不太容易确定;3.循环体不太容易确认;4.循环次数事先不知道,循环的终止条件有两个.因为这个算法在函数部分已经学习过,在§1也已经学习过.因此,算理本身并不对学生构成难度,关键是如何用循环结构来表述.这个问题的难点在于循环变量的设定和循环体的确认.
(要求学生先以讨论方式对上面2个例题进行学习,根据学生反馈的结果,进行点拨)
(三)、模仿操作
仿照例题完成P103
练习2中
1、2,学生上黑板画出流程图,也可以小组相互讨论学习
(四)、归纳小结
巩固课题:本节课通过课本例题,对循环结构的流程图的画法再次作一了解掌握,进一步理解程序框图的概念;掌握运用程序框图表达循环结构的算法。
(五)、
作业:
P104
8、9
五、教后反思:
§2.2
算法的基本结构及设计
第七课时2.2.5循环结构(三)
一、课程标准:通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,再次理解程序框图的三种基本逻辑结构:顺序、条件、循环.
二、教学目标1.进一步理解程序框图的概念;能够利用循环结构设计一些较复杂问题的流程图,对一些多变量问题能够找到循环变量及初始值,以及循环体;2.掌握运用程序框图表达循环结构的算法;3.培养学生逻辑思维能力与表达能力.
三、教学重点:设计循环结构的算法
教学难点:循环体的确定,计数变量与累加变量的理解.
四、教学过程
(一)、回顾练习
前面我们学习了算法的三种结构:顺序结构、选择结构,以及上两节课我们所涉及的循环结构。对于三种结构,我们应掌握它们各自的特点。例如顺序结构是算法中最基本的一种结构,每一个算法都要用到。而对于有些算法需要我们对一些条件的判断就要用到选择结构,循环结构指的是根据指定条件决定是否重复执行一条或多条指令的控制结构。三种结构中循环结构较复杂。在画循环结构的流程图前应先确定三个要素:循环变量、循环体、循环的终止条件,只有这三要素确定,就可清楚的画出循环结构的流程图。
(要求学生回顾顺序结构,选择结构,循环结构以及循环结构的算法流程图的基本模式)。
(二)、新课探究
学法:以小组为单位讨论学习,完成老师布置的任务
1、先完成课本P104A组8.9及B组3.4题
学法:小组讨论,教师指导
2、典型例题探析
例1、设计算法,求100个数中的最大数,画出流程图。
解析:引入变量
b与i,并用ai(i=1,2,3…,100)表示待比较的数(b为最大值,先令b=a1)
算法中的循环部分为比较b与ai,如果b
变量i的初始值为2,终止值为100
循环的终止条件
为i>100
例2、设计一个计算1+2+…+100的值的算法,并画出流程图。
算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值为0,计数变量的值可以从1到100。
流程图:
i≤100?
否
是
(三)、课堂小结
本节课通过习题的练习,再次掌握算法的结构,特别是利用选择结构和循环结构简化算法,注意以下几点:1、顺序结构和选择结构的模式是怎样的?什么时候用?
2、把握循环结构的三个要素:循环变量、循环体、循环终止条件.3、通过算法实例,体会构造性的思想和方法
(四)、
作业:1)、设x为为一个正整数,规定如下运算:若x为奇数,则求3x+2;若x为偶数,则为5x,写出算法,并画出流程图。2)、画出求21+22+23+…2100的值的流程图。
1)、解:算法如下。S1
输入x;S2
若x为奇数,则输出A=3x+2;否则输出A=5x
;S3
算法结束。
流程图如下图:
i≤30?
是
否
2)、解:流程图如下图:
i≥100?
否
是
(五)、课外练习:继续完成课堂上的未完成的习题,预习下节条件语句。
五、教后反思: