内容正文:
[巩固层·知识整合]
[提升层·题型探究]
算法设计
【例1】 已知在直角△ABC中,∠C是直角,c=13,b=12,求△ABC的面积.写出解决该问题的算法步骤.
[解] 1.输入一直角边长b和斜边长c;
2.由勾股定理a2+b2=c2求另一直角边长a;
3.利用面积公式S=a·b,求面积S;
4.输出面积S.
算法设计应注意:
1与解决问题的一般方法有联系,从中提炼出算法;
2将解决问题的过程分为若干个可执行步骤;
3引入有关的参数或变量对算法步骤加以表达;
4用最简练的语言将各个步骤表达出来;
5算法的执行要在有限步内完成.
1.已知平面直角坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.
[解] 1.计算x0==1,y0==1,得AB的中点N(1,1);
2.计算k1==,得AB斜率;
3.计算k=-=-2,得AB垂直平分线的斜率;
4.由点斜式得直线AB的垂直平分线的方程y-1=-2(x-1),并输出.
算法框图
【例2】 执行下面的算法框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )
A.y=2x B.y=3x
C.y=4x D.y=5x
C [输入x=0,y=1,n=1,运行第一次,x=0,y=1,不满足x2+y2≥36;运行第二次,x=,y=2,不满足x2+y2≥36;运行第三次,x=,y=6,满足x2+y2≥36,输出x=,y=6.由于点在直线y=4x上,故选C.]
算法的设计是画算法框图的基础,我们通过对问题的分析,写出相应的算法步骤.画算法框图之前应先对算法问题设计的合法性和合理性进行探讨,然后分析算法的逻辑结构和步骤的功能输入、输出、判断、赋值和计算,画出相应的算法框图.
2.当m=7,n=3时,执行如图所示的程序框图,输出的S值为( )
A.7 B.42
C.210 D.840
C [程序框图的执行过程如下:
m=7,n=3时,m-n+1=5,
k=m=7,S=1,S=1×7=7;
k=k-1=6>5,S=6×7=42;
k=k-1=5=5,S=5×42=210;
k=k-1=4<5,输出S=210.
故选C.]
算法语句的设计与应用
【例3】 试设计一个求分段函数y=的函数值的算法(要求画出算法框图,写出算法语句).
[思路探究] 结合分段函数y的表达式,先用选择结构画出算法框图,再写出算法语句.
[解] 算法框图为:
算法语句为:
输入x;
If x>1 Then
y=x-1
Else
If x<-1 Then
y=x+1
用基本语句编写程序时要注意各种语句的格式要求,特别是条件语句和循环语句,应注意这两类语句中条件的表达以及循环语句中有关变量的取值范围.
3.用循环语句来书写求使1+++…+>100成立的最小自然数n的算法,并画出算法框图.
[解] 相应的算法语句如下:
S=0
n=1
DO
S=S+1/n2
n=n+1
Loop While S≤100
n=n-1
输出n.
算法框图如图所示.
逻辑推理素养
【例4】 如图所示,算法框图的输出结果是( )
A.34 B.55
C.78 D.89
B [当输入x=1,y=1,执行z=x+y及z≤50,x=y,y=z后,x,y,z的值依次对应如下:
x=1,y=1,z=2;
x=1,y=2,z=3;
x=2,y=3,z=5;
x=3,y=5,z=8;
x=5,y=8,z=13;
x=8,y=13,z=21;
x=13,y=21,z=34;
x=21,y=34,z=55.
由于55≤50不成立,故输出55.故选B.]
在解答某些数学问题时,有时会有多种情况,需对各种情况加以分类,并逐类求解,然后综合得结论,这就是分类讨论.在具体问题的算法设计中,往往需要根据条件进行逻辑判断,并进行不同的处理如条件结构和循环结构,这实际上运用了逻辑推理的数学素养.
4.执行如图所示的算法框图,若输入n=8,则输出的S=( )
A. B.
C. D.
A [选A.循环体中的算法实际是求S=+++的值.
故S=+++=+++=.]
学科网(北京)股份有限公司
$