高考数学讲义程序框图与算法参考教案_第1页
高考数学讲义程序框图与算法参考教案_第2页
高考数学讲义程序框图与算法参考教案_第3页
高考数学讲义程序框图与算法参考教案_第4页
高考数学讲义程序框图与算法参考教案_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

耳t州昨

要求层次重难点

算法的含义A(1)算法的含义、程序框图

①了解算法的含义,了解算法的思想.

算法算法及其程程序框图的@理解程序框图的三种基本逻辑结构:顺序、

初步序框图三种基本逻B条件分支、循环.

辑结构(2)基本算法语句

理解几种基本算法语句一一输入语句、输出语

基本算法语句

A句、赋值语句、条件语句、循环语句的含义.

板块一:算法的含义与描述

知识内容

一、算法的含义与描述

1.算法的概念:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照一定规则解

决某一类问题的明确的和有限的步骤,称为算法(algorithm).

通常可以编成计算机程序,让计算机执行并解决问题.

2.算法的特征:

⑴有穷性:算法必须在执行有限步后结束,通常还理解为实际上能够容忍的合理限度;

⑵确定性:算法的每一个步骤必须有确定的含义;

⑶可行性:组成算法的每个步骤和操作必须是相当基本的,原则上都是能精确地执行的;

⑷输入:有零个或多个输入:

⑸输出:有一个或多个输出.

3.算法的描述:

⑴用自然语言;⑵用数学语言;⑶用算法语言(程序设计语言);⑷用程序框图(流程图).

4.算法的三种基本逻辑结构:顺序结构、条件(分支)结构和循环结构.

⑴顺序结构:最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.如下图,

只有在执行完A框指定的操作后,才能接着执行B框指定的操作;

⑵条件(分支)结构:在一个算法中,用来处理需要根据条件是否成立有不同的流向的结构.

常见的条件结构的程序框图有下面两种形式:

⑶循环结构:从某处开始,按照一定的条件反复执行某些步骤的情况,就是循环结构,其中反复执行

的步骤称为循环体.

常见的循环结构的框图对应为:

〈教师备案〉

1.在画程序框图时,从开始框沿箭头必须能到达结束框,特别是条件分支结构应沿每条支路都能到

达结束框,流程线必须加箭头表示顺序.

2.对于循环结构有如下需要注意的情况:

⑴循环结构非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不

过是一瞬间的事,且能保证每次的结果都正确;

⑵循环结构要有中止循环体的条件,不能无休止的运算下去,循环结构中一定包含条件结构,如

就是中止循环的条件;

⑶循环结构的关键是,要理解“累加变量”和“用,+1代替广,S是一个累加变量,,是计数变量,每循

环一次,S和7•都要发生变化,这两步要重复计算若干次;

⑷一种循环结构是先判断〃是否成立,若是,执行循环体;若否,则中止循环,像这样,每次执

行循环体前对控制循环条件进行判断,条件满足时执行循环体,不满足则停止,称为当型循环.除了

当型循环外,常用的循环结构还有直到型循环.

5.程序框图的概念:用一些通用的图形符号构成的一张图来表示算法,称为程序框图(简称框图).

常用图形符号:

图形符号名称符号表示的意义

起、止框框图的开始或结束

输入、输出框数据的输入或者结果的输出

处理框赋值、执行计算语句、结果的传送

判断框根据给定条件判断

流程线流程进行的方向

连结点连结另一页或另一部分的框图

〈教师备案〉

1.画程序框图的规则:

(1)使用标准的框图的符号;

⑵框图一般按从上到下、从左到右的方向画;

⑶除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的

惟一符号;

(4)一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有

几种不同的结果;

⑸在图形符号内描述的语言要非常简练清楚.

2.画程序框图要注意的几点:

⑴起、止框是任何流程不可少的,表示程序的开始和结束;

⑵输入、输出框可以用在算法中任何需要输入、输出的位置;

