Upload
lora
View
69
Download
0
Embed Size (px)
DESCRIPTION
算法的基本结构及设计. 杨清孟. 课前练习:. 1. 已知点 P 0 (x 0 ,y 0 ) 和直线 L: Ax+By+C=0 ,求点 P 到直线 L 的距离 d 。设计一个算法。. 2. 给定平面内任意两点 A(x 1 ,y 1 ),B(x 2 ,y 2 ). 设计一个算法,求两点连线的斜率。. 1. 解:算法步骤如下:. (1) 输入点的坐标 x 0 ,y 0 和直线方程的系数 A.B.C. (2) 计算 Z 1 = Ax 0 +By 0 +C. (3) 计算 Z 2 = A 2 +B 2. (4) 计算. (5) 输出 d. 2. 解:算法步骤如下:. - PowerPoint PPT Presentation
Citation preview
算法的基本结构及设计
杨清孟
课前练习:
1. 已知点 P0(x0,y0)和直线 L:Ax+By+C=0,求点 P 到直线 L 的距离 d 。设计一个算法。
2. 给定平面内任意两点 A(x1,y1),B(x2,y2).设计一个算法,求两点连线的斜率。
1. 解:算法步骤如下:
(1) 输入点的坐标 x0,y0 和直线方程的系数 A.B.C(2) 计算 Z1=Ax0+By0+C
(3) 计算 Z2=A2+B2
(4) 计算2
1 ||
z
zd
(5) 输出 d
2. 解:算法步骤如下:
(1) 输入点的坐标 x1,y1,x2,y2
(2) 判断 x1 是否等于 x2. 若 x1 = x2 ,则输出“斜率
不存在”的信息;否则计算(3) 输出 k 的值
12
12
xx
yyk
1. 解 : 算法步骤如下:(1) 输入点的坐标 x0,y0
和直线方程的系数 A.B.C(2) 计算 Z1=Ax0+By0+C
(3) 计算 Z2=A2+B2
(4) 计算2
1 ||
z
zd
(5) 输出 d
2. 解 : 算法步骤如下:(1) 输入点坐标 x1,y1,x2,y2
(2) x1 是否等于 x2.
若 x1 = x2 ,则输出“斜率不存在”的信息;否则计算
(3) 输出 k 的值12
12
xx
yyk
判断判断
顺序 结构
条件 结构
1. 解 : 算法步骤如下:(1) 输入点的坐标 x0,y0
和直线方程的系数 A.B.C(2) 计算 Z1=Ax0+By0+C
(3) 计算 Z2=A2+B2
(4) 计算2
1 ||
z
zd
(5) 输出 d
顺序 结构
输入 x0,y0,A.B.C
开始
计算 Z1=Ax0+By0+C
输出 d
计算 Z2=A2+B2
结束
计算 21 /|| zzd
输入 x0,y0,A.B.C
开始
计算 Z1=Ax0+By0+C
输出 d
计算 Z2=A2+B2
结束
计算 21 /|| zzd
开始
输入
处理
输出
结束
算法的程序框图
算法的程序框图
起止框
表示一个算法的开始或结束
输入、输出框
框内标明输入、输出的内容
处理框
框内标明所进行的处理
流程线
表示从某一框到另一框的流向
设计算法 , 求一元二次方程 ax2+bx+c=0( a≠0,b2-4ac>0 )的根 , 画出相应的流程图
输入系数 a,b,c
输出 X1 、 X2
结束
开始
计算 acb 42
计算 a
bx
21
a
bx
22
算法有三种基本逻辑结构 顺序结构、条件结构、循环结构。 顺序结构
顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
A
B i=2
输入 n
示意图
顺序结构在程序框图中的体现就是用 流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中, A 框和B 框是依次执行的,只有在执行完 A 框指定的操作后,才能接着执行 B 框所指定的操作。
( 2 )图中输出 a = 。
开始
输入 R
b =
a = 2b
输出 a
结束
2
R
2 2
R
练习 1 :写出下列算法的功能。 开始
输入 a , b
d = a2 + b2
c =
输出 c
结束
d
( 1 )右图算法的功能
是 ; 求两数平方和的 算术平方根
开始
输入 a ,b
sum = a + b
输出 sum
结束
( 2 )右图算法的功能
是 。求两数的和
开始
输入 a ,b
sum = a + b
输出 sum
结束
( 2 )右图算法的功能
是 。求两数的和
1. 解 : 算法步骤如下:(1) 输入点的坐标 x0,y0
和直线方程的系数 A.B.C(2) 计算 Z1=Ax0+By0+C
(3) 计算 Z2=A2+B2
(4) 计算2
1 ||
z
zd
(5) 输出 d
2. 解 : 算法步骤如下:(1) 输入点坐标 x1,y1,x2,y2
(2) x1 是否等于 x2.
若 x1 = x2 ,则输出“斜率不存在”的信息;否则计算
(3) 输出 k 的值12
12
xx
yyk
判断判断
顺序 结构
条件 结构
2. 解:算法步骤如下:(1) 输入点的坐标 x1,y1,x2,y2
(2) 判断 x1 是否等于 x2. 若 x1
= x2 ,则输出“斜率不存在”的信息;否则计算(3) 输出 k 的值 12
12
xx
yyk
输出 k
结束
开始
x1=x2?
输入系数x1,y1,x2,y2
12
12
xx
yyk
否
是
输出斜率不存在
判断框
框内标明条件,并在框外标明条件成立或不成立时的两种不同流向。
( 4 )在许多算法中,需要对问题的条
件作出逻辑判断,判断后依据条件是否
成立而进行不同的处理方式,这就需要
用条件结构来实现算法。如上面的问题,
不能用顺序结构来表示算法,必须用条
件结构来表示。
( 3 )一个条件结构可以有多个判断框。
条件结构
( 1 )条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。它的一般形式是:
条件
处理是
否
条件
处 理1
处 理2
是 否
设计算法 , 求一元二次方程 ax2+bx+c=0( a≠0, )的根 , 画出相应的流程图
输入系数 a,b,c
输出 X1 、 X2
结束
开始
计算 acb 42
计算 a
bx
21
a
bx
22
b2-4ac>0
设计算法 , 求一元二次方程 ax2+bx+c=0( )的根 , 画出相应的流程图 a≠0
输出 x1,x2
结束
开始
△<0?
输入系数 a,b,c
1 2
b bx , x
2a 2a
否
是
输出无实数解
计算 acb 42
程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确、直观地表示算法的图形。
程序框 名称 功能
终端框(起止框)
表示一个算法的起始和结束
输入、输出框
表示算法的输入和输出的信息
处理框(执行框)
赋值、计算
判断框 判断一个条件是否成立,用“是”、“否”或“ Y” 、“ N” 标明
小结
课堂练习
1 、写出求 A ( x1 , y1 ), B ( x2 , y
2 )的两点距离的一个算法,并画出程序框图
2. 写出解方程 ax + 3 = 0 的算法并画出算法的程序框图。