§1.1.2程序框图与算法的基本逻辑结构(三)
学习目标
通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图。
重点难点
重点:教学综合运用框图知识正确地画出程序框图
难点:教学综合运用框图知识正确地画出程序框图
学法指导
设计一个算法的程序框图的基本思路:
第一步,用自然语言表述算法步骤.
第二步,确定每个算法步骤所包含的逻 辑结构,并用相应的程序框图表示.
第三步,将所有步骤的程序框图用流程 线连接起来,并加上两个终端框.
知识链接
算法的三个基本逻辑结构。
问题探究
问题提出:
1.算法的基本逻辑结构有哪几种?用程序框图分别如何表示?
2.在学习上,我们要求对实际问题能用自然语言设计一个算法,再根据算法的逻辑结构画出程序框图,同时,还要能够正确阅读、理解程序框图所描述的算法的含义,这需要我们对程序框图的画法有进一步的理解和认识.
知识探究(一):多重条件结构的程序框图
思考1:解关于的方程的算法步骤如何设计?
(注意要对分别进行讨论,)
第一步,输入实数
第二步,判断是否为0. 若是,执行第三步;否则,
第三步,判断是否为0.若是,则输出“ ”;否则,输出“ ”.
思考2:该算法的程序框图如何表示?
思考3:你能画出求分段函数
的值的程序框图吗?
知识探究(二):混合逻辑结构的程序框图
思考1:用“二分法”求方程 的近似解的算法如何设计?
第一步,令,给定精确度.
第二步,确定区间 ,满足 。
第三步,取区间中点 。
第四步,若,则则含零点的区间为 ,否则,含零点的区间为 ,将新得到的含零点的区间仍记为 。
第五步,判断的长度是否
或是否 . 则是方程的近似解;否则,返回第三步.
思考2:该算法中哪几个步骤可以用顺序结构来表示?这个顺序结构的程序框图如何?
思考3:该算法中第四步是什么逻辑结构?这个步骤用程序框图如何表示?
思考4:该算法中哪几个步骤构成循环结构?这个循环结构用程序框图如何表示?
思考5:根据上述分析,你能画出表示整个算法的程序框图吗?
知识探究(三):程序框图的阅读与理解
考察下列程序框图:
思考1:怎样理解该程序框图中包含的逻辑结构?
思考2:该程序框图中的循环结构属于那种类型?
思考3:该程序框图反映的实际问题是什么?
理论迁移
例 画出求三个不同实数中的最大值的程序框图.
目标检测
1、如果学生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”.用程序框图表示这一算法过程.
2、写出按从小到大的顺序重新排列三个数值的算法.
3、火车站对乘客退票收取一定的费用,具体办法是:按票价每10元(不足10元按10元计算)核收2元;2元以下的票不退.试写出票价为x元的车票退掉后,返还的金额y元的算法的程序框图.
总结反思
纠错矫正
※自我评价( )
A、课前自主学习认真,学案完成很好;
你真棒,继续坚持。
B、课前自主学习一般,学案完成良好;
下次争取做的更好。
C、课前自主学习较差,学案空白较多;
注意学习方法,提高学习效率。
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.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”
D.循环结构就是无限循环的结构,执行程序时会永无止境地运行下去
【解析】 由于判断框内的条件不唯一,故A错;由于当型循环结构中,判断框中的条件成立时执行循环体,故B错;由于循环结构不是无限循环的,故C正确,D错.
【答案】 C
2.执行如图1-1-38所示的程序框图,如果输出的a值大于2 015,那么判断框内应填( )
图1-1-38
A.k≤6? B.k<5?
C.k≤5? D.k>6?
【解析】 第一次循环,a=4×1+3=7,k=1+1=2;第二次循环,a=7<2 015,故继续循环,所以a=4×7+3=31,k=2+1=3;第三次循环,a=31<2 015,故继续循环,所以a=4×31+3=127,k=3+1=4;第四次循环,a=127<2 015,故继续循环,所以a=4×127+3=511,k=4+1=5;第五次循环,a=511<2 015,故继续循环,所以a=4×511+3=2 047,k=5+1=6;第六次循环,a=2 047>2 015,故不符合条件,终止循环,输出a值.所以判断框内应填的条件是k≤5?.
【答案】 C
3.如图1-1-39所示的程序框图表示的算法功能是( )
图1-1-39
A.计算小于100的奇数的连乘积
B.计算从1开始的连续奇数的连乘积
C.从1开始的连续奇数的连乘积,当乘积大于或等于100时,计算奇数的个数
D.计算1×3×5×…×n≥100时的最小的n的值
【解析】 循环一次时S=1×3,循环2次时,S=1×3×5,且S大于或等于100时输出i,故算法功能为D.
【答案】 D
4.阅读如图1-1-40框图,运行相应的程序,则输出i的值为( )
图1-1-40
A.3 B.4
C.5 D.6
【解析】 i=1时,a=1×1+1=2,
i=2时,a=2×2+1=5,
i=3时,a=3×5+1=16,
i=4时,a=4×16+1=65>50,
所以输出i=4.
【答案】 B
5.如图1-1-41所示,是一个循环结构的算法,下列说法不正确的是( )
图1-1-41
A.①是循环变量初始化,循环就要开始
B.②是循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
【解析】 ①是循环变量初始化,表示循环就要开始,不可以省略不写,故选D.
【答案】 D
二、填空题
6.如图1-1-42所示的程序框图,输出的结果为________.
图1-1-42
【解析】 S=1×5×4=20.
【答案】 20
7.如图1-1-43所示的程序框图,当输入x的值为5时,则其输出的结果是________.
图1-1-43
【解析】 ∵x=5,x>0,∴x=5-3=2,x>0.
∴x=2-3=-1.∴y=0.5-1=2.
【答案】 2
8.若执行如图1-1-44所示的程序框图,输入x1=1,x2=2,x3=3,=2,则输出的数等于________.
图1-1-44
【解析】 i=1,s=0+(x1-)2=(1-2)2=1,
i=2,s=1+(x2-)2=1+(2-2)2=1,
i=3,s=1+(x3-)2=1+(3-2)2=2,
s=×s=×2=.
【答案】
三、解答题
9.用循环结构书写求1++++…+的算法,并画出相应的程序框图. 【导学号:28750011】
【解】 相应的算法如下:
第一步,S=0,i=1.
第二步,S=S+.
第三步,i=i+1.
第四步,i>1 000是否成立,若成立执行第5步;否则重复执行第二步.
第五步,输出S.
相应的算法框图如图所示:
10.2015年某地森林面积为1 000 km2,且每年增长5%.到哪一年该地森林面积超过2 000 km2?(只画出程序框图)
【解】 程序框图如下:
[能力提升]
1.执行如图1-1-45所示的程序框图,若m=5,则输出的结果为( )
图1-1-45
A.4 B.5
C.6 D.8
【解析】 由程序框图可知,k=0,P=1.
第一次循环:因为k=0<5,所以P=1×30=1,k=0+1=1.
第二次循环:因为k=1<5,所以P=1×31=3,k=1+1=2.
第三次循环:因为k=2<5,所以P=3×32=33,k=2+1=3.
第四次循环:因为k=3<5,所以P=33×33=36,k=3+1=4.
第五次循环:因为k=4<5,所以P=36×34=310,k=4+1=5.
此时满足判断框内的条件,输出结果为z=log9310=5.
【答案】 B
2.某程序框图如图1-1-46所示,若输出的s=57,则判断框内为( )
A.k>4? B.k>5?
C.k>6? D.k>7?
【解析】 由题意k=1时,s=1;
当k=2时,s=2×1+2=4;
当k=3时,s=2×4+3=11;
当k=4时,s=2×11+4=26;
当k=5时,s=2×26+5=57,
此时输出结果一致,故k>4时循环终止.
【答案】 A
图1-1-46 图1-1-47
3.设a是一个各位数字都不是0且没有重复数字的三位数.将组成a的3个数字按从小到大排成的三位数记为I(a),按从大到小排成的三位数记为D(a)(例如a=815,则I(a)=158,D(a)=851).阅读如图1-1-47所示的程序框图,运行相应的程序,任意输入一个a,输出的结果b=________.
【解析】 取a1=815?b1=851-158=693≠815?a2=693;
由a2=693?b2=963-369=594≠693?a3=594;
由a3=594?b3=954-459=495≠594?a4=495;
由a4=495?b4=954-459=495=a4?b=495.
【答案】 495
4.如图1-1-48所示的程序的输出结果为sum=132,求判断框中的条件.
图1-1-48
【解】 ∵i初始值为12,sum初始值为1,第一次循环sum=1×12=12,第二次sum=12×11=132,只循环2次,∴i≥11.
∴判断框中应填的条件为“i≥11?”或“i>10?”.
1.1.2 程序框图与算法的基本逻辑结构
第3课时 循环结构、程序框图的画法
课时目标
1.掌握两种循环结构的程序框图的画法.
2.能进行两种循环结构程序框图间的转化.
3.能正确设置程序框图,解决实际问题.
1.循环结构的定义
在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为循环体.
2.常见的两种循环结构
名称
结构图
特征
直到型循
环结构
先执行循环体后判断条件,若不满足条件则执行循环体,否则终止循环
当型循
环结构
先对条件进行判断,满足时执行循环体,否则终止循环
一、选择题
1.在循环结构中,每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止,这样的循环结构是( )
A.分支型循环 B.直到型循环
C.条件型循环 D.当型循环
答案 D
2.下列关于循环结构的说法正确的是( )
A.循环结构中,判断框内的条件是唯一的
B.判断框中的条件成立时,要结束循环向下执行
C.循环体中要对判断框中的条件变量有所改变才会使循环结构不会出现“死循环”
D.循环结构就是无限循环的结构,执行程序时会永无止境地运行下去
答案 C
解析 由于判断框内的条件不唯一故A错;
由于当型循环结构中,判断框中的条件成立时,执行循环体故B错;由于循环结构不是无限循环的,故C正确,D错.
3.如图所示是一个循环结构的算法,下列说法不正确的是( )
A.①是循环变量初始化,循环就要开始
B.②为循环体
C.③是判断是否继续循环的终止条件
D.①可以省略不写
答案 D
4.某程序框图如图所示,若输出的S=57,则判断框内为( )
A.k>4? B.k>5?
C.k>6? D.k>7?
答案 A
解析 由题意k=1时S=1,当k=2时,S=2×1+2=4;
当k=3时,S=2×4+3=11,当k=4时,S=2×11+4=26,
当k=5时,S=2×26+5=57,此时与输出结果一致,
所以此时的k值为k>4.
5.如果执行下面的程序框图,输入n=6,m=4,那么输出的p等于( )
A.720 B.360
C.240 D.120
答案 B
解析 ①k=1,p=3;
②k=2,p=12;
③k=3,p=60;
④k=4,p=360.
而k=4时不符合条件,终止循环输出p=360.
6.如图是求x1,x2,…,x10的乘积S的程序框图,图中空白框中应填入的内容为( )
A.S=S*(n+1) B.S=S*xn+1
C.S=S*n D.S=S*xn
答案 D
解析 赋值框内应为累乘积,累乘积=前面项累乘积×第n项,即S=S*xn,故选D.
二、填空题
7.下图的程序框图输出的结果是________.
答案 20
解析 当a=5时,S=1×5=5;a=4时,S=5×4=20;
此时程序结束,故输出S=20.
8.某城市缺水问题比较突出,为了制定节水管理办法,对全市居民某年的月均用水量进行了抽样调查,其中n位居民的月均用水量分别为x1,…,xn(单位:吨).根据如图所示的程序框图,若n=2,且x1,x2分别为1,2,则输出的结果S为________.
答案
解析 当i=1时,S1=1,S2=1;
当i=2时,S1=1+2=3,S2=1+22=5,
此时S=(5-×9)=.
i的值变成3,从循环体中跳出输出S的值为.
9.按下列程序框图来计算:
如果x=5,应该运算________次才停止.
答案 4
解析 xn+1=3xn-2,x1=5,x2=13,x3=37,x4=109,x5=325>200,所以运行4次.
三、解答题
10.画出计算1+++…+的值的一个程序框图.
解 由题意知:
①所有相加数的分子均为1.
②相加数的分母有规律递增.
解答本题可使用循环结构,引入累加变量S和计数变量i,S=S+,i=i+1,两个式子是反复执行的部分,构成循环体.
11.求使1+2+3+4+5+…+n>100成立的最小自然数n的值,画出程序框图.
解 设累加变量为S,
程序框图如图.
能力提升
12.某班共有学生50人,在一次数学测试中,要搜索出测试中及格(60分以上)的成绩,试设计一个算法,并画出程序框图.
解 算法步骤如下:
第一步,把计数变量n的初始值设为1.
第二步,输入一个成绩r,比较r与60的大小.
若r≥60,则输出r,然后执行下一步;
若r<60,则执行下一步.
第三步,使计数变量n的值增加1.
第四步,判断计数变量n与学生个数50的大小,若n≤50,返回第二步,若n大于50,则结束.
程序框图如图.
1.循环结构
需要重复执行同一操作的结构称为循环结构,即从某处开始,按照一定条件反复执行某一处理步骤.反复执行的处理步骤称为循环体.
(1)循环结构中一定包含条件结构;
(2)在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或中止循环体的条件中.
2.三种基本结构的共同特点
(1)只有一个入口.
(2)只有一个出口,请注意一个菱形判断框有两个出口,而一个条件结构只有一个出口,不要将菱形框的
出口和条件结构的出口混为一谈.
(3)结构内的每一部分都有机会被执行到,也就是说对每一个框来说都应当有一条从入口到出口的路径通过它.如图1中的A,没有一条从入口到出口的路径通过它,就是不符合要求的程序框图.
(4)结构内不存在死循环,即无终止的循环.像图2就是一个死循环.在程序框图中是不允许有死循环出现的.