《新课标人教版高中数学》必会基础题型9—《算法》

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数学》必会基础题型——《算法》

【知识点1】基本概念

1.算法:广义的算法——某一工作的方法和步骤。

数学中的“算法”是指可以用计算机来解决的某一类问题的程序。

2.算法三要素:明确性,可行性,有限性。

例题.给出求123100++++的一个算法。 解:第一步:使1S =;

第二步:使2I =;

第三步:使S S I =+;

第四步:使1I I =+; 第五步:如果100I ≤,则返回第三步,否则输出S 。

【知识点】流程图 1.顺序结构

例题.已知两个单元分别存放变量x 和y 的值,试交换这两个变量的值。(如上图) 2.选择结构

例题.铁路客运部门规定旅客托运行李的费用为(其中ω为行李的重量)

0.5350500.53(50)0.8550c ω

ωωω⨯≤⎧=⎨

⨯+-⨯>⎩,请画出计算费用c 流程图。(如右图)

3.循环结构

例题.写出求12345⨯⨯⨯⨯值的一个算法,并画出流程图。 解:1S 1T ←;

2S 2I ←; 3S T T I ←⨯; 4S 1I I ←+;

5S 如果5I ≤,转3S , 否则输出T 。 【必会题型】

1.设计一个求任意数的绝对值的算法,

并画出流程图。(流程图为右上图) 算法:1S 输入任意实数x ; 2S 若0≥x ,则y x ←;否则y x ←-;

3S 输出y 。 2.判断右边的流程图的作用是什么?

算法:1S 2S ←;

2S 4I ←;

3S S S I ←+; 4S 2I I ←+;

5S 如果100I ≤,转3S ,否则输出S 。

p x ←x y ← y p ← ↓

↓ ↓

3.设计一个计算10个数平均数的算法,并画出流程图。 解:1S 0S ←;

2S 1I ←; 3S 输入G ; 4S S S G ←+; 5S 1I I ←+;

6S 如果10I ≤,转3S ;

7S 10

S

A ←;

8S 输出A 。

4.画出求111

123100++++的流程图。

5.画出求111

122399100+++

⨯⨯⨯的流程图。 【知识点3】基本算法语句

1赋值语句:“x y ←”表示将y 的值赋给x ,其中x 是一个变量,y 是一个与x 同类型的变量或表达式。 2输入、输出语句:

输入、输出语句分别用Read (或Input )

3条件语句:一般形式为:If —then —(图1),对应的程序框图为(图2)。

例1.写出输入两个数a 和b ,将较大的数打印出来的算法,写出算法伪代码,并画出流程图。 算法步骤: S1 输入a,b ;

S2 若

a>b ,则输出a , 否则输出b 。

(图1)

例2.某居民区的物业管理部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.试设计算法,根据输入的人数计算应收取的卫生费?

例3:儿童乘坐火车时,若身高不超过1.1 m ,则无需购票;若身高超过1.1 m 到不超过1.4 m ,可买半票;若超过1.4 m ,应买全票。试设计一个购票的算法,写出伪代码,并画出流程图。

解:算法步骤:S1 测量儿童身高h ; S2 若 1.1h ≤,则免费乘车;否则,若1.4h ≤,则半票乘车;否则,全票乘车。 算法伪代码: Read h If 1.1h ≤ Then Print 免费乘车 Else If 1.4h ≤ Then Print 半票乘车

Else Print 全票乘车

End If 当型循环结构: 直到型循环结构: 4.循环语句

例1.写出计算

135799⨯⨯⨯⨯⨯的一个

算法。

例2.写出计算1+2+3+4+ ……+99+100的算法。

1S ← While 100I ≤ S S I ←+ 1I I =+ End While Print S

End

1S ← do

S S I ←+ 1I I =+ Until 100I > End do Print S

End

例 3.求满足1357____10000⨯⨯⨯⨯⋅⋅⋅⨯>的最小整数的算法。(根据右图填空)

【知识点4】秦九韶算法 秦九韶(1202—1261) “秦九韶算法”的特点:通过一次式的反复计算,逐步得出高次多项式的值;对于一个n 次多项式,最多只要做n 次乘法和n 次加法。

练习:当2x =时,计算323245x x x ---需要 次

加法, 次乘法。 【知识点5】辗转相除法【用较大的数除以较小的数,直到余数0=r 为止】

例题:求8251和6105的最大公约数。 “辗转相除”伪代码: Read ,While Mod(,)0 Mod(,) End While

Print a b

a b r a b a b b r b

≠←←←

练习:利用辗转相除法求两数4081与20723的最大公约数。(答案:53) 【知识点6】更相减损术

1.用更相减损术求98与63的最大公约数。

2.用更相减损术求两个正数84与72的最大公约数。

【知识点7】二分法

例题:写出用二分法求解方程310x x --=在区间[1,1.5]内的一个近似解(误差不超过0.001)的一个算法。 算法步骤:

1S 取[,]a b 的中点02

a b

x +=

,把区间一分为二; 2S 若0()0f x =,则0x 就是方程的根,否则判断根在0x 的左侧还是右侧;

若0()()0f a f x >,则根0(,)x b 内,以0x 代替a ; 若0()()0f a f x <,则根0(,)a x 内,以0x 代替b ;

3S 若||0.001a b -<,计算终止,此时根的近似值为0x ,否则转1S 。

1S ← 1I ←

While 10000S ≤

2I I ←+ *S S I ← End While Print I

End

相关文档
最新文档