还剩22页未读,
继续阅读
2020届二轮复习基本算法语句教案(全国通用)
展开
板块二.基本算法语句
知识内容
Basic语言(A版)
1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本的语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.
2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.
一般格式:变量=表达式.其中, “=”叫做赋值号.
作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.
3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.
一般格式:INPUT “提示内容”;变量
例:INPUT “Maths=”; a,
INPUT “Chinese=”;b
c=(a+b)/2
END
表示输入数学与语文的成绩,其中c表示它们的平均数.
4.输出语句:以某种形式把求解结果输出的语句.
一般格式:PRINT “提示内容”;表达式
如上例中输出平均成绩可以用:PRINT “The average=”;(a+b)/2
5.条件语句:处理条件结构的算法语句.有以下两种基本格式:
一般格式1:IF 条件 THEN
语句体
END IF
计算机执行语句时,先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.
一般格式2:IF 条件 THEN
语句体1
ELSE
语句体2
END IF
计算机执行语句时,先对IF后条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.
6.循环语句:处理算法中的循环结构的语句;
有两种基本语句:UNTIL语句和WHILE语句,前者称为直到型循环语句,后者称为当型循环语句.
UNTIL语句:DO
循环体
LOOP UNTIL 条件
WHILE语句的一般格式:WHILE 条件
循环体
WEND
Scilab程序语言(B版)
1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.
2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.
一般格式:变量名表达式;其中“”叫做赋值号.
作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.
3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.
Scilab中的输入语句常用的是:“input”;
一般格式:变量名=input(“提示内容”)
例:a=input(“x1”);b=input(“x2”);aver=(a+b)/2
表示输入,的值,求它们的算术平均数,
在Scilab界面内运行结果如下:
-->a=input("x1");b=input("x2");aver=(a+b)/2
x1-->
此时通过键盘输入x1的值,如,再按“Enter”键,界面出现:
x2-->
输入x2的值,如,再按“Enter”键,这时界面出现:
aver =
5.
4.输出语句:以某种形式把求解结果输出的语句.
Scilab中有:print,write,format,printf,disp等输出语句,主要介绍print语句:
一般格式:print(%io(2),表达式);其中参数%io(2)表示在屏幕上输出.
5.条件语句:处理条件分支结构的算法语句.
Scilab程序语言中常用的条件语句为if语句.
一般格式:if 表达式
语句序列1;
else
语句序列2;
end
最简格式:if 表达式
语句序列1;
end
6.循环语句:处理算法中的循环结构的语句;
Scilab有两种循环语句:for循环和while循环.
for循环的格式:for 循环变量=初值:步长:终值
循环体;
end
while语句的一般格式:while 表达式(即条件)
循环体;
end
<教师备案>
1.计算机能够直接或间接理解的程序语言有很多种,比如C语言,Basic语言,以及一些应用数学软件:Matlab,Mathsmatics,Scilab对应的计算机语言.这里的基本语句结构在这些语言中都是存在的,但是对应不同的程序语言,都会有自己的输入指令与方法.这里是以一种语言为例,让大家理解程序语句的含义,为以后深入学习程序设计打下基础.
2.赋值语句:
⑴赋值号左边只能是变量名,而不是表达式;如是错误的;
⑵赋值号左右不能对换,是将赋值号右边的表达式的值赋给左边的变量;如表示用的值替代变量原先的值,与不同;
⑶不能利用赋值语句进行代数式(或符号)的演算;如是不能实现的;并且在一个赋值语句中,只能给一个变量赋值;
⑷赋值号与数学中的等号的意义不同,执行赋值语句后,右面表达式的值会赋给左边,如果左边变量原来有一个值,会自动被冲掉,如表示将的原值加再赋给,即的值加.
3.输入语句:在某些算法中,变量的初值要根据情况经常地改变,一般我们把程序与初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要程序运行时,输入相应的数据即可,这个过程在程序语言中,用“输入语句”来控制.输入语句中还有read输入语句等.
输入语句要求输入的一般都是具体的常数,也可输入单个或多个字符,格式为:
变量名=input(“提示内容”,“string”),string表示输入字符型变量.
4.循环语句:
for语句:先把初值赋给循环变量,记下终值和步长,循环变量增值到超过终值时,执行end后面的语句,不超过时,执行for后面的语句;循环变量起计数作用,控制算法中循环次数,有初值与终值,步长是指循环变量每次增加的值,步长为时,可以省略;
while语句:先判断条件是否成立,并在符合条件时,执行循环体;直到某次不符合时,跳到end后面的语句.
对应的基本框图是:
5.在程序语言中,乘、除、乘方、求平方根、绝对值,分别用下列符号表示:*、/、^、sqrt()、abs().程序语言中,一般“=”为赋值号,“==”表示等号.
、、分别写成:、、.
在程序中,如果赋值语句后面用分号隔开,则被赋值的变量不会输出,一般不随便使用逗号或句号,而是直接使用回车或空格.
在Scilab语句中,变量名一般用一个字母表示,不可以用几个字母表示.如可以用s表示变量名,但不能用sum表示变量名,但在有些程序语言中,可以用多个字母表示变量名.
典例分析
题型一:Basic语言(A版)
【例1】 下列程序(QBASIC语言)运行时,循环体内语句执行的次数和输出的结果分别是( )
A. B. C. D.
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】A
【例2】 下边程序运行后的输出结果为( )
A. B. C. D.
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例3】 对赋值语句的描述正确的是( )
①可以给变量提供初值 ②将表达式的值赋给变量
③可以给一个变量重复赋值 ④不能给同一变量重复赋值
A.①②③ B.①② C.②③④ D.①②④
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】A
【例4】 判断下列赋值语句是否正确:①;②;③.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】
【答案】①不正确;②不正确;③正确.
【例5】 下列关于条件语句的叙述正确的是( )
A.条件语句中必须有ELSE和END IF
B.条件语句中可以没有END IF
C.条件语句中可以没有ELSE,但必须有END IF结束
D.条件语句中可以没有END IF,但必须有ELSE
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例6】 下边方框中为一个求20个数的平均数的程序,则在横线上应填的语句为( )
A.i>20 B.i<20C.i>=20 D.i<=20
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】 该算法程序中,使用了UNTIL循环语句,按照该种循环特征,当某一次条件满足时,不再执行循环体,跳到LOOP UNTIL句的后面,执行其他的语句.根据问题要求,应填i>20.
【答案】A
【例7】 已知有两位同学的成绩在录入时被弄混,他们的成绩分别为,,试写出一个程序,将它们的分数调整过来.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 INPUT A,B
x=A
A=B
B=x
PRINT A,B
END
【答案】
【例8】 将下列的程序补充完整
INPUT x
IF x<=0 THEN
y=x*x—1;
ELSE y=-x*x-1;
END IF
PRINT y
END
输入,输出结果为_______;输入,输出结果为_____.
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 ,故;,;故输出的结果分别为;
【答案】
【例9】 在求时,下列程序中所缺少的一步是:
i=1
s=0;
DO
s=s+i
i=i+1
LOOP UNTIL __________
PRINT s
END
如果要用WHILE循环语句计算此式的值,请写出相应的程序.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 缺少的一步是:.
用WHILE循环语句:
s=0
i=1
WHILE i<=50
s=s+i
i=i+1
WEND
PRINT s
END
【答案】
【例10】 写出下列程序的运行结果:______.
i=0
s=0
WHILE i<=20
s=s+i
i=i+1
WEND
PRINT s
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,循环到为止,当时,跳出循环,
故;输出结果为;
【答案】
【例11】 写出下列程序的运行结果:________.
i=0
s=0;
WHILE i<=20
i=i+1
s=s+i
WEND
PRINT s
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,增加到时,加到上,循环到时,增加后,加到上,故;输出结果为.
【答案】
【例12】 写一个程序,对于任意输入三个变量,输出它们的平方和的算术平方根的值.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 INPUT “a,b,c=”;a,b,c
d=a*a+b*b+c*c
d=SQR(d)
PRINT d
END
【答案】
【例13】 下列程序执行后输出的结果是 .
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 程序反映出的算法过程为
i=11S=11×1,i=10
i=10S=11×10,i=9
i=9 S=11×10×9,i=8
i=8<9退出循环,执行PRINT S
故S=990.
【答案】
【例14】 已知函数,对每输入的一个值,都得到相应的函数值,画出程序框图并编写程序.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:INPUT x
IF x>=0
y=2*x+3;
ELSE
y=2*x*x-x;
END IF
PRINT y
END
程序框图:
【答案】
【例15】 分别用WHILE语句和UNTIL语句写出计算的值的算法,并写出程序框图.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 WHILE语句:
i=1
s=0
WHILE i<=100
s=s+1/i
i=i+1
WEND
PRINT s
END
UNTIL语句:
i=1
s=0
DO
s=s+1/i
i=i+1
LOOP UNTIL i>100
PRINT s
END
程序框图:
【答案】
【例16】 写一个程序求所有立方不大于10000的正整数.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 i=1
WHILE i*i*i<=10000,
PRINT i
i=i+1
WEND
END
【答案】
【例17】 写出将任意三个整数、、按从小到大的顺序排列的算法,画出相关的程序框图,并写出程序.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 用数学语言写此排序算法:
S1:输入、、三个数的值;
S2:如果,则;
S3:如果,则;
S4:如果,则;
S5:依次输出、、的值,即为所求的从小到大的排列.
程序:
INPUT a,b,c
IF b t=a,a=b,b=t
END IF
IF c t=a,a=c,c=t
END IF
IF c t=b,b=c,c=t
END IF
PRINT a,b,c
END
程序框图:
【答案】
【例18】 已知等式中方框□内是同一个数字,设计算法和程序求出该数字.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】可以直接用1-9中的数字一一进行检验,故考虑用循环语句:
【解析】 程序:
WHILE循环:
i=1
WHILE i<=9
m=(10*i+3)*6528 n=(30+i)*8256
IF m==n
PRINT i
END IF
i=i+1
WEND
END
UNTIL循环:
i=1
DO
m=(10*i+3)*6528
n=(30+i)*8256
IF m=n THEN
PRINT i
END IF
i=i+1
LOOP UNTIL i>9
END
【答案】
【例19】 下面的程序运行时输出的结果是_______.
i=1
y=1
DO
y=y+i
i=i+1
LOOP UNTIL i>5
PRINT y
END
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 y=1+1+1+2+3+4+5=16,故输出结果为16.
【答案】
【例20】 请写出计算的程序,并作出相应的程序框图.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 UNTIL循环语句:
i=1
s=0
DO
s=s+i*i;
LOOP UNTIL i>50
PRINT s
END
WHILE循环语句:
i=1
s=0
WHILE i<=50
s=s+i*i
i=i+1
WEND
PRINT s
程序框图:
【答案】
【例21】 下列给出的赋值语句中正确的是( )
A.4 = M B.M =-M C.B=A-3 D.x + y = 0
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例22】 下边程序执行后输出的结果是( )
A.-1 B.0 C.1 D.2
n=5
s=0
WHILE s<15
s=s+n
n=n-1
WEND
PRINT
END
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】B
【例23】 如果下边程序执行后输出的结果是132,那么在程序until后面的“条件”应为( )
A.i > 11 B. i >=11 C.i <=11 D.i<11
i=12
s=1
DO
s= s ※ i
i = i-1
LOOP UNTIL “条件”
PRINT s
END
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】D
【例24】 对甲、乙两程序和输出结果判断正确的是( )
A.程序不同,结果不同 B.程序不同,结果相同
C.程序相同,结果不同 D.程序相同,结果相同
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】 从两个程序可知它们的程序语句不同,但其算法都是求,故结果相同.
【答案】B
【例25】 如图所示,在边长为的正方形的边上有一点,沿着折线,由点(起点)向点(终点)运动.设点运动的路程为,的面积为,求与之间的函数关系式.并画出程序框图,写出程序.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】无
【解析】 由题意可得
程序框图如图:
程序:
INPUT “x=”;x
IF x>=0 AND x<=4 THEN
y=2*x
ELSE
IF x<=8 THEN
y=8
ELSE
y=2*(12-x)
END IF
END IF
PRINT y
END
【答案】
【例26】 已知分段函数编写程序,输入自变量的值,输出其相应的函数值,并画出程序框图.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序框图与程序分别如下面所示:
【答案】
【例27】 2018年9月发生了“三鹿奶粉污染”事件,主要是在一些企业生产的奶制品中检测出含三聚氰胺,三聚氰胺是一种有毒的化工原料,俗称“假蛋白”.蛋白质主要由氨基酸组成,蛋白质平均含氮量16%左右,而三聚氰胺的含氮量为66%左右,不法分子往往在奶制品中加三聚氰胺主要是因为它能冒充蛋白质.2018年9月16日国家质检总局公布了22家企业生产的婴幼儿配方奶粉中含有三聚氰胺,其中最高含量为mg/kg,最低含量为 mg/kg.设计一个求含量高于mg/kg的婴幼儿配方奶粉的平均含量的程序框图,并写出程序.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】无
【解析】 程序框图:
程序:
S=0
M=0
i=1
DO
INPUT x
IF x>20 THEN
S=S+x
M=M+1
END IF
i=i+1
LOOP UNTIL i>22
P=S/M
PRINT P
END
【答案】
【例28】 高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】无
【解析】 程序框图与程序如下:
【答案】
题型二:Scilab程序语言(B版)
【例29】 已知有两位同学的成绩在录入时分别被记到对方的名字上,分别为分,试写出一个程序,将它们的分数调整过来.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 input(“x=”);
input(“y=”);
p=x;x=y;y=p
【答案】
【例30】 设,则可以实现、的值互换的程序是( )
A.
B.
C.
D.
【考点】Scilab程序语言 【难度】1星 【题型】选择
【关键词】2009,海淀,高二,期中测试
【解析】
【答案】C
【例31】 在界面内,输入如下程序:
在输入完程序,击键后,输出的值为( )
A. B. C. D.
【考点】Scilab程序语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例32】 为了在运行下列程序之后输出,键盘输入的值应为 .
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】2009,海淀,高二,期中测试
【解析】
【答案】或
【例33】 下面程序输出的结果是 .(注:表示的绝对值)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】2009,海淀,高二,期中测试
【解析】
【答案】
【例34】 写一个程序,对于任意输入三个变量,输出它们的平方和的算术平方根的值.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 程序:
a=input(“a=”);b=input(“b=”);c=input(“c=”);
d=a*a+b*b+c*c;
print(%io(2),sqrt(d))
【答案】
【例35】 将下列的程序补充完整或写出程序的运行结果
x=input(“x=”);
if x<=0
y=x*x—1;
else y=-x*x-1;
end
print(%io(2),y)
输入,输出结果为_______;输入,输出结果为_____.
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 ,故;,;故输出的结果分别为;
【答案】
【例36】 以下给出的是用条件语句编写的一个程序:
x=input(“x=”);
if x<1;
y=1-2x;
else
y=1+2x;
end
print(%io(2),y)
若输入,输出的结果是______.
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 ,故输出.
【答案】
【例37】 已知函数,对每次输入的一个值,都得到相应的函数值,画出程序框图并编写程序.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:x=input(“x=”);
if x>=0
y=2*x+3;
else
y=3*x*x-x;
end
print(%io(2),y)
程序框图:
【答案】
【例38】 在求时,下列程序中所缺少的一步是:
s=0;
for i=1:1:50
____________
end
print(%io(2),s)
如果要用while循环语句计算此式的值,请写出相应的程序.
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 缺少的一步是:.
用while循环语句:
s=0;i=1;
while i<=50
s=s+i;i=i+1;
end
print(%io(2),s)
【答案】
【例39】 分别用while语句和for语句写出计算的值的算法,并写出程序框图.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:
while语句:
i=1;
s=0;
while i<=100
s=s+1/i;
i=i+1;
end
print(%io(2),s)
for语句:
s=0;
for i=1:1:100(或:i=1:100)
s=s+1/i;
end
print(%io(2),s)
程序框图:
【答案】
【例40】 写出将任意三个整数按从小到大的顺序排列的算法,画出相关的程序框图,并写出程序.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 用数学语言写此排序算法:
S1:输入、、三个数的值;
S2:如果,则;
S3:如果,则;
S4:如果,则;
S5:依次输出、、的值,即为所求的从小到大的排列.
程序框图:
程序:
a=input(“a=”);b=input(“b=”);c=input(“c=”);
if b t=a,a=b,b=t
end
if c t=a,a=c,c=t;
end
if c t=b,b=c,c=t;
end
print(“%io(2)”,c,b,a)
【答案】
【例41】 写出下列程序的运行结果:______.
i=0;s=0;
while i<=20
s=s+i;i=i+1;
end
print(%io(2),s)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,循环到为止,当时,跳出循环,
故;输出结果为;
【答案】
【例42】 写出下列程序的运行结果:________.
i=0;s=0;
while i<=20
i=i+1;s=s+i;
end
print(%io(2),s)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,增加到时,加到上,循环到时,增加后,加到上,故;输出结果为.
【答案】
【例43】 已知等式(表示两位数),设计算法和程序求出该数字.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 可以直接用1-9中的数字一一进行检验,故考虑用循环语句:
while循环:
i=1;
while i<=9
if (10*i+3)*6528-(30+i)*8256==0
print(%io(2),i)
end
i=i+1;
end
for循环:
for i=1:10
if (10*i+3)*6528-(30+i)*8256==0
print(%io(2),i)
end
i=i+1
end
【答案】
【例44】 已知函数,对每次输入的一个值,都得到相应的函数值,画出程序框图并编写程序.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:x=input(“x=”);
if x>=0
y=2*x+3;
else
y=3*x*x-x;
end
print(%io(2),y)
程序框图:
【答案】
【例45】 编写程序判断输入的数是否为正数,若是,输出它的平方,若不是,输出它的相反数.则下面的空白部分应填.
x=input(“x=”);
if
y=-x;
else
y=x*x;
disp(y)
end
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】
【答案】x<=0
【例46】 画出程序框图,编写程序,输入任意两个实数,输出其差的绝对值.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 设是任意两个实数,
程序如下:
a=input(“a=”);
b=input(“b=”);
if a>b
a-b;
else
b-a;
end
框图如下:
【答案】
【例47】 写一个程序求所有立方不大于的正整数.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 程序:i=1;
while i*i*i<=10000
print(%io(2),i)
i=i+1;
end
【答案】
【例48】 下面的程序运行时输出的结果是_______.
y=1;
for i=1:1:5;
y=y+i;
end
print(%io(2),y)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 y=1+1+2+3+4+5=15,故输出结果为.
【答案】
【例49】 如下程序执行后输出的结果是
n=5;
s=0;
while s<12
s=s+n;
n=n-1;
end
print(%io(2),n).
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】
【答案】
【例50】 编写程序求的值.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 用for循环:
s=0;
for i=1:1:99
s=s+i;
end
print(%io(2),s)
用while语句:
i=1;
s=0;
while i<=99
s=s+i;
i=i+1;
end
print(%io(2),s)
【答案】
【例51】 请写出计算的程序,并作出相应的程序框图.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:for循环语句:
s=0;
for i=1:1:50
s=s+i*i;
end
print(%io(2),s)
while循环语句:
i=1;s=0;
while i<=50
s=s+i*i;
i=i+1;
end
print(%io(2),s)
程序框图:
【答案】
【例52】 公司二级质检单位若对100件产品编号00-99,并利用程序program-1随机生成的整数为产品序号,从100件产品中再抽取10个样本.
试根据下列参考材料①至③及对program-1程序要求,完成program-1程序编写.
01 i=1;
02 while i<=________(1)
03 a(i)=floor(100*rand());
04 b=a(i);
05 k=1;
06 j=0;
07 while k<=i-1
08 if(a(k)-b)==0;
09 j=1;
10 end
11 k=______;(2)
12 end
13 if j==1
14 i=______;(3)
15 end
16 i=_______;(4)
17 end
18 a
【参考材料】:
①rand()生成之间的随机数;
②floor(4.5)=4,floor(0.2)=0;
③下为给三个变量赋值并对三个变量的值运算的程序program-2
01 for i=1:3
02 a(i)=2*I;
03 end
04 s=a(2)+a(3);
05 a
06 s
程序program-2执行结果如下图:
【考点】Scilab程序语言 【难度】2星 【题型】填空
【关键词】2018-2018,北大附中,必修模块3试题
【解析】
【答案】10;k+1;i-1;i+1
【例53】 高一(2)班期中考试结束后,给出了全班50名同学的数学成绩,规定60分以上为及格,试设计算法程序框图,统计出全班的及格人数、及格人数的平均分和全班同学的平均分,并写出相应的算法程序.
【考点】Scilab程序语言 【难度】3星 【题型】解答
【关键词】无
【解析】 记及格人数为,及格的分数为,及格人数的平均分为,全班同学的平均分为.算法的程序如下:
【答案】
板块二.基本算法语句
知识内容
Basic语言(A版)
1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本的语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.
2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.
一般格式:变量=表达式.其中, “=”叫做赋值号.
作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.
3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.
一般格式:INPUT “提示内容”;变量
例:INPUT “Maths=”; a,
INPUT “Chinese=”;b
c=(a+b)/2
END
表示输入数学与语文的成绩,其中c表示它们的平均数.
4.输出语句:以某种形式把求解结果输出的语句.
一般格式:PRINT “提示内容”;表达式
如上例中输出平均成绩可以用:PRINT “The average=”;(a+b)/2
5.条件语句:处理条件结构的算法语句.有以下两种基本格式:
一般格式1:IF 条件 THEN
语句体
END IF
计算机执行语句时,先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.
一般格式2:IF 条件 THEN
语句体1
ELSE
语句体2
END IF
计算机执行语句时,先对IF后条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.
6.循环语句:处理算法中的循环结构的语句;
有两种基本语句:UNTIL语句和WHILE语句,前者称为直到型循环语句,后者称为当型循环语句.
UNTIL语句:DO
循环体
LOOP UNTIL 条件
WHILE语句的一般格式:WHILE 条件
循环体
WEND
Scilab程序语言(B版)
1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.
2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.
一般格式:变量名表达式;其中“”叫做赋值号.
作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.
3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.
Scilab中的输入语句常用的是:“input”;
一般格式:变量名=input(“提示内容”)
例:a=input(“x1”);b=input(“x2”);aver=(a+b)/2
表示输入,的值,求它们的算术平均数,
在Scilab界面内运行结果如下:
-->a=input("x1");b=input("x2");aver=(a+b)/2
x1-->
此时通过键盘输入x1的值,如,再按“Enter”键,界面出现:
x2-->
输入x2的值,如,再按“Enter”键,这时界面出现:
aver =
5.
4.输出语句:以某种形式把求解结果输出的语句.
Scilab中有:print,write,format,printf,disp等输出语句,主要介绍print语句:
一般格式:print(%io(2),表达式);其中参数%io(2)表示在屏幕上输出.
5.条件语句:处理条件分支结构的算法语句.
Scilab程序语言中常用的条件语句为if语句.
一般格式:if 表达式
语句序列1;
else
语句序列2;
end
最简格式:if 表达式
语句序列1;
end
6.循环语句:处理算法中的循环结构的语句;
Scilab有两种循环语句:for循环和while循环.
for循环的格式:for 循环变量=初值:步长:终值
循环体;
end
while语句的一般格式:while 表达式(即条件)
循环体;
end
<教师备案>
1.计算机能够直接或间接理解的程序语言有很多种,比如C语言,Basic语言,以及一些应用数学软件:Matlab,Mathsmatics,Scilab对应的计算机语言.这里的基本语句结构在这些语言中都是存在的,但是对应不同的程序语言,都会有自己的输入指令与方法.这里是以一种语言为例,让大家理解程序语句的含义,为以后深入学习程序设计打下基础.
2.赋值语句:
⑴赋值号左边只能是变量名,而不是表达式;如是错误的;
⑵赋值号左右不能对换,是将赋值号右边的表达式的值赋给左边的变量;如表示用的值替代变量原先的值,与不同;
⑶不能利用赋值语句进行代数式(或符号)的演算;如是不能实现的;并且在一个赋值语句中,只能给一个变量赋值;
⑷赋值号与数学中的等号的意义不同,执行赋值语句后,右面表达式的值会赋给左边,如果左边变量原来有一个值,会自动被冲掉,如表示将的原值加再赋给,即的值加.
3.输入语句:在某些算法中,变量的初值要根据情况经常地改变,一般我们把程序与初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要程序运行时,输入相应的数据即可,这个过程在程序语言中,用“输入语句”来控制.输入语句中还有read输入语句等.
输入语句要求输入的一般都是具体的常数,也可输入单个或多个字符,格式为:
变量名=input(“提示内容”,“string”),string表示输入字符型变量.
4.循环语句:
for语句:先把初值赋给循环变量,记下终值和步长,循环变量增值到超过终值时,执行end后面的语句,不超过时,执行for后面的语句;循环变量起计数作用,控制算法中循环次数,有初值与终值,步长是指循环变量每次增加的值,步长为时,可以省略;
while语句:先判断条件是否成立,并在符合条件时,执行循环体;直到某次不符合时,跳到end后面的语句.
对应的基本框图是:
5.在程序语言中,乘、除、乘方、求平方根、绝对值,分别用下列符号表示:*、/、^、sqrt()、abs().程序语言中,一般“=”为赋值号,“==”表示等号.
、、分别写成:、、.
在程序中,如果赋值语句后面用分号隔开,则被赋值的变量不会输出,一般不随便使用逗号或句号,而是直接使用回车或空格.
在Scilab语句中,变量名一般用一个字母表示,不可以用几个字母表示.如可以用s表示变量名,但不能用sum表示变量名,但在有些程序语言中,可以用多个字母表示变量名.
典例分析
题型一:Basic语言(A版)
【例1】 下列程序(QBASIC语言)运行时,循环体内语句执行的次数和输出的结果分别是( )
A. B. C. D.
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】A
【例2】 下边程序运行后的输出结果为( )
A. B. C. D.
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例3】 对赋值语句的描述正确的是( )
①可以给变量提供初值 ②将表达式的值赋给变量
③可以给一个变量重复赋值 ④不能给同一变量重复赋值
A.①②③ B.①② C.②③④ D.①②④
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】A
【例4】 判断下列赋值语句是否正确:①;②;③.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】
【答案】①不正确;②不正确;③正确.
【例5】 下列关于条件语句的叙述正确的是( )
A.条件语句中必须有ELSE和END IF
B.条件语句中可以没有END IF
C.条件语句中可以没有ELSE,但必须有END IF结束
D.条件语句中可以没有END IF,但必须有ELSE
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例6】 下边方框中为一个求20个数的平均数的程序,则在横线上应填的语句为( )
A.i>20 B.i<20C.i>=20 D.i<=20
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】 该算法程序中,使用了UNTIL循环语句,按照该种循环特征,当某一次条件满足时,不再执行循环体,跳到LOOP UNTIL句的后面,执行其他的语句.根据问题要求,应填i>20.
【答案】A
【例7】 已知有两位同学的成绩在录入时被弄混,他们的成绩分别为,,试写出一个程序,将它们的分数调整过来.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 INPUT A,B
x=A
A=B
B=x
PRINT A,B
END
【答案】
【例8】 将下列的程序补充完整
INPUT x
IF x<=0 THEN
y=x*x—1;
ELSE y=-x*x-1;
END IF
PRINT y
END
输入,输出结果为_______;输入,输出结果为_____.
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 ,故;,;故输出的结果分别为;
【答案】
【例9】 在求时,下列程序中所缺少的一步是:
i=1
s=0;
DO
s=s+i
i=i+1
LOOP UNTIL __________
PRINT s
END
如果要用WHILE循环语句计算此式的值,请写出相应的程序.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 缺少的一步是:.
用WHILE循环语句:
s=0
i=1
WHILE i<=50
s=s+i
i=i+1
WEND
PRINT s
END
【答案】
【例10】 写出下列程序的运行结果:______.
i=0
s=0
WHILE i<=20
s=s+i
i=i+1
WEND
PRINT s
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,循环到为止,当时,跳出循环,
故;输出结果为;
【答案】
【例11】 写出下列程序的运行结果:________.
i=0
s=0;
WHILE i<=20
i=i+1
s=s+i
WEND
PRINT s
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,增加到时,加到上,循环到时,增加后,加到上,故;输出结果为.
【答案】
【例12】 写一个程序,对于任意输入三个变量,输出它们的平方和的算术平方根的值.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 INPUT “a,b,c=”;a,b,c
d=a*a+b*b+c*c
d=SQR(d)
PRINT d
END
【答案】
【例13】 下列程序执行后输出的结果是 .
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 程序反映出的算法过程为
i=11S=11×1,i=10
i=10S=11×10,i=9
i=9 S=11×10×9,i=8
i=8<9退出循环,执行PRINT S
故S=990.
【答案】
【例14】 已知函数,对每输入的一个值,都得到相应的函数值,画出程序框图并编写程序.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:INPUT x
IF x>=0
y=2*x+3;
ELSE
y=2*x*x-x;
END IF
PRINT y
END
程序框图:
【答案】
【例15】 分别用WHILE语句和UNTIL语句写出计算的值的算法,并写出程序框图.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 WHILE语句:
i=1
s=0
WHILE i<=100
s=s+1/i
i=i+1
WEND
PRINT s
END
UNTIL语句:
i=1
s=0
DO
s=s+1/i
i=i+1
LOOP UNTIL i>100
PRINT s
END
程序框图:
【答案】
【例16】 写一个程序求所有立方不大于10000的正整数.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 i=1
WHILE i*i*i<=10000,
PRINT i
i=i+1
WEND
END
【答案】
【例17】 写出将任意三个整数、、按从小到大的顺序排列的算法,画出相关的程序框图,并写出程序.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 用数学语言写此排序算法:
S1:输入、、三个数的值;
S2:如果,则;
S3:如果,则;
S4:如果,则;
S5:依次输出、、的值,即为所求的从小到大的排列.
程序:
INPUT a,b,c
IF b t=a,a=b,b=t
END IF
IF c t=a,a=c,c=t
END IF
IF c t=b,b=c,c=t
END IF
PRINT a,b,c
END
程序框图:
【答案】
【例18】 已知等式中方框□内是同一个数字,设计算法和程序求出该数字.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】可以直接用1-9中的数字一一进行检验,故考虑用循环语句:
【解析】 程序:
WHILE循环:
i=1
WHILE i<=9
m=(10*i+3)*6528 n=(30+i)*8256
IF m==n
PRINT i
END IF
i=i+1
WEND
END
UNTIL循环:
i=1
DO
m=(10*i+3)*6528
n=(30+i)*8256
IF m=n THEN
PRINT i
END IF
i=i+1
LOOP UNTIL i>9
END
【答案】
【例19】 下面的程序运行时输出的结果是_______.
i=1
y=1
DO
y=y+i
i=i+1
LOOP UNTIL i>5
PRINT y
END
【考点】Basic语言 【难度】1星 【题型】填空
【关键词】无
【解析】 y=1+1+1+2+3+4+5=16,故输出结果为16.
【答案】
【例20】 请写出计算的程序,并作出相应的程序框图.
【考点】Basic语言 【难度】1星 【题型】解答
【关键词】无
【解析】 UNTIL循环语句:
i=1
s=0
DO
s=s+i*i;
LOOP UNTIL i>50
PRINT s
END
WHILE循环语句:
i=1
s=0
WHILE i<=50
s=s+i*i
i=i+1
WEND
PRINT s
程序框图:
【答案】
【例21】 下列给出的赋值语句中正确的是( )
A.4 = M B.M =-M C.B=A-3 D.x + y = 0
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例22】 下边程序执行后输出的结果是( )
A.-1 B.0 C.1 D.2
n=5
s=0
WHILE s<15
s=s+n
n=n-1
WEND
END
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】B
【例23】 如果下边程序执行后输出的结果是132,那么在程序until后面的“条件”应为( )
A.i > 11 B. i >=11 C.i <=11 D.i<11
i=12
s=1
DO
s= s ※ i
i = i-1
LOOP UNTIL “条件”
PRINT s
END
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】D
【例24】 对甲、乙两程序和输出结果判断正确的是( )
A.程序不同,结果不同 B.程序不同,结果相同
C.程序相同,结果不同 D.程序相同,结果相同
【考点】Basic语言 【难度】1星 【题型】选择
【关键词】无
【解析】 从两个程序可知它们的程序语句不同,但其算法都是求,故结果相同.
【答案】B
【例25】 如图所示,在边长为的正方形的边上有一点,沿着折线,由点(起点)向点(终点)运动.设点运动的路程为,的面积为,求与之间的函数关系式.并画出程序框图,写出程序.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】无
【解析】 由题意可得
程序框图如图:
程序:
INPUT “x=”;x
IF x>=0 AND x<=4 THEN
y=2*x
ELSE
IF x<=8 THEN
y=8
ELSE
y=2*(12-x)
END IF
END IF
PRINT y
END
【答案】
【例26】 已知分段函数编写程序,输入自变量的值,输出其相应的函数值,并画出程序框图.
【考点】Basic语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序框图与程序分别如下面所示:
【答案】
【例27】 2018年9月发生了“三鹿奶粉污染”事件,主要是在一些企业生产的奶制品中检测出含三聚氰胺,三聚氰胺是一种有毒的化工原料,俗称“假蛋白”.蛋白质主要由氨基酸组成,蛋白质平均含氮量16%左右,而三聚氰胺的含氮量为66%左右,不法分子往往在奶制品中加三聚氰胺主要是因为它能冒充蛋白质.2018年9月16日国家质检总局公布了22家企业生产的婴幼儿配方奶粉中含有三聚氰胺,其中最高含量为mg/kg,最低含量为 mg/kg.设计一个求含量高于mg/kg的婴幼儿配方奶粉的平均含量的程序框图,并写出程序.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】无
【解析】 程序框图:
程序:
S=0
M=0
i=1
DO
INPUT x
IF x>20 THEN
S=S+x
M=M+1
END IF
i=i+1
LOOP UNTIL i>22
P=S/M
PRINT P
END
【答案】
【例28】 高一(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序.
【考点】Basic语言 【难度】3星 【题型】解答
【关键词】无
【解析】 程序框图与程序如下:
【答案】
题型二:Scilab程序语言(B版)
【例29】 已知有两位同学的成绩在录入时分别被记到对方的名字上,分别为分,试写出一个程序,将它们的分数调整过来.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 input(“x=”);
input(“y=”);
p=x;x=y;y=p
【答案】
【例30】 设,则可以实现、的值互换的程序是( )
A.
B.
C.
D.
【考点】Scilab程序语言 【难度】1星 【题型】选择
【关键词】2009,海淀,高二,期中测试
【解析】
【答案】C
【例31】 在界面内,输入如下程序:
在输入完程序,击键后,输出的值为( )
A. B. C. D.
【考点】Scilab程序语言 【难度】1星 【题型】选择
【关键词】无
【解析】
【答案】C
【例32】 为了在运行下列程序之后输出,键盘输入的值应为 .
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】2009,海淀,高二,期中测试
【解析】
【答案】或
【例33】 下面程序输出的结果是 .(注:表示的绝对值)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】2009,海淀,高二,期中测试
【解析】
【答案】
【例34】 写一个程序,对于任意输入三个变量,输出它们的平方和的算术平方根的值.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 程序:
a=input(“a=”);b=input(“b=”);c=input(“c=”);
d=a*a+b*b+c*c;
print(%io(2),sqrt(d))
【答案】
【例35】 将下列的程序补充完整或写出程序的运行结果
x=input(“x=”);
if x<=0
y=x*x—1;
else y=-x*x-1;
end
print(%io(2),y)
输入,输出结果为_______;输入,输出结果为_____.
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 ,故;,;故输出的结果分别为;
【答案】
【例36】 以下给出的是用条件语句编写的一个程序:
x=input(“x=”);
if x<1;
y=1-2x;
else
y=1+2x;
end
print(%io(2),y)
若输入,输出的结果是______.
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 ,故输出.
【答案】
【例37】 已知函数,对每次输入的一个值,都得到相应的函数值,画出程序框图并编写程序.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:x=input(“x=”);
if x>=0
y=2*x+3;
else
y=3*x*x-x;
end
print(%io(2),y)
程序框图:
【答案】
【例38】 在求时,下列程序中所缺少的一步是:
s=0;
for i=1:1:50
____________
end
print(%io(2),s)
如果要用while循环语句计算此式的值,请写出相应的程序.
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 缺少的一步是:.
用while循环语句:
s=0;i=1;
while i<=50
s=s+i;i=i+1;
end
print(%io(2),s)
【答案】
【例39】 分别用while语句和for语句写出计算的值的算法,并写出程序框图.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:
while语句:
i=1;
s=0;
while i<=100
s=s+1/i;
i=i+1;
end
print(%io(2),s)
for语句:
s=0;
for i=1:1:100(或:i=1:100)
s=s+1/i;
end
print(%io(2),s)
程序框图:
【答案】
【例40】 写出将任意三个整数按从小到大的顺序排列的算法,画出相关的程序框图,并写出程序.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 用数学语言写此排序算法:
S1:输入、、三个数的值;
S2:如果,则;
S3:如果,则;
S4:如果,则;
S5:依次输出、、的值,即为所求的从小到大的排列.
程序框图:
程序:
a=input(“a=”);b=input(“b=”);c=input(“c=”);
if b t=a,a=b,b=t
end
if c t=a,a=c,c=t;
end
if c t=b,b=c,c=t;
end
print(“%io(2)”,c,b,a)
【答案】
【例41】 写出下列程序的运行结果:______.
i=0;s=0;
while i<=20
s=s+i;i=i+1;
end
print(%io(2),s)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,循环到为止,当时,跳出循环,
故;输出结果为;
【答案】
【例42】 写出下列程序的运行结果:________.
i=0;s=0;
while i<=20
i=i+1;s=s+i;
end
print(%io(2),s)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 计数变量从开始,增加到时,加到上,循环到时,增加后,加到上,故;输出结果为.
【答案】
【例43】 已知等式(表示两位数),设计算法和程序求出该数字.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 可以直接用1-9中的数字一一进行检验,故考虑用循环语句:
while循环:
i=1;
while i<=9
if (10*i+3)*6528-(30+i)*8256==0
print(%io(2),i)
end
i=i+1;
end
for循环:
for i=1:10
if (10*i+3)*6528-(30+i)*8256==0
print(%io(2),i)
end
i=i+1
end
【答案】
【例44】 已知函数,对每次输入的一个值,都得到相应的函数值,画出程序框图并编写程序.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:x=input(“x=”);
if x>=0
y=2*x+3;
else
y=3*x*x-x;
end
print(%io(2),y)
程序框图:
【答案】
【例45】 编写程序判断输入的数是否为正数,若是,输出它的平方,若不是,输出它的相反数.则下面的空白部分应填.
x=input(“x=”);
if
y=-x;
else
y=x*x;
disp(y)
end
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】
【答案】x<=0
【例46】 画出程序框图,编写程序,输入任意两个实数,输出其差的绝对值.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 设是任意两个实数,
程序如下:
a=input(“a=”);
b=input(“b=”);
if a>b
a-b;
else
b-a;
end
框图如下:
【答案】
【例47】 写一个程序求所有立方不大于的正整数.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 程序:i=1;
while i*i*i<=10000
print(%io(2),i)
i=i+1;
end
【答案】
【例48】 下面的程序运行时输出的结果是_______.
y=1;
for i=1:1:5;
y=y+i;
end
print(%io(2),y)
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】 y=1+1+2+3+4+5=15,故输出结果为.
【答案】
【例49】 如下程序执行后输出的结果是
n=5;
s=0;
while s<12
s=s+n;
n=n-1;
end
print(%io(2),n).
【考点】Scilab程序语言 【难度】1星 【题型】填空
【关键词】无
【解析】
【答案】
【例50】 编写程序求的值.
【考点】Scilab程序语言 【难度】1星 【题型】解答
【关键词】无
【解析】 用for循环:
s=0;
for i=1:1:99
s=s+i;
end
print(%io(2),s)
用while语句:
i=1;
s=0;
while i<=99
s=s+i;
i=i+1;
end
print(%io(2),s)
【答案】
【例51】 请写出计算的程序,并作出相应的程序框图.
【考点】Scilab程序语言 【难度】2星 【题型】解答
【关键词】无
【解析】 程序:for循环语句:
s=0;
for i=1:1:50
s=s+i*i;
end
print(%io(2),s)
while循环语句:
i=1;s=0;
while i<=50
s=s+i*i;
i=i+1;
end
print(%io(2),s)
程序框图:
【答案】
【例52】 公司二级质检单位若对100件产品编号00-99,并利用程序program-1随机生成的整数为产品序号,从100件产品中再抽取10个样本.
试根据下列参考材料①至③及对program-1程序要求,完成program-1程序编写.
01 i=1;
02 while i<=________(1)
03 a(i)=floor(100*rand());
04 b=a(i);
05 k=1;
06 j=0;
07 while k<=i-1
08 if(a(k)-b)==0;
09 j=1;
10 end
11 k=______;(2)
12 end
13 if j==1
14 i=______;(3)
15 end
16 i=_______;(4)
17 end
18 a
【参考材料】:
①rand()生成之间的随机数;
②floor(4.5)=4,floor(0.2)=0;
③下为给三个变量赋值并对三个变量的值运算的程序program-2
01 for i=1:3
02 a(i)=2*I;
03 end
04 s=a(2)+a(3);
05 a
06 s
程序program-2执行结果如下图:
【考点】Scilab程序语言 【难度】2星 【题型】填空
【关键词】2018-2018,北大附中,必修模块3试题
【解析】
【答案】10;k+1;i-1;i+1
【例53】 高一(2)班期中考试结束后,给出了全班50名同学的数学成绩,规定60分以上为及格,试设计算法程序框图,统计出全班的及格人数、及格人数的平均分和全班同学的平均分,并写出相应的算法程序.
【考点】Scilab程序语言 【难度】3星 【题型】解答
【关键词】无
【解析】 记及格人数为,及格的分数为,及格人数的平均分为,全班同学的平均分为.算法的程序如下:
【答案】
相关资料
更多