29
算算算算算算算算算算 算算算

算法的基本结构及设计

  • 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

Page 1: 算法的基本结构及设计

算法的基本结构及设计

杨清孟

Page 2: 算法的基本结构及设计

课前练习:

1. 已知点 P0(x0,y0)和直线 L:Ax+By+C=0,求点 P 到直线 L 的距离 d 。设计一个算法。

2. 给定平面内任意两点 A(x1,y1),B(x2,y2).设计一个算法,求两点连线的斜率。

Page 3: 算法的基本结构及设计

1. 解:算法步骤如下:

(1) 输入点的坐标 x0,y0 和直线方程的系数 A.B.C(2) 计算 Z1=Ax0+By0+C

(3) 计算 Z2=A2+B2

(4) 计算2

1 ||

z

zd

(5) 输出 d

Page 4: 算法的基本结构及设计

2. 解:算法步骤如下:

(1) 输入点的坐标 x1,y1,x2,y2

(2) 判断 x1 是否等于 x2. 若 x1 = x2 ,则输出“斜率

不存在”的信息;否则计算(3) 输出 k 的值

12

12

xx

yyk

Page 5: 算法的基本结构及设计

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

判断判断

顺序 结构

条件 结构

Page 6: 算法的基本结构及设计
Page 7: 算法的基本结构及设计

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

Page 8: 算法的基本结构及设计

输入 x0,y0,A.B.C

开始

计算 Z1=Ax0+By0+C

输出 d

计算 Z2=A2+B2

结束

计算 21 /|| zzd

开始

输入

处理

输出

结束

算法的程序框图

算法的程序框图

Page 9: 算法的基本结构及设计

起止框

表示一个算法的开始或结束

Page 10: 算法的基本结构及设计

输入、输出框

框内标明输入、输出的内容

Page 11: 算法的基本结构及设计

处理框

框内标明所进行的处理

Page 12: 算法的基本结构及设计

流程线

表示从某一框到另一框的流向

Page 13: 算法的基本结构及设计

设计算法 , 求一元二次方程 ax2+bx+c=0( a≠0,b2-4ac>0 )的根 , 画出相应的流程图

输入系数 a,b,c

输出 X1 、 X2

结束

开始

计算 acb 42

计算 a

bx

21

a

bx

22

Page 14: 算法的基本结构及设计

算法有三种基本逻辑结构 顺序结构、条件结构、循环结构。 顺序结构

顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

Page 15: 算法的基本结构及设计

A

B i=2

输入 n

示意图

Page 16: 算法的基本结构及设计

顺序结构在程序框图中的体现就是用 流程线将程序框自上而下地连接起来,按顺序执行算法步骤。如在示意图中, A 框和B 框是依次执行的,只有在执行完 A 框指定的操作后,才能接着执行 B 框所指定的操作。

Page 17: 算法的基本结构及设计

( 2 )图中输出 a = 。

开始

输入 R

b =

a = 2b

输出 a

结束

2

R

2 2

R

Page 18: 算法的基本结构及设计

练习 1 :写出下列算法的功能。 开始

输入 a , b

d = a2 + b2

c =

输出 c

结束

d

( 1 )右图算法的功能

是 ; 求两数平方和的 算术平方根

Page 19: 算法的基本结构及设计

开始

输入 a ,b

sum = a + b

输出 sum

结束

( 2 )右图算法的功能

是 。求两数的和

Page 20: 算法的基本结构及设计

开始

输入 a ,b

sum = a + b

输出 sum

结束

( 2 )右图算法的功能

是 。求两数的和

Page 21: 算法的基本结构及设计

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

判断判断

顺序 结构

条件 结构

Page 22: 算法的基本结构及设计

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

输出斜率不存在

Page 23: 算法的基本结构及设计

判断框

框内标明条件,并在框外标明条件成立或不成立时的两种不同流向。

Page 24: 算法的基本结构及设计

( 4 )在许多算法中,需要对问题的条

件作出逻辑判断,判断后依据条件是否

成立而进行不同的处理方式,这就需要

用条件结构来实现算法。如上面的问题,

不能用顺序结构来表示算法,必须用条

件结构来表示。

( 3 )一个条件结构可以有多个判断框。

Page 25: 算法的基本结构及设计

条件结构

( 1 )条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构。它的一般形式是:

条件

处理是

条件

处 理1

处 理2

是 否

Page 26: 算法的基本结构及设计

设计算法 , 求一元二次方程 ax2+bx+c=0( a≠0, )的根 , 画出相应的流程图

输入系数 a,b,c

输出 X1 、 X2

结束

开始

计算 acb 42

计算 a

bx

21

a

bx

22

b2-4ac>0

Page 27: 算法的基本结构及设计

设计算法 , 求一元二次方程 ax2+bx+c=0( )的根 , 画出相应的流程图 a≠0

输出 x1,x2

结束

开始

△<0?

输入系数 a,b,c

1 2

b bx , x

2a 2a

输出无实数解

计算 acb 42

Page 28: 算法的基本结构及设计

程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确、直观地表示算法的图形。

程序框 名称 功能

终端框(起止框)

表示一个算法的起始和结束

输入、输出框

表示算法的输入和输出的信息

处理框(执行框)

赋值、计算

判断框 判断一个条件是否成立,用“是”、“否”或“ Y” 、“ N” 标明

小结

Page 29: 算法的基本结构及设计

课堂练习

1 、写出求 A ( x1 , y1 ), B ( x2 , y

2 )的两点距离的一个算法,并画出程序框图

2. 写出解方程 ax + 3 = 0 的算法并画出算法的程序框图。