1.1.2 程序框图
预习课本P7~9,思考并完成以下问题
(1)程序框图是如何定义的?
(2)程序框图的图形符号有哪些?各自的名称和作用是什么?
(3)画程序框图的规则有哪五条?
1.程序框图的概念及常用图形符号
(1)程序框图的概念:
用一些通用图形符号构成一张图来表示算法,这种图称做程序框图(简称框图).
(2)常用的表示算法步骤的图形符号及其含义:
图形符号
名称
符号表示的意义
起、止框
框图的开始或结束
输入、
输出框
数据的输入或者结果的输出
处理框
赋值、执行计算语句、结果的传送
判断框
根据给定条件判断
流程线
流程进行的方向
连接点
连接另一页或另一部分的框图
注释框
帮助理解框图
2.画程序框图的规则
(1)使用标准的框图的符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,其他框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一符号.
(4)一种判断框是二择一形式的判断,有且仅有两个可能结果;另一种是多分支判断,可能有几种不同的结果.
(5)在图形符号内描述的语言要非常简练清楚.
1.下列图形中表示处理框的是( )
答案:B
2.在程序框图中,一个算法步骤到另一个算法步骤的连接用( )
A.连接点 B.判断框
C.流程线 D.处理框
答案:C
3.阅读如图所示的程序框图,输入a1=3,a2=4,则输出的结果是( )
A.12 B.7
C.34 D.43
解析:选A b=a1·a2=3×4=12.故选A.
4.如图所示的程序框图,若输出的y的值为16,则输入的x的值为________.
解析:当输出的y的值为16时,由y=4m=16,可知m=2,由m=log2x=2,可得x=22=4.
答案:4
对程序框的认识和理解
[典例] 下列说法正确的是( )
A.程序框图中的图形符号可以由个人来确定
B.也可以用来执行计算语句
C.输入框只能紧接在起始框之后
D.长方形框是执行框,可用来对变量赋值,也可用来计算
[解析] 程序框是由通用图形符号构成,并且有特殊含义,A不正确;菱形框是判断框,只能用来判断,所以B不正确;输入框可用在算法中任何需要输入的位置,所以C也不正确;由程序框的功能可知D项正确.
[答案] D
几种基本框图的功能
(1)起、止框:是每一个算法必不可少的框图符号,表示一个算法的开始或结束.
(2)输入、输出框:在一个算法中输入、输出一些数据或信息.可用在算法中任何需要输入、输出的位置.
(3)处理框:可以进行数据的计算或对变量进行赋值等.
(4)判断框:判断某一条件是否成立,从而决定算法下一步的走向.
[活学活用]
以下给出对程序框图的几种说法:
①任何一个程序框图都必须有起止框;
②输入框只能放在开始框后,输出框只能放在结束框前;
③判断框是唯一具有超过一个退出点的符号;
④对于一个程序来说,判断框内的条件表达方法是唯一的.
其中正确说法的个数是( )
A.1 B.2
C.3 D.4
解析:选B 根据程序框图的特征可判断②④错误.①③正确.
程序框图功能的判断
[典例] 给出如图所示的程序框图,根据该图回答以下问题:
(1)该程序框图表示的算法的功能是什么?
(2)若输入a=-2,那么输出结果是什么?
[解] (1)该程序框图表示的算法的功能是求二次函数y=-x2+4x的函数值.
(2)若输入a=-2,那么x=-2,这时y=-(-2)2+4×(-2)=-12,因此输出结果是-12.
解决程序框图问题要深刻理解程序框图的定义以及画法规则,同时要对每个框图符号的含义以及作用区分清楚,还要理解并记住画程序框图的一些常见规定.
[活学活用]
如图是为解决某个问题而绘制的程序框图,仔细分析各图框中的内容及图框之间的关系,回答下列问题:
(1)若最终输出的结果是y1=3,y2=-2,则当x取5时5a+b的输出结果应该是多少?
(2)在(1)的前提下,输入的x值越大,输出的ax+b的值是不是越大?为什么?
解:(1)若y1=3,
即2a+b=3.①
若y2=-2,
即-3a+b=-2. ②
联立①②,得a=1,b=1,故y=f(x)=x+1.
所以,当x取5时,f(5)=6.
(2)在(1)的前提下,输入的x值越大,输出的函数值ax+b越大,因为f(x)=x+1是R上的增函数.
画简单的程序框图
[典例] 求过点P1(x1,y1),P2(x2,y2)的直线的斜率.设计解决该问题的一个算法并画出程序框图.
[解] 算法步骤如下:
S1 输入x1,y1,x2,y2.
S2 如果x1=x2,输出“斜率不存在”;否则,k=.
S3 输出k.
程序框图如图所示.
画程序框图的思路
(1)程序框图中的每一种图形符号都有特定的含义,在画程序框图时不能混用.
(2)流程线上不要忘记加方向箭头,如果不画,就难以判断各框间的执行次序.
(3)要先赋值,再运算,最后输出结果.
[活学活用]
已知x=10,y=2,画出计算w=5x+8y的值的程序框图.
解:先根据题意确定算法步骤,
算法如下:
S1 x=10,y=2.
S2 计算w=5x+8y.
S3 输出w的值.
其程序框图如图所示.
[层级一 学业水平达标]
1.下列是流程图中的一部分,表示恰当的是( )
解析:选A B选项应该用处理框而非输入、输出框,C选项应该用输入、输出框而不是处理框,D选项应该在出口处标明“是”和“否”.
2.下列关于流程线的说法,不正确的是( )
A.流程线表示算法步骤执行的顺序,用来连接程序框
B.流程线只要是上下方向就表示自上向下执行,可以不要箭头
C.流程线无论什么方向,总要按箭头的指向执行
D.流程线是带有箭头的线,可以画成折线
解析:选B 流程线上必须带箭头,表示执行的方向,可能向下,也可能向上,有时也可以画成折线.
3.如图,若输入m=3,则输出的结果是________.
解析:由题图知n=3+5+5=13.
答案:13
4.阅读如图的程序框图,若输入x的值分别是0和-1时,输出y的值分别是2和5,试求a,b的值.
解:依题意可得
即解得a=3,b=-1.
[层级二 应试能力达标]
1.程序框是程序框图的一个组成部分,下面的对应正确的是( )
①起、止框,表示一个算法的起始和结束;②输入、输出框,表示一个算法输入和输出的信息;③处理框(执行框),功能是赋值、执行计算语句、结果的传送;④判断框,判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”
A.(1)与①,(2)与②,(3)与③,(4)与④
B.(1)与④,(2)与②,(3)与①,(4)与③
C.(1)与①,(2)与③,(3)与②,(4)与④
D.(1)与①,(2)与③,(3)与④,(4)与②
解析:选D 矩形框表示处理框;菱形框表示判断框;平行四边形框表示输入、输出框;圆角矩形框表示起止框.
2.下列关于程序框图的说法正确的是( )
A.一个程序框图包括表示相应操作的框、带箭头的流程线和必要的文字说明
B.输入、输出框只能各有一个
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.在程序框图中,必须包含判断框
解析:选A 输入、输出框可以放在算法中任何需要输入、输出的位置,所以不一定各有一个,因此B选项是错误的;相对于自然语言,用程序框图描述算法的优点主要就是直观、形象,容易理解,在步骤表达上简单了许多,所以C选项是错误的;显然D选项错误.
3.如图所示的程序框图,已知a1=3,输出的结果为7,则a2的值是( )
A.9 B.10
C.11 D.12
解析:选C 因为输出的结果为7,所以b=7,又b=,所以原b=14,即a1+a2=14.又a1=3,所以a2=11.
4.给出如图的算法程序框图,该程序框图的功能是( )
A.求出a,b,c三数中的最大数
B.求出a,b,c三数中的最小数
C.将a,b,c按从小到大排列
D.将a,b,c按从大到小排列
解析:选B 经判断框中a>b处理后a是a,b中较小者;经判断框a>c处理后,a是a,c中较小者,结果输出a,即三者中最小的数.
5.阅读如图所示的程序框图,若输出结果为15,则①处的执行框内应填的是________.
解析:先确定①处的执行框是给x赋值,然后倒着推,b=15时,2a-3=15,a=9,当a=9时,2x+1=9,x=3.
答案:x=3
6.图(2)是计算图(1)的阴影部分面积的一个程序框图,则①中应该填________.
解析:∵S=x2-π×2=x2,
∴M=x2.
答案:M=x2
7.如图是求长方体的体积和表面积的一个程序框图,补充完整,横线处应填______________________.
解析:根据题意,长方体的长、宽、高应从键盘输入,故横线处应填写输入框.
答案:
8.利用梯形的面积公式计算上底为4,下底为6,面积为15的梯形的高.请设计出该问题的算法及程序框图.
解:根据梯形的面积公式S=(a+b)h,得h=,其中a是上底,b是下底,h是高,S是面积,只要令a=4,b=6,S=15,代入公式即可.
算法如下:
第一步,输入梯形的两底a,b与面积S的值.
第二步,计算h=.
第三步,输出h.
该算法的程序框图如图所示:
9.如图所示的程序框图,根据该图和下列各小题的条件回答下面问题.
(1)该程序框图解决的是一个什么问题?
(2)当输入的x的值为0和4时,输出的值相等,问当输入的x的值为3时,输出的值为多大?
(3)在(2)的条件下要想使输出的值最大,输入的x的值应为多大?
解:(1)该程序框图解决的是求二次函数f(x)=-x2+mx的函数值的问题.
(2)当输入的x的值为0和4时,输出的值相等,
即f(0)=f(4).
因为f(0)=0,f(4)=-16+4m,
所以-16+4m=0,
所以m=4,所以f(x)=-x2+4x.
则f(3)=-32+4×3=3,
所以当输入的x的值为3时,输出的f(x)值为3.
(3)因为f(x)=-x2+4x=-(x-2)2+4,
当x=2时,f(x)最大值=4,
所以要想使输出的值最大,输入的x的值应为2.