⑶算法中间要处理数据或计算,可分别写在不同的处理框内;

⑷当算法要求你对两个不同的结果进行判断时,要写在判断框内;

⑸一个算法步骤到另一个算法步骤用流程线连结;

⑹如果一个框图需要分开来画,要在断开处画上连结点,并标出连结的号码.

如:用海伦公式求任意三角形的面积的程序框图,其中断开处画上连结点,并标出连结的号码.

典例分析:

算法的含义

【题1】看下面的四段话,其中不是解决问题的算法的是()

A.从济南到北京旅游,先坐火车,再坐飞机抵达

B.解一元一次方程的步骤是去分母.去括号.移项.合并同类项.系数化为1

C.方程/一1=0有两个实根

D.求1+2+3+4+5的值,先计算1+2=3,再由于3+3=6,6+4=10,10+5=15,最终结

果为15

【考点】算法的含义【难度】1星【题型】选择

【关键词】无

【解析】

【答案】C

【题2】算法的有穷性是指()

A.算法最后包含输出B.算法的每个操作步骤都是可执行的

C.算法的步骤必须有限D.以上都不正确

【考点】算法的含义【难度】1星【题型】选择

【关键词】无

【解析】

【答案】C

【题3】早上从起床到出门需要洗脸刷牙(5min).刷水壶(2min).烧水(8min).泡面(3min).吃

饭(lOmin).听广播(8min)几个步骤,下列选项中最好的一种算法为()

A.si洗脸刷牙s2刷水壶s3烧水s4泡面s5吃饭s6听广播

B.si刷水壶s2烧水的同时洗脸刷牙s3泡面s4吃饭s5听广播

C.si刷水壶s2烧水的同时洗脸刷牙s3泡面s4吃饭的同时听广播

D.si吃饭的同时听广播s2泡面s3烧水的同时洗脸刷牙s4刷水壶

【考点】算法的含义【难度】1星【题型】选择

【关键词】无

【解析】

【答案】C

【题4】已知直角三角形两直角边长为*b,求斜边长c的一个算法分下列三步:

①计算C=②输入直角三角形两直角边长a,b的值;

③输出斜边长c的值,其中正确的顺序是()

A.①②③B.②③①C.①③②D.②①③

【考点】算法分析【难度】2星【题型】选择

【关键词】无北京师大附中,2009,高二,期中考试

【解析】

【答案】D

算法分析(自然语言与数学语言)

【题5】算法:

S1输入〃

S2判断”是否是2,若〃=2,则"满足条件,若〃>2,则执行S3

S3依次从2到检验能不能整除〃,若不能整除,7,满足上述条件的是()

A.质数B.奇数C.偶数D.约数

【考点】算法分析【难度】2星【题型】选择

【关键词】

【解析】

【答案】A

【题6】用二分法设计一个求方程Y一2=0的近似根的算法.

【考点】算法分析【难度】3星【题型】解答

【关键词】无

【解析】算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过

0.005,

则不难设计出以下步骤:

第一步:令=-2.因为/l⑴<0,/⑵>0,所以设占=1,%=2.

第二步:令机=—;■,判断f(m)是否为0,若则,则根为所求;若否,则继续判断/(%,)•/(〃?)

大于0还是小于0.

第三步:若/(xj>0,则令X]=〃z;否则,令%=根.

第四步:判断卜-即<0.005是否成立?若是,则占,々之间的任意取值均为满足条件的近似

根;若否,则返回第二步.

小结:算法具有以下特性:(1)有穷性;(2)确定性;(3)顺序性;(4)不惟一性;

(5)普遍性

【答案】

【题7】分别用自然语言.数学语言写出对任意四个整数a.b.c.d,求出最小值的算法.

【考点】算法分析【难度】3星【题型】解答

【关键词】无

【解析】自然语言:

S1:先将这四个整数的值输入;

S2:假定序列中的整数a为“最小值”;

