基本算法语句算法案例.docx
《基本算法语句算法案例.docx》由会员分享,可在线阅读,更多相关《基本算法语句算法案例.docx(18页珍藏版)》请在冰豆网上搜索。
基本算法语句算法案例
§13.2基本算法语句、算法案例
1.给出以下四个问题:
①输入一个数x,输出它的算术平方根;②求函数f(x)=
的函数值;③求周长为6的正方形的面积;④求三个数a,b,c中的最小数.其中不需要用条件语句来描述其算法的个数是()
A.1B.2C.3D.4
答案A
2.If语句的基本作用是()
A.顺序执行下一个程序B.不执行下一个程序
C.若表达式结果为真,则执行下一个程序D.循环执行下一个程序
答案C
3.根据下面程序判断输出结果为()
i=0
S=0
Do
S=S+i
i=i+1
LoopWhileS≤20
输出i
A.6B.7C.8D.9
答案B
输入x;
Ifx≤5Then
P=x*3
Else
P=10*7.5+(x-2)*6.5
EndIf
输出P
4.
则当x=5时,输出结果为()
A.15B.95.5C.94.5D.以上答案均错
答案A
5.下面程序语句输出的S值是.
i=1
S=0
Fori=1To5
S=S+i
i=i+1
Next
输出S
答案15
例1输入两个实数,由小到大输出这两个数,画出流程图,并用语句描述.
解流程图如图所示.
用语句描述如下:
输入a,b
Ifa>bThen
t=a
a=b
b=t
EndIf
输出a,b
例2编写程序,根据输入的x的值,计算y的值,并输出y的值.
y=
解算法步骤:
(1)输入x;
(2)如果x>2,则y=x2-1;
(3)如果x≤2,则y=x2+1.
(4)输出y.
用语句描述如下:
输入x;
Ifx>2Theny=x*x-1
Else
y=x*x+1
EndIf
输出y
例3某次考试规定:
共考三门课,凡考试符合下列条件之一的,发给优秀证书.
(1)三门成绩之和大于280分;
(2)其中两门成绩大于95分,另一门大于80分.
试用语句来描述这个算法.
解用语句描述如下:
输入学生的考试成绩a,b,c
Ifa+b+c>280Then
输出“请发给优秀证书!
”
Else
Ifa>95ANDb>95ANDc>80Then
输出“请发给优秀证书!
”
Else
Ifb>95ANDc>95ANDa>80Then
输出“请发给优秀证书!
”
Else
Ifa>95ANDc>95ANDb>80Then
输出“请发给优秀证书!
”
Else
输出“不发给优秀证书!
”
EndIf
EndIf
EndIf
EndIf
例4画出求
…+
的值的流程图,并用语句描述.
解流程图为:
用语句描述为:
S=0
k=1
Fork=1To99
S=S+1/(k*(k+1))
k=k+1
Next
输出S
例5(12分)设计求满足条件1+
+…+
>106的最小自然数的算法.并画出流程图,写出程序.
解根据以上的分析,可得该问题的算法如下:
(1)S=0;
(2)i=1;
(3)S=S+
,i=i+1.
(4)如果S≤106,则执行(3),否则输出i-1.4分
对应的流程图如图所示,相应的程序用语句描述如下:
8分
用语句描述为:
S=0
i=1
Do
S=S+
i=i+1
LoopWhileS≤106
输出i-1
12分
1.以下是一个流程图,请写出相应的基本语句编写的程序,流程图如图.
解用语句描述为:
输入x,y;
x=x/2
y=3*y
输出x,y
x=x-y
y=y-1
输出x,y
2.已知y=
编写一个算法语句,对每输入的一个x值都得到相应的函数值.
解方法一用If—Then—Else语句描述如下:
输入x;
Ifx≥0Then
y=x2-1
Else
y=2x2-5
EndIf
输出y
方法二用If—Then语句描述如下:
输入x;
Ifx≥0Then
y=x2-1
EndIf
Ifx<0Then
y=2x2-5
EndIf
输出y
3.试写出一个算法语句,每输入一个x值,求y=
的函数值.
解用语句描述如下:
输入x;
Ifx<0Then
y=-x+1
Else
Ifx=0Then
y=0
Else
y=x+1
EndIf
EndIf
输出y
4.小球从100m的高度落下,每次落地后又反跳回原高度的一半,再落下,写出一个求第10次落地时,小球共经过多少路程的算法语句,并画出流程图.
解流程图如图所示.
用语句描述如下:
S=0
h=100
Fori=1To10
S=S+2*h
h=h/2
Next
S=S-100
输出S
5.某商场第一年销售计算机5000台,如果平均每年销售量比上一年增加10%,试写出一个算法语句,求从第一年起,大约几年后可使总销售量达到30000台,并画出流程图.
解流程图如图所示.
用语句描述如下:
m=5000
S=0
i=0
Do
S=S+m
m=m*(1+10%)
i=i+1
LoopWhileS<30000
输出i
一、选择题
1.下列关于条件语句的叙述正确的是()
A.条件语句中必须有Else和EndIf
B.条件语句中可以没有EndIf
C.条件语句中可以没有Else,但必须有EndIf结束
D.条件语句中可以没有EndIf,但必须有Else
答案C
2.有下列算法语句,输出结果是()
s=1
i=1
Do
i=i+2
s=s*i
LoopWhiles≤2005
输出i
A.1+3+5+…+2005B.1×3×5×…×2005
C.求方程1×3×5×…×n=2005中n的值D.求满足1×3×5×…×n>2005的最小整数n
答案D
3.
t=1
i=2
Fori=2To5t=t*i
i=i+1
Next
输出t
以上程序运行结果为()
A.80B.120C.100D.95
答案B
4.阅读下面的算法语句,若最后输出的y为9,则输入的x应该是()
输入x
Ifx<0Then
y=(x+1)*(x+1)
Else
y=(x-1)*(x-1)
EndIf
输出y
A.-4B.-2C.4或-4D.2或-2
答案C
5.
S=1
i=1
Fori=1To10
S=3*S
i=i+1
Next
输出S
以上程序用来()
A.计算3×10的值B.计算39的值
C.计算310的值D.计算1×2×3×…×10的值
答案C
6.下面程序输出的结果为()
i=1
Do
i=i+2
S=2*i+3
LoopWhilei<8
输出S
A.17B.19C.21D.23
答案C
二、填空题
7.(2008·广州模拟)下面程序表达的是
输入x;
Ifx>0Then
y=1
ElseIfx=0Then
y=0
Else
y=-1
EndIf
EndIf
输出y
求函数的值.
答案y=
8.下面是一个求20个数的平均数的算法语句,在横线上应填充的语句为.
S=0
i=1
Do
输入x
S=S+x
i=i+1
LoopWhile
a=S/20
输出a
答案i≤20
三、解答题
9.已知某商店对顾客购买货款数满500元,减价3%,不足500元不予优惠,输入一顾客购物的货款数,计算出这个顾客实交的货款,画出流程图,写出程序.
解设购买货款数为x元,则顾客实际应交的货款y元为
y=
即y=
输入x;
Ifx≥500Then
y=0.97*x
Else
y=x
EndIf
输出y
所以,流程图如图所示:
程序为:
10.输出1~100(包括1和100)中能被7整除的所有整数.
解方法一用语句描述如下:
i=1
Do
IfiMOD7=0Then
输出i
EndIf
i=i+1
LoopWhilei≤100
方法二用语句描述如下:
Fori=1To100
IfiMOD7=0Then
输出i
EndIf
Next
11.已知分段函数y=
编写程序,输入自变量x的值,输出其相应的函数值,并画出相应的流程图.
解方法一由于函数是一个分段函数,所以输入x的值后应根据x的值所在的范围,选择相应的解析式代入求出其函数值,故应用条件语句;又因为实数x的值共分为三个范围,所以还应用到条件语句的嵌套.
流程图如图所示:
用语句描述为:
输入x;
Ifx<0Then
y=-x+1
Else
Ifx=0Then
y=0
Else
y=x+1
EndIf
EndIf
输出y
方法二也可以不用条件语句的嵌套,用如下的三个If—Then语句编写程序.
流程图如图所示:
用语句描述为:
输入x;
Ifx<0Then
y=-x+1
EndIf
Ifx=0Then
y=0
EndIf
Ifx>0Then
y=x+1
EndIf
输出y;