11算法与程序框图.docx
《11算法与程序框图.docx》由会员分享,可在线阅读,更多相关《11算法与程序框图.docx(30页珍藏版)》请在冰豆网上搜索。
11算法与程序框图
1.1算法与程序框图
1.1.1算法的概念
一、教学目标:
1、知识与技能
(1)了解算法的含义,体会算法的思想;
(2)能够用自然语言叙述算法;
(3)掌握正确的算法应满足的要求;
(4)会写出解线性方程(组)的算法;
(5)会写出一个求有限整数序列中的最大值的算法.
2、过程与方法
(1)通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法;
(2)同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法.
3、情感与价值观
通过本节的学习,对计算机的算法语言有一个基本的了解;明确算法的要求,认识到计算机是人类征服自然的一个有力工具,进一步提高探索、认识世界的能力.
二、教学重点、难点:
重点:
算法的含义,解二元一次方程组、判断一个数为质数和利用“二分法”求方程近似解的算法设计.
难点:
把自然语言转化为算法语言.
三、教学用具:
PPT、计算器、图形计算器
四、教学设想:
(一)创设情景、导入课题
脑筋急转弯:
把一头大象放进冰箱需要几个步骤?
1、把冰箱门打开
2、把大象装进去
3、把冰箱门关上
问题提出:
我们知道,计算机可以帮我们解决很多问题,其实它是按照一定的指令来工作的,其中最基础的数学理论就是算法,本节课我们就来学习:
算法的概念.
(板书课题)
(二)师生互动、探究新知
x-2y=-1①
回顾:
写出解二元一次方程组2x+y=1②的算法.
解:
第一步,②×2+①,得5x=1;③
第二步,解③,得x=
;
第三步,②-①×2得5y=3;④
第四步,解④,得y=
;
第五步,得到方程组的解为x=
;
y=
。
思考1:
你能写出求解一般的二元一次方程组的步骤吗?
上题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法.
对于一般的二元一次方程组
可以写出类似的求解步骤:
第一步,①×b2-②×b1,得
;③
第二步,解③,得
.
第三步,②×a1-①×a2,得
;④
第四步,解④,得
;
第五步,得到方程组的解为
思考2:
根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?
思考3:
一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的.
你认为:
(1)这些步骤的个数是有限的还是无限的?
(2)每个步骤是否有明确的计算任务?
总结:
在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.
算法(algorithm)一词出现于12世纪,源于算术(algorism),即算术方法.指的是用阿拉伯数字进行算术运算的过程.在数学中,算法通常是指按照一定的规则解决某一类问题的明确的和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法.
广义地说,算法就是做某一件事的步骤或程序.菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法.在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序.比如解方程的算法、函数求值的算法、作图的算法,等等.
(三)例题剖析,巩固提高
例1:
如果让计算机判断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是质数.
练习1:
如果让计算机判断35是否为质数,如何设计算法步骤?
练习2:
整数89是否为质数?
如果让计算机判断89是否为质数,按照上述算法需要设计多少个步骤?
思考4:
用2~88逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤.
(1)用i表示2~88中的任意一个整数,并从2开始取数;
(2)用i除89,得到余数r.若r=0,则89不是质数;若r≠0,将i用i+1替代,再执行同样的操作;
(3)这个操作一直进行到i取88为止.
你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗?
算法设计:
第一步,令i=2;
第二步,用i除89,得到余数r;
第三步,若r=0,则89不是质数,结束算法;若r≠0,将i用i+1替代;
第四步,判断“i>88”是否成立?
若是,则89是质数,结束算法;否则,返回第二步.
探究:
一般地,判断一个大于2的整数是否为质数的算法步骤如何设计?
在中央电视台幸运52节目中,有一个猜商品价格的环节,竟猜者如在规定的时间内大体猜出某种商品的价格,就可获得该件商品.现有一商品,价格在0~8000元之间,采取怎样的策略才能在较短的时间内说出比较接近的答案呢?
二分法:
对于区间[a,b]上连续不断,且f(a)f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,而得到零点近似值的方法叫做二分法.
例2:
写出用“二分法”求方程
的近似解的算法.
算法分析:
令f(x)=
,则方程
的解就是函数f(x)的零点.
第一步,令f(x)=
,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点
.
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m],否则,含零点的区间为[m,b].
将新得到的含零点的区间仍记为[a,b];
第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
对于方程
当d=0.005,按照以上算法,可以得到下表.
a
b
|a-b|
1
2
1
1
1.5
0.5
1.25
1.5
0.25
1.375
1.5
0.125
1.375
1.4375
0.0625
1.40625
1.4375
0.03125
1.40625
1.421875
0.015625
1.4140625
1.421875
0.0078125
1.4140625
1.41796875
0.00390625
(四)小结
计算机解决任何问题都要依赖算法,算法是建立在解法基础上的操作过程,算法不一定要有运算结果.设计一个解决某类问题的算法的核心内容是将解决问题的过程分解为若干个明确的步骤,即算法,它没有一个固定的模式,但有以下几个基本要求:
(1)符合运算规则,计算机能操作;
(2)每个步骤都有一个明确的计算任务;
(3)对重复操作步骤作返回处理;
(4)步骤个数尽可能少;
(5)每个步骤的语言描述要准确、简明.
(五)布置作业
P5练习:
1,2.
1.1.2程序框图与算法的基本逻辑结构
一、教学目标:
1、知识与技能
(1)掌握程序框图的概念;
(2)会用通用的图形符号表示算法,掌握算法的三种基本逻辑结构;
(3)掌握画程序框图的基本规则,能正确画出程序框图.
2、过程与方法
(1)通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;
(2)学会灵活、正确地画程序框图.
3、情感与价值观
(1)通过本节的学习,向学生介绍中国古代数学的特征和辉煌成就,让学生体会中国古代数学对世界数学发展的贡献;
(2)了解随着计算机的广泛应用,算法在科学技术、社会发展中发挥的作用越来越大.
二、教学重点、难点:
重点:
程序框图的基本概念、基本图形符号和三种基本逻辑结构.
难点:
综合运用所学知识正确地画出程序框图.
三、教学用具:
PPT、计算器、图形计算器
四、课时:
3课时
第一课时第一课时
教学设想:
(一)复习提问、导入课题
1.算法是什么?
在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.
2.算法是由一系列明确和有限的步骤组成的,我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性,因此,我们有必要探究使算法表达得更加直观、准确的方法,这个想法可以通过程序框图来实现.
(二)讲授概念、学习新知
程序框图的概念:
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.程序框图是算法的一种表现形式,也就是说,算法可以用算法步骤表示,也可以用程序框图表示.
程序框图的基本符号:
(1)起止框:
起止框是任何流程图都不可缺少的,它表明程序的开始和结束,所以一个完整的流程图的首末两端必须是起止框.
(2)输入、输出框:
表示数据的输入或结果的输出,它可用在算法中的任何需要输入、输出的位置.
(3)处理框:
它是采用来赋值、执行计算语句、传送运算结果的图形符号.
(4)判断框:
判断框一般有一个入口和两个出口,有时也有多个出口,它是惟一的具有两个或两个以上出口的符号,在只有两个出口的情形中,通常都分成“是”与“否”(也可用“Y”与“N”)两个分支.
(三)师生互动、探究新知
回顾:
“判断整数n(n>2)是否为质数”的算法步骤如何?
算法:
第一步,给定一个大于2的整数n;
第二步,令i=2;
第三步,用i除n,得到余数r;
第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示;
第五步,判断“i>(n-1)”是否成立,若是,则n是质数,结束算法;否则,返回第三步.
我们将上述算法用下边的图形表示:
在这个程序框图中,其中的多边形就是程序框,带方向箭头的线就是流程线.
在此有4种程序框,2种流程线,还记得它们的名称和功能吗?
请填写下表:
程序框图的基本符号
用程序框图表示算法时,算法的逻辑结构展现得非常清楚.
讨论:
在逻辑结构上,“判断整数n(n>2)是否为质数”的程序框图由几部分组成?
顺序结构
循环结构
条件结构
思考:
任何一个算法各步骤之间都有明确的顺序性,在算法的程序框图中,由若干个依次执行的步骤组成的逻辑结构,称为顺序结构,用程序框图可以表示为:
问题:
在顺序结构中可能会用到哪几种程序框和流程线?
例3:
若一个三角形的三条边长分别为a,b,c,令
,则三角形的面积
这个公式被称为海伦-秦九韶公式,请利用这个公式设计一个计算三角形面积的算法,并画出程序框图表示.
算法:
第一步,输入三角形三条边的边长a,b,c.
第二步,计算
第三步,计算
第四步,输出S.
上述算法的程序框图:
(四)小结
1、程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.
2、三种逻辑结构:
顺序结构、条件结构和循环结构.
3、顺序结构的程序框图的基本特征:
(1)必须有两个起止框,穿插输入、输出框和处理框,没有判断框.
(2)各程序框从上到下用流程线依次连接.
(3)处理框按计算机执行顺序沿流程线依次排列.
(五)布置作业:
P20习题1.1B组:
1.
第二课时
教学设想:
(一)复习提问、导入课题
1.用程序框、流程线及文字说明来表示算法的图形称为程序框图,它使算法步骤显得直观、清晰、简明.
2.程序框图的基本符号
3.顺序结构是任何一个算法都离不开的基本逻辑结构.
在一些算法中,有些步骤只有在一定条件下才会被执行,有些步骤在一定条件下会被重复执行,这需要我们对算法的逻辑结构作进一步探究.
(二)讲授概念、学习新知
在一个算法中,经常会遇到一些条件的判断,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立有不同的流向.
1.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构,用程序框图可以表示为下面两种形式:
思考:
你如何理解这两种程序框图的共性和个性?
例4:
判断以任意给定的3个正实数为三条边边长的三角形是否存在,设计一个算法,并画出这个算法的程序框图.
算法:
第一步,输入三个正实数a,b,c.
第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.
程序框图:
例5设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.
算法:
第一步,输入三个系数a,b,c.
第二步,计算△=b2-4ac.
第三步,判断△≥0是否成立.若是,则计算
,
;否则,输出“方程没有实数根”,结束算法.
第四步,判断△=0是否成立.若是,则输出x1=x2=p,否则,计算x1=p+q,x2=p-q,并输出x1,x2.
程序框图:
2.在一些算法中,经常会出现从某处开始,按照一定的条件反复执行的某些步骤组成的逻辑结构,称为循环结构,反复执行的步骤称为循环体.
①某些循环结构用程序框图可以表示为:
在执行了一次循环体后,对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.
这种循环结构称为直到型循环结构,你能指出直到型循环结构的特征吗?
②还有一些循环结构用程序框图可以表示为:
在每次执行循环体前,对条件进行判断,如果条件满足,就执行循环体,否则终止循环.
这种循环结构称为当型循环结构,你能指出当型循环结构的特征吗?
总结:
循环结构中一定包含条件结构,用于确定何时终止执行循环体.
例6:
设计一个计算1+2+3+…+100的值的算法,并画出程序框图.
算法:
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4950+100=5050.
显然,这个过程包含重复操作的步骤,可以用循环结构表示.分析上述计算过程,可以发现每一步都可以表示为第(i﹣1)步的结果+i=第i步的结果.
我们用一个累加变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100.由于i同时记录了循环体的次数,所以也称为计数变量.
通过重复操作,上述问题的算法设计如下:
第一步,令i=1,S=0.
第二步,S=S+i.
第三步,i=i+1.
第四步,判断i>100是否成立.若是,则输出S,结束算法;否则,返回第二步.
直到型循环结构框图:
当型循环结构框图:
例7某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.
算法:
第一步,输入2005年的年生产总值.
第二步,计算下一年的年生产总值.
第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.
由于“第二步”是重复操作的步骤,所以可以用循环结构来实现.按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构.
循环结构:
(1)确定循环体:
设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为:
t=0.05a,a=a+t,n=n+1.
(2)初始化变量:
n=2005,a=200.
(3)设定循环控制条件:
当“a>300”时终止循环.
所以可通过判断“a>300”是否成立来控制循环.
思考:
这是直到型循环结构的程序框图,请画出包含当型循环结构的程序框图.
(三)小结
条件结构和循环结构的基本特征:
(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.
(2)循环结构中包含条件结构,条件结构中不含循环结构.
(3)条件结构和循环结构的程序框图各有两种形式,相互对立统一.
(四)布置作业
P20习题1.1A组:
2,3.
第三课时
教学设想:
(一)复习提问、导入课题
1.算法的基本逻辑结构有哪几种?
用程序框图分别如何表示?
回顾例2:
写出用“二分法”求方程
的近似解的算法.
算法分析:
令f(x)=
,则方程
的解就是函数f(x)的零点.
第一步,令f(x)=
,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点
.
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m],否则,含零点的区间为[m,b].
将新得到的含零点的区间仍记为[a,b];
第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
(二)师生互动、讲练结合
在用自然语言表述一个算法后,可以画出程序框图,用顺序结构、条件结构和循环结构来表示这个算法.
根据例2的算法步骤,利用三种基本逻辑结构画出程序结构框图.
1.讨论:
该算法中哪几个步骤可以用顺序结构来表示?
哪几个步骤可以用条件结构来表示?
哪几个步骤可以用循环结构来表示?
该算法步骤中的“第一步”“第二步”“第三步”可以用顺序结构来表示.
2.你能做出这个顺序结构的程序框图吗?
该算法中第四步可以用条件结构来表示.
3.这个步骤用程序框图如何表示?
该算法步骤中的“第五步”包含一个条件结构,这个条件结构与“第三步”“第四步”构成一个循环结构,循环体由“第三步”“第四步”组成,终止循环的条件“f(m)=0或|a-b|4.这个循环结构用程序框图如何表示?
(三)概念辨析,巩固提高
课堂练习:
设计一个用有理指数幂逼近无理指数幂
的算法,并估计它的近似值,画出算法的程序框图.
(四)小结
设计一个算法的程序框图的基本思路:
第一步,用自然语言表述算法步骤.
第二步,确定每个算法步骤所包含的逻辑结构,并用相应的程序框图表示,得到该步骤的程序框图.
第三步,将所有步骤的程序框图用流程线连接起来,并加上两个终端框,得到表示整个算法的程序框图.
(五)布置作业
P20习题1.1A组:
1
B组:
2.