资源描述
算法与流程图
26
资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。
§13.1 算法与流程图
基础自测
1.以下对算法的描述正确的有 个.
①对一类问题都有效; ②算法可执行的步骤必须是有限的; ③计算能够一步步地进行, 每一步都有确切的含义;
④是一种通法, 只要按部就班地做, 总能得到结果.
答案 4
2.任何一个算法都必须有的基本结构是 .
答案 顺序结构
3.下列问题的算法适宜用选择结构表示的是 ( 填序号) .
①求点P( -1, 3) 到直线l:3x-2y+1=0的距离
②由直角三角形的两条直角边求斜边
③解不等式ax+b>0 (a≠0)
④计算100个数的平均数
答案 ③
4.下列4种框图结构中, 是直到型循环结构的为 ( 填序号) .
答案 ②
5.( ·广东理, 9) 阅读下面的流程图, 若输入m=4, n=3, 则输出a= , i= .( 注: 框图中的赋值符号”←”也能够写成”=”或”: =”)
答案 12 3
例1 已知点P( x0, y0) 和直线l:Ax+By+C=0, 求点P( x0, y0) 到直线l的距离d, 写出其算法并画出
流程图.
解 算法如下:
第一步, 输入x0,y0及直线方程的系数A, B, C. 流程图:
第二步, 计算Z1←Ax0+By0+C.
第三步, 计算Z2←A2+B2.
第四步, 计算d←.
第五步, 输出d.
例2 ”特快专递”是当前人们经常使用的异地邮寄信函或托运物品的一种快捷方式, 某快递公司规定甲、 乙两地之间物品的托运费用根据下列方法计算:
f =
其中f(单位: 元)为托运费,为托运物品的重量( 单位: 千克) .试设计计算费用f的算法, 并画出流程图.
解 算法如下:
S1 输入;
S2 如果≤100,那么f←0.6;否则
f ←100×0.6+(-100)×0.85;
S3 输出f.
流程图为:
例3 ( 14分) 画出计算12-22+32-42+…+992-1002的值的流程图.
解 流程图如下图.
14分
1.写出求解一个任意二次函数y=ax2+bx+c(a≠0)的最值的算法.
解 算法设计如下:
第一步, 计算m ←;
第二步, 若a>0,输出最小值m;
第三步, 若a<0, 输出最大值m.
2.到银行办理个人异地汇款( 不超过100万元) , 银行收取一定的手续费, 汇款额不超过100元, 收取1元手续费, 超过100元但不超过5 000元, 按汇款额的1%收取, 超过5 000元, 一律收取50元手续费, 试用条件语句描述汇款额为x元时, 银行收取手续费y元的过程, 画出流程图.
解 这是一个实际问题, 故应先建立数学模型,
y=由此看出, 求手续费时, 需先判断x的范围, 故应用选择结构描述.
流程图如图所示:
3.利用两种循环写出1+2+3+…+100的算法, 并画出各自的流程图.
解 直到型循环算法:
第一步: S←0;
第二步: I←1;
第三步: S←S+I;
第四步: I←I+1;
第五步: 如果I不大于100, 转第三步; 否则, 输出S.
相应的流程图如图甲所示.
当型循环算法如下:
S1 令i←1,S←0
S2 若i≤100成立, 则执行S3; 否则, 输出S, 结束算法
S3 S←S+i
S4 i←i+1, 返回S2
相应的流程图如图乙所示.
一、 填空题
1.算法:
S1 输入n;
S2 判断n是否是2,若n=2,则n满足条件, 若n>2,则执行S3;
S3 依次从2到n-1检验能不能整除n, 若不能整除n, 满足上述条件的是 .
答案 质数
2.在算法的逻辑结构中, 要求进行逻辑判断, 并根据结果进行不同处理的是哪种结构 .
答案 选择结构和循环结构
3.阅读下面的流程图, 若输入的a、 b、 c分别是21、 32、 75, 则输出的a、 b、 c分别是 .
答案 75, 21, 32
4.如果执行下面的流程图, 那么输出的S= .
答案 2 550
5.( ·兴化市板桥高级中学12月月考) 如下图的流程图输出的结果为 .
答案 132
6.如图所示, 流程图所进行的求和运算是 .
答案 +++…+
7.( ·山东理, 13) 执行下边的流程图, 若p=0.8, 则输出的n= .( 注: 框中的赋值符号”←”, 也能够写成”=”或”:=”)
答案 4
8.若框图所给的程序运行的结果为S=90, 那么判断框中应填入的关于k的判断条件是 .
答案 k≤8
二、 解答题
9.已知函数f(x)=,写出该函数的函数值的算法并画出流程图.
解 算法如下:
第一步, 输入x.
第二步, 如果x<0,那么使f(x)←3x-1;
否则f(x)←2-5x.
第三步, 输出函数值f(x).
流程图如下:
10.写出求过两点P1(x1,y1),P2(x2,y2)的直线的斜率的算法, 并画出流程图.
解 由于当x1=x2时, 过两点P1、 P2的直线的斜率不存在, 只有当x1≠x2时, 根据斜率公式
k=求出, 故可设计如下的算法和流程图.
算法如下:
第一步: 输入x1,y1,x2,y2;
第二步: 如果x1=x2,输出”斜率不存在”, 否则,
k ←;
第三步: 输出k.
相应的流程图如图所示:
11.画出求+++…+的值的流程图.
解 流程图如图所示:
12.某企业 的生产总值为200万元, 技术创新后预计以后的每年的生产总值将比上一年增加5%, 问最早哪一年的年生产总值将超过300万元? 试写出解决该问题的一个算法, 并画出相应的流程图.
解 算法设计如下:
第一步, n←0,a←200,r←0.05.
第二步, T←ar(计算年增量).
第三步, a←a+T( 计算年产量) .
第四步, 如果a≤300, 那么n←n+1, 重复执行第二步.
如果a>300,则执行第五步.
第五步, N←2 007+n.
第六步, 输出N.
流程图如下:
方法一
方法二
§13.2 基本算法语句、 算法案例
基础自测
1.下面是一个算法的操作说明:
①初始值为n←0,x←1,y←1,z←0;
②n←n+1;
③x←x+2;
④y←2y;
⑤z←z+xy;
⑥如果z>7 000,则执行语句⑦; 否则回到语句②继续执行;
⑦打印n,z;
⑧程序终止.
由语句⑦打印出的数值为 、 .
答案 8 7 682
2.按照下面的算法进行操作:
S1 x←2.35
S2 y←Int( x)
S3 Print y
最后输出的结果是 .
答案 2
3.读下面的伪代码:
Read x
If x>0 Then
Print x
Else
Print -x
End If
这个伪代码表示的算法的功能是 .
答案 输入一个数, 输出其绝对值
4.下面是一个算法的伪代码.如果输入的x的值是20, 则输出的y的值是 .
答案 150
5.与下列伪代码对应的数学表示式是 .
Read n
e←0
S←1
For I From 1 To n Step 1
S←S×I
e←e+1/S
End for
Print e
答案 S=1+++…+
例1 设计算法, 求用长度为l的细铁丝分别围成一个正方形和一个圆时的面积.要求输入l的值, 输出
正方形和圆的面积.
解 伪代码如下:
Read l
S1←(l×l)/16
S2←(l×l)/(4×3.14)
Print S1
Print S2
End
例2 ( 14分) 已知分段函数y=, 编写伪代码, 输入自变量x的值, 输出其相应
的函数值, 并画出流程图.
解 伪代码如下: 流程图如图所示:
Read x
If x<0 Then
y ←-x+1
Else
If x=0 Then
y←0
Else
y←x+1
End If
End If
Print y
End 7分
例3 编写一组伪代码计算1+++…+, 并画出相应的流程图.
解 伪代码如下:
i←1
S←0
While i≤1 000
S←S+1/i
i←i+1
End While
Print S
End
流程图如图所示:
1.下面的表述:
①6←p;
②t←3×5+2;
③b+3←5;
④p←((3x+2)-4)x+3;
⑤a←a3;
⑥x,y,z←5;
⑦ab←3;
⑧x←y+2+x.
其中正确表述的赋值语句有 .
( 注: 要求把正确的表述的序号全填上)
答案 ②④⑤⑧
2.某百货公司为了促销, 采用打折的优惠办法:
每位顾客一次购物
①在100元以上者( 含100元, 下同) , 按九五折优惠;
②在200元以上者, 按九折优惠;
③在300元以上者, 按八五折优惠;
④在500元以上者, 按八折优惠.
试写出算法、 画出流程图、 伪代码, 以求优惠价.
解 设购物款为x元, 优惠价为y元,
则优惠付款公式为y=
算法分析:
S1 输入x的值;
S2 如果x<100, 输出y←x,否则转入S3;
S3 如果x<200,输出y←0.95x,否则转入S4;
S4 如果x<300, 输出y←0.9x,否则转入S5;
S5 如果x<500,输出y←0.85x,否则转入S6;
S6 输出y←0.8x.
3.某玩具厂1996年的生产总值为200万元, 如果年生产增长率5%, 计算最早在哪一年生产总值超过300万元.试写出伪代码.
解 伪代码如下:
n←1 996
p←1.05
a←200
While a≤300
a←a×p
n←n+1
End While
Print n
End
一、 填空题
1.伪代码
a←3
b←5
Print a+b
的运行结果是 .
答案 8
2.为了在运行下面的伪代码后输出y=16, 应输入的整数x的值是 .
Read x
If x<0 Then
y←(x+1)2
Else
y←1-x2
End If
Print y
答案 -5
3.写出下列伪代码的运行结果.
图1 图2
( 1) 图1的运行结果为 ;
( 2) 图2的运行结果为 .
答案 ( 1) 7 ( 2) 6
4.以下给出的是用条件语句编写的一个伪代码, 该伪代码的功能是 .
Read x
If x<3 Then
y←2×x
Else
If x>3 Then
y←x2-1
Else
y←2
End If
End If
Print y
End
答案 求下列函数当自变量输入值为x时的函数值f(x),其中f( x) =
5.下面是一个算法的伪代码, 其运行的结果为 .
S←1
For I From 3 To 99 Step 2
S←S+I
End For
Print S
答案 2 500
6.如图所示, 该伪代码表示的作用是 .
Read a,b,c
m←max(a,b,c)
Print m
End
答案 求三个数中最大的数
7.如图( 1) 是某循环流程图的一部分, 若改为图( 2) , 则运行过程中I的值是 .
答案 1
8.图中算法执行的循环次数为 .
S←0
For I From 2 To 1 000 Step 3
S←S+I
End For
答案 333
二、 解答题
9.用条件语句描述下面的算法流程图.
解
Read x
If x<0 Then
y←2×x+3
Else
If x>0 Then
y←2×x-5
Else
y←0
End If
End If
Print y
End
10.请设计一个问题, 使得该问题的算法如已知的伪代码所示.
Read a
r←a/2
S←×r×r-a×a
Print S
End
解 已知圆O内有一个边长为a的圆的内接正方形, 求圆的面积比正方形的面积大多少?
11.有一个算法如下:
S1 输入x;
S2 判断x>0
是: z←1; 否: z←-1;
S3 z←1+z;
S4 输出z.
试写出上述算法的流程图及相应的伪代码.
解
Read x
If x>0 Then
z←1
Else
z←-1
End If
z←z+1
Print z
End
12.一个小朋友在一次玩皮球时, 偶然发现一个现象: 球从某高度落下后, 每次都反弹回原高度的, 再落下, 再反弹回上次高度的, 如此重复.假设球从100 cm处落下, 那么第10次下落的高度是多少? 在第10次落地时共经过多少路程? 试用伪代码表示其算法.
解 伪代码如图所示:
h←100
s←100
i←2
While i≤10
h←h/3
s←s+2×h
i←i+1
End While
Print ”第10次下落的高度为: ”;h
Print ”第10次落地时共经过的路程为: ”; s
End
展开阅读全文