程序填充类试题的解法

2015-11-28 13:05石萍
高中生学习·高二版 2015年9期
关键词:程序框图框图个数

石萍

用程序框图表示算法时,算法的逻辑结构展现得非常清楚. 高中所学的程序框图包含三种逻辑结构:顺序结构、条件结构和循环结构. 其中,考查最多的是循环结构,还经常以算法和程序框图为载体考查对高中其他重要数学知识的理解. 程序框图的考查集中于识图与填图,本文着重探讨填充类程序框图和程序语句的相关解法,以期给大家带来举一反三的思考.

一、程序框图的填充

1. 条件结构框图的填充

例1 已知函数[y=log2x,x≥2,2-x,x<2,]如图表示的是给定[x]的值,求其对应的函数值[y]的程序框图.

①处应填写 ;②处应填写 .

[结束] [ 开始 ] [输入x] [①] [输出y] [②][否][是]

解析 由框图可知,只要满足①中的条件则对应的函数解析式为[y=2-x],故此处应填写“[x<2?]”,则②处应填写“[y=log2x]”.

答案 ①[x<2?] ②[y=log2x]

点拨 对这类条件结构的框图填充,要严格检验判断框,判断框是分类的标准,决定了执行的走向. 由执行结果,推断出“是”或“否”哪一类成立,即可得出所要填的条件.

2. 循环结构框图的填充

例2 (1)某工厂2009年初有资金1000万元,技术革新后,该厂资金的年增长率为20%,下面是计算该厂2015年底资金算法的两种程序框图,图中的空白处应填① ;② .

当型循环程序框图: 直到型循环程序框图:

[结束] [ 开始 ] [输出S] [是][否] [输出S] [是][否] [ 开始 ] [结束][结束]

① ②

解析 因为该算法是求从2009年年初起到2015年年底的资金,故循环体应执行7次,①是当满足条件时执行循环体,故应填“i≤7?”;②是先执行循环体,反复执行直到条件成立为止,故应填“[i>7]?”.

答案 ①i≤7? ②i>7?

点拨 对这类循环结构的填充,要读懂程序的执行过程,确定循环结构和循环次数. 当型循环是先判断后循环,并且条件成立时循环开始;直到型循环是先循环后判断,并且条件成立循环结束,弄清当型循坏和直到型循环判断条件的区别即可得出所要填的条件.

例3 运行如下图所示的程序框图,若输出的结果为[137],则判断框中应该填的条件是( )

[ 开始 ] [否][是] [输出S][结束]

A. [k≤5]? B. [k≤6]? C. [k≤7]? D. [k≤8]?

解析 第一次运行[S=1+][11×2],[k=2];第二次运行S=1+[11×2]+[12×3],k=3;…;第n次运行S=1+[11×2]+[12×3]+…+[1n(n+1)]=2-[1n+1],k=n+1. 输出结果为[137]时,对应结束循环,解得[n=6],故判断框中应该填入“[k≤6]?”.

答案 B

点拨 这类循环结构的填充难点是确定循环终止的条件,解决方法是:(1)先假设参数的判断条件不满足;(2)运行循环结构,一直到运行结果与题目要求的输出结果相同为止;(3)根据此时各个变量的值,补全程序框图的判断条件;(4)取最终满足输出结果的计数变量代入判断框检验是否成立.

3. 综合类框图的填充

例4 给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,以此类推. 要计算这30个数的和,现已给出了该问题的算法对应的程序框图(如图所示),则在图中判断框中①处和执行框中的②处应填的语句分别为( )

[ 开始 ] [否][是] [输出S][结束] [①] [②]

A. ①i>30? ②p=p-i B. ①i<30? ②p=p+i

C. ①i≤30? ②p=p+i D. ①i≥30? ②p=p

解析 因为这个算法的功能是求30个数的和,故循环体应执行30次,其中i是计数变量,因为判断框内的条件就是限制计数变量i的,这个流程图中判断框的向下的出口是满足条件继续执行循环,故应为“i≤30?”.算法中的变量p实质是表示参与求和的各个数,由于它也是变化的,且满足第i个数比其前一个数大i-1,第i+1个数比其前一个数大i,故应有p=p+i. 最后①处应填“i≤30?”,②处应填“p=p+i”.

答案 C

点拨 这类填充题的难点是判断条件和循环变量的变化规律都未知,做这类题要运用数列的递推思想,类比求数列通项的方法.具体的解决方法:(1)读懂算法,根据循环变量的初始条件、循环次数确定循环终止的条件;(2)确定累加变量、累乘变量;(3)再确定循环体中循环变量的变化规律.

填充类程序框图题往往都是已知算法框图的执行结果,填写算法的空白部分,空白部分重点考查循环体和控制条件.解决这类题要知道框图的结构和功能,能够写出执行过程,对所要填写的空白内容的目的要明确,特别是循环结构中循环变量的初始值和终止值,以及循环变量的变化规律(累加求和,累乘求积等),涉及内容主要围绕数列、求和、求积、分段函数求值、不等式、统计等知识,进一步弄清循环的次数,由判断框的检验原则严格检验,最终得出空白部分应填什么.

二、程序语句的填充

程序语句的作用就是实现算法与计算机的转换,各种基本语句的应用,体现的都是算法思想. 那么,程序语句的规范性就显得尤为重要.

例5 将下列程序补充完整:输入两个数,输出其中较大的数.

[INPUT a,b

IF a>b THEN

PRINT a

ELSE

END IF

END]

答案 PRINT b

例6 下面方框中为一个求20个数的平均数的程序,则在横线上应填的语句为 .

[i=1

S=0

DO

INPUT X

S=S+X

i= i +1

LOOP UNTIL

a=S/20

PRINT a

END]

解析 该算法程序中,使用了UNTIL循环语句,按照该循环特征,当某一次条件满足时,不再执行循环体,跳到LOOP UNTIL句的后面,执行其他的语句. 根据问题要求,应填“[i>20]”.

答案 [i>20]

例7 程序: [S=0

i=1

WHILE i<=100

S=S+i

WEND

④]

要使上述程序能运算出“1+2+…+100”的结果,需将语句“[i=i+1]”加在( )

A. ①处 B. ②处

C. ③处 D. ④处

解析 计数变量应在循环语句的循环体中,记录的是累加发生的次数,故应在③处.

答案 C

在前面程序框图的填充方法的基础上,程序语句的填充要掌握两点:一是要读懂算法的逻辑结构;二是注意基本语句的格式,注重规范性.

猜你喜欢
程序框图框图个数
怎样数出小正方体的个数
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
等腰三角形个数探索
怎样数出小木块的个数
怎样数出小正方体的个数
电路图2017年凯迪拉克XT5