人教版高中数学必修三知识讲解,巩固练习(教学资料,补习资料):专题1.2 基本算法语句

文档属性

名称 人教版高中数学必修三知识讲解,巩固练习(教学资料,补习资料):专题1.2 基本算法语句
格式 zip
文件大小 443.7KB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2019-09-24 13:20:15

图片预览

文档简介


知识
1.五种基本算法语句
任何一种程序设计语言中都包含五种基本的算法语句,分别它们是___________、___________、___________、___________、和___________.
2.输入语句
输入语句与程序框图中的___________对应,以BASIC语言为例,其一般格式为:
INPUT “提示内容”;变量
其中,“提示内容”一般是提示用户输入什么样的信息.
输入语句的作用是输入提示内容要求的相应信息或值,计算机每次都把新输入的值赋给变量.
3.输出语句
输出语句与程序框图中的___________对应,以BASIC语言为例,其一般格式为:
PRINT “”;
输出语句的作用是输出算法的信息(表达式).输出语句的功能是在计算机的屏幕上输出常量、变量的值和系统信息.
4.赋值语句
赋值语句与程序框图中表示赋值的处理框对应,以BASIC语言为例,其一般格式为:
___________
赋值语句的作用是将表达式所代表的值赋给变量.
判断赋值语句正确与否的两个步骤:
(1)看格式,看是否满足“变量=表达式”的格式.
(2)看内容,看赋值号是否超过了一个,即看是否进行了代数式的计算.
5.条件语句
条件语句与程序框图中的___________相对应.
条件语句主要有两种,分别是“___________”语句和“___________”语句.
(1)IF—THEN—END IF语句
计算机在执行如图所示的条件语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.
(2)IF—THEN—ELSE—END IF语句
当计算机执行如图所示的条件语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.
注意:
①当判断语句的两个出口只有一个需要执行其他语句时,使用“IF—THEN—END IF”语句;当判断语句的两个出口都需要执行其他语句时,使用“IF—THEN—ELSE—END IF”语句.
②“条件”可以是复合条件,此时应用AND加以连接.
③END IF是“出口”,是条件语句的结束符号,在书写程序时不要漏掉.
6.循环语句
循环语句与程序框图中的循环结构相对应.一般程序设计语言中都有__________和__________两种循环语句结构.
(1)直到型(UNTIL)语句
当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL后的条件进行判断.如果条件不符合,继续执行循环体;然后再检查上述条件,如果条件仍不符合,再次执行循环体,直到条件符合时为止.这时,计算机将不执行循环体,直接跳到UNTIL语句后,接着执行UNTIL语句之后的语句.如图所示:
(2)当型(WHILE)语句
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE和WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.如图所示:
应用循环语句编写程序时需注意:
①循环语句中的循环变量一般要设初始值.
②在循环过程中需要有“结束”的语句,程序中最忌“死循环”.
知识参考答案:
6.直到型(UNTIL) 当型(WHILE)
重点
重点
输入语句、输出语句、赋值语句、条件语句和循环语句的基本用法
难点
正确编写算法语句
易错
(1)条件语句中缺少END IF;
(2)混淆WHILE语句与UNTIL语句.
1.输入语句、输出语句、赋值语句
(1)输入语句可以给多个变量赋值,其格式为:
INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,…
(2)输出语句具有计算功能.
(3)对于赋值语句,
①在代数中A=B与B=A是等效的两个等式,而在赋值语句中则是两个不同的赋值过程.
②“=”左边必须是变量,右边可以是常量、变量或算式.
③一个语句只能给一个变量赋值,不能对几个变量连续赋值,但可以辗转赋值.
④可给一个变量多次赋值,但只保留最后一次所赋的值.
【例1】下列语句正确的是
①输入语句INPUT x
②输入语句INPUT “A,B,C”;a,b,c
③输出语句PRINT A+B=C
④赋值语句3=A.
A.①③ B.②③
C.②④ D.①②
【答案】D
【解析】根据输入语句的一般格式知:①②正确;输出语句不具有赋值或执行功能,③错误;④赋值语句应改为A=3,④错误.故选D.
【名师点睛】当输入程序语句时,只能从左到右依次输入.上标、下标、幂等的表示与数学中平时的书写习惯是不相同的,算法语句中的运算符有:^,*,/,MOD,+,-,sqr等.
【例2】下列程序语句正确的是
A.输出语句PRINT A=4 B.输入语句INPUT x=3
C.赋值语句A=A*A+A–3 D.赋值语句55=a
【答案】C
2.条件语句
条件语句可实现算法中的条件结构,当计算机处理按条件判断后的不同情况时,就需要用到条件语句.如求分段函数的函数值等,往往要用到条件语句,有时甚至要用到条件语句的嵌套.在有些较为复杂的算法中,有时需要对按条件执行的某一语句(特别是ELSE后的语句)继续按照另一个要求进行判断,这时可以再利用一个条件语句进行判断,这就形成了条件语句的嵌套.条件语句的嵌套是条件结构嵌套的实现和表达.一般形式如下:
IF 条件1 THEN
  语句体1
