- 60.00 KB
- 2021-06-16 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
11.2 基本算法语句
典例精析
题型一 输入、输出与赋值语句的应用
【例1】阅读程序框图(如下图),若输入m=4,n=6,则输出a= ,i= .
【解析】a=12,i=3.
【点拨】赋值语句是一种重要的基本语句,也是程序必不可少的重要组成部分,使用赋值语句,要注意其格式要求.
【变式训练1】(2018陕西模拟)如图是求样本x1,x2,…,x10的平均数的程序框图,则图中空白框中应填入的内容为( )
A.S=S+xn B.S=S+ C.S=S+n D.S=S+
【解析】因为此步为求和,显然为S=S+xn,故选A.
题型二 循环语句的应用
【例2】设计算法求+++…+的值.要求画出程序框图,写出用基本语句编写的程序.
【解析】这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.程序框图如下图所示:
程序如下:
s=0
k=1
DO
s=s+1/(k* (k+1))
k=k+1
LOOP UNTIL k>99
PRINT s
END
【点拨】(1)在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意格式和条件的表述方法,WHILE语句是当条件满足时执行循环体,UNTIL语句是当条件不满足时执行循环体.
(2)在解决一些需要反复执行的运算任务,如累加求和、累乘求积等问题中应注意考虑利用循环语句来实现.
(3)在循环语句中,也可以嵌套条件语句,甚至是循环语句,此时需要注意嵌套的这些语句,保证语句的完整性,否则就会造成程序无法执行.
【变式训练2】下图是输出某个有限数列各项的程序框图,则该框图所输出的最后一个数据是 .
【解析】由程序框图可知,当N=1时,A=1;N=2时,A=;N=3时,A=,…,即输出各个A值的分母是以1为首项以2为公差的等差数列,故当N=50时,A==,即为框图最后输出的一个数据.故填.
题型三 算法语句的实际应用
【例3】某电信部门规定:拨打市内电话时,如果通话时间3分钟以内,收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话不足1分钟时按1分钟计算).试设计一个计算通话费用的算法,要求写出算法,编写程序.
【解析】我们用c(单位:元)表示通话费,t(单位:分钟)表示通话时间,则依题意有
算法步骤如下:
第一步,输入通话时间t.
第二步,如果t≤3,那么c=0.2;否则c=0.2+0.1×[t-2].
第三步,输出通话费用c.
程序如下:
INPUT t
IF t<3 THEN
c=0.2
ELSE
c=0.2+0.1*INT(t-2)
END IF
PRINT c
END
【点拨】在解决实际问题时,要正确理解其中的算法思想,根据题目写出其关系式,再写出相应的算法步骤,画出程序框图,最后准确地编写出程序,同时要注意结合题意加深对算法的理解.
【变式训练3】(2018江苏模拟)下图是一个算法流程图,则输出S的值是 .
【解析】n=1时,S=3;n=2时,S=3+4=7;n=3时,S=7+8=15;n=4时,S=15+24=31;n=5时,S=31+25=63.因为63≥33,所以输出的S值为63.
总结提高
1.输入、输出语句可以设计提示信息,加引号表示出来,与变量之间用分号隔开.
2.赋值语句的赋值号左边只能是变量而不能是表达式;赋值号左右两边不能对换,不能利用赋值语句进行代数式计算,利用赋值语句可以实现两个变量值的互换,方法是引进第三个变量,用三个赋值语句完成.
3.在某些算法中,根据需要,在条件语句的THEN分支或ELSE分支中又可以包含条件语句.遇到这样的问题,要分清内外条件结构,保证结构的完整性.
4.分清WHILE语句和UNTIL语句的格式,在解决一些需要反复执行的运算任务,如累加求和,累乘求积等问题中应主要考虑利用循环语句来实现,但也要结合其他语句如条件语句.
5.编程的一般步骤:
(1)算法分析;(2)画出程序框图;(3)写出程序.