6.3程序框图
[读教材·填要点]
程序框图
程序框图就是算法步骤的直观图示,算法的输入、输出、条件结构、循环结构等基本单元构成了程序框图的基本要素,基本要素之间的关系由流程线来连接.用程序框图表示的算法,比用自然语言描述的算法更加直观明确、流向清楚,而且更容易改写成计算机程序.
[小问题·大思维]
1.程序框图和流程图有什么区别和联系?
提示:(1)程序框图是流程图的一种.
(2)程序框图有一定的规范和标准,而日常生活中的流程图则相对自由一些,可以使用不同的色彩,也可以添加一些生动的图形元素.
2.下列关于流程图、程序框图、工序流程图的说法,哪一个是正确的?
①流程图只有一个起点和一个终点;
②程序框图只有一个起点和一个终点;
③工序流程图只有一个起点和一个终点.
提示:流程图通常有一个起点,一个或多个终点.工序流程图可以有多个终点,而程序框图只有一个终点.故说法②正确.
画程序框图
国庆期间,某旅行社组团旅游,每团人数x(人)不超过60(人)时的飞机票单价为
y=
试画出计算飞机票单价的程序框图.
[自主解答] 程序框图如下:
若人数大于60人,给出提示:“超员!”,则如何改动程序框图?
解:在判断框“”后加一“判断执行框”,其程序框图如图所示:
画算法的程序框图时,注意自上而下,分而治之的方法,即为先全局后局部,先整体后细节,先抽象后具体的逐步细化过程.这样得到的程序框图结构清晰,一目了然.
1.高二(1)班共有40名学生,每一次考试数学老师总要统计成绩在100分~150分,80分~100分和80分以下的各分数段的人数,请你帮助老师设计一个程序框图,解决上述问题.
解:程序框图如图所示.
读程序框图
(全国卷Ⅱ)执行如图所示的程序框图,如果输入的a=-1,则输出的S=( )
A.2 B.3
C.4 D.5
[自主解答] 运行程序框图,
a=-1,S=0,K=1,K≤6成立;
S=0+(-1)×1=-1,a=1,K=2,K≤6成立;
S=-1+1×2=1,a=-1,K=3,K≤6成立;
S=1+(-1)×3=-2,a=1,K=4,K≤6成立;
S=-2+1×4=2,a=-1,K=5,K≤6成立;
S=2+(-1)×5=-3,a=1,K=6,K≤6成立;
S=-3+1×6=3,a=-1,K=7,K≤6不成立,输出S=3.
[答案] B
读图的关键是根据程序框图理解算法的功能,进而利用算法读出输出结果.
2.执行如图所示的程序框图,则输出S的值为( )
A.3 B.-6
C.10 D.-15
解析:第一次执行程序,得到S=0-12=-1,i=2;
第二次执行程序,得到
S=-1+22=3,i=3;
第三次执行程序,得到
S=3-32=-6,i=4;
第四次执行程序,得到S=-6+42=10,i=5;
第五次执行程序,得到S=10-52=-15,i=6,
结束循环,输出的S=-15.
答案:D
某工厂2017年生产小轿车200万辆,技术革新后预计每年的生产能力比上一年增加5%,问最早哪一年该厂生产的小轿车数量超过300万辆?写出解决该问题的一个算法,并画出相应的程序框图.
[巧思] 由题意,2017年的年产量为200万辆,以后每年的年产量都等于前一年的年产量乘以(1+5%),考虑利用循环结构设计算法.
[妙解] 算法如下:
第一步,令n=0,a=200,r=0.05.
第二步,T=ar(计算年增量).
第三步:a=a+T(计算年产量).
第四步,如果a≤300,那么n=n+1,返回第二步;否则执行第五步.
第五步,N=2017+n+1.
第六步,输出N.
程序框图如图所示.
1.下列对程序框图的描述正确的是( )
A.程序框图中的循环可以是无尽的循环
B.对一个程序来说,判断框中的条件是唯一的
C.任何一个程序框图中都必须有判断框
D.任何一个算法都离不开顺序结构
解析:顺序结构是最基本、最简单的一种算法结构,其他任何一个算法结构都含有顺序结构.
答案:D
2.执行如图所示的程序框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )
A.y=2x B.y=3x
C.y=4x D.y=5x
解析:输入x=0,y=1,n=1,
运行第一次,x=0,y=1,不满足x2+y2≥36;
运行第二次,x=,y=2,不满足x2+y2≥36;
运行第三次,x=,y=6,满足x2+y2≥36,
输出x=,y=6.由于点在直线y=4x上,故选C.
答案:C
3.(全国卷Ⅲ)执行如图所示的程序框图,为使输出S的值小于91,则输入的正整数N的最小值为( )
A.5 B.4
C.3 D.2
解析:执行程序框图,S=0+100=100,M=-10,t=2;S=100-10=90,M=1, t=3,S<91,输出S,此时,t=3不满足t≤N,所以输入的正整数N的最小值为2.
答案:D
4.下图为某一函数的求值程序框图,根据框图,如果输出y的值为3,那么应输入x=( )
A.1 B.2
C.3 D.6
解析:该程序的作用是计算分段函数y=的函数值,
由题意,若x>6,则当y=3时,x-3=3,解得x=6,舍去;
若x≤2,则当y=3时,5-x=3,解得x=2,
故输入的x值为2.
答案:B
5. 按如图所示的程序框图运算,若输入x=7,则输出k的值是________.
解析:依题意,执行题中的程序框图,当输入x=7时,
进行第一次循环时,x=15,k=1;x=15≤115,
进行第二次循环时,x=31,k=2;x=31≤115,
进行第三次循环时,x=63,k=3;x=63≤115,
进行第四次循环时,x=127,k=4;x=127>115,此时结束循环,输出k=4.
答案:4
6.设计程序框图,求出××××…×的值.
解:程序框图如图所示.
一、选择题
1.下列问题中,可以只用顺序结构就能解决的是( )
A.求关于x的方程ax2+bx+c=0的根
B.求函数f(x)=的值
C.求1+4+7+10+13的值
D.时钟的运行
解析:A项还应用到条件结构,B项也应用到条件结构,D项应用到循环结构.
答案:C
2.中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=( )
A.7 B.12
C.17 D.34
解析:第一次运算:s=0×2+2=2,k=1;
第二次运算:s=2×2+2=6,k=2;
第三次运算:s=6×2+5=17,k=3>2,
结束循环,s=17.
答案:C
3.执行如图的程序框图,如果输入的x,t均为2,则输出的S=( )
A.4 B.5
C.6 D.7
解析:执行循环体,
第一次循环,M=2,S=5,k=2;
第二次循环,M=2,S=7,k=3.
故输出的S=7.
答案:D
4.(全国卷Ⅰ)如图所示的程序框图是为了求出满足3n-2n>1 000的最小偶数n,那么在◇和?两个空白框中,可以分别填入( )
A.A>1 000和n=n+1
B.A>1 000和n=n+2
C.A≤1 000和n=n+1
D.A≤1 000和n=n+2
解析:程序框图中A=3n-2n,且判断框内的条件不满足时输出n,所以判断框中应填入A≤1 000,由于初始值n=0,要求满足A=3n-2n>1 000的最小偶数,故执行框中应填入n=n+2.
答案:D
二、填空题
5.运行如图所示的程序框图,若输出的y值的范围是[0,10],则输入的x的值的范围是________.
解析:本题是计算分段函数y=的值的算法流程.
当0≤3-x≤10时,-7≤x<-1;
当0≤x2≤10时,-1≤x≤1;
当0≤x+1≤10时,1<x≤9.
故输入的x的范围是[-7,9].
答案:[-7,9]
6.执行如图所示的程序框图,输出的s是________.
解析:第一次循环:i=1,s=1;
第二次循环:i=2,s=-1;
第三次循环:i=3,s=2;
第四次循环:i=4,s=-2,此时i=5,执行s=3×(-2)=-6,故输出s=-6.
答案:-6
7.执行如图所示的程序框图,如果输入a=1,b=2,则输出的a的值为________.
解析:第一步:a=1+2=3;第二步:a=3+2=5;
第三步:a=5+2=7;第四步:a=7+2=9>8,满足条件,退出循环,
所以输出的a的值为9.
答案:9
8.某城市缺水问题比较突出,为了制定节水管理办法,对全市居民某年的月均用水量进行了抽样调查,其中4位居民的月均用水量分别为x1,…,x4(单位:吨).根据如图所示的程序框图,若x1,x2,x3,x4分别为1,1.5,1.5,2,则输出的结果s为________.
解析:第一次执行后,s1=0+1=1,s=1,i=2;
第二次执行后,s1=1+1.5=2.5,s=×2.5=1.25,i=3;
第三次执行后,s1=2.5+1.5=4,s=,i=4;
第四次执行后,s1=4+2=6,s=×6=1.5,
i=5>4,结束循环,故输出的结果s为1.5.
答案:1.5
三、解答题
9.如图,在边长为4的正方形ABCD的边上有一点P,沿着折线BCDA由点B(起点)向点A(终点)运动.设点P运动的路程为x,△APB的面积为y,求y与x之间的函数关系式.并画出程序框图.
解:由题意可得
y=
程序框图如图:
10.用分期付款的方式购买价格为1 150元的冰箱,如果购买时先付150元,以后每月付50元,加上欠款的利息,若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱钱全部付清后,实际共付出款额多少元?画出程序框图.
解:购买时付款150元,余款1 000元分20次付清,每次的付款数组成一个数列{an}.
a1=50+(1150-150)×1%=60(元),
a2=50+(1150-150-50)×1%=59.5(元),
…
an=50+[1 150-150-(n-1)×50]×1%
=60-(n-1)(n=1,2…,20),
∴a20=60-×19=50.5(元).
总和S=150+60+59.5+…+50.5=1 255(元).
程序框图如图: