章末分层突破

  • 格式:doc
  • 大小:496.50 KB
  • 文档页数:11

章末分层突破

[自我校对]

①顺序结构

②条件结构

③循环结构

④条件语句

⑤循环语句

⑥秦九韶算法

⑦进位制

算法的设计

1.算法设计与一般意义上的解决问题不同,它是对一类问题的一般解法的抽象与概括,它往往是把问题的解法划分为若干个可执行的步骤,有时是重复多次,但最终都必须在有限个步骤之内完成.

2.对于给定的问题,设计其算法时应注意以下四点:

(1)与解决问题的一般方法相联系,从中提炼与概括步骤;

(2)将解决问题的过程划分为若干步骤; (3)引入有关的参数或变量对算法步骤加以表述;

(4)用简练的语言将各个步骤表达出来;

(5)算法的执行要在有限步内完成.

设计一个算法,求方程x2-4x+2=0在(3,4)之间的近似根,要求精确度为10-4,算法步骤用自然语言描述.

【精彩点拨】 可以利用二分法的步骤设计算法.

【规范解答】 算法步骤如下:

第一步,令f(x)=x2-4x+2,由于f(3)=-1<0,f(4)=2>0,所以设x1=3,x2=4.

第二步,令m=x1+x22,判断f(m)是否等于0,若f(m)=0,则m为所求的根,结束算法;若f(m)≠0,则执行第三步.

第三步,判断f(x1)f(m)>0是否成立,若成立,则令x1=m;否则令x2=m.

第四步,判断|x1-x2|<10-4是否成立,若成立,则x1与x2之间的任意取值均为满足条件的近似根;若不成立,则返回第二步.

[再练一题]

1.已知平面坐标系中两点A(-1,0),B(3,2),写出求线段AB的垂直平分线方程的一个算法.

【解】 第一步,计算x0=-1+32=22=1,y0=0+22=1,

得AB的中点N(1,1).

第二步,计算k1=2-03--1=12,

得AB的斜率.

第三步,计算k=-1k1=-2,得AB垂直平分线的斜率.

第四步,由点斜式得直线AB的垂直平分线的方程:y-1=-2(x-1),即2x+y-3=0.

程序的编写

算法设计和程序框图是设计程序的基础.编写程序的基本方法是“自上而下逐步求精”,步骤如下: (1)把一个复杂的大问题分解成若干相对独立的小问题.若小问题仍较复杂,则可以把小问题分解成若干个子问题.这样不断地分解,使小问题或子问题简单到能直接用程序的三种基本结构甚至是五种基本语句表达清楚为止.

(2)对应每一个小问题或子问题编写出一个功能上相对独立的程序块来.

(3)把每一个模块统一组装,完成程序.

某高中男子体育小组的50 m赛跑成绩(单位:s)如下:6.4,6.5,7.0,6.8,7.1,7.3,6.9,7.4,7.5,7.6,6.3,6.4,6.4,6.5,6.7,7.1,6.9,6.4,7.1,7.0.设计一个程序,从这20个成绩中搜索出小于6.8 s的成绩.并画出程序框图.

【精彩点拨】 明确问题的含义,判断好程序框图的结构,然后写出程序.

【规范解答】 程序如下:

i=1WHILE i<=20 IF Gi<6.8 THEN PRINT i,GiELSE END IF i=i+1WENDEND

程序框图如下图:

[再练一题]

2.请写出如图1-1所示的程序框图描述的算法的程序.

图1-1

【解】 这是一个求分段函数:

y= x-1, x>1,2x+1, -1≤x≤1,x+1, x<-1

的函数值的算法,输入、输出框分别对应输入、输出语句,判断对应条件语句.

所以算法程序为:

INPUT

xIF x>1 THEN y=x-1ELSE IF x<-1

THEN y=x+1 ELSE y=2*x+1 END IFEND IFPRINT yEND

程序框图的读图应用

从近几年高考各省市试题中可以看出,本部分命题呈现以下特点:

(1)考题以选择题、填空题为主,属中低档题.

(2)考查内容是程序框图,或者要求补充完整框图,或者要求求出按程序框图执行后的结果.程序框图中主要以条件结构和循环结构为主,其中循环结构是重点.

如图1-2所示是一算法的程序框图,若此程序运行结果为S=720,则在判断框中应填入关于k的判断条件是(

)

图1-2

A.k≥6?

B.k=7?

C.k≥8?

D.k≥9?

【精彩点拨】 本题可以按照开始的输入值、程序执行的规律和输出结果进行综合解决.容易出错的地方是不清楚这个判断条件是什么,本题是当不满足判断框中的条件时结束循环,当判断框中的条件满足时执行循环,故应该从k=10开始按照递减的方式逐步进行,直到S的输出结果为720.

