算法初步PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)用变量R[i](i=1,2,…,n)表示这n个己排好的数;
(2)将A与最后一个数R[n],比较,若A≥R[n],则令R[n+1]:=A, 排序完成,若A<R[n],则令R[n+1]:=R[n];
(3)将A与R[n-1]比较,若A≥R[n-1],则令R[n]:=A,排序完成, 若A<R[n-1],则令R[n]:=R[n-1];
7
流程图如图所示:
开始
输入a,b,c
计算Δ:=b2-4ac
Δ<0
x1:b2a,x2:b2a
输出x1,x2
输出无实数解
结束
程序2
2020年10月2日
8
3、循环结构
(1)循环结构的概念 循环结构是指在算法中从某处开始,按照一定的条件反复
执行某一处理步骤的结构。在科学计算中,有许多有规律的 复计算,如累加求和、累乘求积等问题。
2020年10月2日
10
例1:设计算法,求和1+2+3+┄+100
开始
Sum:=0,i:=1
Sum:=Sum+1
i:=i+1
否 i>100 是
输出Sum
结束
程序3
2020年10月2日
11
例2:设计算法流程图,求解方程x3+4x-10=0 在区间[0,2]内的解(精确至10-5)
开始
a:=0,b:=1
(1)顺序结构是指在一个算法中运算是按照 步骤依次执行的,这是一种最简单的算法结构,
也是任何一个算法必不可少的逻辑结构。 (2)顺序结构的流程图如图
A B
2020年10月2日
3
例、己知点P(x0,y0)和直线l:Ax+By+C=0,求点P 到直线的距离d,设计一个算法,解决这一问题, 并画出流程图。
解:算法步骤如下:
(1)输入点的坐标x0,y0,输入直线方程的系数A, B和常数C;
(2)计算:z1:=Ax0+By0+C;
(3)计算:z2:=A2+B2;
(4)计算:d
:
| z1 | z2
(5)输出d.
流程图
2020年10月2日
4
流程图如图所示:
开始
输入x0,y0,A,B,C
Z1:=Ax0+By0+C
Z2:=A2+B2
d : | z1 | z2
输出d 结束
程序1
2020年10月2日
5
2、选择结构
(1)选择结构是指在算法中有时要进行判断, 判断的结果直接决定后面的执行步骤,这样的 结构叫作选择结构,有时也称为条件结构、条 件分支结构等。
(2)选择结构的流程图如图
是
否
条件
步骤1
步骤2
计算机执行这种结构的算法,先对条件进行判 断,若条件为真,则执行步骤1,若条件为假,则 执行步骤2.
高一新课标(配北师大版)
第二章、算法初步
一、算法的基本结构 二、排序问题
2020年10月2日
1
一、算法的基本结构
尽管不同的算法千差万别,但它们都是由三种基本的 逻辑结构构成的,这三种逻辑结构就是顺序结构、选择 结构、循环结构。
1、顺序结构 2、选择结构
3、循环结构
2020年10月2日
2
1、顺序结构
2020年10月2日
结束
14
例 :设计算法,利用直接插入法在有序列 {9,13,28,35,72,95}中插入数A,形 成新的有序列
开始
j:=6
j=0 否
A≥R[j] 否
是 是
R[j+1]:=R[j]
j:=j-1
R[j+1]:=A
2020年10月2日
程wenku.baidu.com5
结束
15
2、冒泡排序法
(1)所谓冒泡排序,形象地说,就是在一组数据按照从小到大的顺序排 列时,小的数据视为质量轻,大的数据视为质量沉,五个小的数据就好 比水中的气泡,往上方移动,一个较大的数据就好比石头,往 下方移动。 最后,最重的会沉到底,最轻的会浮到顶,反复进行,直到将数据排成 有序列,这种排序方法形象地称为冒泡排序。
(4)不断得复上述过程,即将A与有序列中的每一个数比较, 直到出现A≥R[j]或A<R[1],则令R[j+1]:=A或R[1]:=A,排序完成。
2020年10月2日
13
有序列直接插入排序的算法流程图:
开始
j:=n
j=0 否
A≥R[j] 否
是 是
R[j+1]:=R[j]
j:=j-1
R[j+1]:=A
2020年10月2日
16
冒泡排序的算法流程图:
开始
j:=1
i:=1
是
否
R[i]>R[i+1]
a:=R[i];R[i]:=R[i+1];R[i+1]:=a
i:=i+1
否 i=n
i:=i+1
2020年10月2日
j>n-1
结束
17
例 :输入5个数,将它们按照从小到大顺序 排列好
程序6
2020年10月2日
(2)冒泡排序的基本过程被分为若干趟,第一趟排序结束,最大的数据就 排在了最后,第二趟排序将每二大的数排在最大数左边相邻的位置上,依 次下去,至多经过 n-1趟排序,就可将排序完成。
(3)在每一趟排序中,是从左边第1个数开始,与它右边相邻的数进行比 较,若它小于右边的数,则两数位置不动;若它大于或等于右边的数,则 将两数的位置交换,一直比较到 最后两数。
(2)循环结构的三要素
循环变量,循环体、循环的终止条件。
(3)循环结构的设计步骤
1)确定循环结构的循环变量和初始条件 2)确定算法中需要反复执行的部分,即循环体; 3)确定循环的终止条件。
2020年10月2日
9
4、循环结构的算法流程图
循环量:=初始值 循环体
循环量:=循环变量的后继
否 循环变量>终值 是
18
演讲完毕,谢谢观看!
Thank you for reading! In order to facilitate learning and use, the content of this document can be modified, adjusted and printed at will after downloading. Welcome to download!
是 f((a+b)/2)=0
否
是
否
f(a)f((a+b)/2)>0
a:=(a+b)/2
b:=(a+b)/2
否 b-a>10-5
是 输出(a+b)/2
结束
返回
程序4
2020年10月2日
12
1、有序列直接插入排序法
基本过程如下: 假设现在己有按从小到大排列好的n个数,我们要将新 数A插入到这个有序列中。
2020年10月2日
6
例、试设计一个求一元二次方程ax2+bx+c=0(a≠0) 的根的算法,并画出流程图。
解:算法步骤如下:
(1)计算Δ:=b2-4ac; (2)如果Δ<0,则原方程无实数解;否则 ( Δ≥0),令 x1:b2a,x2:b2a (3)输出解x1,x2或实数解的信息。
流程图
2020年10月2日
(2)将A与最后一个数R[n],比较,若A≥R[n],则令R[n+1]:=A, 排序完成,若A<R[n],则令R[n+1]:=R[n];
(3)将A与R[n-1]比较,若A≥R[n-1],则令R[n]:=A,排序完成, 若A<R[n-1],则令R[n]:=R[n-1];
7
流程图如图所示:
开始
输入a,b,c
计算Δ:=b2-4ac
Δ<0
x1:b2a,x2:b2a
输出x1,x2
输出无实数解
结束
程序2
2020年10月2日
8
3、循环结构
(1)循环结构的概念 循环结构是指在算法中从某处开始,按照一定的条件反复
执行某一处理步骤的结构。在科学计算中,有许多有规律的 复计算,如累加求和、累乘求积等问题。
2020年10月2日
10
例1:设计算法,求和1+2+3+┄+100
开始
Sum:=0,i:=1
Sum:=Sum+1
i:=i+1
否 i>100 是
输出Sum
结束
程序3
2020年10月2日
11
例2:设计算法流程图,求解方程x3+4x-10=0 在区间[0,2]内的解(精确至10-5)
开始
a:=0,b:=1
(1)顺序结构是指在一个算法中运算是按照 步骤依次执行的,这是一种最简单的算法结构,
也是任何一个算法必不可少的逻辑结构。 (2)顺序结构的流程图如图
A B
2020年10月2日
3
例、己知点P(x0,y0)和直线l:Ax+By+C=0,求点P 到直线的距离d,设计一个算法,解决这一问题, 并画出流程图。
解:算法步骤如下:
(1)输入点的坐标x0,y0,输入直线方程的系数A, B和常数C;
(2)计算:z1:=Ax0+By0+C;
(3)计算:z2:=A2+B2;
(4)计算:d
:
| z1 | z2
(5)输出d.
流程图
2020年10月2日
4
流程图如图所示:
开始
输入x0,y0,A,B,C
Z1:=Ax0+By0+C
Z2:=A2+B2
d : | z1 | z2
输出d 结束
程序1
2020年10月2日
5
2、选择结构
(1)选择结构是指在算法中有时要进行判断, 判断的结果直接决定后面的执行步骤,这样的 结构叫作选择结构,有时也称为条件结构、条 件分支结构等。
(2)选择结构的流程图如图
是
否
条件
步骤1
步骤2
计算机执行这种结构的算法,先对条件进行判 断,若条件为真,则执行步骤1,若条件为假,则 执行步骤2.
高一新课标(配北师大版)
第二章、算法初步
一、算法的基本结构 二、排序问题
2020年10月2日
1
一、算法的基本结构
尽管不同的算法千差万别,但它们都是由三种基本的 逻辑结构构成的,这三种逻辑结构就是顺序结构、选择 结构、循环结构。
1、顺序结构 2、选择结构
3、循环结构
2020年10月2日
2
1、顺序结构
2020年10月2日
结束
14
例 :设计算法,利用直接插入法在有序列 {9,13,28,35,72,95}中插入数A,形 成新的有序列
开始
j:=6
j=0 否
A≥R[j] 否
是 是
R[j+1]:=R[j]
j:=j-1
R[j+1]:=A
2020年10月2日
程wenku.baidu.com5
结束
15
2、冒泡排序法
(1)所谓冒泡排序,形象地说,就是在一组数据按照从小到大的顺序排 列时,小的数据视为质量轻,大的数据视为质量沉,五个小的数据就好 比水中的气泡,往上方移动,一个较大的数据就好比石头,往 下方移动。 最后,最重的会沉到底,最轻的会浮到顶,反复进行,直到将数据排成 有序列,这种排序方法形象地称为冒泡排序。
(4)不断得复上述过程,即将A与有序列中的每一个数比较, 直到出现A≥R[j]或A<R[1],则令R[j+1]:=A或R[1]:=A,排序完成。
2020年10月2日
13
有序列直接插入排序的算法流程图:
开始
j:=n
j=0 否
A≥R[j] 否
是 是
R[j+1]:=R[j]
j:=j-1
R[j+1]:=A
2020年10月2日
16
冒泡排序的算法流程图:
开始
j:=1
i:=1
是
否
R[i]>R[i+1]
a:=R[i];R[i]:=R[i+1];R[i+1]:=a
i:=i+1
否 i=n
i:=i+1
2020年10月2日
j>n-1
结束
17
例 :输入5个数,将它们按照从小到大顺序 排列好
程序6
2020年10月2日
(2)冒泡排序的基本过程被分为若干趟,第一趟排序结束,最大的数据就 排在了最后,第二趟排序将每二大的数排在最大数左边相邻的位置上,依 次下去,至多经过 n-1趟排序,就可将排序完成。
(3)在每一趟排序中,是从左边第1个数开始,与它右边相邻的数进行比 较,若它小于右边的数,则两数位置不动;若它大于或等于右边的数,则 将两数的位置交换,一直比较到 最后两数。
(2)循环结构的三要素
循环变量,循环体、循环的终止条件。
(3)循环结构的设计步骤
1)确定循环结构的循环变量和初始条件 2)确定算法中需要反复执行的部分,即循环体; 3)确定循环的终止条件。
2020年10月2日
9
4、循环结构的算法流程图
循环量:=初始值 循环体
循环量:=循环变量的后继
否 循环变量>终值 是
18
演讲完毕,谢谢观看!
Thank you for reading! In order to facilitate learning and use, the content of this document can be modified, adjusted and printed at will after downloading. Welcome to download!
是 f((a+b)/2)=0
否
是
否
f(a)f((a+b)/2)>0
a:=(a+b)/2
b:=(a+b)/2
否 b-a>10-5
是 输出(a+b)/2
结束
返回
程序4
2020年10月2日
12
1、有序列直接插入排序法
基本过程如下: 假设现在己有按从小到大排列好的n个数,我们要将新 数A插入到这个有序列中。
2020年10月2日
6
例、试设计一个求一元二次方程ax2+bx+c=0(a≠0) 的根的算法,并画出流程图。
解:算法步骤如下:
(1)计算Δ:=b2-4ac; (2)如果Δ<0,则原方程无实数解;否则 ( Δ≥0),令 x1:b2a,x2:b2a (3)输出解x1,x2或实数解的信息。
流程图
2020年10月2日