S3:将序列中的数6与“最小值”比较,如果它小于此“最小值”,这时就假定“最小值”是这个

整数;

S4:对序列中整数c.d,重复S3;

S5:在序列中一直到没有可比的数为止,这时假定的“最小值”就是这个序列中的最小值.

数学语言:

S1:输入a.b.c.d四个数的值;

S2:min=a;

S3:如果》<min,则min=b;

S4:4口果c<min,贝Umin=c;

S5:如果d<min,则min=d;

S6:min就是a.b.c.d中的最小值.

【答案】

【题8】某批发商按客户订单数额的大小分别给予不同的优惠折扣.计算客户应付货款的算法步骤如

下:

S1输入订单数额x(单位.:件);输入单价A(单位:元);

S2若x<250,则折扣率d=0;

若250Wx<500,则折扣率d=0.05;

若500Wx<1000,则折扣率d=0.10;

若x21000,则折扣率4=0.15;

S3计算应付货款7=小(1-[)(单位:元);

S4.输出应付货款T.

已知一客户买400件时付款38000元,则应付货款为88200元时订单数额是.

【考点】算法分析【难度】2星【题型】填空

【关键词】2009,宣武,一模

【解析】由题意有400・A・(l-0.05)=38000nA=100.

不妨设应付货款为88200时的订单数额xe[500,1000).

于是有xJ00・(l一0」0)=88200=>x=980.满足题意.

【答案】980

算法的三种基本逻辑结构与程序框图

【题9】算法的三种基本结构是()

A.顺序结构、选择结构、循环结构B.顺序结构、流程结构、循环结构

C.顺序结构、分支结构、流程结构.D.流程结构、循环结构、分支结构

【考点】算法的含义【难度】1星【题型】选择

【关键词】无

【解析】

【答案】A

【题10]下面的问题中必须用条件结构才能实现的个数是()

(1)已知三角形三边长,求三角形的面积;

(2)求方程ax+b=0(a,b为常数)的根;

(3)求三个实数a,b,c中的最大者;

(4)求1+2+3++100的值.

A.4个B.3个C.2个D.1个

【考点】算法的含义【难度】1星【题型】选择

【关键词】无

【解析】(2),(3)是必须得用的,(1)可以直接用海伦公式,(4)可以直接用等差数列求和公式.

【答案】C

【题11】在右面的程序框图中,若x=5,则输出i的值是()

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

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】选择

【关键词】2010,丰台,一模,第3题

【解析】5-13—37—109—325,对应的i=4.

【答案】C

【题12】在右面的程序框图中,若x=5,则输出i的值是()

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

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】选择

【关键词】2010,丰台,一模,第3题

【解析】5->13-374109—325,对应的i=4.

【答案】C

【题13】已知程序框图如图所不,则该程序框图的功能是()

A.求数列的前10项和(〃eN*)B.求数列的前10项和(〃eN*)

C.求数列的前11项和(〃eN*)D.求数列的前11项和(〃eN*)

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】选择

【关键词】2010,石景山,一模,文科第6题

【解析】注意”和々的步长分别是2和1.

【答案】B

【题14]已知某程序框图如图所示,则执行该程序后输出的结果是()

A.-1B.1C.2D.

2

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】选择

【关键词】2010,海淀,一模,第7题

【解析】

,/i=2010=0(mod3),二对应的。=一1.

【答案】A

【题15】某地区为了了解70~80岁老人的日平均睡眠时间(单位:h).随机选择了50位老人的进行

调查.下表是这50位老人日睡眠时间的频率分布表.

序号分组组中值频数频率

⑴(睡眠时间)(G,)(人数)⑴

1[4,5)4.560.12

2[5,6)5.5100.20

3[6,7)6.5200.40

4[7,8)7.5100.20

5[8,9]8.540.08

在上述统计数据中,一部分计算见算法流程图,则输出的S的值是

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】填空

【关键词】2008,江苏,高考,第7题

