112程序框图与算法的基本逻辑结构.docx
《112程序框图与算法的基本逻辑结构.docx》由会员分享,可在线阅读,更多相关《112程序框图与算法的基本逻辑结构.docx(14页珍藏版)》请在冰豆网上搜索。
112程序框图与算法的基本逻辑结构
1.1.2程序框图与算法的基本逻辑结构
教学目标
能够正确说出各种程序框图及流程线的功能与作用
能够画出顺序结构、条件结构、循环结构的流程图
能够设计简单问题的流程图
教学重点
程序框图的画法.
教学难点
程序框图的画法.
课时安排
4课时
教学过程
第1课时程序框图及顺序结构
图形符号
名称
功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
赋值、计算
判断框
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”
流程线
连接程序框
连接点
连接程序框图的两部分
三种逻辑结构可以用如下程序框图表示:
顺序结构条件结构循环结构
应用示例
例1请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数”的算法.
解:
程序框图如下:
变式训练
观察下面的程序框图,指出该算法解决的问题.
解:
这是一个累加求和问题,共99项相加,该算法是求
的值.
例2已知一个三角形三条边的边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c,则三角形的面积为S=
),其中p=
.这个公式被称为海伦—秦九韶公式)
算法步骤如下:
第一步,输入三角形三条边的边长a,b,c.
第二步,计算p=
.
第三步,计算S=
.
第四步,输出S.
程序框图如下:
点评:
很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.
顺序结构可以用程序框图表示为
变式训练
下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.
解:
根据题意
=7,
∵a1=3,∴a2=11.即a2的值为11.
随堂练习
如下给出的是计算
的值的一个流程图,其中判断框内应填入的条件是______________.
答案:
i>10.
第2课时条件结构
教学目标
1、认识条件结构
2、能独立画出两种条件结构图示
教学重点:
直到型结构、当型结构
教学难点:
直到型结构、当型结构互化
学习对象
条件结构:
先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:
条件成立,则执行A框;不成立,则执行B框.
图1图2
应用示例
例1任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.
算法步骤如下:
第一步,输入3个正实数a,b,c.
第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.
程序框图如右图:
例2设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.
解决这一问题的算法步骤如下:
第一步,输入3个系数a,b,c.
第二步,计算Δ=b2-4ac.
第三步,判断Δ≥0是否成立.若是,则计算p=
,q=
;否则,输出“方程没有实数根”,结束算法.
第四步,判断Δ=0是否成立.若是,则输出x1=x2=p;否则,计算x1=p+q,x2=p-q,并输出x1,x2.
程序框图如下:
随堂练习
1、设计算法判断一元二次方程ax2+bx+c=0是否有实数根,并画出相应的程序框图.
相应的程序框图如右:
2、
(1)设计算法,求ax+b=0的解,并画出流程图.
程序框图如下:
作业:
设计算法,找出输入的三个不相等实数a、b、c中的最大值,并画出流程图.
解:
算法步骤:
第一步,输入a,b,c的值.
第二步,判断a>b是否成立,若成立,则执行第三步;否则执行第四步.
第三步,判断a>c是否成立,若成立,则输出a,并结束;否则输出c,并结束.
第四步,判断b>c是否成立,若成立,则输出b,并结束;否则输出c,并结束.
程序框图如下:
第3课时循环结构
教学目标
1、认识循环结构
2、能独立画出两种循环结构图示
3、能把直到型循环改写成当型结构,反之亦然
教学重点:
直到型结构、当型结构
教学难点:
直到型结构、当型结构互化
学习对象
在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体.
循环结构有两种形式:
当型循环结构和直到型循环结构.
当型循环结构直到型循环结构
直到型循环结构是程序先进入循环体,然后对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.
当型循环结构是在每次执行循环体前,先对条件进行判断,当条件满足时,执行循环体,否则终止循环.
应用示例
例1设计一个计算1+2+……+100的值的算法,并画出程序框图.
第一步,令i=1,S=0.
第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.
第三步,S=S+i.
第四步,i=i+1,返回第二步.
当型循环直到型循环
变式训练
例1设计框图实现1+3+5+7+…+131的算法.
第一步,赋初值i=1,sum=0.
第二步,sum=sum+i,i=i+2.
第三步,如果i≤131,则反复执第二步;否则,执行下一步.
第四步,输出sum.
第五步,结束.
程序框图如右图
知能训练
设计一个算法,求1+2+4+…+249的值,并画出程序框图.
第4课时程序框图的画法
应用示例
例1结合前面学过的算法步骤,利用三种基本逻辑结构画出程序框图,表示用“二分法”求方程x2-2=0(x>0)的近似解的算法.
算法分析:
(1)算法步骤中的“第一步”“第二步”和“第三步”可以用顺序结构来表示(如下图):
(2)算法步骤中的“第四步”可以用条件结构来表示(如下图).在这个条件结构中,“否”分支用“a=m”表示含零点的区间为[m,b],并把这个区间仍记成[a,b];“是”分支用“b=m”表示含零点的区间为[a,m],同样把这个区间仍记成[a,b].
(3)算法步骤中的“第五步”包含一个条件结构,这个条件结构与“第三步”“第四步”构成一个循环结构,循环体由“第三步”和“第四步”组成,终止循环的条件是“|a-b|<d或f(m)=0”.在“第五步”中,还包含由循环结构与“输出m”组成的顺序结构(如下图).
(4)将各步骤的程序框图连接起来,并画出“开始”与“结束”两个终端框,就得到了表示整个算法的程序框图(如下图).
解:
将实际问题转化为数学模型,该问题就是要求1+2+4+……+263的和.
程序框图如下:
点评:
对于开放式探究问题,我们可以建立数学模型(上面的题目可以与等比数列的定义、性质和公式联系起来)和过程模型来分析算法,通过设计算法以及语言的描述选择一些成熟的办法进行处理.
例3乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法是:
行李质量不超过50kg时按0.25元/kg;超过50kg而不超过100kg时,其超过部分按0.35元/kg;超过100kg时,其超过部分按0.45元/kg.编写程序,输入行李质量,计算出托运的费用.
分析:
本题主要考查条件语句及其应用.先解决数学问题,列出托运的费用关于行李质量的函数关系式.设行李质量为xkg,应付运费为y元,则运费公式为:
y=
整理得y=
要计算托运的费用必须对行李质量分类讨论,因此要用条件语句来实现.
解:
算法分析:
第一步,输入行李质量x.
第二步,当x≤50时,计算y=0.25x,否则,执行下一步.
第三步,当x≤100,计算y=0.35x-5,否则,计算y=0.45x-15.
第四步,输出y.
程序框图如下:
课堂小节
(1)进一步熟悉三种逻辑结构的应用,理解算法与程序框图的关系.
(2)根据算法步骤画出程序框图.
作业
习题1.1B组1、2.
设计感想
本节是前面内容的概括和总结,在回忆前面内容的基础上,选择经典的例题,进行了详尽的剖析,这样降低了学生学习的难度.另外,本节的练习难度适中,并且多为学生感兴趣的问题,这样为学生学好本节内容作好充分准备,希望大家喜欢这一节课.