【规范解答】 第一次运行结果为S=10,k=9;第二次运行结果为S=10×9=90,k=8;第三次运行结果为S=720,k=7.这个程序满足判断框的条件时执行循环,故判断条件是k≥8?.故选C.

【答案】 C

[再练一题]

3.阅读如图1-3所示的程序框图,运行相应的程序,如果输入某个正整数n后,输出的s∈(10,20),那么n的值为( )

图1-3

A.3 B.4

C.5 D.6

【解析】 逐项验证.若n=3,输出s=7∉(10,20).

若n=4时,s=15∈(10,20).

【答案】

B

分类讨论思想

在解答某些数学问题时,有时会有多种情况,需对各种情况加以分类,并逐类求解,然后综合得结论,这就是分类讨论思想.在具体问题的算法设计中,往往需要根据条件进行逻辑判断,并进行不同的处理(如条件结构和循环结构),这实际上运用了分类讨论的数学思想方法.

某商场实行优惠措施,若购物金额x在800元以上(包括800元),则打8折,若购物金额x在800元以下500元以上(包括500元),则打9折;否则不打折.设计算法的程序框图,要求输入购物金额x,能输出实际交款额,并写出程序语句.

【精彩点拨】 先把实际问题转化为数学问题,再画出程序框图,写出程序.

【规范解答】 本题的实质是求函数

y= 0.8x,x≥800,0.9x,500≤x<800,x,x<500的值 程序框图如下:

程序如下:

INPUT “x=”;xIF x≥800 THEN y=0.8xELSEIF x≥500 THEN y=0.9xELSE y=xEND IFEND IFPRINT “y=”;yEND

[再练一题]

4.编写一个程序,对于函数y= x, x<12x-1, 1≤x<10,3x-11, x≥10,

输入x的值,输出相应的函数值.

【解】 INPUT

“x=”;xIF x<1 THENy=xELSE IF x<10 THENy=2*x-1 ELSEy=3*x-11 END IFEND IFPRINT “y=”;yEND

1.执行下面的程序框图,如果输入的x=0,y=1,n=1,则输出x,y的值满足( )

图1-4

A.y=2x B.y=3x

C.y=4x D.y=5x

【解析】 输入x=0,y=1,n=1,运行第一次,x=0,y=1,不满足x2+y2≥36;运行第二次,x=12,y=2,不满足x2+y2≥36;运行第三次,x=32,y=6,满足x2+y2≥36,输出x=32,y=6.由于点32,6在直线y=4x上,故选C.

【答案】 C

2.执行如图1-5所示的程序框图,如果输入的a=4,b=6,那么输出的n=( )

图1-5

A.3 B.4 C.5 D.6

【解析】 a=4,b=6,n=0,s=0,

第一次循环:a=b-a=6-4=2,b=b-a=6-2=4,a=b+a=4+2=6,s=s+a=0+6=6,n=n+1=1,不满足s>16;

第二次循环:a=b-a=4-6=-2,b=b-a=4-(-2)=6,a=b+a=6-2=4,s=s+a=6+4=10,n=n+1=1+1=2,不满足s>16;

第三次循环:a=b-a=6-4=2,b=b-a=6-2=4,a=b+a=4+2=6,s=s+a=10+6=16,n=n+1=2+1=3,不满足s>16;

第四次循环:a=b-a=4-6=-2,b=b-a=4-(-2)=6,a=b+a=6-2=4,s=s+a=16+4=20,n=n+1=3+1=4,满足s>16,输出n=4.

【答案】 B

3.执行下面的程序框图,如果输入的t=0.01,则输出的n=( )

图1-6

A.5 B.6 C.7 D.8

【解析】 逐次运行程序,直至输出n.

运行第一次:S=1-12=12=0.5,m=0.25,n=1,S>0.01;

运行第二次:S=0.5-0.25=0.25,m=0.125,n=2,S>0.01;

运行第三次:S=0.25-0.125=0.125,m=0.062 5,n=3,S>0.01;

运行第四次:S=0.125-0.062 5=0.062 5,m=0.031 25,n=4,S>0.01;

运行第五次:S=0.031 25,m=0.015 625,n=5,S>0.01;

运行第六次:S=0.015 625,m=0.007 812 5,n=6,S>0.01;

运行第七次:S=0.007 812 5,m=0.003 906 25,n=7,S<0.01.

输出n=7.故选C.

【答案】 C

4.下边程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=( )

图1-7

A.0 B.2

C.4 D.14

【解析】 逐次运行程序,直至程序结束得出a值.

a=14,b=18.

第一次循环:14≠18且14<18,b=18-14=4;

第二次循环:14≠4且14>4,a=14-4=10;

第三次循环:10≠4且10>4,a=10-4=6;

第四次循环:6≠4且6>4,a=6-4=2;

第五次循环:2≠4且2<4,b=4-2=2;

第六次循环:a=b=2,跳出循环,输出a=2,故选B.

【答案】 B