ELSE
  IF 条件2 THEN
语句体2
  ELSE
    语句体3
END IF
END IF
【例3】如图所示的程序是计算函数y=f(x)函数值的程序,若输入的x的值为4,则输出的y值为
A.17 B.3 C.–3 D.–17
【答案】C
【名师点睛】在设计条件语句时,要明确算法语句中关系运算符和逻辑运算符及其应用.
关系运算符:>,=,<,>=,<=,<>.如在程序中表示为.这与代数中的表示是有区别的.
逻辑运算符:AND,OR.如在程序中应表示为AND ,这是程序语句的专用表示方法.
【例4】下列关于条件语句的叙述,正确的是
A.条件语句中必须有if、else和end
B.条件语句中可以没有end
C.条件语句中可以没有else,但必须有end
D.条件语句中可以没有else及没end
【答案】C
【解析】条件语句是处理条件分支逻辑结构的算法语句.表示形式有2种:
①IF–THEN–ELSE格式:执行时,先对IF后的条件进行判断,若条件符合,执行语句1,否则执行语句2.
②IF–THEN格式:执行时,先对IF后的条件进行判断,若条件符合,执行THEN后的语句,否则结束条件语句,执行其他语句.所以条件语句中可以没有else,但必须有end.故选C.
【名师点睛】条件语句必须以IF开始,以END IF结束,一个IF必须和一个END IF对应,尤其对条件语句的嵌套问题,应注意每一层的结构的完整性,不能漏掉END IF.
3.循环语句
WHILE语句与UNTIL语句两种循环语句的联系与区别:
(1)联系:两种语句都可以实现计算机反复执行循环体的目的,只是表达形式不同.一般来讲,WHILE语句与UNTIL语句可以相互转化.
(2)区别:
①直到型循环语句是先执行(循环体),后判断(条件),而当型循环语句是先判断(条件),后执行(循环体).
②直到型循环语句是条件不满足时执行循环体,条件满足时结束循环;而当型循环语句是当条件满足时执行循环体,不满足时结束循环.
③直到型循环结构至少执行一次循环体,而当型循环结构可能一次也不执行循环体.
④在设计程序时,一般说来,这两种语句用哪一种都可以,但在某种限定条件下,有时用WHILE语句较好,有时用UNTIL语句较好.
【例5】执行下列程序后,输出的i的值是
i=1
WHILE i<=10
i=i+5
WEND
PRINT i
END
A.5 B.6 C.10 D.11
【答案】D
【名师点睛】条件语句与循环语句的嵌套问题,求解时一般先确定外层的循环语句,再逐步确定内层的条件语句,一定要保证内层的变量与外层的变量不能冲突.
4.混淆WHILE语句与UNTIL语句
【例6】编写程序计算的值.
【答案】答案详见解析
【解析】【错解一】程序如下:
i=2
sum=0
UNTIL i<=98
sum=sum+i
i=i+2
WEND
PRINT sum
END
【错解二】程序如下:
i=2
sum=0
DO
sum=sum+i
i=i+1
LOOP WHILE i>98
PRINT sum
END
【错因分析】错解一中WEND应与WHILE对应;错解二中DO与LOOP UNTIL对应,另外,i=i+1应为i=i+2.
【正解一】程序如下:
i=2
sum=0
WHILE i<=98
sum=sum+i
i=i+2
WEND
PRINT sum
END
【正解二】程序如下:
i=2
sum=0
DO
sum=sum+i
i=i+2
LOOP UNTIL i>98
PRINT sum
END
【名师点睛】一定要牢记WHILE语句与UNTIL语句的区别.
基础训练
1.对赋值语句的描述正确的是
①可以给变量提供初值;②可以将表达式的值赋给变量;③可以给一个变量重复赋值;④不能给同一个变量重复赋值.
A.①②③ B.①②
C.②③④ D.①②④
2.执行‘PRINT “3+5=”;3+5’的输出结果是
A.3+5=3+5 B.3+5=8
C.8=3+5 D.8=8
3.下列程序的输出结果是
A=10
A=A+15
PRINT A
END
A.10 B.15 C.25 D.5
4.阅读下面的程序,判断程序执行后的结果是
x=3
y=x+3
x=y+3
PRINT x,y
END
A.6,9 B.9,6 C.6,12 D.9,9
5.在设计求函数的值的程序中不可能用到的算法语句为
A.输入语句 B.条件语句
C.输出语句 D.循环语句
6.根据下列算法语句,当输入x为60时,输出y的值为
INPUT x
IF x<=50 THEN
y=0.5*x
ELSE
y=25+0.6*(x–50)
END IF
PRINT y
END
A.25 B.30
C.31 D.61
7.读下面的程序:
i=1
S=0
DO
INPUT x
S=S+x
i=i+1
LOOP UNTIL i>10
A=S/10
PRINT A
END
该程序的作用是
A.计算9个数的和 B.计算9个数的平均数
C.计算10个数的和 D.计算10个数的平均数
8.以下程序运行后的输出结果为
i=1
WHILE i<8
i=i+2
S=2*i+3
i=i–1
WEND
PRINT S
END
A.17 B.19
C.21 D.23
9.下列给出的输入、输出语句正确的是
①输入语句:INPUT a;b;c
②输入语句:INPUT x=3
③输出语句:PRINT A=4
④输出语句:PRINT 20,3*2
A.①② B.②③
C.③④ D.④
10.执行图程序中,若输出y的值为2,则输入x的值为__________.
11.下面是用程序语句表示的一个问题的算法,试根据其画出程序框图.
INPUT x,y
PRINT x/4,2*y
x=x+2
y=y–1
PRINT x,y
END
能力提升
12.下列正确的语句的个数是
①输入语句:INPUT a+2
②赋值语句:x=x–5
③输出语句:PRINT M=2
A.0 B.1 C.2 D.3
13.阅读下面的程序,然后判断程序执行后的结果是
x=2
y=3*x–1
x=y
PRINT 3*x–1
END
A.5 B.15 C.11 D.14
14.若下面的程序运行之后输出的值为16,那么输入的值x应该是
INPUT x
IF x<0 THEN
y=(x+1)*(x+1)
ELSE
y=(x–1)*(x–1)
END IF
PRINT y
END
A.3或 B. C.5或 D.5或
15.阅读下面的程序:
a=3
IF a<=3 THEN
PRINT 3
END IF
IF a<=4 THEN
PRINT 4
END IF
IF a<=5 THEN
PRINT 5
END IF
IF a<=6 THEN
PRINT 6
END IF
END
程序运行的结果是
A.3 B.3 4
C.3 4 5 D.3 4 5 6
16.下面为一个求50个数的平均数的程序,在横线上应填充的语句为
S=0
i=1
DO
INPUT x
S=S+x
i=i+1
LOOP UNTIL __________
a=S/20
PRINT a
END
A.i>50 B.i<50 C.i>=50 D.i<=50
17.如图程序的输出结果为__________.
x=4
y=3
x=x+y
y=x+y
PRINT (x,y)
END
18.计算机执行下面的程序后,输出的结果是__________.
a=1
b=3
a=a+b
b=a–b
PRINT a,b
END
19.根据所给的程序,可知输出的结果S为________.
S=1
I=1
WHILE I8
S=S+2
I=I+3
WEND
PRINT S
END
20.下列程序运行的结果是__________.
n=15
S=0
i=1
WHILE i<=n
S=S+i
i=i+2
WEND
PRINT S
END
21.已知函数,对输入的每一个x值,都得到相应的函数值,请画出程序框图并写出程序.
22.编写一个程序,求满足的的最小值.
23.给出30个数:1,2,4,7,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,依次类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示):
(1)图中①处和②处应填上什么语句,使之能完成该题算法功能;
(2)根据程序框图写出程序.
参考答案
1
2
3
4
5
6
7
8
9
12
13
14
15
16
A
B
C
B
D
C
D
C
D
B
D
D
D
A
1.【答案】A
【解析】赋值语句的功能:赋值语句可以给变量提供初始值,可以将表达式的值赋给变量,可以给一个变量重复赋值.故选A.
2.【答案】B
3.【答案】C
【解析】A的初始值为10,通过下一个赋值语句把10+15的计算结果赋给变量A,即可得到25,然后输出.故选C.
4.【答案】B
【解析】模拟执行程序,x=3,y=3+3=6,x=6+3=9.输出x,y的值:9,6.故选B.
5.【答案】D
【解析】本题主要考查算法语句的运用.对于分段函数的算法,输入语句和输出语句都是需要的,条件语句也是需要的,只有循环语句不可能用到,故选D.
6.【答案】C
【解析】因为x=60>50,所以y=25+0.6×(60–50)=31,故选C.
7.【答案】D
【解析】根据程序可知,共输入10个数,由“A=S/10”可知是求10个数的平均数.
8.【答案】C
9.【答案】D
【解析】①错,变量之间应用“,”隔开;②错,不能输入赋值语句;③错,不能输出赋值语句;④对,可以输出数值和表达式.故选D.
10.【答案】
【解析】模拟执行程序的运行过程知,该程序的功能是输出函数y=的值.又输出y的值为2,则当x≥1时,令y=x2=2,解得x=;当x<1时,令y=–x2+1=2,无解,所以输入x的值为.故答案为:.
11.【答案】详见解析.
【解析】根据题意,所求的程序框图如下:
12.【答案】B
【解析】①中输入语句可以给变量赋值,不能给表达式赋值,所以①错误;②中表示变量减去5后再赋给,即完成后,比原来的值小5,所以②正确;③中不能输出赋值语句,所以③错误.故选B.
13.【答案】D
【解析】把2赋值给变量x,再把3x–1赋值给变量y,此时y=5,再把y赋值给变量x,此时x=5,再输出这个表达式的值,是,故选D.
14.【答案】D
15.【答案】D
【解析】本题主要考查了条件语句的叠加,程序执行条件语句的叠加的过程中对于所有的条件都要进行判断,依次验证每一个条件,直到结束.在本题中共出现四次条件判断,每一个条件都成立,故输出结果为3 4 5 6.故选D.
16.【答案】A
【解析】由程序的功能是求50个数的平均数,则循环体共需要执行50次,由循环变量的初值为1,步长为1.故当循环50次时,此时循环变量的值为51,应退出循环,又因直到型循环是满足条件退出循环,本题即i>50时退出循环.故选A.
17.【答案】(7,10)
【解析】模拟程序的运行,如下:
x=4,
y=3
x=4+3=7,
y=7+3=10.
故输出结果为(7,10).故答案为:(7,10).
18.【答案】4,1
19.【答案】7
【解析】第一次循环:;第二次循环:;第三次循环:,结束循环,故输出的为7.
20.【答案】64
【解析】先画出对应的程序框图,如下:
执行程序,有S=0,i=1
第1次循环,满足条件i≤15,有S=1,i=3;
21.【答案】详见解析
【解析】程序框图如图所示:
程序如下:
INPUT x
IF x>=0 THEN
y=x^2–1
ELSE
y=2*x^2–5
END IF
PRINT y
END
22.【答案】详见解析.
【解析】用WHILE语句编写的程序如下:
S=1
n=1
WHILE S<=10
n=n+1
S=S+1/n
WEND
PRINT n
END
用UNTIL语句编写的程序如下:
S=1
n=1
DO
n=n+1
S=S+1/n
LOOP UNTIL S>10
PRINT n
END
23.【答案】(1)①处应填i≤30?②处应填p=p+i(2)程序详见解析.
故②中应填写p=p+i.
即①处应填i≤30?②处应填p=p+i;
(2)程序如下所示:
i=1
p=1
S=0
WHILE i<=30
S=S+p
p=p+i
i=i+1
WEND
PRINT S
END