1. 1.2程序框图与算法的基本逻辑结构(二)
———条件结构和循环结构 学习目标
1、更进一步理解算法,
2、掌握算法的条件结构和循环结构,
3、掌握画程序框图的基本规则,能正确画出程序框图.学会灵活、正确地画程序框图。
重点难点
重点:条件结构和循环结构的应用。
难点:综合运用这些知识正确地画出程序框图。
学法指导
顺序结构是任何一个算法都离不开的基本逻辑结构,在一些算法中,有些步骤只有在一定条件下才会被执行,有些步骤在一定条件下会被重复执行,这需要我们对算法的逻辑结构作进一步探究.
条件结构和循环结构的基本特征:
(1)程序框图中必须有两个起止框,穿插输入、输出框和处理框,一定有判断框.
(2)循环结构中包含条件结构,条件结构中不含循环结构.
(3)条件结构和循环结构的程序框图各有两种形式,相互对立统一.
知识链接
基本程序框图的画法与含义。
问题探究
知识探究(一):算法的条件结构
思考1:在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算法的流程因条件是否成立而变化.在算法的程序框图中,由若干个在一定条件下才会被执行的步骤组成的逻辑结构,称为 ,用程序框图可以表示为下面两种形式:
你如何理解这两种程序框图的共性和个性?
思考2:判断“以任意给定的3个正实数为三条边边长的三角形是否存在”的算法步骤如何设计?
第一步,
第二步,
思考3:你能画出这个算法的程序框图吗?
知识探究(二):算法的循环结构
思考1:在算法的程序框图中,由按照一定的条件反复执行的某些步骤组成的逻辑结构,称为 ,反复执行的步骤称为 ,那么循环结构中一定包含条件结构吗?
思考2: 直到型循环结构用程序框图可以表示为:
你能指出直到型循环结构的特征吗?
在 后,对条件进行判断,如果 ,就 ,直到 时终止循环。
思考3:当型循环结构用程序框图可以表示为:
你能指出当型循环结构的特征吗?
在 前,对条件进行判断,如果 ,就 ,否则终止循环。
思考4:计算1+2+3+…+100的值可按如下过程进行:
第1步,0+1=1.
第2步,1+2=3.
第3步,3+3=6.
第4步,6+4=10.
……
第100步,4950+100=5050.
我们用一个 变量S表示每一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为 ,其中S的初始值为 ,i依次取1,2,…,100,通过重复操作,上述问题的算法如何设计?
第一步,令i=1,S=0.
第二步,
第三步,
第四步,
思考5:用直到型循环结构和当型循环结构,程序框图中判断的条件分别为:
思考6:右面的程序框图中:
将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?
理论迁移
例1 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.
算法分析:
第一步,输入三个系数a,b,c。
第二步,计算 。
第三步,判断 是否成立.若是,则计算 ;否则,输出“方程没有实数根”,结束算法。
第四步,判断 是否成立。若是,则输出 ,否则,计算 ,并输出 。
程序框图:
例2 某工厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.
算法分析:
第一步, 输入 。
第二步,计算 。
第三步,判断 , 若是,则输出该年的年份;否则, 。
循环结构:
(1)循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则t= ,a= ,n= 。
(2)初始值:n= ,a= 。
(3)控制条件:当“ ”时终止循环。
程序框图:
目标检测
1、如图(1)所示程序的输出结果为s=132, 则判断中应填 .
A、i≥10? B、i≥11?
C、i≤11? D、i≥12?
2、如图(2)程序框图箭头b指向①处时,输出 s=__________.
箭头b指向②处时,输出 s=__________
3、如图(3)是为求1~1000的所有偶数的和而设计的一个程序空白框图,将空白处补上。
①__________。②__________。
4.如图(4)程序框图表达式中N=__________。
5、已知函数 ,设计一个求函数值的算法,并画出其程序框图
6、假设超市购物标价不超过100时按九折付款,如标价超过100元,则超过部分按七折收费,写出超市收费的算法,并画出流程图。
总结反思
1、条件结构:是根据指定打件选择执行不同指令的控制结构。根据给定的条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。
2.循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含条件结构。
3.在循环结构中都有一个计数变量和累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。
4.画循环结构流程图前:
①确定循环变量和初始条件;
②确定算法中反复执行的部分,即循环体;
③确定循环的转向位置;
④确定循环的终止条件.
1. 1.2程序框图
[教学目标]:
1.掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;掌握画程序框图的基本规则,能正确画出程序框图。
2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图。
3.通过本节的学习,使我们对程序框图有一个基本的了解;掌握算法语言的三种基本逻辑结构,明确程序框图的基本要求;认识到学习程序框图是我们学习计算机的一个基本步骤,也是我们学习计算机语言的必经之路。
[教学重难点]:
教学重点:程序框图的基本概念、基本图形符号和3种基本逻辑结构。
教学难点:能综合运用这些知识正确地画出程序框图。
[教学过程]:
一、.创设情境:如果你向全班同学介绍一下你心中偶像的形象,你认为用语言描述好还是拿出偶像的照片给同学们看好?说明一下你的理由算法除了用自然语言表示外,还可用程序框图表示。
二、基本概念:
(1)起止框图: 起止框是任何流程图都不可缺少的,它表明程序的开始和结束,所以一个完整的流程图的首末两端必须是起止框。
(2)输入、输出框: 表示数据的输入或结果的输出,它可用在算法中的任何需要输入、输出的位置。
(3)处理框: 它是采用来赋值、执行计算语句、传送运算结果的图形符号。
(4)判断框: 判断框一般有一个入口和两个出口,有时也有多个出口,它是惟一的具有两个或两个以上出口的符号,在只有两个出口的情形中,通常都分成“是”与“否”(也可用“Y”与“N”)两个分支。
三、算法的基本逻辑结构
(1)顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。
例1:已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。
算法分析:这是一个简单的问题,只需先算出p的值,再将它代入公式,最后输出结果,只用顺序结构就能够表达出算法。
J
解:程序框图:
2
点评:顺序结构是由若干个依次执行的步骤组成的,是任何一个算法都离不开的基本结构。
变式训练1:输入矩形的边长求它的面积,画出程序框图。
(2)条件结构:根据条件选择执行不同指令的控制结构。
例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出这个算法的程序框图。
算法分析:判断分别以这3个数为三边边长的三角形是否存在,只需要验收这3个数当中任意两个数的和是否大于第3个数,这就需要用到条件结构。
程序框图:
a+b>c , a+c>b, b+c>a是 否
否同时成立?
是
点评:条件结构的显著特点是根据不同的选择有不同的流向。
变式训练2:求x的绝对值,画出程序框图。
开始
输入x
是 x≥0? 否
输出x 输出- x
结束
(3)循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。
循环结构分为两类:
(1)一类是当型循环结构,如图(1)所示,它的功能是当给定的条件P1成立时,执行A框,A框执行完毕后,再判断条件P1是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P1不成立为止,此时不再执行A框,从b离开循环结构。
(2)另一类是直到型循环结构,如图(2所示,它的功能是先执行,然后判断给定的条件P2是否成立,如果P2仍然不成立,则继续执行A框,直到某一次给定的条件P2成立为止,此时不再执行A框,从b点离开循环结构。
A A
P1?
P2? 不成立
不成立
成立
b b
当型循环结构 直到型循环结构
(1) (2)
例3:设计一个计算1+2+…+100的值的算法,并画出程序框图。
算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值为0,计数变量的值可以从1到100。
解:程序框图:
i≤100?
否 是
点评:循环结构包含条件结构。
变式训练3:画出求21+22+23+…2100的值的程序框图。
解:程序框图:
i≥100? 否
是
四、课堂小结:
本节课主要讲述了程序框图的基本知识,包括常用的图形符号、算法的基本逻辑结构,算法的基本逻辑结有三种,即顺序结构、条件结构和循环结构。其中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达
五、布置作业:
1.输入3个实数按从大到小的次序排序。
解:程序框图:
(2题图)
2.给出50个数,1,2,4,7,11,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,…,以此类推. 要求计算这50个数的和. 将上面给出的程序框图补充完整.
(1)________i < = 50_________________
(2)_____p= p + i____________________
1.1.2程序框图导学案
课前预习学案
一、预习目标:
1.了解程序框图的概念及其基本程序框图的功能;
2.知道算法的三个基本逻辑结构
二、预习内容:
1.什么是程序框图?
2.算法的基本逻辑结构有哪些?
三、提出疑惑:如何画程序框图?
课内探究学案
一、学习目标:
1.掌握程序框图的概念及其基本程序框图的功能;
2.会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;
3.理解程序框图的顺序结构;
二、学习重点:
1. 程序框图的顺序结构的画法;
2.程序框图的概念及其基本程序框图的功能;
学习难点:
正确地画出程序框图的顺序结构。
三、学习过程:
1.情境问题:
如果你向全班同学介绍一下你心中偶像的形象,你认为用语言描述好还是拿出偶像的照片给同学们看好?说明一下你的理由。
2.新课探究:
(1).右边的程序框图(如图所示),能判断任意输入的数x的
奇偶性,请大家参考书本第六页的表格,填下表:
(2).你能用语言描述一下框图的基本结构特征吗?
程序框
名称
功能
(3).通过以上算法与上一节课比较,你觉得用框图来表达算法有哪些特点?
(4).请大家观察、研究下面分解框图,能你总结出各有什么特点吗?
(1)顺序结构: ;
(2)条件结构: ;
(3)循环结构: ;
例1:已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。
变式训练1:输入矩形的边长求它的面积,画出程序框图。
例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出这个算法的程序框图。
变式训练2:求x的绝对值,画出程序框图。
例3:设计一个计算1+2+…+100的值的算法,并画出程序框图。
变式训练3:画出求21+22+23+…2100的值的程序框图。
3.课堂小结
(1).程序框图:
(2).算法的基本逻辑结构:
4.当堂检测
(1)写出下面2个程序框图的作用: (2)写出下面2个程序框图的运行结果:
答案:
(1)输入三个数,输出最大的一个;
输入a,b,求其和并输出。
(2)4.5;
课后练习与提高
1.流程图中的判断框,有1个入口和( )个出口.
A.1 B.2 C.3 D.4
2.以下给出对程序框图的几种说法:①任何一个程序框图都必须有起止框;②输人框只能放在开始框后,输出框只能放在结束框前;③判断框是唯一具有超过一个退出点的符号;④对于一个程序来说,判断框内的条件表述方法是唯一的.其中正确说法的个数是( ).
A.1 B.2 C.3 D.4
3.算法的三种基本结构是( ).
A.顺序结构、流程结构、循环结构
B.顺序结构、分支结构、嵌套结构
C.顺序结构、条件结构、循环结构
D.流程结构、分支结构、循环结构
4. 若输入的a、b、c分别是21、32、75,则输出的a、b、c分别是:
5. 用代表第个学生学号,用代表成绩,打印出每个班及格学生的学号和成绩,画出程序框图.
学业分层测评(三) 条件结构
(建议用时:45分钟)
[学业达标]
一、选择题
1.下列算法中含有条件结构的是( )
A.求点到直线的距离
B.已知三角形三边长求面积
C.解一元二次方程x2+bx+4=0(b∈R)
D.求两个数的平方和
【解析】 A、B、D均为顺序结构,由于解一元二次方程时需判断判别式值的符号,故C选项要用条件结构来描述.
【答案】 C
2.下列关于条件结构的描述,不正确的是( )
A.条件结构的出口有两个,但在执行时,只有一个出口是有效的
B.条件结构的判断条件要写在判断框内
C.条件结构只有一个出口
D.条件结构根据条件是否成立,选择不同的分支执行
【解析】 条件结构的出口有两个,算法的流程根据条件是否成立有不同的流向.
【答案】 C
3.若f(x)=x2,g(x)=log2x,则如图1-1-21所示的程序框图中,输入x=0.25,输出h(x)=( ) 【导学号:28750008】
图1-1-21
A.0.25 B.2
C.-2 D.-0.25
【解析】 h(x)取f(x)和g(x)中的较小者.
g(0.25)=log20.25=-2,
f(0.25)=0.252=.
【答案】 C
4.若输入-5,按图1-1-22中所示程序框图运行后,输出的结果是( )
图1-1-22
A.-5 B.0
C.-1 D.1
【解析】 因为x=-5,不满足x>0,所以在第一个判断框中执行“否”,在第2个判断框中,由于-5<0,执行“是”,所以得y=1.
【答案】 D
5.下列算法中,含有条件结构的是( )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
【解析】 解一元二次方程时,当判别式Δ<0时,方程无解,当Δ≥0时,方程有解,由于分情况,故用到条件结构.
【答案】 C
二、填空题
6.如图1-1-23所示,是求函数y=|x-3|的函数值的程序框图,则①处应填________,②处应填________.
图1-1-23
【解析】 ∵y=|x-3|=
∴①中应填x<3?
又∵若x≥3,则y=x-3.
∴②中应填y=x-3.
【答案】 x<3? y=x-3
7.如图1-1-24所示的算法功能是________.
图1-1-24
【解析】 根据条件结构的定义,
当a≥b时,输出a-b;
当a<b时,输出b-a.
故输出|b-a|的值.
【答案】 计算|b-a|
8.如图1-1-25是求某个函数的函数值的程序框图,则满足该程序的函数的解析式为________.
图1-1-25
【解析】 由框图可知f(x)=
【答案】 f(x)=
三、解答题
9.写出输入一个数x,求分段函数y= 的函数值的程序框图.
【解】 程序框图如图所示:
10.设计一个程序框图,使之能判断任意输入的数x是奇数还是偶数.
【解】 程序框图如下:
[能力提升]
1.根据图1-1-26中的流程图操作,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”,则( )
图1-1-26
A.①框中填“是”,②框中填“否”
B.①框中填“否”,②框中填“是”
C.①框中填“是”,②框中可填可不填
D.①框中填“否”,②框中可填可不填
【解析】 当x≥60时,应输出“及格”;当x<60时,应输出“不及格”.故①中应填“是”,②中应填“否”.
【答案】 A
2.执行如图1-1-27所示的程序框图,如果输入t∈[-1,3],则输出的s属于( )
图1-1-27
A.[-3,4] B.[-5,2]
C.[-4,3] D.[-2,5]
【解析】 因为t∈[-1,3],当t∈[-1,1)时,s=3t∈[-3,3);当t∈[1,3]时,s=4t-t2=-(t2-4t)=-(t-2)2+4∈[3,4],所以s∈[-3,4].
【答案】 A
3.(2015·太原高一检测)某程序框图如图1-1-28所示,若输出的结果是8,则输入的数是________.
图1-1-28
【解析】 由程序框图知,或,
解得x=-2或x=2.
【答案】 -2或2
4.如图1-1-29所示是某函数f(x)给出x的值,求相应函数值y的程序框图.
图1-1-29
(1)写出函数f(x)的解析式;
(2)若输入的x取x1和x2(|x1|<|x2|)时,输出的y值相同,试简要分析x1与x2的取值范围.
【解】 (1)f(x)=
(2)画出y=f(x)的图象:
由图象及y=f(x)为偶函数,且|x1|<|x2|时,f(x1)=f(x2)知x1∈(-1,1),x2∈[-,-1)∪(1,].
1.1.2 程序框图与算法的基本逻辑结构
第2课时 条件结构
课时目标
1.进一步熟悉程序框图的画法.
2.掌握条件结构的程序框图的画法.
3.能用条件结构框图描述实际问题.
1.条件结构
在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
2.常见的条件结构用程序框图表示为下面两种形式
结构形式
特征
两个步骤A、B根据条件选择一个执行
根据条件选择是否执行步骤A
一、选择题
1.下列算法中,含有条件结构的是( )
A.求两个数的积
B.求点到直线的距离
C.解一元二次方程
D.已知梯形两底和高求面积
答案 C
解析 解一元二次方程时,当判别式Δ<0时,方程无解,
当Δ≥0时,方程有解,由于分情况,故用到条件结构.
2.程序框图中,具有赋值、计算功能的是( )
A.处理框 B.输入、输出框
C.循环框 D.判断框
答案 A
3.下列关于条件结构的描述,不正确的是( )
A.条件结构的出口有两个,但在执行时,只有一个出口是有效的
B.条件结构的判断条件要写在判断框内
C.双选择条件结构有两个出口,单选择条件结构只有一个出口
D.条件结构根据条件是否成立,选择不同的分支执行
答案 C
4.中山市的士收费办法如下:不超过2公里收7元(即起步价7元),超过2公里的里程每公里收2.6元,另每车次超过2公里收燃油附加费1元(不考虑其他因素).相应收费系统的程序框图如图所示,则①处应填( )
A.y=7+2.6x B.y=8+2.6x
C.y=7+2.6(x-2) D.y=8+2.6(x-2)
答案 D
解析 当x>2时,2公里内的收费为7元,
2公里外的收费为(x-2)×2.6,
另外燃油附加费为1元,
∴y=7+2.6(x-2)+1
=8+2.6(x-2).
5.输入-5,按图中所示程序框图运行后,输出的结果是( )
A.-5 B.0
C.-1 D.1
答案 D
解析 因x=-5,不满足x>0,所以在第一个判断框中执行“否”,在第2个判断框中,由于-5<0,执行“是”,所以得y=1.
6.给出一个程序框图,如图所示,其作用是输入x的值,输出相应的y的值.若要使输入的x的值与输出的y的值相等,则输入的这样的x的值有( )
A.1个 B.2个
C.3个 D.4个
答案 C
解析 当x≤2时,x=1或x=0则x=y;
当2当x>6时,x=不成立,所以满足题意的x的值有1,0,3.
二、填空题
7.函数y=的程序框图如图所示,则①②③的填空完全正确的是________.
(1)①y=0;②x=0?;③y=x+6
(2)①y=0;②x<0?;③y=x+6
(3)①y=x2+1;②x>0?;③y=0
(4)①y=x2+1;②x=0?;③y=0
答案 (4)
解析 由分段函数的表达式知,x>0时,y=x2+1,故①处填y=x2+1;由②的否执
y=x+6知②处填x=0?;
当解析式x=0时,y=0知③处填y=0.
8.如图是求实数x的绝对值的算法程序框图,则判断框①中可填________.
答案 x≥0?
9.已知函数y=如图表示的是给定x的值,求
其对应的函数值y的程序框图.
①处应填写________;②处应填写________.
答案 x<2? y=log2x
解析 ∵满足判断框中的条件执行y=2-x,
∴①处应填x<2?.
不满足x<2即x≥2时,
y=log2x,故②处应填y=log2x.
三、解答题
10.画出计算函数y=|2x-3|的函数值的程序框图.(x由键盘输入)
解 程序框图如图:
11.已知函数y=,试设计一个算法的程序框图,计算输入自变量x的值时,输出y的值.
解 程序框图如图:
能力提升
12.画出解一元一次不等式ax>b的程序框图.
解 程序框图如图:
13.到银行办理个人异地汇款(不超过100万)时,银行要收取一定的手续费.汇款额不超过100元,收取1元手续费;超过100元但不超过5 000元,按汇款额的1%收取;超过5 000元,一律收取50元手续费,其他情况不予办理.试设计一个算法描述汇款额为x元时,银行收取手续费为y元的过程,并画出程序框图.
解 由题意知本题是一个分段函数问题,分段函数解析式为
y=.
其算法如下:
第一步,输入汇款额x;
第二步,判断x≤100是否成立;若成立,则y=1,转执行第五步,若不成立,则执行第三步;
第三步,判断x≤5 000是否成立;若成立,则y=x×1%,转执行第五步,若不成立,则执行第四步;
第四步,判断x≤1 000 000是否成立;若成立,则y=50,转执行第五步,若不成立,则输出“不予办理”;
第五步,输出y.
程序框图如图
1.对需要按给定的条件进行分析、比较和判断,并按判断的不同情况进行不同的操作的问题,设计算法时就要用到条件结构.
2.条件结构要先根据指定的条件进行判断,再由判断的结果决定选取执行两条分支路径中的某一条.