[解析】由算法流程知S=4.5X0.12+5.5X0.20+6.5x0.40+7.5x0.20+8.5x0.08=6.42.

【答案】6.42

【题16】右图是一个程序框图,其中判断框①处缺少一个判断条件,②为一输出框.

⑴若在①处填空"n=2009”,请求出在输出框②处输出的y的值;

⑵若在①处填空"x>2颉8-4”,请求出在输出框②处输出的n的值.

【考点】算法的三种基本逻辑结构与程序框图【难度】3星【题型】解答

【关键词】2009,海淀,高二,期中测试

【解析】⑴不考虑尤的值,循环几次看"的值与y的值的关系:(2)不考虑y的值,循环几次看"的值与

x的值的关系.

【答案】(1)2010;(2)2007

【题17】半径为r的圆面积计算公式为5=写出计算圆面积的算法,并画出框图.

【考点】算法的三种基本逻辑结构与程序框图【难度】1星【题型】解答

【关键词】无

【解析】S1:输入任意一个正实数r;

S2:计算以r为半径的圆的面积S=“2;

S3:输出圆的面积S.

程序框图如右.

【答案】

【题18】画出求lx2xx20的程序框图.

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】解答

【关键词】无

【解析】S1:设T=1;

S2:设,=1;

S3:设丁=1*,;

S4:设i=i+1;

S5:如果i>20执行S6,否则执行S3;

S7:输出T,结束算法.

程序框图如右.

【答案】

【题19】写出求解一般的二元一次方程组的程序框图.

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】解答

【关键词】无

【解析】可用公式法求解,对应的程序框图如右:

【答案】

【题20】画出求解方程ax+b=0(a,b为常数)的程序框图.

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】解答

【关键词】无

【解析】要求解此方程,需要分情况讨论:

。=0时,此方程有无穷多解,或者无解;awO时,此方程有唯一解,

需要用一个条件结构来描述.

框图如下面所示,也可以对解的情况进行进一步讨论,写成下面右边的形式.

【答案】

【题21】已知算法:(1)指出其功能(用算式表示),(2)将该算法用流程图来描述之.

S1输入x;

S2若x<0,执行S3;否则,执行S6;

S3y=x+1;

S4输出y;

S5结束;

S6若x=0,执行S7;否则执行S10;

S7y=0;

S8输出y;

S9结束;

S10j=x;

Sil输出y;

S12结束.

【考点】算法的三种基本逻辑结构与程序框图【难度】2星【题型】解答

【关键词】无

x+1x<0,

【解析】这是一个输入%的值,求y值的函数的算法.其中y=<0x=0,其流程图如下.

xx>0.

【答案】

板块二:基本算法语句

知识内容

Basic语言(A版)

1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言

都包含一些基本的语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、

循环语句.

2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.

一般格式:变量=表达式.其中,“=”叫做赋值号.

作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的

值.

3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.

一般格式:INPUT"提示内容”;变量

例:INPUT“Maths=";a,

INPUT“Chinese—;b

c=(a+b)/2

END

表示输入数学与语文的成绩,其中c表示它们的平均数.

4.输出语句:以某种形式把求解结果输出的语句.

一般格式:PRINT"提示内容”;表达式

如上例中输出平均成绩可以用:PRINT“Theaverage=";(a+b)/2

5.条件语句:处理条件结构的算法语句.有以下两种基本格式:

一般格式1:IF条件THEN

语句体

ENDIF

计算机执行语句时,先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句

体,否则执行ENDIF之后的语句.

一般格式2:IF条件THEN

语句体1

ELSE

语句体2

ENDIF

计算机执行语句时,先对IF后条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,

否则(ELSE)执行语句体2.

6.循环语句:处理算法中的循环结构的语句;

有两种基本语句:UNTIL语句和WHILE语句,前者称为直到型循环语句,后者称为当型循环语句.

UNTIL语句:DO

循环体

LOOPUNTIL条件

WHILE语句的一般格式:WHILE条件

循环体

WEND

Scilab程序语言(B版)

1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言

都包含一些基本语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、

循环语句.

2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.

一般格式:变量名=表达式;其中叫做赋值号.

作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的

值.

3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.

Scilab中的输入语句常用的是:“input”;

一般格式:变量名=input(“提示内容”)

例:a=input(“xl”);b=input(“x2”);aver=(a+b)/2

表示输入占,%的值,求它们的算术平均数,

在Scilab界面内运行结果如下:

—>a=input("xl");b=input("x2");aver=(a+b)/2

xl—>

此时通过键盘输入xl的值,如4,再按“Enter”键,界面出现:

x2—>

输入x2的值,如6,再按“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=机是错误的;

⑵赋值号左右不能对换,是将赋值号右边的表达式的值赋给左边的变量;如x=y表示用y的值替代变

量无原先的值,与y=x不同;

⑶不能利用赋值语句进行代数式(或符号)的演算;如>=/_1=(》+1)(》一1)是不能实现的;并且在

一个赋值语句中,只能给一个变量赋值;

⑷赋值号与数学中的等号的意义不同,执行赋值语句后,右面表达式的值会赋给左边,如果左边变量

原来有一个值,会自动被冲掉,如"="+1表示将N的原值加1再赋给N,即N的值加1.

3.输入语句:在某些算法中,变量的初值要根据情况经常地改变,一般我们把程序与初始数据分开,

每次算题时,即使初始数据改变,也不必改变程序部分,只要程序运行时,输入相应的数据即可,这

个过程在程序语言中,用“输入语句”来控制.输入语句中还有read输入语句等.

输入语句要求输入的一般都是具体的常数,也可输入单个或多个字符,格式为:

变量名=input(“提示内容”,“string"),string表示输入字符型变量.

4.循环语句:

for语句:先把初值赋给循环变量,记下终值和步长,循环变量增值到超过终值时,执行end后面的

语句,不超过时,执行for后面的语句;循环变量起计数作用,控制算法中循环次数,有初值与终值,

步长是指循环变量每次增加的值,步长为1时,可以省略;

while语句:先判断条件是否成立,并在符合条件时,执行循环体;直到某次不符合时,跳到end后

面的语句.

对应的基本框图是:

5.在程序语言中,乘、除、乘方、求平方根、绝对值,分别用下列符号表示:*、/、人、sqrt()、abs

().程序语言中,一般“=”为赋值号,“==”表示等号.

》、W、片分别写成:>=、<=、<>.

在程序中,如果赋值语句后面用分号隔开,则被赋值的变量不会输出,一般不随便使用逗号或句号,

而是直接使用回车或空格.

在Scilab语句中,变量名一般用一个字母表示,不可以用几个字母表示.如可以用s表示变量名,但

不能用sum表示变量名,但在有些程序语言中,可以用多个字母表示变量名.

典例分析:

Basic语言(A版)

【题22】下列关于条件语句的叙述正确的是()

A.条件语句中必须有ELSE和ENDIF

B.条件语句中可以没有ENDIF

C.条件语句中可以没有ELSE,但必须有ENDIF结束

D.条件语句中可以没有ENDIF,但必须有ELSE

【考点】Basic语言【难度】1星【题型】选择

【关键词】无

【解析】

【答案】C

【题23】下边程序运行后的输出结果为()

A.17B.19C.21D.23

【考点】Basic语言【难度】1星【题型】选择

【关键词】无

【解析】

【答案】C

【题24]下边方框中为一个求20个数的平均数的程序,则在横线上应填的语句为()

A.i>20B..i>=20D.i<=20

【考点】Basic语言【难度】1星【题型】选择

【关键词】无

【解析】该算法程序中,使用了UNTIL循环语句,按照该种循环特征,当某一次条件满足时,不再

执行循环体,跳到LOOPUNTIL句的后面,执行其他的语句.根据问题要求,应填i>20.

【答案】A

【题25】将下列的程序补充完整

INPUTx

IFxv=0THEN

y=x*x—1;

ELSEy=-x*x-l;

ENDIF

PRINTy

END

输入-3,输出结果为;输入3,输出结果为.

【考点】Basic语言【难度】1星【题型】填空

【关键词】无

【解析】—3<。,故y=(―3>—1=8;3>0,y=—32—1=-10;故输出的结果分别为8,—10;

【答案】8,-10

【题26】分别用WHILE语句和UNTIL语句写出计算1+工+,++上的值的算法,并写出程序框图.

23100

【考点】Basic语言【难度】2星【题型】解答

【关键词】无

【解析】WHILE语句:

i=l

s=0

WHILEi<=100

s=s+l/i

i=i+l

WEND

PRINTs

END

UNTIL语句:

i=l

s=0

DO

s=s+l/i

i=i+l

LOOPUNTILi>100

PRINTs

END

程序框图:

【答案】

【题27]如图所示,在边长为4的正方形A8CD的边上有一点P,沿着折线BCZM,由点8(起点)

向点A(终点)运动.设点P运动的路程为x,的面积为y,求y与x之间的函数关

系式.并画出程序框图,写出程序.

【考点】Basic语言【难度】3星【题型】解答

【关键词】无

2x(0WxW4)

【解析】由题意可得丁=卜(4<xW8)

2(12—x)(8<xW12)

程序框图如图:

程序:

INPUT"x=”;

y=2*(12-x)

END

【答案】

Scilab程序语言(B版)

【题28】在Scilab界面内,输入如下程序:

j=1;

whilej*j<1000,j=j+1;end

j

在输入完程序,击Enter键后,输出的j值为()

A.29B.30C.31D.32

【考点】Scilab程序语言【难度】1星【题型】选择

【关键词】无

【解析】

【答案】C

【题29]下面程序输出的结果是.(注:abs(x)表示x的绝对值)

