基本算法语句
【基础知识】
1.输入、输出语句
输入语句INPUT 对应框图中表示输入的平行四边形框
输出语句PRINT 对应框图中表示输出的平行四边形框
2.赋值语句
格式为变量=表达式,对应框图中表示赋值的矩形框
3.条件语句一般有两种:IF—THEN语句;IF—THEN—ELSE语句.语句格式及对应框图如下.(1)IF—THEN—ELSE格式
当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.
(2)IF—THEN格式
4.算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中有当型(WHILE型)和直到型(UNTIL型)两种语句结构,即WHILE语句和UNTIL语句.
(1)WHILE语句
(2)UNTIL语句
5.
......................................巧是把题目中的算法语言依照上面的对应关系翻译成框图。
.....解决算法语言试题的基本技
..温馨提示:
【例题分析】
考点一 输入、输出和赋值语句的应用
例1 分别写出下列语句描述的算法的输出结果: (1) a =5b =3c =(a +b )/2d =c*c
PRINT “d =”;d
(2)
a =1
b =2
c =a +b b =a +c -b
PRINT “a =,b =,c =”;a ,b ,c
【解答】 (1)∵a =5,b =3,c =a +b 2
=4, ∴d =c 2=16,即输出d =16.
(2)∵a =1,b =2,c =a +b ,∴c =3,又∵b =a +c -b ,
即b =1+3-2=2,∴a =1,b =2,c =3,
即输出a =1,b =2,c =3.
练习1 请写出下面运算输出的结果__________.
a =10
b =20
c =30
a =
b b =c
c =a
PRINT “a =,b =,c =”;a ,b ,c
【解答】经过语句a =b ,b =c 后,b 的值赋给a ,c 的值赋给b ,即a =20,b =30,再经过语句c =a 后,a 的当前值20赋给c ,∴c =20.故输出结果a =20,b =30,c =20.
考点二 条件语句的应用
例2 阅读下面的程序,当分别输入x =2,x =1,x =0时,输出的y 值分别为________、________、________.
INPUT “x =”;x
IF x>1 THEN
y =1/(x -1)
ELSE
IF x =1 THEN
y =x^2 ELSE
y =x^2+1/(x -1)
END IF
END IF
PRINT y
END
【解答】计算机执行这种形式的条件语句时,是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句;如果条件不符合,则直接结束该条件语句,转而执行其他语句,嵌套时注意内外分层,避免逻辑混乱.
由程序可知分段函数是:
y =⎩⎪⎨⎪⎧ x 2+1x -1, x<1x 2, x =1
1x -1, x>1
∴输入x =2,输出1;
输入x =1,输出1;
输入x =0,输出-1. 故输出的y 的值1,1,-1
练习2 阅读下面的程序,写出程序运行的结果.
(1)若x =6,则P =______;(2)若x =20,则P =______.
【解答】(1)2.1 (2)10.5
考点三 循环语句的应用
例3 下列程序执行后输出的结果是( )
n =5
s =0
WHILE s<14
s =s +n n =n -1
WEND
PRINT n
END
A .-1
B .0
C .1
D .2
【解答】解题导引 解答这类问题的关键是认真阅读程序,理解程序功能.必要时,根据程序画出框图辅助分析.
C [由程序画出对应的程序框图,这是一个当型循环语句.
由框图可知,该程序的功能是计算s =5+4+…+n 到首次不小于14的n -1的值,即(s ,n)由以下运
算得:(0,5)→(0+5,5-1)→(5+4,4-1)→(9+3,3-1)→(12+2,2-1),所以输出n =1.]
练习3 下面的程序运行后第3个输出的数是( )
A .1
B.32 C .2 D.52
【解答】C [该程序中关键是循环语句,
第一次输出的数是1,
第二次输出的数是x =1+12=32
, 第三次输出的数是x =1+12+12
=2.]
【课后练习】
1.(2011·银川模拟)下面程序运行的结果是( ) i =1
S =0
WHILE i<=100
S =S +i i =i +1
WEND
PRINT S
END
A .5 050
B .5 049
C .3
D .2
【解答】A [该程序的功能是求S =1+2+…+100的值.由等差数列求和公式得,S =1002
×(1+100)=5 050.]
2.下面程序运行后,输出的值是( )
i =0
DO
i =i +1
LOOP UNTIL i*i>=2 000 i =i -1
PRINT i
END
A .42
B .43
C .44
D .45
【解答】C [程序功能是求使i 2≥2 000成立的最小i 值,输出结果为i -1.∵442=1 936,452=2 025>2 000,∴输出结果为44.]
3.利用计算机计算:s =
11×2+12×3+13×4+…+199×100
,某同学编写的程序语句中,①处应填________.
【解答】k >99
解析 循环体执行到k =99.
4.为了在运行下面的程序之后得到y =25,键盘输入的x 应该是________.
INPUT x
IF x<0 THEN
y =(x +1)*(x +1)
ELSE y =(x -1)*(x -1)
END IF
PRINT y
END
【解答】-6或6
解析 程序对应的函数是y =⎩⎪⎨⎪⎧
(x +1)2,x<0(x -1)2,x ≥0. 由题意得,⎩⎨⎧ x<0(x +1)2=25,或⎩
⎨⎧
x ≥0(x -1)2=25, 解得x =-6或x =6.
5.当a =1,b =3时,执行完如下的一段程序后x 的值是( )
INPUT a,b
IF a<b THEN
x =a +b
ELSE
x =a -b
END IF
A .1
B .3
C .4
D .-2
【解答】C [∵1<3,∴x =1+3=4.]
6.(2011·淄博统考)当x =2时,下面的程序运行结果是( )
i =1
s =0
WHILE i<=4
s =s*x +1 i =i +1
WEND
PRINT s
END
A .3
B .7
C .15
D .17
【解答】C [当x =2时,i =1≤4,s =0×2+1=1;
i =1+1=2≤4,s =1×2+1=3;
i =2+1=3≤4,s =3×2+1=7;
i =3+1=4≤4,s =7×2+1=15;
i =4+1=5>4,输出s =15.]
7.(2011届温州期末)下列程序执行后输出的结果是________________________. i =11
s =1
DO
s =s*i i =i -1
LOOP UNTIL i<9
PRINT s
END
【解答】990
解析由题意s=11×10×9=990.。