(共26张PPT)
1.1.1 算法的概念
解:第一步: (2)–(1)×2得5y = 3; (3)
第二步:
解(3)得 y = 3/5;
第三步:
将 y = 3/5 代入 (1) , 得 x = 1/5。
一、创设情境
解:第一步:
第二步:
第三步:
对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善。
二、新课研探
1、定义:
广义地说,算法就是做某一件事的步骤或程序。如:菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法,在数学中,主要研究主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
算法(algorithm)这个出现于12世纪,指的是用阿拉伯数字进行算术运算的过程,在数学中,现在意义上的“算法”通常是指可以用计算机来解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
例1 任意给定一个大于1的整数 n ,试设计一个程序或步骤对 n 是否为质数做出判定。
算法分析:
根据质数的定义,设计以下步骤:
第一步:
判断n是否等于2,若n=2,则n是质数;
若n > 2则执行第二步;
第二步:
依次从 2 至(n-1)检验是不是n的因数,
即整数 n 的数,若有这样的数,则n不
是质数;若没有这样的数,则 n 是质数。
2、例题分析
例2 用二分法设计一个求方程 x2 – 2 = 0 的近似根的算法。
算法分析:
回顾二分法的解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:
第一步:
令 f (x) = x2 ,因为f (1) < 0,f(2) > 0, 所以x1=1,x2=2;
第二步:
令m=(x1+x2)∕2,判断f(m)是否为 0,若是,则m为所求,若否,则继续判断 f(x1) · f(m) 大于0 还是小于0 ;
第三步:
若f(x1) · f(m) > 0则令x1=m,否则,令x2=m;
第四步:
判断|x1–x2| < 0.005是否成立?若是,则x1, x2之间的任意取值均为满足条件的近似根;若否,则返回第二步。
小结:算法具有以下特性:
(1)有穷性
(2)确定性
(3)顺序性
(4)不唯一性
(5)普遍性
表1-1
图1.1-1
x1 x2 ︱x1–x2︱
1 2 1
1 1.5 0.5
1.25 1.5 0.25
1.375 1.5 0.125
1.375 1.4375 0.0625
1.40625 1.4375 0.03125
1.40625 1.421875 0.015625
1.4140625 1.421875 0.0078125
1.4140625 1.414796875 0.003990625
你能举出更多的算法的例子?与一般的解决问题的过程比较,你认为算法最重要的特征是什么?
算法实际上是一种独特的解题过程,与一般的解题过程比较,算法是构造性的,而且必须在有限步之内完成。递归性往往又是某些较为复杂的算法特点,所以算法就是一种利用有限构造或有限递归构造解决问题的过程。
三、练习
1、写出求1+2+3+4+5+6的一个算法
解:算法 1:
算法分析:
第一步:计算1+2 得到 3;
第二步:将每一步中的运算结果 3 与 3 相加得到 6;
第三步:第直步中的运算结果 6 与 4 相加得到 10;
第四步:将第三步中的运算结果 10 与 5 相加得到 15;
第五步:将第四步中的运算结果 15 与 6 相加得到 21。
算法2:
第一步:取n=6;
第三步:输出结果。
算法3:
第一步:将原式变形为(1+6)+(2+5)+(3+4)=3×7;
第二步:计算 3×7;
第三步:输出运算结果。
2、任意给定的一个实数,设计一个算法求以这个数为半径的圆的面积。
算法步骤:
第一步:输入任意一个正实数 r;
第三步:输出圆的面积 S。
3、任意给定一个大于 1 的正整数 n ,设计一个算法求出 n 的所有因数。
算法步骤:
第一步:依次以2 ~(n – 1)为除数除 n ,检查余数是否为0;若是,则是 n 的因数;若不是,则不是 n 的因数;
第二步:在 n 的因数中加入 1 和 n;
第三步:输出n的所有因数。
四、小结
本节课主要讲了算法的概念,算法就是解决问题的步骤,算法虽然没有一个明确的概念,但其特点还是很鲜明的;平时不论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言。
五、作业
1、求1×3 × 5 × 7 × 9 × 11的值,写出其算法。
§1.1.2 程序框图
1城区一中学生数学模块学分认定由模块成绩决定,模块成绩由模块考试成绩和平时成绩构成,各占50%,若模块成绩大于或等于60分,获得2学分,否则不能获得学分(为0分),设计一算法,通过考试成绩和平时成绩计算学分,并画出程序框图
2、 对任意正整数n,
的值,并画出程序框图.
开始
输入一个正整数n
输入S的值
结束
S=0
i=1
S=S+1/i
i=i+1
i≤n
Y
N
设计一个算法求
思考:将步骤A和步骤B交换位置,结果会怎样?能达到预期结果吗?为什么?要达到预期结果,还需要做怎样的修改?
例3 设计一算法,求和:1+2+3+…+100
能否说说这个流程图的异同点?
解决方法就是加上一个判断,判断是否已经加到了100,如果加到了则退出,否则继续加。
直到型结构
当型结构
i<100?
i>=100?
请填上判断的条件。
开始
输入a
a ≥0
输出 |a|=a
输出 |a|=-a
结束
N
Y
P11 练习1
开始
X1=1
X2=2
m=(x1+x2)/2
x2=m
x1=m
m*m -3<>0
|x1 -x2|<0.005
(x1*x1 -3)*(m*m -3) >0
输出所求的近似值m
结束
m=(x1+x2)/2
N
y
y
N
练习2
▲下面是关于城市居民生活用水收费的问题
为了加强居民的节水意识,某市制定了以下生活用水收费标准:每户每月用水未超过7m3时,每立方米收费 1.0 元,并加收0.2元的城市污水处理费,超过7m3的部分,每立方米收费1.5元,并加收0.4元的城市污水处理费.
开始
输入x
x≤7
y=1.2x
y=1.9x-4.9
输入y
结束
y
N
P.11习题A组第1题 程序框图
开始
S=0
I=I+1
I=1
S=S+I*I
I≤100
输出S
结束
N
Y
P.11习题1.1A组第2题
输入x
开始
x>3
y=1.2x+1.4
y=5
输入y
结束
N
Y
P.11习题A组第3题
程序框图
开始
输入50米跑成绩:x
x <6.8
输出提示“若要继续请按
键”Y“,否则请按其他键
输入到变量m
m=“y”or m=“Y”
结束
输出x
N
Y
Y
N
P.11习题1.1B组第1题
程序框图
开始
输出提出:“输入
第一个方程的系数”
“x的系数是”:a1
“y的系数是”:b1
“常数项是”:c1
输出“x=”;x
“y=”;y
方程有无数多组解
a1*b2-a2*b1≠0
x=(c2*b1 -c1*b2)/(a1*b2 -a2*b1)
y=(c2*b1 -c1*b2)/(a1*b2 -a2*b1)
结束
输出提出:“输入
第二个方程的系数”
“x的系数是”:a2
“y的系数是”:b2
“常数项是”:c2
N
Y
c1=c2
方程无解
P.11习题1.1B组第2题
作业:
课外整理所有讲过的例题及习题
建构程序框图的系统性