(共43张PPT)
问题的提出
有一个农夫带一条狼狗、一只羊和一筐白菜过河。如果没有农夫看管,则狼狗要吃羊,羊要吃白菜。但是船很小,只够农夫带一样东西过河。问农夫该如何解此难题?
方法和过程:
1、带羊到对岸,返回;
2、带菜到对岸,并把羊带回;
3、带狼狗到对岸,返回;
4、带羊到对岸。
[问题1]请你写出解二元一次方程组的详细求解过程.
解方程
第一步,
由(1)得
第二步,
将(3)代入(2)得
第三步,
解(4)得
第四步,
将(5)代入(3)得
第五步,
得到方程组的解得
解方程
第一步,
第二步,
第三步,
第四步,
第五步,
得到方程组的解得
广义地说:为了解决某一问题而采取的方法和步骤,就称之为算法。
在数学中,按照一定规则解决某一类问题的明确和有限的步骤,称为算法。
现在,算法通常可以编成计算机程序,让计算机执行并解决问题。这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
算法的概念:
没有软件的支持,计算机只是一堆废铁而已;
软件的核心就是算法 !
算法的特征
一.确定性:每一步必须有确切的定义。
二.有效性:原则上必须能够精确的运行。
三.有穷性:一个算法必须保证执行有限步 后结束
算法的优缺点
一.缺点:算法一般是机械的,有时需要进行大量重复的计算.
二.优点:算法是一种通法,只要按照步骤去做,总能得到结果.
广播操图解是广播操的算法;
菜谱是做菜的算法;
歌谱是一首歌曲的算法;
空调说明书是空调使用的算法等
我们身边的算法
应用举例
例1.(1)设计一个算法判断7是否为质数.
第一步, 用2除7,得到余数1.因为余数不为0,
所以2不能整除7.
第二步, 用3除7,得到余数1.因为余数不为0,
所以3不能整除7.
第三步, 用4除7,得到余数3.因为余数不为0,
所以4不能整除7.
第四步, 用5除7,得到余数2.因为余数不为0,
所以5不能整除7.
第五步, 用6除7,得到余数1.因为余数不为0,
所以6不能整除7.因此,7是质数.
应用举例
例1.(2)设计一个算法判断35是否为质数.
第一步, 用2除35,得到余数1.因为余数不为0,
所以2不能整除35.
第二步, 用3除35,得到余数2.因为余数不为0,
所以3不能整除35.
第三步, 用4除35,得到余数3.因为余数不为0,
所以4不能整除7.
第四步, 用5除35,得到余数0.因为余数为0,
所以5能整除35.因此,35不是质数.
任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.
第一步:判断n是否等于2.若n=2,则n是质数;若n>2,则执行第二步.
第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数.
这是判断一个大于1的整数n是否为质数的最基本算法.
用语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述.每一步做一件事情.
应用举例
例2.用二分法设计一个求方程
的近似根的算法.
探究解决
对于区间[a,b ]上连续不断、且
f(a)f(b)<0的函数y=f(x),通过不断地
把函数f(x)的零点所在的区间一分
为二,使区间的两个端点逐步逼近
零点,进而得到零点近似值的方法
叫做二分法.
解决问题
×
第四步, 若f(a) ·f(m) < 0,则含零点的区间为[a,m];
第一步, 令 .给定精确度d.
第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第三步, 取中间点 .
第五步, 判断[a,b]的长度是否小于d或者
f(m)是否等于0.
将新得到的含零点的仍然记为[a,b] .
否则,含零点的区间为[m, b].
若是,则m是方程的近似
解;否则,返回第三步.
解决问题
a b m f(m) d
1 2 1.5 0.25 1
1 1.5 1.25 -0.4375 0.5
1.25 1.5 1.375 -0.109375 0.25
1.375 1.5 1.4375 0.06640625 0.125
1.375 1.4375 1.40625 -0.02246094 0.0625
1.40625 1.4375 1.421875 0.021728516 0.03125
1.40625 1.421875 1.4140625 -0.00042725 0.015625
1.4140625 1.421875 1.41796875 0.010635376 0.0078125
1.4140625 1.417969 1.41601563 0.00510025 0.00390625
当d=0.05时
评析:实际上,上述步骤就是在求 的近似值.
与一般的解决问题的过程比较,算法有以下特征:
①设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤必须是有效的.
②算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成.
练习一:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.
算法分析:
第一步:输入任意一个正实数r;
第二步:计算以r为半径的圆的面积S=πr2;
第三步:输出圆的面积.
课本5页 1
练习二:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.
算法分析:
第一步:依次以2~(n-1)为除数去除n,判断余数是否为0,若是,则是n的因数;若不是,则不是n的因数.
第二步:在n的因数中加入1和n;
第三步:输出n的所有因数.
课本5页 2
计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
1.1.2 程序框图
例1:任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定.
算法分析:
第一步:判断n是否等于2.
若n=2,则n是质数;
若n>2,则执行第二步.
第二步:依次检验2~(n-1)这些整数是不是n的因素,即是不是整除n的数.若有这样的数,则n不是质数;若没有这样的数,则n是质数.
从上节课我们知道:算法可以用自然语言来描述.如例1
为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它.
开始
输入n
i=2
求n除以i的余数r
i的值增加1仍用i表示
i≥n或r=0
n不是质数
结束
是
否
是
n是质数
否
r=0
i=i+1
程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.
通常,程序框图由程序框和流程线组成.
一个或几个程序框的组合表示算法中的一个步骤;
流程线是方向箭头,按照算法进行的顺序将程序
框连接起来.
基本的程序框和它们各自表示的功能如下:
图形符号 名称 功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示一个算法输入和输出的信息
处理框(执行框)
判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.
判断框
赋值、计算
流程线
连接程序框
连接点
连接程序框图的两部分
开始
输入n
i=2
求n除以i的余数r
i的值增加1仍用i表示
i≥n或r=0
n不是质数
结束
是
否
是
n是质数
否
r=0
设n是一个大于2的整数.
一般用i=i+1表示.
i=i+1
说明:i表示从2~(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这个变量,算法才能依次执行.逐步考察从2~(n-1)的所有正整数中是否有n的因数存在.
思考 通过上述算法的两种不同表达方式的比较,你觉得用程序框图来表达算法有哪些特点
用程序框图表示的算法更加简练,直观,流向清楚.
开始
输入n
i=2
求n除以i的余数r
i=i+1
i≥n或r=0
n不是质数
结束
是
否
是
n是质数
否
r=0
顺序结构
用程序框图来表示算法,有三种不同的基本逻辑结构:
条件结构
循环结构
程序框图的三种基本的逻辑结构
顺序结构
条件结构
循环结构
(1)顺序结构-----是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.
例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.
算法分析:
第一步:计算p的值.
第二步:由海伦-秦九韶公式求出三角形的面积S.
第三步:输出S的值.
A
B
(1)顺序结构-----是由若干个依次执行的处理步骤组成的.这是任何一个算法都离不开的基本结构.
例1:已知一个三角形的三边边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出算法的程序框图.
算法分析:
第一步:计算p的值.
第二步:由海伦-秦九韶公式求出三角形的面积S.
第三步:输出S的值.
程序框图:
开始
输出S
结束
画出:已知三角形的三边长a,b,c,求它的面积的程序框图.
开始
输出S
结束
输入a,b,c
已知三角形三边长分别为a,b,c,则三角形的面积为
其中
这个公式被称为海伦—秦九韶公式.
返回
(2)条件结构---在一个算法中,经常会遇到一些条件的判断,算法的流向根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.
例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.
算法分析:
第一步:输入3个正实数a,b,c;
第二步:判断a+b>c,a+c>b,b+c>a是否同时成立,若是,则能组成三角形;若否,则组不成三角形.
程序框图:
开始
输入a,b,c
a+b>c,a+c>b,b+c>a是否
同时成立
是
存在这样的
三角形
不存在这样的
三角形
否
结束
课本50页1(1)
开始
程序框图
x<0
是
y=0
否
0≤x<1
是
y=1
否
y=x
输出y
结束
输入x
作业:
课本P50页A组1(2),
(画出程序框图)
(3)循环结构---在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体.
注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断,因此,循环结构中一定包含条件结构.
例3:设计一个计算1+2+3+……+100的值的算法,并画出程序框图.
算法分析:
第1步:0+1=1;
第2步:1+2=3;
第3步:3+3=6;
第4步:6+4=10
…………
第100步:4950+100=5050.
第(i-1)步的结果+i=第i步的结果
各步骤有共同的结构:
为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从而把第i步表示为 S=S+i
S的初始值为0,i依次取1,2,…,100,
由于i同时记录了循环的次数,所以i称为计数变量.
程序框图:
开始
i=1
S=0
S=S+i
i=i+1
i>100
是
输出S
结束
否
直到型循环结构
开始
i=1
S=0
i≤100
是
S=S+i
i=i+1
否
输出S
结束
当型循环结构
说明:
循环结构分为两种------当型和直到型.
当型循环在每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足则停止;
(当条件满足时反复执行循环体)(WHILE)
直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.
(反复执行循环体,直到条件满足)(UNTIL)
作业:
4.(P40页A组T1(2)
开始
程序框图
x<0
是
y=(x+2)2
否
x=0
是
y=4
否
输出y
结束
输入x
y=(x-2)2(共12张PPT)
开始
i=0
j=10
j<19
i=i+1
j=j+3
是
输出i
否
结束
i=0,
j=10,
i=0+1=1,
j=10+3=13,
i=1+1=2,
j=13+3=16,
i=2+1=3,
j=16+3=19.
报纸 随堂练习 2
开始
输入a,b,c
x=a
a=c
c=b
b=x
输出a,b,c
结束
报纸 同步检测5
a=21,
b=32,
c=75,
x=21,
a=75,
c=32,
b=21.
开始
输入a,b,c
b=a
c=b
a=c
输出a,b,c
结束
报纸 同步检测5(变形)
a=21,
b=32,
c=75,
b=21,
c=21,
a=21.
开始
a=5,s=1
a≥4
s=s×a
a=a-1
是
否
输出s
结束
报纸 同步检测10
a=5,
s=1,
s=1×5=5,
a=5-1=4,
s=5×4=20,
a=4-1=3
报纸 同步检测11(5班)
开始
i=2
sum=0
sum=sum+i
i=i+2
i≥100
否
是
输出sum
结束
报纸 同步检测11
i=2,
sum=0,
sum=0+2,
i=2+2=4,
sum=0+2+4,
i=4+2=6,
sum=0+2+4+6
……
sum=0+2+……+98
i=98+2=100
开始
输入x
m=x除以2的余数
是
否
输出“x是偶数”
输出“x是奇数”
结束
报纸 同步检测15
m=0
开始
输入a,b,c,d
aa是
否
b否
c否
是
输出d
输出c
输出b
是
输出a
结束
报纸 同步检测18
开始
N=1
I=2
N=N·I
I=I+1
I>6
是
输出N
结束
否
创新 课后智能测评6
N=1,
I=2,
N=1×2,
I=2+1=3,
N=1×2×3,
I=3+1=4,
……
I=5+1=6,
N=1×2×3×……×6,
I=6+1=7.
开始
输入x
x>0
是
否
x=0
是
否
y=1
y=0
y=-1
输出y
结束
写出程序框图所表示的函数。
开始
S=0
i=1
i≤5
否
是
i=i+1
输出S
结束
写出S的表达式
开始
S=0
i=1
i≤5
否
是
i=i+1
结束
写出S的表达式
输出S
开始
S=1
i=2
i≤10
否
是
S=S×i
i=i+1
输出S
结束
写出S的表达式
……给定精度区间 中点值 精度 前端点值 后端点值 中间函数值 所求近似值
精度 a b m=(a+b)/2 |a-b| f(a) f(b) f(m) x
0.005 1 2 1.5 1 -1 2 0.25 1
0 0 -2 -2 -2 0
0 0 -2 -2 -2 0
0 0 -2 -2 -2 0
0 0 -2 -2 -2 0
0 0 -2 -2 -2 0
0 0 -2 -2 -2 0
0 0 -2 -2 -2 0
0 0 -2 -2 -2 0