1

x=一;

2

forn=2:1:99

x=abs(x-1)-abs(x);

end

x

【考点】Scilab程序语言【难度】1星【题型】填空

【关键词】2009,海淀,高二,期中测试

【解析】

【答案】0

【题30]在求1+2++50时,下列程序中所缺少的一步是:

s=0;

fori=l:1:50

end

print(%io(2),s)

如果要用while循环语句计算此式的值,请写出相应的程序.

【考点】Scilab程序语言【难度】1星【题型】填空

【关键词】无

【解析】缺少的一步是:s=s+i.

用while循环语句:

s=0;i=l;

whilei<=50

s=s+i;i=i+l;

end

print(%io(2),s)

【答案】

【题31】写出将任意三个整数按从小到大的顺序排列的算法,画出相关的程序框图,并写出程

序.

【考点】Scilab程序语言【难度】2星【题型】解答

【关键词】无

【解析】用数学语言写此排序算法:

S1:输入a、b、c三个数的值;

S2:4口果则£=a,a=b,b=£;

S3:如果cva,贝h=a,a=c,c=/;

S4:4口果c<b,则,=b,/?=c,c=,;

S5:依次输出〃、b、c的值,即为所求的从小到大的排列.

程序框图:

(开始j

T

程序:

a=input("a=");b二input(“b=");c二input("c=");

ifb<a

t=a,a=b,b=t

end

ifc<a

t=a,a=c,c=t;

end

ifc<b

t=b,b=c,c=t;

end

print("%io(2)”,c,b,a)

【答案】

【题32】分别用while语句和for语句写出计算1+工+工++’的值的算法,并写出程序框图.

23100

【考点】Scilab程序语言【难度】2星【题型】解答

【关键词】无

【解析】程序:

while语句:

i=l;

s=0;

whilei<=100

s=s+l/i;

i=i+l;

end

print(%io(2),s)

for语句:

s=0;

fori=l:1:100(或:i=l:100)

s=s+l/i;

end

print(%io(2),s)

程序框图:

/输出s/

(结束j

【答案】一

板块三:算法案例

知识内容

1.更相减损术一一求两个整数的最大公约数的算法

如何找到一种算法,对任意两个正整数都能快速地求出它们的最大公约数呢?

更相减损术的步骤:

以两个数中较大的数减去较小的数,以差数和较小的数构成一对新的数,对这一对数再用大数减小数,

以同样的操作一直做下去,直到产生一对相等的数,此数就是这两个数的最大公约数.

等值算法:用“更相减损术”设计出来的算法求最大公约数的算法称为“等值算法”,用等值算法可以求

任意两个正整数的最大公约数.

〈教师备案〉

《九章算法》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数.以具体

的例子来说明更相减损术求最大公约数的原理:

以求117和182的最大公约数为例:

(117,182)7(117,65)->(65,52)f(52,13)-(13,39)-(13,26)-(13,13),

每次操作后得到的两个数与前两个数的最大公约数相同,而且逐渐减少,故总能得到相等的两个数,

即为所求的最大公约数.

2.辗转相除法

又称欧几里得算法,是由欧几里得在公元前300年左右首先提出来的求两个数的最大公约数的算法。

辗转相除法的步骤:

对于给定的两个数,以其中较大的数除以较小的数得到一个余数,将较小的数与余数看成一对新的数,

重复上面的步骤,直到余数为零为止,此时上一步中较小的数即为所求的最大公约数。

以求117和182的最大公约数为例:

(117,182)-(117,65)-»(65,52)-»(52,13)-(13,0),故13即为所求。

3.秦九韶算法一一求多项式的值的算法

对于任意一个"元的多项式,如何更快地计算它在某点所取到的值?

秦九韶算法:

已知一个多项式函数,计算多项式在某点处的函数值的一种算法,是我国古代数学家秦九韶提出的,

具体如下.

对任意一■个〃元多项式/'(尤)=%尤"++a1x+aQ,

n

改写成如下形式:+an_xx~~++al)x+a0

n2

=((anx~+++a1)x+ai)x+a0

==(((a„x+a„_1)x+an__2)x++al)x+aQ,

求多项式的值时,先计算最内层括号内的一次多项式的值,即匕=。/+%一,

VVX+aJ

然后由内向外逐层计算一次多项式的值,即匕=匕彳+%一2,3=2n-3,Vn=V^X+aQ.

这样,求一个"次多项式的值,就转化为求”个一次多项式的值.

令为=((anx+an_Jx++an_(k_1})x+an_k,则递推公式为,‘°"",其中%=1,2,

[v^v^x+a,^

到目前为止,此算法仍然是世界上多项式求值的最先进的算法.

nx

秦九韶算法与其它算法在计算量上面的比较:/(x)=anx+an_x^~++4X+4,

⑴直接求和法:先计算各个单项式的值,再把它们相加,

乘法次数为〃+(〃-1)++2+1=%],加法次数〃;

⑵逐项求和法:先计算x的各项幕的值,再分别相乘,计算嘉值需要乘法次,将幕值与多项式系

数即相乘需要乘法”次,故共需要乘法2〃-1次,加法”次.

此方法对直接求和法有所改进,但仍然比秦九韶算法计算量大很多.

⑶秦九韶算法:计算量仅为乘法"次,加法”次.

典例分析:

辗转相除法与更相减损术

【题33】用辗转相除法计算60和48的最大公约数时,需要做的除法次数是()

A.1B.2C.3D.4

【考点】辗转相除法与更相减损术【难度】1星【题型】选择

【关键词】无

【解析】60=48x1+12,48=12x4+0,故只需要两步计算.

【答案】

【题34】分别用辗转相除法与更相减损术求27090与8127的最大公约数,并且由此比较这两种算法.

【考点】辗转相除法与更相减损术【难度】2星【题型】解答

【关键词】无

【解析】更相减损术:

(27090,8127)->(8127,18963)->(8127,10836)f(8127,2709)->(2709,5418)-»(2709,2709)

故它们的最大公约数为2709.

辗转相除法:

27090=8127x3+2709;8127=2709x3;故它们的最大公约数为2709.

联系:都是求最大公约数的方法;

区别:①计算上辗转相除法以除法为主,更相减损术以减法为主;

②计算次数上,辗转相除法计算次数相对较少,特别是当两个数差别较大时区别明显;

③从结果输出的时候看,辗转相除法当“余数为0”时输出“除数”,更相减损术当“差和减数相

等”时输出“差”.

【答案】

【题35】求两个数的最大公约数还有一种方法叫辗转相除法,即对于任意两个正整数,用两个数中的

较大的数除以较小的数,再将所得的商与较小的数组成一组新的数,用同样的方法处理,一

直到所得到的两个数呈倍数关系,这时所得的较小的数即为所求的最大公约数.

如:求80与36的最大公约数:

80=36x2+8,余数为8,考虑36和8,此时有36=8x4+4,考虑8和4,它们有倍数关系,

故最大公约数为4.

请写出利用辗转相除法求任意两个正整数的最大公约数的算法步骤,对应的程序框图以及程

序.

【考点】辗转相除法与更相减损术【难度】2星【题型】解答

【关键词】无

【解析】S1:输入两个正整数a,b(a>6);

S2:计算°除以匕所得的余数厂;

S3:如果r#0,则执行S4,否则转到S6;

S4:把b赋予a,把「赋予方;

S5:执行S2;

S6:输出b.

辗转相除法(B版)程序:

a=input("a=");

b=input(“b=”);

r=l;

whiler<>0

r=mod(a,b);

a=b;

b=r;

end

print(%io(2),b)

//r=mod(a,b)的含义是r为a除以b的余数.

辗转相除法(A版)程序:

INPUT("a,b=”);a,b

DO

r=aMODb

a=b

b=r

LOOPUNTILr=0

PRINTb

END

//r=aMODb的含义是r为a除以b的余数

【答案】

秦九韶算法

【题36】用秦九韶算法求"次多项式/(x)=a"x"+1++CL^X+CLQ,当X=%o时,求/(X。)需要算乘

方、乘法、加法的次数分别为()

A.n(,1+l\n,nB.n,T,nC.0,20,〃D.0,n,n

2

【考点】秦九韶算法【难度】2星【题型】选择

【关键词】无

【解析】

【答案】D

【题37】设计利用秦九韶算法计算5次多项式/(%)—+%尤4+/尤+/%?+CL^X+/当x=x0时的值的

程序框图.

【考点】秦九韶算法【难度】2星【题型】解答

【关键词】无

【解析】程序框图如下:

【答案】

习题i.指出下列哪一个不是算法()

A.解方程2尤-6=0的过程是移项和系数化为1

B.从济南到温哥华需要先乘火车到北京,再从北京乘飞机到温哥华

C.解方程2x?+x—1=。

D.利用公式5=兀/,计算半径为3的圆的面积为兀x32

【考点】算法的含义【难度】1星【题型】选择

【关键词】无

【解析】

【答案】C

习题2.设计一个算法求解方程组字+>=「

【考点】算法分析【难度】2星【题型】解答

【关键词】无

【解析】法一(高斯消元法)

S1:①x5-②:llx=22;

S2:解上式得x=2;

S3:再代入①求解得y=l.

S4:输出计算的结果x,y.

法二(公式法)

S1:%]=3,%2=],=4,“22=5,b]=7,Z?2=13;

S2:£)=%w22—%必2=11,A=4%2—b2%2=22,D2=b2all—bxa2i=11;

S3:判断。wO;

S4:计算%=2=2,y=2=l.

D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论